Commit Graph

2165 Commits

Author SHA1 Message Date
Simon Michael
1a606870ca ;regen docs 2020-03-19 16:05:52 -07:00
Simon Michael
32dc29a1db ;journal: better link 2020-03-19 14:33:50 -07:00
Simon Michael
6e37d11bdd ;changelogs: typo, fix hledger-web item 2020-03-19 14:26:55 -07:00
Simon Michael
495dfa37a4 ;journal: document banker's rounding behaviour 2020-03-19 14:24:57 -07:00
Simon Michael
9631ca561c ;update changelogs "high water marks" 2020-03-19 14:09:37 -07:00
Simon Michael
4191aad049 ;update changelogs from release branch 2020-03-19 14:07:53 -07:00
Simon Michael
612a4d1c0e ;gen cabal 2020-03-19 11:38:05 -07:00
Simon Michael
5f2db97016 ;lib: disable doctest with GHC 8.10 for now (sol/doctest#246) 2020-03-19 11:37:55 -07:00
Simon Michael
96b4f0be4f require newer Decimal, math-functions, fixing inconsistent rounding
Decimal 0.5.1+ changed to banker's rounding (round to nearest even
number), and math-functions 0.3.3.0 (used by roi) fixed various
precision-related issues. Now we require the latest versions of these.
This was causing some functional test failures when building with old
GHCs/snapshots.
2020-03-19 10:10:55 -07:00
Simon Michael
05ad168792 ;regen manuals 2020-03-18 16:17:24 -07:00
Simon Michael
cf7de57836 ;update changelogs 2020-03-18 16:17:13 -07:00
Simon Michael
abc53024fc ;journal: doc: drop "transaction modifiers", just say "auto postings" 2020-03-18 15:11:31 -07:00
Simon Michael
31edd54c1a ;journal: clarify scope of auto posting rules (#1212) 2020-03-18 14:55:20 -07:00
Simon Michael
4e7a893efc ;csv: cleanup 2020-03-17 17:55:32 -07:00
Simon Michael
84165f5a0c ;journal: fix tests 2020-03-17 17:48:17 -07:00
Simon Michael
2cec32cebe journal: a more verbose commodity error message with examples 2020-03-17 13:36:48 -07:00
Simon Michael
6a01b1f438 ;lib, journal: fix some "decimal point" mentions 2020-03-17 13:36:19 -07:00
Simon Michael
a1361ecc04 csv: don't force a second posting with amount1
A rewrite and simplification of the posting-generating code. The
"special handling for pre 1.17 rules" should now be less noticeable.
amount1/amount2 no longer force a second posting or explicit amounts
on both postings. (Only amount/amount-in/amount-out do that.)
Error messages and handling of corner cases may be more robust, also.
2020-03-16 16:18:58 -07:00
Simon Michael
2aab02f4e8 ;journal: document directives/alias multi-file limitation clearly 2020-03-16 09:00:38 -07:00
Simon Michael
e0c3275d74 lib: debug helpers traceAt, traceAtWith 2020-03-11 19:08:05 -07:00
Simon Michael
8e04bd11fe ;doc: csv: clarify posting field rules, note a limitation 2020-03-10 15:01:52 -07:00
Simon Michael
70e85d8e4b ;doc: regen manuals
[ci skip]
2020-03-07 15:06:39 -08:00
Simon Michael
1883ff4499 bump to dev version 2020-03-07 15:06:18 -08:00
Simon Michael
be25c28822 ci: --pedantic is too much for now 2020-03-07 14:53:12 -08:00
Simon Michael
5639b47d85 ;ci: use --pedantic for all; fix a warning with unit test suites 2020-03-07 14:43:50 -08:00
Simon Michael
7ad0f9dd6d ;lib, cli: fix success-hiding in unit test suites 2020-03-07 14:10:22 -08:00
Simon Michael
5ab31f1111 ;lib, cli: hide successes in unit test suites' output 2020-03-07 04:00:55 -08:00
Simon Michael
3565f49acf ;re-enable doctest suite, with a workaround for cabal 3 (#1139) 2020-03-06 18:30:32 -08:00
Simon Michael
432b1c8ff4 ;doc: update manual versions
[ci skip]
2020-03-05 15:51:54 -08:00
Simon Michael
21fdcec6b7 journal: inclusive balance assignments now work (#1207) 2020-03-05 13:38:19 -08:00
Simon Michael
f18c74fff7 ;journal: a test for inclusive balance assignment, disabled (#1207)
[ci skip]
2020-03-05 11:19:04 -08:00
Simon Michael
5ed6fe586a ;refactor transaction balancing/checking (#1207) 2020-03-05 11:18:59 -08:00
Simon Michael
66d2897cc9 ;doc: changelog entry
[ci skip]
2020-03-02 12:49:16 -08:00
Stephen Morgan
e0dde6fe57 lib: Remove non-law-abiding Monoid instance for Journal. 2020-03-02 12:45:30 -08:00
Stephen Morgan
702c958487 lib: Replace some utility functions with library functions. 2020-03-02 12:45:30 -08:00
Simon Michael
61679e0178 ;lib: doc: changelog 2020-03-01 22:06:58 -08:00
Simon Michael
2ea66bcda4 ;lib: bump version to 1.17.0.1
hledger's first use of the fourth version component.
[ci skip]
2020-03-01 22:06:55 -08:00
Simon Michael
374be00223 ;lib: fix org headings and doctest setup that were breaking haddock
(and in some cases, installation).
[ci skip]
2020-03-01 22:00:39 -08:00
Simon Michael
6dfdc2bee8 ;one more cabal file update. Not in hackage tarballs. 2020-03-01 17:42:20 -08:00
Simon Michael
07a05d5c76 ;doc: finalise changelogs
More cleanup needed, but time's up.

[ci skip]
2020-03-01 17:33:18 -08:00
Simon Michael
061bf73b61 ;doc: regen manuals
[ci skip]
2020-03-01 17:29:01 -08:00
Simon Michael
ba44d00bed ;bump version to 1.17 2020-03-01 17:29:01 -08:00
Simon Michael
889767f1bd ;bump tested-with
[ci skip]
2020-03-01 17:28:43 -08:00
Simon Michael
04fb132496 ;doc: draft changelogs
[ci skip]
2020-03-01 16:44:28 -08:00
Simon Michael
752e8ed49a ;timedot: update docs 2020-03-01 14:06:29 -08:00
Simon Michael
07258d727f ;timedot: parsing fixes; allow blank lines/comments within days 2020-03-01 14:06:29 -08:00
Simon Michael
b9954bff60 journal, lib: the include directive no longer guesses the format
The include directive now tries just one reader, based on the file
extension and defaulting to journal, like the rest of hledger.
(It doesn't yet handle a reader prefix.)

Reader-finding utilities have moved from Hledger.Read to
Hledger.Read.JournalReader so the include directive can use them.

Reader changes:
- rExperimental flag removed
- old rParser renamed to rReadFn
- new rParser field provides the actual parser.
  This seems to require making Reader a higher-kinded type, unfortunately.
2020-03-01 14:06:29 -08:00
Simon Michael
b1f3880c3d lib: drop the file format auto-detection feature
For a long time hledger has auto-detected the file format when it's
not known, eg when reading from a file with unusual extension (like
.dat or .txt), or from standard input (-f-), or when using the include
directive (which currently ignores file extensions).

Auto-detecting has been done by trying all readers until one succeeds.
This could guess wrong in some cases, but it was so rare that it has
been working fine.

Recently, more conveniences have been added to timedot format,
increasing its overlap with journal format, which makes this kind of
auto-detection unreliable.

Auto-detection and auto-detection failures are (probably) still pretty
rare in practice. But when it does happen it's confusing, giving
misleading errors or false successes (eg printing timedot entries
instead of a journal error).

For predictability and to minimise confusion, hledger no longer tries
to guess; when there's no file extension or reader prefix, it assumes
journal format. To specify one of the other formats, you must use a
standard file extension (.timeclock, .timedot, .csv, .ssv, .tsv), or a
reader prefix (-f csv:foo.txt, -f timedot:-).

For now, the include directive still tries to autodetect
(journal/timeclock/timedot), and this can't be overridden; it will be
fixed later.

Experimental; testing and feedback welcome.
2020-03-01 14:06:29 -08:00
Simon Michael
32eb839eac timedot: rewrite the parser, making it more usable
Now, org headlines before the first day entry are ignored,
regardless of content.

Note, blank lines inside a day entry are not allowed, currently.

It's now easier to be both valid journal and valid timedot at the same
time, so guessing the format of stdin is unreliable, and some tests
are failing. See following commit.
2020-03-01 14:06:29 -08:00
Simon Michael
26c19c65b0 timedot: allow a note after the date, use as transaction descriptions 2020-03-01 14:06:29 -08:00