From 997653e3b907d773d116360260ded68cd2e47858 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 16 Apr 2024 17:46:03 -1000 Subject: [PATCH] ;doc: changelogs: 1.33 --- CHANGES.md | 16 ++- hledger-lib/CHANGES.md | 38 +++++++ hledger-ui/CHANGES.md | 17 ++++ hledger-web/CHANGES.md | 27 +++++ hledger/CHANGES.md | 226 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 321 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 581b924ea..1be1d4347 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,11 +8,9 @@ Docs -Examples - Scripts/addons -Infrastructure +Infrastructure/Misc --> @@ -20,6 +18,18 @@ General changes in the hledger project. For package-specific changes, see the hledger package changelogs. + +# 1.33 2024-04-17 + +Docs + +- REGRESSIONS: we now split the bounty between finder and fixer +- move Developer docs, MOCKUPS, investment-accounting-features to main repo +- merge LINKS into dev docs page; cleanup +- drop unused BACKLOG, TODO pages + + + # 1.32.3 2024-01-28 Scripts/addons diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index c94f541ca..b0ed78b2b 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -21,6 +21,44 @@ Improvements Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. +# 1.33 2024-04-17 + +Breaking changes + +Fixes + +- Require process 1.6.19.0+ to avoid any vulnerabilities on Windows from + [HSEC-2024-0003](https://haskell.github.io/security-advisories/advisory/HSEC-2024-0003.html). + This has also required disabling this package's doctest test suite for the moment. + +- A potential Glob/filemanip package conflict in Hledger.Utils.IO now prevented, + avoiding build failures. + + +Improvements + +- hledger can now be built with GHC 9.8. +- hledger now requires safe >=0.3.20. +- fix spanUnion with open-ended dates; add spanExtend [#2177] +- move readFileStrictly from hledger to Hledger.Utils.IO +- rename/improve amountSetFullPrecisionUpTo; add mixedAmountSetFullPrecisionUpTo +- rename Amount's aprice -> acost +- rename AmountPrice, UnitPrice, TotalPrice -> AmountCost, UnitCost, TotalCost +- showAmountWithoutPrice -> showAmountWithoutCost +- mixedAmountStripPrices -> mixedAmountStripCosts +- showMixedAmountWithoutPrice -> showMixedAmountWithoutCost +- showMixedAmountOneLineWithoutPrice -> showMixedAmountOneLineWithoutCost +- rename amountStripPrices -> amountStripCost, etc +- rename AmountDisplayOpts -> AmountFormat; add a new flag for symbol display +- rename noColour -> defaultFmt +- rename noCost -> noCostFmt +- rename oneLine -> oneLineFmt +- rename csvDisplay -> machineFmt +- distinguish oneLineFmt and oneLineNoCostFmt; add fullZeroFmt +- matchedPostingsBeforeAndDuring: improve debug output + + + # 1.32.3 2024-01-28 - Some API renames ended up in this release, including diff --git a/hledger-ui/CHANGES.md b/hledger-ui/CHANGES.md index 4ff70c22e..4f2ae29b4 100644 --- a/hledger-ui/CHANGES.md +++ b/hledger-ui/CHANGES.md @@ -21,6 +21,23 @@ API User-visible changes in hledger-ui. See also the hledger changelog. +# 1.33 2024-04-17 + +Fixes + +- Require process 1.6.19.0+ to avoid any vulnerabilities on Windows from + [HSEC-2024-0003](https://haskell.github.io/security-advisories/advisory/HSEC-2024-0003.html). + +Features + +- Add a `dark` theme. (Jonathan Dowland) + +Improvements + +- Allow building with GHC 9.8. + +- Require safe >=0.3.20. + # 1.32.3 2024-01-28 - Use hledger-1.32.3 diff --git a/hledger-web/CHANGES.md b/hledger-web/CHANGES.md index 5d594a6db..8c112c0eb 100644 --- a/hledger-web/CHANGES.md +++ b/hledger-web/CHANGES.md @@ -21,6 +21,33 @@ API User-visible changes in hledger-web. See also the hledger changelog. +# 1.33 2024-04-17 + +Fixes + +- Exclude base64 >=1.0 to avoid compilation failure. [#2166] + +- Preserve line breaks when showing an error message. [#2163] (Martijn van der Ven) + +Improvements + +- Zero amounts are now shown with their commodity symbol. + This was mainly to make the sidebar more informative, + but also affects and hopefully helps amounts displayed elsewhere. + [#2140] + +- Amounts in the sidebar now also have the `amount` HTML class. + +- Allow building with GHC 9.8. + +- Require safe >=0.3.20. + +Docs + +- Mention the `-E/--empty` flag for hiding zeros, + the non-display of costs, + and non-zeros that look like zero because of hidden costs. + # 1.32.3 2024-01-28 - Use hledger-1.32.3 diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index 7424b4802..069d62ee1 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -15,12 +15,233 @@ Improvements Docs +Scripts/addons + API --> User-visible changes in the hledger command line tool and library. +# 1.33 2024-04-17 + + + +Breaking changes + +- `expr:` boolean queries, introduced in hledger 1.30 (2023), + no longer allow `date:` to be used within an `OR` expression, + avoiding unclear semantics which confuse our reports. + If you'd like to improve this, see #2178. [#2177] [#2178] + +- Some error messages (date parse errors, balance assertion failures) have changed, + which might affect error-parsing add-ons like flycheck-hledger. + + + +Fixes + +- `add`, `import`, `web`: + On MS Windows, don't allow writing to files whose name ends with a period, + since it can cause data loss; raise an error instead. + I made this change in hledger 1.15 (2019), but it never worked; now it does. + [#1056] + +- `balance --budget`: + The budget report in tree mode was omitting parent accounts with no actual or goal amounts + and a single child, instead of showing them as a prefix of the child's name. + Now it always shows them, on a line of their own (a bit like `--no-elide`). + It's not a perfect fix, but the budget report code is twisty. + [#2071] + +- `check tags`: + The special `date` and `date2` tags, + and the `modified` and `_modified` tags generated by `--auto`, + are now also implicitly declared. + [#2148], [#2119] + +- Regular expression match group references in CSV `if` rules, + added in hledger 1.32, did not work right when multiple if conditions matched a CSV record. + This is now fixed; match group references are now scoped to their local `if` block. + [#2158] (Jonathan Dowland) + +- `roi` now correctly interacts with `--value`. + [#2190] (Dmitry Astapov) + +- hledger now requires process-1.6.19.0+ to avoid any vulnerabilities on Windows from + [HSEC-2024-0003](https://haskell.github.io/security-advisories/advisory/HSEC-2024-0003.html). + + + +Features + +- `close` has had some enhancements for usability ([#2151]): + + - It now excludes equity accounts by default; and always excludes the balancing account. + + - It has new `--assert` and `--assign` modes, for generating transactions which + make balance assertions or balance assignments. + There is also a `--assertion-type` option for changing the assertion/assignment type. + + - It adds a tag to generated transactions, named `start`, `assert` or `retain` + depending on the mode. + + - The `start` tag's value will be a guess of the new file's name, + inferred by incrementing a year number in the current file name. + Eg, `hledger close --migrate` on `2024.journal` will add the tag + `start:2025.journal` to both transactions. + Tags like this can be helpful when reading multiple files, + for excluding closing and opening balances transactions + (eg with `not:tag:start=2025`). + + - You can set different tag values by writing the mode option with an argument. + Eg: `hledger close --migrate=NEWFILENAME`. + + - `close` now supports `--round` for controlling display of decimal places, like `print`. + + - `examples/multi-year/` is examples/tutorial for managing multiple files with the `close` command. + + + +Improvements + +- `stats` has had some improvements: + + - It now also shows some information about memory usage, when hledger is built or is running + with the GHC Run Time System available. (Try `hledger stats +RTS -T`.) + + - The default output is now more private, hiding file paths and commodity symbols. + Those can be added by the new `-v/--verbose` flag. + + - Output is now more compact and more likely to fit in 80-character lines. + + - When generating multiple outputs with a report interval, reports are now + separated by an empty line. + +- Several more kinds of Unicode space are allowed for separating digit groups in numbers. + We now support (my guess of the ones that might show up in real world CSV files): + space, + no-break space, + en space, + em space, + punctuation space, + thin space, + narrow no-break space, + medium mathematical space. + +- Glob patterns in `$LEDGER_FILE` are now respected. + Eg, setting it to `*.journal'` or `2???.journal` now works as expected. + +- When hledger is reading a symbolically-linked journal file, + relative paths in include directives are now evaluated + relative to the directory of the real linked file, + not the directory containing the symbolic link. + +- Date parse errors are now simpler and clearer. + They no longer try to repeat (a reconstruction of) the problem date, + since the actual problem date is already visible in the highlighted file excerpt. + +- Balance assertion error messages are clearer, + and show the difference between expected and actual balance again. + With --debug=2 they also show costs. + +- `tsv:` and `ssv:` file name prefixes are now supported in addition to `csv:`. + They force the file to be read as a .tsv (tab separated values) or .ssv (semicolon-separated values) file. + [#2164] (Michael Rees) + +- In CSV rules files, commented lines are now allowed within "if tables". (Dmitry Astapov) + +- `balance --budget`'s CSV and TSV output now shows zeroes instead of nothing when there's no amount. + +- `bs`,`bse`,`cf`,`is`: + Report sections which are empty now show zero as their subtotal. (aragaer) + +- `print` and `close` add a trailing decimal mark when needed to disambiguate a single digit group mark. + They now also do this for balance assertion and balance assignment amounts. + [#2176] + +- hledger can now be built with GHC 9.8. + +- hledger now requires safe >=0.3.20. + + + +Docs + +- add version annotations for features added in 1.32 (hamzashezad) +- add Text encoding section, mention UTF-8 BOM support [#2189] +- journal: note that `payee` and `tag` directives can't have tags in comments, unlike `account`. +- journal: clarify how auto postings work. +- journal: list built-in special tag names +- journal: description/payee/note: clarify +- journal: amounts/commodities/numbers: cleanups +- journal: move intro before cheatsheet +- journal: transactions: explain transaction balancing [#2135] +- journal: transactions: mention debits, credits and sign +- journal: commodity directive: clarify & fix scope of effects [#2135] +- journal: D directive: clarify scope [#2191] +- journal: split Decimal marks, Digit group marks +- journal: move complex commodity styles, lot notation topics later +- journal: drop redundant/wrong Querying with cost or value section +- journal: cheatsheet: cleanups +- journal: assertions and ordering/commodities/subaccounts: cleanups +- csv: matchers: clarify, mention !/& limitation [#2088] +- csv: if tables: explain comments and order of application (Dmitry Astapov) +- add: document the effect of D default commodity directive [#815] +- balance: cleanups +- balance: budget report: moved "Budgets and subaccounts" to the Cookbook. +- bs,bse,cf,is: update sample output +- bse: note requirements for checking the accounting equation +- close: rewrite, give a better technique for excluding opening/closing balance txns [#2151] +- import: rename "deduplication" to "skipping", and rewrite +- examples: expand READMEs, clarify status for examples +- examples: invoicing: cleanups, renames +- examples: invoicing: pandoc-make-invoice: don't write to $LEDGER_FILE; remove the REMOVE THIS LINE line +- examples: csv: daedalus-transactions: update for current daedalus [#2171] + + + +Scripts/addons + +- hledger-bar, hledger-simplebal: shellcheck fixes, cleanups (Colin Dean) + +- hledger-bar: Fix an error when NO_COLOR is not defined [#2159]. + Also, it's now more compliant with the no-color.org spec: + + Command-line software which adds ANSI color to its output by default + should check for a NO_COLOR environment variable that, when present + and not an empty string (regardless of its value), prevents the + addition of ANSI color. + + so one can now temporarily override $NO_COLOR=1 in the environment by + setting it empty: NO_COLOR= hledger ... + +- hledger-txnsbycat: added + + + +API + +- move readFileStrictly to hledger-lib:Hledger.Utils.IO + + + +[#2191]: https://github.com/simonmichael/issue/2191 +[#2190]: https://github.com/simonmichael/issue/2190 +[#2189]: https://github.com/simonmichael/issue/2189 +[#2178]: https://github.com/simonmichael/issue/2178 +[#2177]: https://github.com/simonmichael/issue/2177 +[#2176]: https://github.com/simonmichael/issue/2176 +[#2164]: https://github.com/simonmichael/issue/2164 +[#2151]: https://github.com/simonmichael/issue/2151 +[#2135]: https://github.com/simonmichael/issue/2135 +[#2088]: https://github.com/simonmichael/issue/2088 +[#2071]: https://github.com/simonmichael/issue/2071 +[#1056]: https://github.com/simonmichael/issue/1056 +[#815]: https://github.com/simonmichael/issue/815 + + + # 1.32.3 2024-01-28 Fixes @@ -39,6 +260,11 @@ Fixes - Balance assertion error messages are clearer, and show the diff again. + +[#2156]: https://github.com/simonmichael/issue/2156 + + + # 1.32.2 2023-12-31 Fixes