You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/relnotes.md
+319-1Lines changed: 319 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,8 +76,323 @@ Changes in hledger-install.sh are shown
76
76
77
77
78
78
79
-
## 2024-09-09 hledger-1.40
80
79
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:
-`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
- 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)
0 commit comments