Commit Graph

4214 Commits

Author SHA1 Message Date
Simon Michael
e9be7ea7f5 ;doc:add: edits 2025-06-13 12:31:56 -10:00
Simon Michael
1e9bd3c2c9 ;doc:add: edits 2025-06-13 12:26:34 -10:00
Simon Michael
d3c86bafdf ;doc: finalise changelogs for 1.43.2 on 2025-06-13 2025-06-13 12:05:20 -10:00
Simon Michael
cc95eca1ce ;doc: update changelogs 2025-06-13 12:05:20 -10:00
Simon Michael
3b1bd92cf2 ;doc: add: balance assignments: mention -I [#2406] 2025-06-13 10:29:23 -10:00
Simon Michael
53120e86bc ;doc: update embedded manuals 2025-06-13 09:11:44 -10:00
Simon Michael
bd2d8728d1 fix: txn balancing: fix logic for the 1.50 message [#2402]
and add more tests.
2025-06-13 09:10:46 -10:00
Simon Michael
3713a1b77b ;fix:doc:add: document balance assertions/assignments behaviour [#2406] 2025-06-13 07:36:45 -10:00
Simon Michael
62e3b57564 ;dev:tests: add missing file 2025-06-12 19:41:10 -10:00
Simon Michael
986a55218b ;doc: update embedded manuals 2025-06-12 19:06:40 -10:00
Simon Michael
57031b0e78 dev: rename exitOnError -> handleExit, improve doc 2025-06-12 18:48:10 -10:00
Simon Michael
c335f93bcb dev:tests: costs can affect display precision via implicit amounts 2025-06-12 18:17:03 -10:00
Simon Michael
005fe0557c dev: fix query-expr.test, broken by fix for #2407
I bypassed the CI tests that would have caught this.
2025-06-12 18:13:48 -10:00
Simon Michael
cda62d9a59 ;dev: change "1.44" to "1.50" in docs and error messages 2025-06-12 17:55:13 -10:00
Simon Michael
0d388a6f93 ;imp: show a more helpful error for transactions unbalanced by upgrade [#2402]
(and drop the last sentence from the single-commodity unbalanced
transaction error)
2025-06-12 17:55:13 -10:00
Simon Michael
868d535f3f ;doc: transaction balancing: doc rewrite [#2402] 2025-06-12 17:55:13 -10:00
Simon Michael
de4d637def dev: transaction balancing: cleanup [#2402] 2025-06-12 17:55:13 -10:00
Simon Michael
0252367de4 ;doc: Transaction balancing: update, mention migration workarounds
Also, for release notes:

Notably, the old behaviour could allow small remainders to accumulate over time, in accounts that (a) often have an inexact posting amount or cost amount and (b) are never reconciled (typically equity, revenues, and expenses).
You can check for this more easily now, eg with a command like

hledger bal cur:\\$ -c '$1.000000000000' | rg '\...0*[1-9]'

(Show account balances, limited to the $ currency, overriding $'s display style to show 12 decimal places, and filter that to just the lines with a non-zero decimal digit in the 3rd place or beyond.)
2025-06-12 17:55:13 -10:00
Simon Michael
bf90b20f2c imp: --txn-balancing flag to select transaction balancing precision [#2402] 2025-06-12 17:55:13 -10:00
Simon Michael
21d403d45d ;dev: test showing formerly accepted inexact entry now rejected [#2402] 2025-06-12 17:55:13 -10:00
Simon Michael
9f93055782 ;dev: tests showing P and inferred amounts affecting display precision 2025-06-12 17:55:13 -10:00
Simon Michael
a9408b8cd5 imp:journal: balance transactions with local precisions [#2402] 2025-06-12 17:55:13 -10:00
Simon Michael
eb6b48dded fix:cli: don't raise an error if output is truncated in a pipe [#2405]
This broke in 1.43.

Now we ignore any IOException whose message contains "broken pipe".
Hopefully this matches pre-1.43 behaviour and doesn't hide real errors.
2025-06-12 17:55:13 -10:00
Simon Michael
001a0b9572 fix:areg: round all amounts to display precision again [#2407]
This broke in 1.32.
2025-06-12 17:55:13 -10:00
Simon Michael
ad0c10cae1 ;doc:hledger: changelog, relnotes: mention improved decoding errors [#73] 2025-06-12 07:27:07 -10:00
Stephen Morgan
80cf1d1995 !dev: lib: Allow Account to store date-indexed balances.
This upgrades Account to enable it to store a multiperiod balance, with
a separate balance for each date period. This enables it do the hard
work in MultiBalanceReport.

Some new types are created to enable convenient operation of accounts.
- `BalanceData` is a type which stores an exclusive balance, inclusive
  balance, and number of postings. This was previously directly stored
  in Account, but is now factored into a separate data type.
- `PeriodData` is a container which stores date-indexed data, as well as
  pre-period data. In post cases, this represents the report spans,
  along with the historical data.
- Account becomes polymorphic, allowing customisation of the type of
  data it stores. This will usually be `BalanceData`, but in
  `BudgetReport` it can use `These BalanceData BalanceData` to store
  both actuals and budgets in the same structure. The data structure
  changes to contain a `PeriodData`, allowing multiperiod accounts.

Some minor changes are made to behaviour for consistency:
- --declared treats parent accounts consistently.
- --flat --empty ensures that implied accounts with no postings are not displayed, but
  accounts with zero balance and actual postings are.
2025-06-04 23:10:00 -10:00
Simon Michael
6f08c52f7f ;doc: COMMANDS: mention general options
I was trying to insert a mention/link next to each command's specific
flags, but it's too disruptive given the complex ways we reuse and
generate these docs.
2025-06-04 17:13:42 -10:00
Simon Michael
6fd60dde3d ;doc: fix mishighlighting in vscode 2025-06-04 17:13:09 -10:00
Simon Michael
9754abfe49 ;doc: update embedded manuals 2025-06-04 16:51:48 -10:00
Simon Michael
fcb1b4ed1c imp:cli: simplify flag group titles 2025-06-04 15:25:27 -10:00
Simon Michael
eb2fc5d715 ;doc:changelogs/relnotes: add some missing issue numbers 2025-06-04 09:24:55 -10:00
Simon Michael
8498894a96 ;doc: update command docs 2025-06-04 07:54:03 -10:00
Simon Michael
2899b46c59 ;doc: update embedded manuals 2025-06-04 07:31:18 -10:00
Simon Michael
af9822a60a ;cabal: update cabal files 2025-06-04 07:31:13 -10:00
Simon Michael
a0a539cb66 ;pkg: set version to 1.43.99 2025-06-04 07:31:12 -10:00
Simon Michael
847567095d ;doc: finalise changelogs for 1.43.1 on 2025-06-03 2025-06-03 18:44:40 -10:00
Simon Michael
c2972b3d5d ;pkg: update tested-with 2025-06-03 18:44:40 -10:00
Simon Michael
3410052934 ;dev: query-expr.test: a simpler test [#2371] 2025-06-03 18:44:08 -10:00
Simon Michael
ffa84d7a8d ;doc:Query types: clarify amt: [#2396] 2025-06-03 10:10:04 -10:00
Simon Michael
2a4718d40a fix: make a few more error messages consistent, hiding call stack [#2367] 2025-06-03 10:10:04 -10:00
Simon Michael
bcde959105 ;dev: tests for amt:/cur: with balance commands [#2396] 2025-06-03 07:48:38 -10:00
Simon Michael
aa0f4a74c9 ;fix:doc: more text encoding corrections/cleanups, 4 [#2394] 2025-06-03 00:14:30 -10:00
Simon Michael
2ad6f7f744 ;fix:doc: more text encoding corrections/cleanups [#2394] 2025-06-02 23:49:36 -10:00
Simon Michael
de86b3c3ef ;doc: changelog edits 2025-06-02 17:16:43 -10:00
Simon Michael
59387cbf6b ;doc: finalise changelogs for 1.43 on 2025-06-01 2025-06-01 12:31:24 -10:00
Simon Michael
d9c512deee ;doc: changelogs 2025-06-01 12:31:24 -10:00
Simon Michael
631e1e4265 ;dev:add.test: uniquify temp files, fixing intermittent results [#2356] 2025-06-01 12:30:09 -10:00
Simon Michael
fe451208fe ;dev: add.test: add a space before non-hledger commands [#2356]
This prevents `shelltest -w HLEDGERBIN` from disturbing those commands.
2025-06-01 12:06:36 -10:00
Simon Michael
c3cc1d846b ;dev: add.test: fix wrong $ quoting [#2356] 2025-06-01 12:06:34 -10:00
Simon Michael
687356005c ;dev: add.test: adjust test comments for emacs folding 2025-06-01 12:06:12 -10:00