* Avoids non-deterministic flip-flopping when the alphabetical account sort has multiple commodities
* Sorts postings commodities so commodities are in the same order across transactions
* Sorts postings with matching commodity by posting amount
Avoiding potentially confusing silent fallback. Also,
- Drop support for Ledger's legacy LEDGER environment variable;
we now support only LEDGER_FILE, for simplicity.
- Clarify the behaviour, eg when a glob pattern matches multiple files
or when the value is empty.
Balance assertions are now checked more accurately, with awareness of
how everything is ordered in the journal.
Also, it's now possible to add balance assignments.
The threaded runtime is required at least for hledger's pager output,
and probably for other things. It's controlled by the "threaded" build
flag for some historical reason. Now, that flag is marked as manual,
so that it can no longer be toggled by cabal. (Probably the build flag
should be dropped, that can be tried later.)
Related: Debian bug #1120833, causing an unusable hledger-1.50.2 package.
Since 1.50, sourceFilePath, which does IO operations, was being called for every item in the journal.
On my machine this was causing a ~40% slowdown,
but probably it could be more depending on storage system.
Now it's once again called only once per include directive.
Speed seems slightly better now than 1.43 for some reason
(eg: 13k txns/s -> 8k txns/s -> 14k txns/s).
A HTML export results in a table which has a stylesheet and another table
nested inside. This is not valid HTML and gets auto corrected by closing the
first table and opening another table. The result is the heading of the table
can expand further than the remaining table.
This results in a few notable changes:
- The date is in a far bigger cell and it's very noticeable it's centered compared to the amounts
(we may want to right align the date, though I don't have any particular thoughts about this)
- We no longer have two consecutive lines with black background and the start
- The table is as big as the heading (+ the default left margin)