Commit Graph

4307 Commits

Author SHA1 Message Date
Simon Michael
dc84d54ae1 ;cabal: update cabal files 2025-09-03 20:07:41 +01:00
Simon Michael
39af7120e4 ;doc:csv:source: edit 2025-09-03 20:03:30 +01:00
Simon Michael
541e0ebf48 ;doc: finalise changelogs for 1.50 on 2025-09-03 2025-09-03 20:03:21 +01:00
Simon Michael
38116dce19 ;doc: update changelogs 2025-09-03 20:03:15 +01:00
Simon Michael
80e659b51c ;pkg: bump minimum supported GHC from 8.10.7 to 9.6 (and base 4.18)
System.IO.hGetContents' was the latest paper cut; I could keep
supporting ghc 8.10.7, or at least 9.0-9.4, released 2021-2023;
but feck it. Debian Stable has 9.6 and this time can be better spent.
2025-09-03 20:02:59 +01:00
Simon Michael
4f03d22501 ;pkg: update tested-with 2025-09-03 20:00:16 +01:00
Simon Michael
9d05d5d083 ;dev: note bitrotted error message tests 2025-09-01 08:57:27 +01:00
Simon Michael
65eb0b1f78 fix:timeclock: change misleadding error message in --old-timeclock mode 2025-09-01 08:49:11 +01:00
Simon Michael
9849f196cb fix:timeclock: process in parse order; fully support overlapping sessions [#2417]
We no longer attempt to process timeclock entries in time order - that
was a wrong requirement, probably given by me, that can't work.  Now
we just process them in parse order. This plus a little tweaking of
error checking fixes several ordering bugs with overlapping sessions
and also allows same-named overlapping sessions.

More cleanup will follow. More testing might show that --old-timeclock
is no longer needed.
2025-09-01 08:27:08 +01:00
Simon Michael
efe1d11edb fix:timeclock: --old-timeclock also affects included files [#2417]
This required changing the Reader type and passing InputOpts down to
journal's include directive parser.
2025-09-01 08:26:44 +01:00
Simon Michael
8bd9d92981 imp:timeclock: improve overlapping sessions error [#2417] 2025-09-01 06:03:26 +01:00
Simon Michael
04e6c140c0 imp:timeclock: more informative error output for clashing sessions [#2417] 2025-08-31 17:35:13 +01:00
Simon Michael
e6dbe5d231 fix:timeclock: sessions can begin at a same-named session's end time
Now we process entries in a more careful order: time, then parse
order, like journal format. This fixes the original issue and another
one mentioned at #2417.
2025-08-31 12:01:04 +01:00
Simon Michael
5a3e34cc55 imp:timeclock: syntax is more robust and featureful
The default timeclock parser (ie when not using --old-timeclock) has
the following changes, related to issues such as
[#2141], [#2365], [#2400], [#2417]:

- semicolon now always starts a comment; timeclock account names can't include semicolons
  (though journal account names still can)
- clock-in and clock-out entries now have different syntax
- clock-ins now require an account name
- clock-outs now can have a comment and tags
- the doc has been rewritten, and now mentions the --old-timeclock flag

- lib: accountnamep and modifiedaccountnamep now take a flag to allow semicolons or not
2025-08-31 10:58:37 +01:00
Simon Michael
0d0f2697de ;doc:timeclock: fix legacy anchor 2025-08-31 09:20:30 +01:00
Simon Michael
252f4bf13c ;dev:timeclock: tests cleanup 2025-08-31 09:20:30 +01:00
Stephen Morgan
db6714a120 fix: budget: Respect --summary-only flag. (#2443)
Budget reports will now respect the --summary-only flag.
2025-08-30 20:17:31 +01:00
Simon Michael
91b24df4b2 ;doc:csv:source: add data command examples 2025-08-28 21:38:38 +01:00
Simon Michael
7de0c0ac7a imp:import: show briefer no txns output, just file names 2025-08-28 21:38:38 +01:00
Simon Michael
97899f9a9b feat:csv: support data generating scripts
and rewrite the rules reader.
2025-08-28 21:38:38 +01:00
Simon Michael
cffee7f546 imp:import: avoid extra newline after output 2025-08-28 21:38:38 +01:00
Simon Michael
b22f94007f dev: source, archive, rules reader: improve docs 2025-08-28 21:38:38 +01:00
Simon Michael
b64ddfe813 dev:rules reader: drop "fall back to reading latest archived" 2025-08-28 21:38:38 +01:00
Simon Michael
c515fedf70 feat:csv: support data cleaning scripts 2025-08-28 21:38:38 +01:00
Simon Michael
c3e85ce9f7 dev: valuation tests cleanup 2025-08-28 17:26:42 +01:00
Simon Michael
c930fd0952 imp:end value reports: future P directives don't influence report end/valuation date [#2445]
In end-value reports with unspecified end date, a market price later
than the latest transaction can extend the default report end date and
valuation date. Now, only market prices on or before "today" can do this;
market price declarations dated in the future will be ignored.

Report span and valuation date calculations have been clarified.
2025-08-28 17:26:42 +01:00
Simon Michael
5c6ea2f56e ;doc:valuation: drop mention of old hledger-ui bug 2025-08-28 17:26:42 +01:00
Stephen Morgan
ef5c220690 fix: balance: Clip account names in generateMultiBalanceAccount, not before (#2434)
Previously accounts were clipped in getPostings, however compound
balance reports re-use the output of getPostings for the different
subreports. This caused a problem when clipping erased the information
needed to determine the account type, as would be used by e.g.
incomestatement.

Add some extra tests for --count.
2025-08-28 05:26:42 +01:00
Simon Michael
b5cb1d08d0 fix: add, commodities, diff: support the --conf and -n/--no-conf flags [#2446] 2025-08-26 14:01:48 +01:00
Simon Michael
a2a1124680 ;doc: update command docs 2025-08-24 09:02:49 +01:00
Simon Michael
4f4426dc24 ;doc: update embedded manuals 2025-08-24 09:01:04 +01:00
Simon Michael
4c1c44ce36 imp:cli: clearer help for -f, and the add and import commands
From euouae's irc feedback
2025-08-24 08:59:50 +01:00
Simon Michael
03262f3fff fix📟 don't use --mouse in default less options
Avoid an error on systems where less does not have mouse support.
2025-08-22 07:56:13 +01:00
Simon Michael
bdf5e7d06e ;doc:import: use windows-compatible quotes in watchexec example 2025-08-15 04:13:15 +01:00
Simon Michael
cb1d6a71a6 dev:import:archive: fix bugs in new code
Too hard to rebase
2025-08-14 19:22:52 +01:00
Simon Michael
afdeaccd75 ;doc:csv: source, archive updates 2025-08-14 14:23:53 +01:00
Simon Michael
9766f65ac7 imp:import: show info output on stderr, not stdout 2025-08-14 14:23:53 +01:00
Simon Michael
76dc6d089a feat:import:archive: archive data files, and process oldest first 2025-08-14 12:54:40 +01:00
Simon Michael
db7783b16d dev: cleanups 2025-08-14 12:54:40 +01:00
Simon Michael
bfbef4bcbb dev: refactor PrefixedFilePath 2025-08-14 12:37:11 +01:00
Simon Michael
61f28b8843 ;doc: Valuation examples: typo 2025-08-10 07:17:49 +01:00
Simon Michael
e8a641e72a ;doc: Valuation examples: fix example [#139] 2025-08-10 06:40:10 +01:00
Simon Michael
ef89b67d7a dev: accounts: more tag: tests 2025-08-03 07:55:53 +01:00
Simon Michael
cc3923d6d4 imp: the all: query now requires at least one posting 2025-08-03 06:34:00 +01:00
Simon Michael
f604b7a416 fix: accounts: a tag: query only matches account tags, not posting tags
Eg, `hledger accounts tag:t` lists only account a from this journal:

    account a  ; t:

    2025-01-01
        a          1
        b         -1  ; t:
2025-08-03 05:38:33 +01:00
Simon Michael
aabc892277 dev: Accounts: import cleanup 2025-08-03 05:37:56 +01:00
Simon Michael
cace7eb491 ;doc:areg: clarification 2025-07-30 18:17:58 +01:00
Simon Michael
6521b8dfdb imp:setup: improve output 2025-07-25 19:08:26 +01:00
Simon Michael
55f12d89e0 ;doc:completions: readme edits 2025-07-24 20:09:41 +01:00
Simon Michael
90d4224d5b ;doc:completions: readme edits 2025-07-24 20:02:18 +01:00