Changelog of @hackage/hledger-flow 0.14.4

Changelog for hledger-flow

0.14.4

Add an option to process files in batches.

If the number of input files processed by hledger-flow grows large, and you have resource-intensive processing scripts, your system resources can be overwhelmed.

With this change the input files will be processed in batches, by default 200 at a time. The batch size can be set from the command-line.

https://github.com/apauley/hledger-flow/issues/93

https://github.com/apauley/hledger-flow/pull/94

0.14.3

Ensure that generated include files only contain files ending with .journal

Fixes #92

0.14.2

Add an optional --start-year command-line option for imports:

Import only from the specified year and onwards, ignoring previous years. Valid values include a 4-digit year or 'current' for the current year.

An implementation for this feature request

0.14.1

  • Make --enable-future-rundir the default, and deprecate the command-line option. To be removed in a future release.
  • Ensure that the deepest rundir is the account directory, because the program doesn't generate include files correctly in directories below the account level.

0.14.0

  • Add a new performance-related command-line option to import: --new-files-only. PR #89

    Don't regenerate transaction files if they are already present. This applies to hledger journal files as well as files produced by the preprocess and construct scripts.

  • Generate monthly versions of the income statement in reports. A contribution by Max Linke

  • Switch some usages of system-filepath over to path

    hledger-flow started as a collection of bash scripts that I translated into Haskell with the help of Turtle.

    Turtle uses the now deprecated system-filepath to represent all paths.

    I've had many filepath-related issues in hledger-flow. They were related to issues such as that 2 instances of the same directory would not be treated as equal, because one could have a trailing slash and the other not. Another issue that popped up was knowing wether a path is a file or a directory, and if it is absolute or relative.

    All of these issues are articulated in the path library: https://github.com/commercialhaskell/path

0.13.2

Improve support for importing a subset of journals: start importing only from the directory given as argument, or the current directory, and generate only the relevant include files.

This is a behavioural change and (for now) it needs to be enabled with the --enable-future-rundir switch. This will become the default behaviour in 0.14.x, at which time the switch will be removed.

Reports: Use the LEDGER_FILE env var (if set) when generating reports. Default to the top-level all-years.journal if not set.

Build with Stackage Nightly 2020-03-10 (ghc-8.8.3)

0.13.1

0.13.0

  • Add an experimental rundir option for imports

The experimental rundir is an attempt to restrict hledger-flow into processing just a subset of files, primarily to quickly get feedback/failures while adding new accounts to an existing set of accounts.

The use case has been described in issue 64.

It is experimental, because the only problem it currently solves is getting hledger-flow to fail fast. One of the current side effects of doing so is that the generated include files are then written to only include the subset of files that were processed.

But as soon as you do a full run again, the include files will be correctly re-generated as before.

0.12.4.0

0.12.3.1

Fixed a bug where:

Given:

  • A run of hledger-flow import

When:

  • specifying a relative import base directory
  • but specifically without any relative prefixes such as ./ or ../

Then:

  • the account-level include files pointing to the real journal entries would have incorrect paths

https://github.com/apauley/hledger-flow/issues/65

0.12.3

Add more reports:

  • Balance Sheet per owner per year, and for all owners per year
  • Unknown transactions per owner per year
  • A transfer balance overview per year

0.12.2.1

Fix resolver extraction and hledger-flow --version in release-tarball script

0.12.2

Slightly smarter reporting.

  • Get the available report years for each individual owner. Only generate reports for those years.
  • Create uniform output directories.
  • Add system info to version output

0.12.1

Generate some reports per owner.

Report generation is still a work-in-progress.

https://github.com/apauley/hledger-flow/pull/57

0.12.0

  • Re-organised the command-line interface: moved various command-line options out of subcommands, into the top-level.
  • Added a contributor's agreement after receiving some more valued contributions from jecaro

0.11.3

  • Detect the hledger-flow base directory correctly, even when in a subdirectory. Similar to how git behaves.
  • Change the version subcommand into a flag - thanks to jecaro for the contribution.

0.11.2

  • Improved display of external process output

0.11.1.2

0.11.1.1

0.11.1

0.11

  • Change the name from hledger-makeitso to hledger-flow.

0.10

  • Add a version subcommand. Create issue #15 to change it into a --version flag later.
  • Fix a minor issue where yearly include files were generated at the top-level of the directtory structure, even though the same content was available in the import directory. The top-level all-years.journal now just includes the years within the import directory.
  • Upgrade to LTS 13.15 for GHC 8.6.4
  • Add CircleCI and TravisCI build instructions. Switch the README.org to a README.md in order to better support CI status badges.

0.9.0.1

First hackage release. Minor changes to fix stack sdist warnings and errors, in preperation of the hackage upload.

1bf817c "Merge pull request #9 from apauley/hackage-upload" Mar 31 21:51:38 2019 +0200

0.9

Process all statements in parallel.

This has a significant speed improvement on multi-processor machines when dealing with lots of input files. a906bb5 "Merge pull request #8 from apauley/parallel-import" 2019-03-27 22:45:23 +0200

0.8

Generate an all-years.journal on each level which includes all the available years for that level. Replace the old makeitso.journal with the top-level version of this:

06f2127 "Merge pull request #5 from apauley/all-years-includes" 2019-03-22 00:09:27 +0200

0.7

Change the way include files are aggregated.

It used to be by owner/bank/account, now each of those levels (owner/bank/account) are aggregated per year: eb17fed "Merge pull request #3 from apauley/annual-includes" 2019-03-12 23:09:17 +0200

0.6

61c71d6 "Upgrade to lts-13.9 (GHC 8.6.3)" 2019-03-01 11:31:23 +0200

0.5

3a7a39e "Upgrade to lts-13.6 (GHC 8.6.3)" 2019-02-16 09:54:49 +0200

0.4

213552d "Upgrade to lts-12.16 (GHC 8.4.4)" 2018-11-03 20:00:21 +0200

0.3

5e2d45f "Update from lts-12.1 to lts-12.11" 2018-10-01 23:07:21 +0200

0.2

First support for the construct script, when it was confusingly named an import script:

24ac4c7 "Support a fully custom import script" 2018-09-16 16:11:53 +0200

0.1

The first semi-useful version, replacing a previous bash script:

131f8af "Write journal" 2018-07-23 16:08:44 +0200