Skip to content

Commit 38873d4

Browse files
committed
;doc: relnotes 1.41
1 parent 6e93bbe commit 38873d4

File tree

1 file changed

+319
-1
lines changed

1 file changed

+319
-1
lines changed

doc/relnotes.md

Lines changed: 319 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,323 @@ Changes in hledger-install.sh are shown
7676

7777

7878

79-
## 2024-09-09 hledger-1.40
8079

80+
## 2024-12-08 hledger-1.41
81+
82+
**Valuation fix, pervasive improved HTML and FODS output, multiple depths, terminal pagination, robust export to Beancount, ...**
83+
84+
### hledger 1.41
85+
86+
87+
Breaking changes
88+
89+
- Accounts named "equity:conversion", "equity:trading", or "equity:trade(s)", which are detected as type `V`/`Conversion`, will now revert to type `E`/`Equity` instead if any other account has been declared as type `V`/`Conversion`.
90+
91+
- When built with ghc 9.10.1, hledger shows two extra newlines after any error message.
92+
93+
Fixes
94+
95+
- A somewhat severe, though hopefully rare, valuation bug has been fixed. In certain circumstances, values could be calculated inaccurately, because of display-rounding occurring inappropriately during calculations. [#2254]
96+
97+
Specifically: when there was no direct P price for the target commodity, so that hledger had to convert via a chain of prices, and if all of those price amounts had too few decimal places, then the result could be inaccurate. An example:
98+
99+
P 2000-01-01 A 10.5 B
100+
P 2000-01-01 B 100.5 C
101+
102+
2000-01-01
103+
(a) 100 A
104+
105+
$ hledger-1.40 print -X C
106+
2000-01-01
107+
(a) 105520 C ; wrong
108+
109+
$ hledger-1.41 print -X C
110+
2000-01-01
111+
(a) 105525 C ; right
112+
113+
- `bs`/`bse`/`cf`/`is`'s HTML output no longer includes excess heading cells, and `bs`/`bse`'s HTML output no longer shows an inappropriate Total heading with `-T`. (`balancesheet` does not support `-T`.)
114+
(Henning Thielemann)
115+
116+
- Balance commands' HTML, CSV and FODS output now show tree mode properly indented (using no-break spaces).
117+
(Henning Thielemann)
118+
119+
- In the `roi` command, a division by zero error (when all assets were sold) has been fixed.
120+
[#2281] (Dmitry Astapov)
121+
122+
- In the HTML output of `bs`/`bse`/`cf`/`is` reports, Net amounts in the Net row are now formatted like the others.
123+
(Bas van Dijk)
124+
125+
- In `bs`/`bse`/`cf`/`is` HTML output, some unnecessary TH cells have been fixed.
126+
[#2225] (Henning Thielemann)
127+
128+
- In a multi-line comment generated by CSV rules, tags on all lines now work (ie, can be matched). Posting dates in comments generated from CSV also now [work](https://hledger.org/hledger.html#comment-field).
129+
(#2241)
130+
131+
- hledger's bash shell completions are now up to date with the latest CLI.
132+
[#986]
133+
134+
- When showing output with a pager, if `$PAGER` is set to something not found in PATH, we now ignore it instead of raising an error.
135+
136+
- `hledger --color=yes | less -R` now shows bold headings as you'd expect.
137+
138+
Features
139+
140+
- The `print`, `register` and `aregister` commands now support HTML and FODS output, and the `bs`/`bse`/`cf`/`is` commands now support FODS output. This means all of the "STANDARD REPORTS" commands, and the `balance` command, now support text, HTML, CSV, TSV, or FODS output.
141+
(Henning Thielemann)
142+
143+
- When generating HTML output with the register or balance commands, the `--base-url` option will add hyperlinks to hledger-web, allowing you to view the detailed transactions if you have hledger-web running.
144+
(Henning Thielemann)
145+
146+
- Reports can now specify different display depths for certain accounts, rather than showing all accounts with the same depth limit. Multiple `--depth=ACCTREGEX=DEPTH` options (or `depth:ACCTREGEX=DEPTH` arguments can be used. For example, this will clip all accounts matching "assets" to depth 3, all accounts matching "expenses" to depth 2, and all other accounts to depth 1: `--depth assets=3 --depth expenses=2 --depth 1`
147+
(Stephen Morgan, #2292)
148+
149+
- In unix-like environments, hledger now uses a pager (`$PAGER`, `less`, or `more`) for all large terminal output, not just for help. You can override this with the new `--pager` option. The pager is expected to handle hledger's ANSI colour output (unless you disable that). If `less` is used, it will be configured automatically, or you can override this by setting options in a `HLEDGER_LESS` environment variable.
150+
151+
- The `print` command's `beancount` output is now much more Beancount-compatible [#2295]. Other than using `--alias` to provide the top-level account names Beancount requires, you should rarely have to do anything special to produce a journal that `bean-check` accepts. hledger will automatically adjust problematic names, encode unsupported characters, and so on. See [hledger: Beancount output](https://hledger.org/dev/hledger.html#beancount-output) for the full details.
152+
153+
This supersedes the `ledger2beancount` tool, and makes using Beancount tools, especially Fava, practical for hledger users. In many cases this should just work:
154+
```
155+
hledger [ALIASES] print -o tmp.beancount; fava tmp.beancount
156+
```
157+
158+
Improvements
159+
160+
- `if` blocks in CSV rules now allow `& !` (AND NOT) on the same line.
161+
162+
- When reading `.latest` files, whitespace is now ignored, and any date parse failure is reported with the file and line number.
163+
164+
- In journal format, P directives now require a space after the first symbol, preventing surprises like `P 2024-10-31 a0 1` parsed as `P 2024-10-31 a 01`.
165+
[#2280]
166+
167+
- `aregister` has a new `--heading=YN` option, for disabling the report heading. (Henning Thielemann)
168+
169+
- `aregister` now supports the `--invert` and `--cumulative` flags, like the `register` command. (Henning Thielemann)
170+
171+
- The balance commands' HTML and FODS output now shows table borders consistently.
172+
(Henning Thielemann)
173+
174+
- In the balance commands' HTML output, row headings now span multiple rows when appropriate, rather than being repeated.
175+
(Henning Thielemann)
176+
177+
- Balance commands now support `--transpose` when generating HTML output.
178+
(Henning Thielemann)
179+
180+
- The `balance` command's `--layout=tidy` now affects HTML and FODS output at least to some extent (not just CSV output). And it always disables the totals row. (Henning Thielemann)
181+
182+
- The `balance` command's FODS output now picks a report title based on the report mode: "Balance Report", "Multi-period Balance Report", or "Budget Report". (Henning Thielemann)
183+
184+
- `balance` and `aregister`'s HTML output will now use a hledger.css file if present, like `bs`/`bse`/`cf`/`is`.
185+
186+
- `bs`/`bse`/`cf`/`is` now support the `--count` (postings count) report type, like `balance`.
187+
188+
- The balance commands' options help has had some cleanup.
189+
190+
- The error messages from `check accounts` and `check recentassertions` are now clearer.
191+
192+
- The `check commodities` command now also checks commodities used in P directives. [#2280]
193+
194+
- The `commodities` command now also list commodities mentioned in P directives. [#2280]
195+
196+
- All of hledger's internal hidden (but searchable) tags can now be made visible by `print --verbose-tags`, which is useful for troubleshooting `--infer-equity`,
197+
`--infer-costs`, and the detection of redundant costs and conversion postings. Also,
198+
199+
- Some hidden tags have been renamed for clarity:
200+
`_modified` is now `_modified-transaction`,
201+
`_cost-matched` is now `_cost-posting`,
202+
`_conversion-matched` is now `_conversion-posting`.
203+
- The `generated-posting:` tag added by `--infer-equity` is now valueless.
204+
- The `modified-transaction:` tag added by `--auto` now appears on its own line.
205+
206+
- Using the `-NUM` shortcut (for `--depth NUM`) in a config file now works.
207+
208+
- Setting the `--color` option in a config file now works (except it does not affect `--debug` output, currently).
209+
210+
- The `--color` option's suggested values are now `yes`/`y`, `no`/`n`, or `auto`/`a`. `always` and `never` are no longer documented, though still supported.
211+
212+
- More compact and informative `--debug=2` output during valuation. Market prices are now shown using one line each, the known prices are listed, and the status of `--infer-market-prices` is shown.
213+
[#2287]
214+
215+
- More informative `--debug=7` output from CSV rules.
216+
217+
- The hledger packages have a new `debug` build flag. Builds made with ghc 9.10+ and this flag will show some kind of stack trace if the program exits with an error. (These will improve in future ghc versions.)
218+
219+
- Disabled the unused `ghcdebug` build flag and ghc-debug support, for now.
220+
221+
- Allow megaparsec 9.7.
222+
223+
- ghc 9.10 / base 4.20 are now supported.
224+
225+
Docs
226+
227+
- Windows: added tips for setting `LEDGER_FILE` (Amadeusz Wieczorek, hledger_site#119)
228+
- csv: if blocks: explain matchers and field names better [#2289]
229+
- import: rewrite; rename "date skipping" to "overlap detection"
230+
- import: added tips for first import
231+
- assertions: mention their behaviour with posting status
232+
- journal: rewrite the Tags section
233+
- pager: note that `help -p TOPIC` uses less; link to less FAQ
234+
- query types: updates, add headings, mention tag:'s infix matching
235+
- Regular expressions: note possible RTL/bidi limitation (?)
236+
- Special characters: rewrite, more precision, mention some Windows differences
237+
- Output formats: expand, document beancount and FODS output
238+
- Text output: expand/consolidate terminal topics
239+
- FODS output: describe the advantages over CSV (Henning Thielemann)
240+
- Debug output: note that the --debug option doesn't work in config files.
241+
- bal: improve --layout doc
242+
- bal: note that tree mode doesn't work in html output [#1846]
243+
- bal: also mention hledger.css and text encoding in balance doc
244+
- html: note safari text encoding issue
245+
- timedot: mention the common journal+timedot file setup [#2238]
246+
- Install, manual: new shell completions doc. [#986]
247+
- Config files: rewrite [#2231]
248+
- examples/csv: an example of YNAB 4 data, and RTL text, with a workaround
249+
- examples: hledger2beancount.conf
250+
251+
Scripts/addons
252+
253+
- bin/*: remove obsolete _FLAGS markers from --help
254+
- examples/csv/csv-hledger-1.py: a python-based CSV converter script
255+
256+
API
257+
258+
- Hledger.Utils.IO's ansi color helpers now respect the --color option.
259+
- Hledger.Utils.IO.rgb' now takes Float arguments instead of Word8.
260+
- Hledger.Cli.Commands.Balance: export budgetReportAs* functions, for use in scripts.
261+
(Dmitry Astapov)
262+
263+
264+
### hledger-ui 1.41
265+
266+
267+
Breaking changes
268+
269+
- When built with ghc 9.10.1, error messages are displayed with two extra trailing newlines.
270+
271+
Fixes
272+
273+
- V (value) and C (cost) toggle keys once again reset each other as they should
274+
(broken since 1.21).
275+
(Gal Lakovnik Gorenec, [#2284])
276+
277+
- Bash shell completions are now up to date. [#986]
278+
279+
Features
280+
281+
Improvements
282+
283+
- Allow clipping depth to be configured per account (until adjusted in app, at least).
284+
(Stephen Morgan, [#2292])
285+
286+
- Added helix as a supported editor for the `e` key. (amano.kenji)
287+
288+
- Added --pager and --color options as in hledger, affecting command line help. Also --color=no forces use of the "terminal" theme.
289+
290+
- Added a new `debug` build flag. Builds made with ghc 9.10+ and this flag will show some kind of partial stack trace if the program exits with an error. These will improve in future ghc versions.
291+
292+
- Disabled the unused `ghcdebug` build flag and ghc-debug support, for now.
293+
294+
- Allow megaparsec 9.7.
295+
296+
- Allow brick 2.5, 2.6.
297+
298+
- Avoid brick 2.3.2, which doesn't build on windows.
299+
300+
- ghc 9.10 / base 4.20 are now supported.
301+
302+
Docs
303+
304+
- Mention that period navigation uses standard periods [#2293]
305+
- Install, manual: new shell completions doc. [#986]
306+
307+
308+
### hledger-web 1.41
309+
310+
311+
Breaking changes
312+
313+
- When built with ghc 9.10.1, error messages are displayed with two extra trailing newlines.
314+
315+
Fixes
316+
317+
- Autocompletions now work in newly created account fields. [#2215]
318+
319+
- Bash shell completions are now up to date. [#986]
320+
321+
Features
322+
323+
Improvements
324+
325+
- Added --pager and --color options as in hledger, affecting command line help.
326+
327+
- Added a new `debug` build flag. Builds made with ghc 9.10+ and this flag will show some kind of partial stack trace if the program exits with an error. These will improve in future ghc versions.
328+
329+
- Disabled the unused `ghcdebug` build flag and ghc-debug support, for now.
330+
331+
- allow megaparsec 9.7
332+
333+
- ghc 9.10 / base 4.20 are now supported.
334+
335+
Docs
336+
337+
- Install, manual: new shell completions doc. [#986]
338+
339+
340+
### project changes 1.41
341+
342+
343+
Docs
344+
345+
- REGRESSIONS: new table format; updates.
346+
- CODE: notes on the use of haddock [#2222]
347+
- Simplify github bug report template
348+
- Add man pages and info manuals to the release bindists on github
349+
350+
Scripts/addons
351+
352+
- Fixed build errors in all bin/ scripts. (Dmitry Astapov)
353+
- hledger-install: fix installation of hledger-ui
354+
355+
Infrastructure/Misc
356+
357+
- GHC 9.10 is now the default for dev builds and most github workflows.
358+
- Add consistent greppable summaries to all workflows; various other improvements
359+
- Add bash shell completion script to the release bindists ([#2223], gesh/hseg, Simon Michael)
360+
- tools/gtree: -u shows untracked files, -I adds ignored files.
361+
- just doctest: pass through doctest arg(s).
362+
363+
364+
### credits 1.41
365+
366+
367+
Simon Michael (@simonmichael),
368+
Henning Thielemann (@thielema),
369+
Dmitry Astapov (@adept),
370+
Stephen Morgan (@Xitian9),
371+
Bas van Dijk (@basvandijk),
372+
Gal Lakovnik Gorenec,
373+
amano.kenji,
374+
gesh.
375+
376+
[#986]: https://github.com/simonmichael/hledger/issues/986
377+
[#1846]: https://github.com/simonmichael/hledger/issues/1846
378+
[#2215]: https://github.com/simonmichael/hledger/issues/2215
379+
[#2222]: https://github.com/simonmichael/hledger/issues/2222
380+
[#2223]: https://github.com/simonmichael/hledger/issues/2223
381+
[#2225]: https://github.com/simonmichael/hledger/issues/2225
382+
[#2231]: https://github.com/simonmichael/hledger/issues/2231
383+
[#2238]: https://github.com/simonmichael/hledger/issues/2238
384+
[#2254]: https://github.com/simonmichael/hledger/issues/2254
385+
[#2280]: https://github.com/simonmichael/hledger/issues/2280
386+
[#2281]: https://github.com/simonmichael/hledger/issues/2281
387+
[#2284]: https://github.com/simonmichael/hledger/issues/2284
388+
[#2287]: https://github.com/simonmichael/hledger/issues/2287
389+
[#2289]: https://github.com/simonmichael/hledger/issues/2289
390+
[#2292]: https://github.com/simonmichael/hledger/issues/2292
391+
[#2293]: https://github.com/simonmichael/hledger/issues/2293
392+
[#2295]: https://github.com/simonmichael/hledger/issues/2295
393+
394+
395+
## 2024-09-09 hledger-1.40
81396

82397
**Config file support, sortable register, FODS output, prettier tables.**
83398

@@ -215,6 +530,7 @@ Victor Mihalache (@victormihalache).
215530

216531

217532

533+
218534
## 2024-06-01 hledger-1.34
219535
### hledger 1.34
220536

@@ -8932,3 +9248,5 @@ Release stats:
89329248
* Contributors: Simon Michael
89339249
89349250
9251+
9252+

0 commit comments

Comments
 (0)