Simon Michael
e8672b3a18
fix:Hledger.Utils.String: quoteForCommandLine now quotes "&" [ #2468 ]
...
This explains the mysterious "7".
2025-10-01 18:15:02 -10:00
Simon Michael
71b1293f06
fix:Hledger.Utils.String: quoteForCommandLine no longer quotes "7" [ #2468 ]
...
7 is no longer considered a scary shell character.
(This appears to have been harmless, used only for formatting the
balance assertion failure message.)
2025-10-01 17:56:49 -10:00
Simon Michael
215ef5e12d
fix:check accounts: don't garble non-ascii account names in errors [ #2469 ]
...
This regressed in 1.27 or so.
2025-10-01 14:40:08 -10:00
Simon Michael
061d105fed
dev:Hledger.Data.Journal: fix a recent ghc 9.6 / old base breakage
2025-09-29 19:31:49 -10:00
Simon Michael
2f007c93d2
dev: switch all qualifed imports to ImportQualifiedPost style
2025-09-29 19:28:59 -10:00
Simon Michael
e10f51e3ae
;cabal: update cabal files
2025-09-29 19:12:00 -10:00
Simon Michael
525f3e76e3
pkg: package.yaml files cleanup, consistency
2025-09-29 19:08:50 -10:00
Simon Michael
e51e6c4e3d
;dev: remove old prototype
2025-09-29 18:35:20 -10:00
Simon Michael
64832c65e8
;dev: build everything with at least GHC2021 language extensions by default
...
Previously everything was built with hpack's default, which is Haskell2010.
2025-09-29 18:27:19 -10:00
Simon Michael
81f228cf7f
;doc:changelogs, relnotes:1.50.2
2025-09-26 15:27:15 -10:00
Simon Michael
2b86b806d9
;doc:changelogs
2025-09-26 15:05:09 -10:00
Simon Michael
a2af816611
dev:Hledger.Utils.IO: inputToHandle -> textToHandle; set utf8 not utf8_bom
2025-09-26 01:08:48 -10:00
Simon Michael
5db4ee7420
dev:Hledger.Utils.IO: readHandlePortably, readHandlePortably' -> hGetContentsPortably
2025-09-26 01:08:43 -10:00
Simon Michael
9351c70f74
fix:csv: respect encoding rule when rules file is input file [ #2465 ]
2025-09-26 00:34:01 -10:00
Simon Michael
8542d8beba
imp:errors: improve decode failure wording [ #2465 ]
2025-09-25 01:28:32 -10:00
Simon Michael
e414446076
imp: pivoting on the type tag normalises type values to their short spelling.
2025-09-25 01:11:03 -10:00
Simon Michael
b5f954abf5
imp:errors: decode failures now also mention a possible CSV encoding [ #2465 ]
2025-09-24 10:40:30 -10:00
Simon Michael
19620ba61b
;pkg:lib: make hashtables bounds consistent in cabal file
2025-09-21 11:44:06 -07:00
hseg
240757b259
Avoid hashtables 1.3.x for best gcc compatibility [ #2463 ]
...
* Forbid solving for hashtables 1.3
On modern gccs, this sometimes causes build failures, see
https://github.com/gregorycollins/hashtables/issues/97
* Propagate constraint to package.yaml too
* stack98: include valid hashtables version
* stack92: add valid hashtables version
* stack94: add valid hashtables version
* stack96: add valid hashtables version
2025-09-21 11:41:57 -07:00
Simon Michael
603185b600
;doc:changelogs:clarify; show API changes in hledger & hledger-lib separately
2025-09-16 10:11:30 -07:00
Simon Michael
36a1cbaff6
;doc: changelogs
2025-09-16 05:20:48 -07:00
Simon Michael
fe0d4fd3ec
;doc: changelogs
2025-09-16 04:24:00 -07:00
Stephen Morgan
f515c5f811
fix: balance: Don't display zero rows with --no-elide ( #2454 )
...
Zero rows with --no-elide should only be displayed if either --empty is
called or they have non-zero children at some depth.
2025-09-15 15:40:32 -07:00
Simon Michael
8c4e2e08b6
;cabal: update cabal files
2025-09-13 06:57:22 +01:00
Simon Michael
1d0ea95b9c
;doc:changelogs
2025-09-11 11:09:12 +01:00
Simon Michael
6d164b48a0
imp:journal: in amounts, also allow and ignore empty {} (or {{}})
2025-09-11 07:33:22 +01:00
Stephen Morgan
aad61e465d
fix: balance: Correctly handle empty journals ( #2452 )
...
Eliminate several partial functions.
2025-09-11 07:29:27 +01:00
Simon Michael
82552b4ea8
;doc: update embedded manuals
2025-09-03 20:22:46 +01:00
Simon Michael
8be3e85676
;cabal: update cabal files
2025-09-03 20:22:40 +01:00
Simon Michael
7ee721eab0
;pkg: set version to 1.50.99
2025-09-03 20:22:40 +01:00
Simon Michael
dc84d54ae1
;cabal: update cabal files
2025-09-03 20:07:41 +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
bc55e1c58f
dev: fix liftA2, Foldable1 build errors with ghc <9.6 [ #2395 ]
2025-09-03 20:02:12 +01:00
Simon Michael
4f03d22501
;pkg: update tested-with
2025-09-03 20:00:16 +01:00
Simon Michael
00fae3ac3b
fix: ensure liftA2 is imported, build with ghc <9.6
...
This broke in 1.43.1.
2025-09-02 08:00:08 +01:00
Simon Michael
91d785aee8
dev:fix: use compatible code rather than new T.show added yesterday
2025-09-01 20:08:17 +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
7ac0fa1aaa
dev:TimeclockReader, Timeclock: refactor/reindent [ #2417 ]
2025-09-01 08:27:01 +01:00
Simon Michael
a2710a5c2b
dev:timeclock: make --old-timeclock parser call itself, not new parser [ #2417 ]
...
There was no known visible bug, but this seems more correct.
2025-09-01 08:26:44 +01:00
Simon Michael
e37caf0f27
imp:journal: better error when attempting to include a rules file
2025-09-01 08:26:44 +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
539a876e7a
;dev:Timeclock: indentation
2025-08-31 16:20:58 +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
97899f9a9b
feat:csv: support data generating scripts
...
and rewrite the rules reader.
2025-08-28 21:38:38 +01:00