From 0b4b4ed70c371467f09961c514a5ba5a29022a30 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 1 Dec 2023 06:57:52 -1000 Subject: [PATCH] ;doc: draft changelogs from commit messages (Shake changelogs) --- CHANGES.md | 171 +++++++++++++++++++++++++- hledger-lib/CHANGES.md | 216 ++++++++++++++++++++++++++++++++- hledger-ui/CHANGES.md | 40 ++++++- hledger-web/CHANGES.md | 84 ++++++++++++- hledger/CHANGES.md | 264 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 770 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 05799ac50..7c94585ea 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -126,8 +126,177 @@ Finance months of data from Open Collective. -# 1.31 2023-09-03 +# e601adaee +- ;doc: changelogs (from TWIH) +- ;tools: bake lastweek: drop an unnecessary report + +- ;doc: use ```cli not ```shell for command-line examples + +- ;doc:REGRESSIONS: note real name exposure + +- ;doc:REGRESSIONS: note one pending + +- ;bin:bar: cleanup + +- ;tools:bake lastweek: time percentage report + +- ;tools: bake jargon - extract Hledger.hs haddock examples to a test journal + +- ;tools: make haddock-watch etc.: new fast version, cleanups + +- ;tools:bake dbgstrs + +- ;tools:ghci :rmain + +- ci: do haddock testing less often, in the mac binaries workflow + It costs 1m+, doesn't fail that often, and is not hard to fix even if + detected late. + +- ci: really fix some redundant building of hledger-lib and hledger + +- ci: fix some redundant building of hledger-lib and hledger + +- ;ci: disable weekly scheduled builds + They also run in forks, which I don't want. + +- ci: fix tests breakage + +- ;tools:make:etags: include .test files + +- ;dev: tests: ledger-compat tests cleanup + +- ;doc: TESTS name/link + +- ;tools:bake:lastweek: improvements + +- ;bin:report1: cleanups + +- ;web:sandstorm: bump app version, tweak title + +- imp:web: cleanups; use --allow on Sandstorm (#834) + +- imp:web: access control UX cleanups (fix #834) + Changes: + + 1. rename the sandstorm "manage" permission to "edit" + (old permission names: view, add, manage; + new permission names: view, add, edit). + + Rationale: "edit" best describes this permission's current powers, to users and to operators. + If we ever added more manager-type features we'd want that to be a new permission, + not a rename of the existing one (which would change the powers of existing users). + + 2. rename the sandstorm roles for consistency with permissions + (old role names: viewer, editor, manager; + new role names: viewer, adder, editor) + + Rationale: it's needed to avoid confusion. + + 3. add a new option: --allow=view|add|edit|sandstorm (default: add). + 'sandstorm' sets permissions according to the X-Sandstorm-Permissions header. + Drop the --capabilities and --capabilities-header options. + + Rationale: it's simpler and more intuitive. + + 4. replace "capability" with "permission" in ui/docs/code. + + Rationale: consistent with the above, more familiar. + +- ;bin:report1: cleanups + +- ;bin: link hledger-report1 scripts + +- ;bin: hledger-report1: a custom compound report in haskell and bash + +- ;make: copy-exe[s]-*: fix help + vv# examples/shared-expenses.journal + +- ;feat: Upgrade Sandstorm package with permissions (Jacob Weisz) + +- ;dev:bake lastweek + +- ;examples:csv: note where to find vanguard, fidelity CSV + +- ;bin:justfile: rename forecast.journal, forecast-import refinement + +- ;dev:ci: rename usual CI branch to "ci" + +- ;dev:ci: clean up, rename main CI workflow + Back to ci.yml. + +- ;doc:REGRESSIONS: update + +- ;doc:REGRESSIONS: update + +- ;doc:REGRESSIONS: update + +- ;dev:stack: ghc 9.4 fix + +- ;doc:LINKS: updates + +- ;doc:REGRESSIONS: add 2034 + +- ;doc:REGRESSIONS: cleanup + +- ;doc:REGRESSIONS: cleanup + +- ;doc:REGRESSIONS: update + +- ;dev:stack: stack9.8.yaml + +- ;dev:stack: drop stack9.6.yaml + +- dev:stack: bump default GHC to 9.6.3 + +- ;doc:REGRESSIONS: update + +- ;doc:REGRESSIONS: update + +- ;doc:REGRESSIONS: update + +- ;doc:REGRESSIONS: cleanup, update + +- ;doc:regressions: fix link + +- ;doc: REGRESSIONS, moved from issue tracker; renamed FINANCE section + +- ;doc:examples/bin: add gsheet-csv.hs + +- ;doc:justfile: update import, time report scripts + +- ;doc:examples: fidelity csv rules + +- ci:test-linux: temporary workaround for haddock failure + +- ci:test-linux: temporary workaround for bad commit message + +- dev:cli: merge Hledger.Cli.Main with Hledger.Cli + +- make: fix haddock[-watch|-open] + +- dev:ci: cleanup + +- dev:ci: update notes + +- pkg:stack: build with nightly/ghc 9.6 by default + +- ;doc:RELEASING: updates + +- ;bin: tt,ft comment + +- ;doc:RELEASING: updates + +- ;pkg: bump version to 1.31.99 + +- ;doc: merge 1.31 changelogs + +- ;doc: announce + +- install: bump to latest versions + +- install: replace hledger-stockquotes with pricehist +# 1.31 2023-09-03 Scripts/addons - ft, tt shell scripts for collecting financial and time reports diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index c51150d43..b1158207e 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -13,8 +13,222 @@ Misc. changes Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. -# 1.31 2023-09-03 +# b6a46f637 +- feat:timedot: tagged time logging with letters +- ;dev: lotcostp: cleanup + +- imp:ledger-compat: accept lot costs with spaces after {, like Ledger + +- imp:print:beancount: conversion improvements + - omit balance assertions + - replace more currency symbols, and match within symbols like C$ + - do more account validation, and error if conversion is too hard + - backslash-escape double quotes and backslashes in payee and note + +- imp:print:beancount: also convert cost amounts + +- doc: update manuals + +- ;cabal: update cabal files + +- feat:print: add a basic beancount output format + This prints journal output more likely (but not guaranteed) to + be readable by Beancount. + + All packages now require text 1.2.4.1 or greater. + +- fix: non-print-like reports no longer add trailing decimal marks (fix #2115) + That 1.31 change was advertised as being for the print command only, + but it affected all commands. Now it affects only print and other + "print-like" commands (ie all commands that show whole journal entries + that we might want to re-parse). + + Also three classes of hledger output, and how they modify the + commodity display styles' digit group marks and decimal marks + to suit different consumers, have been identified and documented + (under REPORTING CONCEPTS). + +- fix:csv: fix tag: queries on CSV data (#2114) + +- ;doc: Hledger.Read: cleanups (#2113) + +- ;doc: Hledger.Read: cleanups (#2113) + +- imp:reading: better timing of strict checks and .latest writing (#2113) + Strict checks now run only once, at end of the high level read operation, + and not for each individual file; this fixes some spurious --strict failures, + like account declarations not affecting a sibling file as they should. + + And .latest file writing now happens as the last step, after passing + strict checks. This is mainly for the import command, but it also + means that hledger print --new now does not update .latest files + if strict checks are failing. + + The file reading API has been improved and documented in more detail. + +- imp: web: round amounts to display precision as before (precisiongeddon) + +- doc:code: add Jargon section; describe styling/precision in detail (precisiongeddon) + +- ;doc: move Hledger.hs haddock to a named chunk below code + +- dev: Amount: cleanups + +- imp: roi: limit large decimals to 8 digits by default (precisiongeddon) + With valuation now preserving more decimal digits, roi could show + excessively precise decimals if there was no known display precision + for the valuation commodity. Now in that situation it limits the + precision to a maximum of 8 digits. + +- imp: more precision handling fixes, debug output, test updates (precisiongeddon) + This and the preceding commits were "work in progress" that got out of control. + There's more to do, but this one brings these precision-related improvements + (at least): + + When "infinite decimals" arise, they are now generally shown with + 8 decimal digits rather than 255. + + print and prices no longer add trailing decimal zeros unnecessarily. + + Some code has been refactored or given more debug output. + + All tests have been updated to match the recent changes. + +- imp: prices: clarify, fixes, improve semantics (precisiongeddon) + - The prices comand now more accurately lists the prices that hledger + uses when calculating value reports (similar to what you'd see with + eg `hledger bal -V --debug=2`). + + - The prices command's --infer-reverse-prices flag was confusing since + we always infer and use reverse prices; it has been renamed to --show-reverse. + + - --infer-market-prices and --show-reverse combine properly. + + - --show-reverse now ignores all zero prices rather than giving an error. + + - Reverse prices (which can be infinite decimals) are now displayed + with at most 8 decimal digits (rather than the internal precision of + 255 digits). + + - Filtering prices by cur: or amt: now works properly. + + - Price amounts are styled, but all decimal digits are shown. + +- imp: set display style, natural precision on valued amounts (fix #2105, precisiongeddon) + Cost/value conversion now applies the standard display style, and + sets the display precision equal to the internal decimal precision + (or 8 if the decimal appears to be infinite). + This means value reports and especially `print -V` now show amounts + with more accurate and standard style and precision. + + New tests have been added describing and explaining various + style/precision behaviours in print cost/value reports. + +- dev: clarify some amount operations + +- lib: Hledger.Utils.Debug: lbl_ helper, cleanups, notes + +- feat: import: interpolate regex matches in field templates (#2009) (Jonathan Dowland) + Replace occurrences of '\N' (where N is a positive number) in field + templates with the corresponding regular expression match group, if it + exists. + + E.g. Warp the date to the first of the month for the second posting + + if %date (....-..)-.. + comment2 date:\1-01 + + E.g. Strip a prefix from an imported account name + + if %account1 liabilities:jon:(.*) + account1 \1 + + Fixes #2009. + + Signed-off-by: Jonathan Dowland + +- ;dev: add Utils.Regex.regexMatchTextGroups (Jonathan Dowland) + A matcher function which returns the list of match-groups, which may + be empty. + + Signed-off-by: Jonathan Dowland + +- ;fix: import: minor typo (Jonathan Dowland) + +- fix: auto postings: detect redundant costs properly (fix #2110) + +- feat: cli: Add tsv output (#869) (Peter Sagerson) + All commands that suport csv output now also support tsv output. The + data is identical, but the fields are separated by tab characters and + there is no quoting or escaping. Tab, carriage return, and newline + characters in data are converted to spaces (this should rarely if ever + happen in practice). + +- ;doc: haddock, comment fixes + +- ;doc:print: cleanups (#2085) + +- feat:print: add --round option for more control of precisions (#2085) + +- ;doc:internals: Precision and rounding + +- dev: refactor transactionCheckBalanced + +- lib!: use styleAmounts in more places; add rounding strategies + +- dev: journalApplyCommodityStyles -> journalStyleAmounts + +- dev:print: refactor, add AmountStyle "rounding strategy" + Changes to enable more control of "rounding" behaviour + (ie, choosing display precisions for amounts). + + This reverts 1.31's change of asprecision, making it a non-Maybe + again, and adds a new asrounding field providing more control over how + a target display precision is applied to existing amounts (two options + for now, more later). Functionality is in an interim state (reports do + no rounding). + +- fix:timedot: parse unitful quantities more accurately (fix #2096) + A quantity with a unit like "15m" was being parsed internally as + 0.249999999... rather than 0.25 (and since hledger 1.21, printed that + way also). Now we round such quantities to two places during parsing, + to get exact quarter-hour amounts. + +- lib: add Show to Table render functions for debugging + +- fix: balance-assigned amounts affect styles again (fix #2091) + +- imp: lib: include adeclarationinfo, if present, in accounts JSON (S. Zeid) + Note that this does not add the declaration info if it is not already + present. + +- feat: balance: Add summary-only flag (#1012) (Stephen Morgan) + Add a flag --summary-only for multi-column balance reports, which does + not display the main date columns for a report, but only displays the + summary columns (--row-total, --average). This is useful when there are + many columns (a weekly summary over many years) where you're only + interested in the average (or some other summary). + +- Add support for negating a Matcher (bobobo1618) + https://github.com/simonmichael/hledger/issues/2054 + +- ;cabal: update cabal files + +- ;doc: main module haddock cleanups + +- ;doc: package description cleanups + +- fix: failing balance assertions with cost show correct highlight #2083 + +- ;doc: update manuals + +- ;cabal: update cabal files + +- ;pkg: bump version to 1.31.99 + +- ;doc: merge 1.31 changelogs +# 1.31 2023-09-03 Breaking changes - There is a new consolidated API for styling amounts, and a diff --git a/hledger-ui/CHANGES.md b/hledger-ui/CHANGES.md index 8f4607f00..c4bb4a85c 100644 --- a/hledger-ui/CHANGES.md +++ b/hledger-ui/CHANGES.md @@ -21,8 +21,46 @@ API User-visible changes in hledger-ui. See also the hledger changelog. -# 1.31 2023-09-03 +# 0c85b48d2 +- ;doc: use ```cli not ```shell for command-line examples +- doc: update manuals + +- ;cabal: update cabal files + +- feat:print: add a basic beancount output format + This prints journal output more likely (but not guaranteed) to + be readable by Beancount. + + All packages now require text 1.2.4.1 or greater. + +- imp: ui: round amounts to display precision as before (precisiongeddon) + +- cabal: update cabal files + +- pkg:ui: fix wasteful double-building of hledger-ui modules + +- ;doc:areg,ui: note how separately-dated postings get combined + +- ;cabal: update cabal files + +- ;doc: main module haddock cleanups + +- ;doc: package description cleanups + +- lib!: export less from cli and web packages, and more from ui + +- fix:ui: V key preserves startup valuation, if any (fix #2084) + Also: hledger-ui cost/value doc improvement and a useful cost/value test file. + +- ;doc: update manuals + +- ;cabal: update cabal files + +- ;pkg: bump version to 1.31.99 + +- ;doc: merge 1.31 changelogs +# 1.31 2023-09-03 Improvements - Allow megaparsec 9.5 diff --git a/hledger-web/CHANGES.md b/hledger-web/CHANGES.md index 2c4925501..44b310996 100644 --- a/hledger-web/CHANGES.md +++ b/hledger-web/CHANGES.md @@ -21,8 +21,90 @@ API User-visible changes in hledger-web. See also the hledger changelog. -# 1.31 2023-09-03 +# 0c85b48d2 +- ;doc: use ```cli not ```shell for command-line examples +- doc: update manuals + +- ;cabal: update cabal files + +- feat:print: add a basic beancount output format + This prints journal output more likely (but not guaranteed) to + be readable by Beancount. + + All packages now require text 1.2.4.1 or greater. + +- imp: web: round amounts to display precision as before (precisiongeddon) + +- cabal: update cabal files + +- pkg:web: clean up some apparently redundant declarations and deps + +- dev:web: refactor permission checking + +- ;cabal: update cabal files + +- imp:web: cleanups; use --allow on Sandstorm (#834) + +- imp:web: access control UX cleanups (fix #834) + Changes: + + 1. rename the sandstorm "manage" permission to "edit" + (old permission names: view, add, manage; + new permission names: view, add, edit). + + Rationale: "edit" best describes this permission's current powers, to users and to operators. + If we ever added more manager-type features we'd want that to be a new permission, + not a rename of the existing one (which would change the powers of existing users). + + 2. rename the sandstorm roles for consistency with permissions + (old role names: viewer, editor, manager; + new role names: viewer, adder, editor) + + Rationale: it's needed to avoid confusion. + + 3. add a new option: --allow=view|add|edit|sandstorm (default: add). + 'sandstorm' sets permissions according to the X-Sandstorm-Permissions header. + Drop the --capabilities and --capabilities-header options. + + Rationale: it's simpler and more intuitive. + + 4. replace "capability" with "permission" in ui/docs/code. + + Rationale: consistent with the above, more familiar. + +- fix:web: check options like --capabilities before starting the app + +- fix:web:edit form: fix broken "File format help" link (fix #2103) + Now not broken, https rather than http, and pointing to the "Data + formats" section, which has links to each of the file formats + (in case editing a non-journal file). + +- web: Use guessAppRootOr to enable relative root if desired (fix #2099) (Philipp Klocke) + This is useful when serving on 0.0.0.0, such that querying from any + other device with : does not fallback to 0.0.0.0:PORT, + which would fail. + + Tested: Manually + +- imp: web: include adeclarationinfo in accounts JSON (S. Zeid) + +- ;cabal: update cabal files + +- ;doc: main module haddock cleanups + +- ;doc: package description cleanups + +- lib!: export less from cli and web packages, and more from ui + +- ;doc: update manuals + +- ;cabal: update cabal files + +- ;pkg: bump version to 1.31.99 + +- ;doc: merge 1.31 changelogs +# 1.31 2023-09-03 Improvements - Allow aeson 2.2, megaparsec 9.5 diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index 3bfb3ccbc..7643ce9c6 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -146,8 +146,270 @@ Docs API -# 1.31 2023-09-03 +# e601adaee +- ;doc: changelogs (from TWIH) +- ;doc: timedot: example tweak + +- ;doc: Amount formatting, parseability: improve example + +- ;doc: Amount formatting, parseability: fix link + +- ;doc: use ```cli not ```shell for command-line examples + +- ;doc: Amount formatting, parseability: fix link + +- ;doc: Amount formatting, parseability: examples, links + +- feat:timedot: tagged time logging with letters + +- ;doc:timedot: cleanups + +- imp:print:beancount: conversion improvements + - omit balance assertions + - replace more currency symbols, and match within symbols like C$ + - do more account validation, and error if conversion is too hard + - backslash-escape double quotes and backslashes in payee and note + +- imp:print:beancount: also convert cost amounts + +- doc: update manuals + +- ;doc: update command help + +- ;cabal: update cabal files + +- feat:print: add a basic beancount output format + This prints journal output more likely (but not guaranteed) to + be readable by Beancount. + + All packages now require text 1.2.4.1 or greater. + +- fix: -o/--outputfile with a .json or .sql extension now selects those formats + +- ;doc:commodity directive: edits + +- ;doc:commodity directive: explain why decimal mark is required + +- ;doc: amount formatting: correction, csv does not force . (#2115) + +- ;doc: amount formatting: edits (#2115) + +- ;doc: amount formatting: edits (#2115) + +- ;doc: amount formatting: edits (#2115) + +- fix: non-print-like reports no longer add trailing decimal marks (fix #2115) + That 1.31 change was advertised as being for the print command only, + but it affected all commands. Now it affects only print and other + "print-like" commands (ie all commands that show whole journal entries + that we might want to re-parse). + + Also three classes of hledger output, and how they modify the + commodity display styles' digit group marks and decimal marks + to suit different consumers, have been identified and documented + (under REPORTING CONCEPTS). + +- ;doc:csv:if table: clarify, explain why backslash won't work (#2107) + +- fix:csv: fix tag: queries on CSV data (#2114) + +- ;doc:journal: decimal marks, commodity directives: rewrites + +- imp:import: support -s/--strict properly (fix #2113) + hledger import -s now runs strict checks on an in-memory copy of the + updated journal, before updating the journal file; if strict checks + fail, nothing is written to disk. + + And hledger import now does not update any .latest files until it has + run without error (no failing strict checks, no failure while writing + the journal file). This makes it more idempotent, so you can run it + again after fixing problems. + +- ;doc: regular expressions: add examples (hledger_site#224) + +- ;doc: More valuation examples: drop obsolete explanation (precisiongeddon) + +- imp: roi: limit large decimals to 8 digits by default (precisiongeddon) + With valuation now preserving more decimal digits, roi could show + excessively precise decimals if there was no known display precision + for the valuation commodity. Now in that situation it limits the + precision to a maximum of 8 digits. + +- imp: more precision handling fixes, debug output, test updates (precisiongeddon) + This and the preceding commits were "work in progress" that got out of control. + There's more to do, but this one brings these precision-related improvements + (at least): + + When "infinite decimals" arise, they are now generally shown with + 8 decimal digits rather than 255. + + print and prices no longer add trailing decimal zeros unnecessarily. + + Some code has been refactored or given more debug output. + + All tests have been updated to match the recent changes. + +- imp: prices: clarify, fixes, improve semantics (precisiongeddon) + - The prices comand now more accurately lists the prices that hledger + uses when calculating value reports (similar to what you'd see with + eg `hledger bal -V --debug=2`). + + - The prices command's --infer-reverse-prices flag was confusing since + we always infer and use reverse prices; it has been renamed to --show-reverse. + + - --infer-market-prices and --show-reverse combine properly. + + - --show-reverse now ignores all zero prices rather than giving an error. + + - Reverse prices (which can be infinite decimals) are now displayed + with at most 8 decimal digits (rather than the internal precision of + 255 digits). + + - Filtering prices by cur: or amt: now works properly. + + - Price amounts are styled, but all decimal digits are shown. + +- imp: set display style, natural precision on valued amounts (fix #2105, precisiongeddon) + Cost/value conversion now applies the standard display style, and + sets the display precision equal to the internal decimal precision + (or 8 if the decimal appears to be infinite). + This means value reports and especially `print -V` now show amounts + with more accurate and standard style and precision. + + New tests have been added describing and explaining various + style/precision behaviours in print cost/value reports. + +- ;dev: valuation.test: cleanup + +- ;doc: import: document Match Groups (Jonathan Dowland) + Add a description of Match Groups to the manual; Section "Matchers". + Include two examples. + + Clarify a description of regular expression features with respect + to match groups. + + Expand the description of field assignments to cover match group + interpolation, cross-referencing to Section "Matchers" for the full + description. + + Signed-off-by: Jonathan Dowland + +- test: import: functional tests for match group interpolation (Jonathan Dowland) + Add functional tests for matching substrings in field matchers and + interpolating them into the corresponding field assignments. Check + the following properties and use-cases: + +- Use-case 1: matching a portion of a date in a known format + (YYY-MM-DD) and writing a comment-command to warp a posting date. + Useful for credit cards. +- Use-case 2: match a portion of a CSV field and use it as an + account assignment. Useful for my byzantine setup with two + separate ledgers cross-importing to each other. +- Ensure bracketed portions of field matchers are captured. +- Ensure bracketed portions of record matchers are captured. +- Check match token numerical offset is relative to match group, + not the whole rules file. +- Check nested matches work. +- Ensure match group token expansion works with or without + surrounding text. + + Signed-off-by: Jonathan Dowland + +- ;doc: Setting LEDGER_FILE: fix a quote (hledger_site#93) + +- fix: auto postings: detect redundant costs properly (fix #2110) + +- feat: cli: Add tsv output (#869) (Peter Sagerson) + All commands that suport csv output now also support tsv output. The + data is identical, but the fields are separated by tab characters and + there is no quoting or escaping. Tab, carriage return, and newline + characters in data are converted to spaces (this should rarely if ever + happen in practice). + +- ;doc:tests:readme + +- ;dev: tests: ledger-compat tests cleanup + +- ;dev: tests: add outshine headings for more readability (in emacs) + +- ;doc: TESTS name/link + +- ;imp:Hledger.Cli.Script: don't export main, do export CompoundBalanceCommand + +- imp:demo: improve error message when asciinema fails + +- fix:demo: avoid breaking asciinema 2.3.0 (fix #2094) + We were adding a trailing newline, which causes asciinema 2.3.0 to + show a JSON decode error. + +- ;doc:cli:Data formats: link to each format's doc + +- imp:cli:Hledger.Cli.Version: export packagemajorversion + +- ;doc:areg,ui: note how separately-dated postings get combined + +- ;doc:print: cleanups (#2085) + +- ;doc:CHANGES: document print and zero-rendering changes (#2085) + +- feat:print: add --round option for more control of precisions (#2085) + +- lib!: use styleAmounts in more places; add rounding strategies + +- dev:print: refactor, add AmountStyle "rounding strategy" + Changes to enable more control of "rounding" behaviour + (ie, choosing display precisions for amounts). + + This reverts 1.31's change of asprecision, making it a non-Maybe + again, and adds a new asrounding field providing more control over how + a target display precision is applied to existing amounts (two options + for now, more later). Functionality is in an interim state (reports do + no rounding). + +- fix:timedot: parse unitful quantities more accurately (fix #2096) + A quantity with a unit like "15m" was being parsed internally as + 0.249999999... rather than 0.25 (and since hledger 1.21, printed that + way also). Now we round such quantities to two places during parsing, + to get exact quarter-hour amounts. + +- ;doc:journal: rewrite Commodity display style + +- fix: balance-assigned amounts affect styles again (fix #2091) + +- ;doc:troubleshooting: nix locale config (#2089) + +- ;doc: csv: negative matchers (#2088) + +- feat: balance: Add summary-only flag (#1012) (Stephen Morgan) + Add a flag --summary-only for multi-column balance reports, which does + not display the main date columns for a report, but only displays the + summary columns (--row-total, --average). This is useful when there are + many columns (a weekly summary over many years) where you're only + interested in the average (or some other summary). + +- ;cabal: update cabal files + +- ;doc: main module haddock cleanups + +- lib!: export less from cli and web packages, and more from ui + +- dev:cli: merge Hledger.Cli.Main with Hledger.Cli + +- fix: failing balance assertions with cost show correct highlight #2083 + +- ;doc:journal: clarify valuation date, note bug #2084 + +- ;doc: update manuals + +- ;doc: update command help + +- ;cabal: update cabal files + +- ;pkg: bump version to 1.31.99 + +- ;doc: merge 1.31 changelogs +# 1.31 2023-09-03 Features - Multi-pivot: the --pivot option now accepts multiple arguments,