From 4971b106ef011172710884f03d20eefd1de68d1d Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 2 Jul 2021 16:10:56 -1000 Subject: [PATCH] ;doc: changelog edits --- CHANGES.md | 35 ++++---- hledger-lib/CHANGES.md | 22 ++++- hledger-ui/CHANGES.md | 35 +++++--- hledger-web/CHANGES.md | 7 +- hledger/CHANGES.md | 193 +++++++++++++---------------------------- 5 files changed, 127 insertions(+), 165 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 04e582090..7bbaff5f3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,7 +9,18 @@ hledger General changes in the hledger project (and notable all-package releases). For package-specific changes and minor releases, see the hledger package changelogs. -# d1cd4dda0 +# 9ffed51f5 +# 1.22 2021-07-02 + +Software: + +- We now provide static executables for GNU/Linux on x64 (amd64) and arm32v7 + architectures. These are more portable and more likely to work on your linux + system than the dynamic Ubuntu executables we have been providing). + (And, will be useful to Nextcloud.com users.) (#1571) (Garret McGraw) + +- GHC 9.0 is now officially supported. GHC 8.0, 8.2, 8.4 are no longer + supported; we now require GHC 8.6 or greater. Docs: @@ -22,30 +33,20 @@ Docs: Chat: - The hledger IRC channels (in matrix syntax: #hledger:libera.chat, - #hledger-bots:libera.chat) have moved to Libera.chat, like the rest - of the FOSS universe. + #hledger-bots:libera.chat) moved to Libera.chat. - The hledger Matrix room (#hledger:matrix.org), is now on at least - equal "official" footing with the IRC channel, perhaps even a bit - more. I think Matrix is the future, with IRC sticking around as the - trusty backup technology. - -- I briefly bridged the two rooms, but stopped due to current - bridge/matrix issues. I hope to try again at some point, because - having two chats (four if we consider #plaintextaccounting) is a - pain. - + equal "official" footing with the IRC channel. + - I upgraded the matrix room to a newer version of the Matrix protocol. This effectively splits it into an old (read only) room and a new room. If you are joined to the old room, you might not have noticed; in your matrix client, please follow the link to the new room, ie #hledger:matrix.org. -Software - -- I have dropped official support for GHC 8.0/8.2/8.4; building - hledger now requires GHC 8.6 or newer. GHC 9.0 support has been - added. +- I briefly bridged the IRC and matrix rooms, because having two chats + (four if we consider #plaintextaccounting) is a pain. I hope to try + the experiment again at some point. # 1.21 2021-03-10 diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index 5ff070fa4..82cb89f1f 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -9,7 +9,27 @@ hledger Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. -# d1cd4dda0 +# d5d19f841 +# 1.22 2021-07-02 + +- lib: Auto-postings with Amount queries should filter only those commodities which match the query. (Stephen Morgan) + Also corrects a regression introduced in + 8ab29f84b32288a34ae7627a2204081fae31900f where transaction modifier + postings without multipliers would incorrectly be filtered by commodity. + +- lib: Make sure automatic postings generated from postings with more than one commodity match on commodity symbol (#1582). (Stephen Morgan) + +- lib,cli: No longer strip prices in journalApplyValuationFromOptsWith and mixedAmountApplyValuationAfterSumFromOptsWith (#1577). (Stephen Morgan) + These were theoretically an efficiency improvement, but have been + error-prone. We instead handle stripping prices at the point of + consumption. + +- ui: Do not log to debug.log when regenerating journal in Transaction screen (#1556). Also really clear cost setting when doing so. (Stephen Morgan) + Since plog is no longer used anywhere, and tends to create bugs when it + is, we remove it. + +- doc: changelogs draft + And add big headings, for fun and to help me tell them apart. - Added support for GHC 9.0. Dropped support for GHC 8.0, 8.2, 8.4; we now require GHC 8.6 or greater. diff --git a/hledger-ui/CHANGES.md b/hledger-ui/CHANGES.md index 563cf2054..d2a996454 100644 --- a/hledger-ui/CHANGES.md +++ b/hledger-ui/CHANGES.md @@ -9,25 +9,38 @@ hledger User-visible changes in hledger-ui. See also the hledger changelog. -# d1cd4dda0 +# d5d19f841 +# 1.22 2021-07-02 -- Add support for kakoune editor; fix some issues with editor invocation. - (crocket) +Features -- The accounts screen is a little smarter at allocating space to columns. - (Stephen Morgan) +Improvements -- The --version flag shows more detail (git tag/patchlevel/commit +- Don't reset the `B`/`V` (cost, value) state when reloading with `g` + or `--watch`. (Stephen Morgan) + +- The accounts screen is a little smarter at allocating space to + columns. (Stephen Morgan) + +- Add support for the kakoune editor, and improve the invocations of + some other editors. (crocket) + +- The `--version` flag shows more detail (git tag/patchlevel/commit hash, platform/architecture). (Stephen Morgan) -- In the register screen, fix queries, which had broken in 1.21. (#1523) +Fixes -- Don't write a debug.log file when toggling V. (#1556) +- Don't write to `./debug.log` when toggling value with `V`, or when + reloading with `g` or `--watch` in the Transaction screen. (#1556) + (Simon Michael, Stephen Morgan) -- Add now-required lower bound on containers. (#1514) +- Queries in the register screen work again (broken in 1.21). (#1523) + (Stephen Morgan) -- Added support for GHC 9.0. Dropped support for GHC 8.0, 8.2, 8.4; - we now require GHC 8.6 or greater. +- GHC 9.0 is now officially supported. GHC 8.0, 8.2, 8.4 are no longer + supported; we now require GHC 8.6 or greater. + +- Added a now-required lower bound on containers. (#1514) # 1.21 2021-03-10 diff --git a/hledger-web/CHANGES.md b/hledger-web/CHANGES.md index a30ecef0a..10f6e4ce1 100644 --- a/hledger-web/CHANGES.md +++ b/hledger-web/CHANGES.md @@ -9,7 +9,8 @@ __ _____| |__ User-visible changes in hledger-web. See also the hledger changelog. -# d1cd4dda0 +# d5d19f841 +# 1.22 2021-07-02 - In the add form, fix a bug where extra posting rows were not added when needed in certain web browsers. (charukiewicz) @@ -21,8 +22,8 @@ See also the hledger changelog. - Add now-required lower bound on containers. (#1514) -- Added support for GHC 9.0. Dropped support for GHC 8.0, 8.2, 8.4; - we now require GHC 8.6 or greater. +- GHC 9.0 is now officially supported. GHC 8.0, 8.2, 8.4 are no longer + supported; we now require GHC 8.6 or greater. # 1.21 2021-03-10 diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index d36620f89..b4dfd6778 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -9,12 +9,23 @@ hledger User-visible changes in the hledger command line tool and library. -# d1cd4dda0 +# d5d19f841 +# 1.22 2021-07-02 -- performance: many internal optimisations have been applied - (the hledger-lib changelog has more detail). (Stephen Morgan) - In general, you can expect most reports to be about 20% faster. - The register report is more than 2x quicker and 4x more memory efficient. +Features + +- check: A new `balancednoautoconversion` check requires transactions + to balance without the use of inferred transaction prices. (Explicit + transaction prices are allowed.) This check is included in `--strict` + mode. The old `autobalanced` check has been renamed to + `balancedwithautoconversion`. (Stephen Morgan) + +Improvements + +- Many internal optimisations have been applied (cf hledger-lib + changelog). Overall, you can expect most reports to be about 20% + faster. The register report is more than 2x faster uses 4x less + memory. (Stephen Morgan) ~/src/hledger$ quickbench -w hledger-1.21,hledger Running 5 tests 1 times with 2 executables at 2021-06-29 13:13:26 HST: @@ -30,147 +41,63 @@ User-visible changes in the hledger command line tool and library. | -f examples/10000x1000x10.journal balance --weekly || 13.07 | 10.79 | +----------------------------------------------------++--------------+---------+ -- register: Fix the running total when there is a report interval (broken - since 1.19) (#1568). (Stephen Morgan) +- ANSI color is now disabled automatically (on stdout) when the + `-o/--output-file` option is used (with a value other than `-`). + (#1533) -- balance reports: Fix empty cells when amounts are too wide to fit - (broken since 1.20) (#1526). (Stephen Morgan) +- ANSI color is now also available in debug output, determined in the + usual way by `--color`, `NO_COLOR`, and whether the output (stderr) + is interactive. + +- The --version flag shows more details of the build, when known: git + tag, number of commits since the tag, commit hash, platform and + architecture. (Stephen Morgan) -- csv: Fix the escaping of double quotes in CSV output (broken since - 1.21). (Stephen Morgan) +- balance: Capitalisation of "account" and "total" (and lack of a + colon in the latter) in CSV output is now consistent for single- and + multi-period reports. -- check: Rename the `autobalanced` check to - `balancedwithautoconversion`. Add the `balancednoautoconversion` - check, which requires transactions to balance without the use of - inferred transaction prices. (Explicit transaction prices are - allowed.) This check is included in --strict mode. (Stephen Morgan) - -- csv: Tolerate spaces when parsing amounts from CSV. (Eric Mertens) - -- json: Avoid adding unnecessary decimal places in JSON output. - Previously, our decimal values would always have 10 decimal places. +- balance reports' CSV output now includes full account names. (#1566) (Stephen Morgan) + +- csv: We now accept spaces when parsing amounts from CSV. (Eric + Mertens) + +- json: Avoid adding unnecessary decimal places in JSON output. (Don't + increase them all to 10 decimal places.) (Stephen Morgan) - json: Simplify amount precision (asprecision) in JSON output. It is now just the number of decimal places, rather than an object. (Stephen Morgan) +- GHC 9.0 is now officially supported. GHC 8.0, 8.2, 8.4 are no longer + supported; we now require GHC 8.6 or greater. + +- Added a now-required lower bound on containers. (#1514) + +Fixes + +- Auto posting rules now match postings more precisely, respecting + `cur:` and `amt:` queries. (#1582) (Stephen Morgan) + +- balance reports: Fix empty cells when amounts are too wide to fit + (broken since 1.20) (#1526). (Stephen Morgan) + +- csv: Fix the escaping of double quotes in CSV output (broken in + 1.21). (Stephen Morgan) + +- register: Fix the running total when there is a report interval + (broken since 1.19) (#1568). (Stephen Morgan) + - stats: No longer gets confused by posting dates. (#772) (Stephen Morgan) -- cli: ANSI color is now also disabled by -o/--output-file - ANSI color on stdout (not stderr) is now disabled if the - -o/--output-file option is detected (and its value is not "-"). - (#1533) +- timeclock: `hledger print` shows timeclock amounts with just 2 + decimal places again (broken in 1.21). (#1527) -- cli: debug output now respects --color/NO_COLOR/ANSI support - Debug output now selects color or monochrome in the same way as normal - output. +- When all transaction amounts have the same sign, the error message + no longer adds an inferred price. (#1551) (Stephen Morgan) -- cli: debug output checks for color support on stderr, not stdout - This is more accurate. - useColor is replaced by useColorOnStdout, useColorOnStderr. - -- Fix the error message when all transaction amounts have the same - sign (don't show an inferred price). (#1551) (Stephen Morgan) - -- fix: When performing a summary posting report without depth limiting, report exclusive balances rather than inclusive balances (#1568). (Stephen Morgan) - -- cli: Make sure full account name is used (possibly including dropping) for csv output. (#1566) (Stephen Morgan) - -- The --version flag shows more detail (git tag/patchlevel/commit - hash, platform/architecture). (Stephen Morgan) - -- Infer prices correctly even when there are only balance assignments. (Stephen Morgan) - -- perf: Change internal representation of MixedAmount to use a strict Map instead of a list of Amounts. No longer export Mixed constructor, to keep API clean (if you really need it, you can import it directly from Hledger.Data.Types). We also ensure the JSON representation of MixedAmount doesn't change: it is stored as a normalised list of Amounts. (Stephen Morgan) - This commit improves performance. Here are some indicative results. - - hledger reg -f examples/10000x1000x10.journal - - Maximum residency decreases from 65MB to 60MB (8% decrease) - - Total memory in use decreases from 178MiB to 157MiB (12% decrease) - - hledger reg -f examples/10000x10000x10.journal - - Maximum residency decreases from 69MB to 60MB (13% decrease) - - Total memory in use decreases from 198MiB to 153MiB (23% decrease) - - hledger bal -f examples/10000x1000x10.journal - - Total heap usage decreases from 6.4GB to 6.0GB (6% decrease) - - Total memory in use decreases from 178MiB to 153MiB (14% decrease) - - hledger bal -f examples/10000x10000x10.journal - - Total heap usage decreases from 7.3GB to 6.9GB (5% decrease) - - Total memory in use decreases from 196MiB to 185MiB (5% decrease) - - hledger bal -M -f examples/10000x1000x10.journal - - Total heap usage decreases from 16.8GB to 10.6GB (47% decrease) - - Total time decreases from 14.3s to 12.0s (16% decrease) - - hledger bal -M -f examples/10000x10000x10.journal - - Total heap usage decreases from 108GB to 48GB (56% decrease) - - Total time decreases from 62s to 41s (33% decrease) - - If you never directly use the constructor Mixed or pattern match against - it then you don't need to make any changes. If you do, then do the - following: - - - If you really care about the individual Amounts and never normalise - your MixedAmount (for example, just storing `Mixed amts` and then - extracting `amts` as a pattern match, then use should switch to using - [Amount]. This should just involve removing the `Mixed` constructor. - - If you ever call `mixed`, `normaliseMixedAmount`, or do any sort of - amount arithmetic (+), (-), then you should replace the constructor - `Mixed` with the function `mixed`. To extract the list of Amounts, use - the function `amounts`. - - If you ever call `normaliseMixedAmountSquashPricesForDisplay`, you can - replace that with `mixedAmountStripPrices`. (N.B. this does something - slightly different from `normaliseMixedAmountSquashPricesForDisplay`, - but I don't think there's any use case for squashing prices and then - keeping the first of the squashed prices around. If you disagree let - me know.) - - Any remaining calls to `normaliseMixedAmount` can be removed, as that - is now the identity function. - -- When displaying amounts on a single line, always display at least one amount, even if that would exceed the requested maximum width. Addresses #1526. (Stephen Morgan) - -- timeclock: print shows timeclock amounts with just 2 decimals, like pre-1.21 (#1527) - -- Do not round Decimal before applying JSON representation if existing representation is small enough. (Stephen Morgan) - Previously the JSON representation of Decimal was rounded to 10 points - of precision before serialising. This sometimes results in an - unnecessary increase of precision. - -- bal: keep csv column and row labels consistently lower case - It was reported on #hledger that bal -O csv capitalises "account" - differently for single and multi-period reports. All lower case seems - to be the most common, so I have dropped the capitalisation. Also - the trailing colon from --transpose's "total:". - -- Simplify the JSON representation of AmountPrecision. - It now uses the same JSON representation as Maybe Word8. This means that - the JSON serialisation is now broadly compatible with that used before the - commit f6fa76bba7530af3be825445a1097ae42498b1cd, differing only in - how it handles numbers outside Word8 and that it can now produce null - for NaturalPrecision. (Stephen Morgan) - -- lib: Properly escape quotes in csv output. (Stephen Morgan) - -- Do not call showAmount twice for every posting. (Stephen Morgan) - For `print -f examples/10000x10000x10.journal`, this results in - a 7.7% reduction in heap allocations, from 7.6GB to 7.1GB. - -- Some efficiency improvements in register reports. (Stephen Morgan) - For `reg -f examples/10000x10000x10.journal`, this results in: - - - Heap allocations decreasing by 55%, from 68.6GB to 31.2GB - - Resident memory decreasing by 75%, from 254GB to 65GB - - Total (profiled) time decreasing by 55%, from 37s to 20s - -- Clean up some references to old man pages. (Felix Yan) - -- Add now-required lower bound on containers. (#1514) - -- Added support for GHC 9.0. Dropped support for GHC 8.0, 8.2, 8.4; - we now require GHC 8.6 or greater. +- Cleaned up some references to old man pages. (Felix Yan) # 1.21 2021-03-10