hledger/CHANGES.md
2021-03-08 15:14:47 -08:00

9.3 KiB

General project-related changes and major/notable all-package releases. For package-specific changes and minor releases, see the package changelogs.

a5f9f8ce0

  • doc: merge file format manuals into the hledger manual Also flatten the journal manual topics a bit.

  • doc: rewrite commands intro

  • bin: switch to "runghc", drop "env -S" (#1453) env -S isn't a thing on linux of course. Go back to using standard env, which means using a stack options line, which means not using "ghc". This new setup is probably simpler anyway. I've just had to give up on the goal of having each script's required packages being defined in one place; now (to they extent they are required) they must be defined both in the script header and in compile.sh.

    (cherry picked from commit 32ccbba805)

  • bin: switch scripts to "stack ghc" and "env -S" (#1453) Using stack's script command meant that the scripts needed to be compatible, and regularly tested, with a hledger release in stackage, rather than the latest hledger source. This created hassles for maintainers, contributors and sometimes for users.

    To simplify things overall, we now require script users to check out the hledger source tree and run the scripts (or, bin/compile.sh) from there once so they compile themselves. Some notes on alternative setups are included (in one of the scripts, and referenced by the others). This ensures that users and our CI tests are building scripts the same way.

    Current stack does not allow a stack options line to be used with the "stack ghc" command, unfortunately, so instead we are using env's -S flag, which hopefully has sufficiently wide support by now, and putting all arguments in the shebang line.

    This method will probably require complete explicit --package options, unlike "stack script", so more testing and tweaking is expected. Probably we're going to end up with some long shebang lines.

    This isn't pretty but seems like a possible way to keep things manageable.

    (cherry picked from commit 2db87333d7)

  • ci: really add addon-building tests to CI (#1453) (cherry picked from commit 3ae6cf3200)

  • ci: also test compilation of bin/ add-on scripts (cherry picked from commit 06b466d847)

  • bin: Update bin scripts for current hledger-lib. (Stephen Morgan) (cherry picked from commit bc4aef17b7fa13ec0754b93325e1c5e5ee04f1e7) (cherry picked from commit a64d1aa6d0)

1.20.4 2021-01-29

1.20.3 2021-01-14

  • The run/compile instructions for add-on scripts in bin/ have been updated. The scripts now use stack runghc and are tested (manually with make functest for now) with the corresponding hledger source, not the hledger on stackage.

1.20 2020-12-05

  • examples: clean up & add more budgeting examples

  • examples: stripe csv

  • The functional tests in tests/ have been moved into the respective packages, eg hledger/test/ and hledger-ui/test/.

  • Shake cabalfiles: now gives an error when it fails

  • make bench: add some large tabular reports; run just the slowest commands by default; run after make (func)test

  • a hie.yaml file has been added, so hledger source loads easily in IDEs supporting haskell-language-server

2020-09-07

  • Update shell completions (Jakob Schöttl)

1.19 2020-09-01

  • example scripts:

    • stack scripts now use stack's script command consistently
    • stack scripts no longer have explicit --package lists, stack infers them from the imports
    • hledger-print-location: new script
  • CI:

    • always recompile all modules for robustness
    • generate optimised binaries, which can be downloaded
    • build a single different GHC version with each workflow, reducing total building and carbon footprint a bit
    • stop building with GHC 8.0
  • the default stack file now uses lts 16.12 (ghc 8.8.4)

1.18.1 2020-06-21

  • provide CI binaries for windows, mac & gnu/linux

1.18 2020-06-07

  • new example scripts:

    • hledger-combine-balances.hs, hledger-balance-as-budget.hs (Dmitry Astapov)
    • hledger-check-tag-files.hs, hledger-check-tag-files2.hs
  • more CSV rule examples: coinbase, waveapp

  • new CI (continuous integration) system using Github Actions. Thanks to Travis and Appveyor for their service to date. Improvements:

    • one CI service instead of several
    • more closely integrated with code repo
    • tests run on the three main platforms (linux, mac, windows)
    • harmless commits are ignored automatically ([ci skip] no longer needed for doc commits)
    • scheduled and on-demand testing (push to master, push to ci-* branches, pull request, weekly)
    • now tested: all GHC versions, doctests, haddock building
    • new shortcut url: http://ci.hledger.org

1.17 2020-03-01

  • hledger-install: re-enable installation of hledger-iadd & hledger-interest.

  • hledger-install: bump minimum stack version to 1.9.1 1.7.1 fails with deps using newer cabal file syntax I believe.

  • hledger-install: always do stack update, to help ensure we get the latest packages. https://github.com/commercialhaskell/stack/issues/5112

  • examples: Add a basic example of rule parsing for the output of csb2format. (Evilham) csb2format deals with the CSB43/AEB43 format, which all banks operating in Spain must support. Having these example rules enables easens bootstraping for users with a Spanish bank account.

  • doc: simpler, clearer structure in the manuals and hledger.org sidebar

  • doc: a new Quick Start page

  • doc: a new Common Tasks section in the hledger manual

  • doc: a new invoicing how-to: https://hledger.org/invoicing.html

  • doc: Fix dead pointer in contributing (Aleksandar Dimitrov)

  • doc: Fix build badges for Travis and AppVeyor (Rui Chen)

1.16 2019-12-01

  • add support for GHC 8.8, base-compat 0.11 (#1090)

  • drop support for GHC 7.10

  • add descriptions to most issue tracker labels

  • matrix.hledger.org now redirects to a more readable/useful url

1.15 2019-09-01

  • install: bump to lts-14.4, hledger 1.15, drop hledger-api

  • bump versions to 1.15

  • api: drop from Shake scripts

  • new unified website: hledger.org now has its own git repo, has absorbed the github wiki, and is generated with Sphinx.

  • hledger-api's functionality is now included in hledger-web, and the hledger-api package is mothballed.

  • hledger-install.sh: updated, now also works on FreeBSD 12 (zieone)

  • bin/ addon scripts: hledger-swap-dates added; hledger-check, hledger-smooth updated. (#1072)

  • shell-completion/ scripts: updated (Jakob Schöttl)

  • github: FUNDING.yml / sponsor button configured

  • site: Wine option added to download page

  • tools: generatejournal updates: vary amount, make reports with fewer zeroes, start from a fixed year to keep tests stable, also generate P records. (#999)

  • tools: make, shake, CI: misc. updates

  • doc: add a README for the functional tests, linked from contrib guide

  • hledger-makeitso has been renamed to hledger-flow (Andreas Pauley)

  • The hledger docker image is now based on the "haskell" image (Dmitry Astapov)

1.14 2019-03-01

  • hledger.org website: now uses https, home page updates, download page improved package list with status badges. Also the github wiki pages are now rendered as part of hledger.org, like the main site pages (with pandoc markdown and tables of contents). Building the site now requires that a copy of the wiki is checked out under wiki/.

  • bash completion support: removed duplicate options, added new options, stopped listing -h as a command, added some completion for external addon commands.

  • release automation improvements

  • makefile cleanups; make site-liverender helps with local site preview

1.13 (2019/01/02)

  • packaging: A docker image providing the main hledger tools is now linked on the download page. This is another way to get up-to-date hledger tools without building them yourself (and, a way to run hledger-ui on windows ?) (Dmitry Astapov, Simon Michael)

  • hledger-install.sh: fix installation of stack when .local/bin is not in PATH (Dmitry Astapov)

  • doc: fixed pandoc typography conversion in web manuals. Eg -- was being rendered as en-dash. (#954).

Developers:

  • developer docs have moved from the wiki into CONTRIBUTING.md (#920)

  • new streamlined changelog update process. Shake targets:

    ./Shake changelogs
    ./Shake CHANGES.md
    ./Shake CHANGES.md-dry
    ./Shake PKG/CHANGES.md
    ./Shake PKG/CHANGES.md-dry
    

    update the project-wide and/or package changelogs, inserting new commits (touching the respective directory, since the tag version or commit hash which is the first word in the changelog's previous top heading) at the top, formatted as changelog entries.

  • ./Shake PKG - builds a package plus its embedded docs. ./Shake build - builds all the packages and their embedded docs. ("stack build PKG" does not notice changes in embedded doc files.)

  • make ghci-shake - loads Shake.hs in ghci

  • make tags - includes doc source files, hpack/cabal files, Shake.hs

  • make site-livereload - opens a reloading browser view on the website html (requires livereloadx)

  • added a Dockerfile and helper scripts (Dmitry Astapov)

  • doc files and hpack/cabal files are included in TAGS again

1.12 (2018/12/02)