;doc: changelogs: edit
This commit is contained in:
parent
0b4b4ed70c
commit
71222d75e5
299
CHANGES.md
299
CHANGES.md
@ -19,284 +19,97 @@ General changes in the hledger project.
|
|||||||
For package-specific changes, see the hledger package changelogs.
|
For package-specific changes, see the hledger package changelogs.
|
||||||
|
|
||||||
|
|
||||||
Docs
|
# e601adaee
|
||||||
|
|
||||||
- hledger manual:
|
Scripts/addons
|
||||||
|
|
||||||
- Updated:
|
- hledger-install.sh: replaced hledger-stockquotes with pricehist
|
||||||
|
|
||||||
- Decimal marks, digit group marks
|
|
||||||
- commodity directive
|
|
||||||
- CSV > if table (#2107)
|
|
||||||
- Timedot
|
|
||||||
|
|
||||||
- Added:
|
|
||||||
|
|
||||||
- Amount formatting, parseability: an explanation of trailing decimal marks
|
|
||||||
and number formatting differences between reports. (#2115)
|
|
||||||
|
|
||||||
- Ledger: more notes on commodity directives, from chat.
|
- added gsheet-csv.hs: fetch a google sheet as CSV
|
||||||
|
|
||||||
- Ledger: interoperating tips updates, more about commodity directives and balance assertions.
|
- added hledger-report1: an example custom compound report, with haskell and bash versions
|
||||||
|
|
||||||
- Checking for errors: tips on enforcing account lifetimes, from reddit,
|
- justfile: updated import, time report scripts
|
||||||
and on minimising diffs in reports, from mail list.
|
|
||||||
|
|
||||||
- As part of Precisiongeddon, I started expanding hledger's "code docs", in the Hledger module's haddock.
|
|
||||||
I spent time learning how to navigate Haddock and producing a fast-feedback authoring workflow (`make haddock-watch`).
|
|
||||||
And documented a bunch of "jargon" terms, and how we handle precision and display styles.
|
|
||||||
|
|
||||||
- The "Regular expressions" manual section has been rewritten and now has examples:
|
|
||||||
<https://hledger.org/dev/hledger.html#regular-expressions>.
|
|
||||||
|
|
||||||
- Unmentioned last week: I added a News page on hledger.org as a stable home
|
|
||||||
for This Week In Hledger and other news updates.
|
|
||||||
|
|
||||||
- moved regression bounty info to <https://hledger.org/REGRESSIONS.html>
|
|
||||||
|
|
||||||
- hledger manual > Journal > Commodity display style: rewritten
|
|
||||||
|
|
||||||
- hledger manual > aregister, hledger-ui manual > Register screen: note how separately-dated postings get combined
|
|
||||||
|
|
||||||
- [How to record journal entries](https://hledger.org/how-to-record.html#how-to-record-journal-entries)
|
|
||||||
|
|
||||||
- [hledgermatic](https://hledger.org/hledgermatic.html#hledgermatic) , a simple up-to-date workflow
|
|
||||||
|
|
||||||
- Cleanups: Common workflows, Simon's old setup
|
|
||||||
|
|
||||||
- All hledger docs now use the `cli` class instead of `shell` for command-line examples,
|
|
||||||
avoiding inaccurate highlighting.
|
|
||||||
|
|
||||||
- Videos: reorder hledger fan videos.
|
|
||||||
|
|
||||||
- REGRESSIONS: cleanups, mention real names.
|
|
||||||
|
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
|
|
||||||
- justfile: forecast-import: show but don't consume future-dated forecast transactions
|
- Fidelity CSV rules
|
||||||
|
|
||||||
- hledger-report1: a custom compound report script, haskell and bash versions
|
|
||||||
|
|
||||||
|
|
||||||
Tools
|
Docs
|
||||||
|
|
||||||
- tools: ghci :rmain - like :main, but reloads first, useful eg when changing --debug level
|
- New:
|
||||||
|
|
||||||
|
- Started a weekly This Week In Hledger news post, inspired by Matrix.
|
||||||
|
- There's now a News page, for This Week In Hledger etc.
|
||||||
|
- hledgermatic, an up-to-date, simple journal-first workflow
|
||||||
|
- How to record journal entries: added
|
||||||
|
- Reporting version control stats: added
|
||||||
|
- Moved regression bounty info from the issue tracker to Developer docs > REGRESSIONS.
|
||||||
|
|
||||||
|
- Updated:
|
||||||
|
|
||||||
|
- Checking for errors
|
||||||
|
- Common workflows
|
||||||
|
- Ledger
|
||||||
|
- Simon's old setup
|
||||||
|
- Videos
|
||||||
|
- All docs now use the `cli` class instead of `shell` for command-line examples,
|
||||||
|
avoiding inaccurate highlighting.
|
||||||
|
|
||||||
|
|
||||||
Ops
|
Infrastructure
|
||||||
|
|
||||||
- Updated the stars.hledger.org redirect (we have reached the top 30 Haskell projects by github stars 🌟 🎉).
|
- hledger.org website:
|
||||||
|
|
||||||
- Fixed a problem with cloudflare authentication that was preventing
|
- Fixed the webhook that was not updating the site on git push.
|
||||||
automatic TLS certificate renewal on hledger.org.
|
|
||||||
|
- Fixed a problem with cloudflare authentication that was preventing
|
||||||
|
automatic TLS certificate renewal on hledger.org.
|
||||||
|
|
||||||
|
- Updated and committed hledger.org's caddy config and short urls (redirects)
|
||||||
|
|
||||||
|
- Enabled https for code.hledger.org and site.hledger.org short urls.
|
||||||
|
|
||||||
- Committed hledger.org's caddy config.
|
- Updated the stars.hledger.org redirect
|
||||||
|
(we have reached the top 30 github-starred Haskell projects 🌟 🎉).
|
||||||
|
|
||||||
|
- Set up a self-hosted Sandstorm server, and a public hledger-web
|
||||||
|
instance (sandbox.hledger.org) in it that is fully writable (until
|
||||||
|
spammers find it). Use it as a pastebin for examples, eg.
|
||||||
|
|
||||||
- Fixed the hledger.org webhook that was not updating the site on git push.
|
- Github CI (continuous integration) workflows have been optimised somewhat:
|
||||||
|
|
||||||
- Enabled https for "code.hledger.org" and "site.hledger.org" short urls.
|
|
||||||
|
|
||||||
- CI (continuous integration) workflows on github have been optimised a bit:
|
|
||||||
|
|
||||||
- Scheduled weekly builds have been disabled, as they were propagating
|
- Scheduled weekly builds have been disabled, as they were propagating
|
||||||
to forks and running wastefully there in some cases.
|
to forks and running wastefully there in some cases.
|
||||||
|
|
||||||
- Some repeated rebuilding of the hledger-lib and hledger packages
|
- Some repeated rebuilding of the hledger-lib and hledger packages
|
||||||
that seems unnecessary has been stopped.
|
that seems unnecessary has been stopped.
|
||||||
|
|
||||||
- hledger-ui no longer builds its modules twice.
|
- hledger-ui no longer builds its modules twice.
|
||||||
- Haddock testing has been moved to the release workflows to save time.
|
|
||||||
|
- Haddock testing now done only at release time.
|
||||||
|
|
||||||
- Set up a self-hosted Sandstorm server and learned how to configure it.
|
- renamed main CI workflow and branch to "ci"
|
||||||
|
|
||||||
- Set up a public hledger-web instance in it: sandbox.hledger.org.
|
|
||||||
Unlike <https://demo.hledger.org>, and until the spammers find it,
|
|
||||||
sandbox is fully writable - use it as a pastebin for examples, eg.
|
|
||||||
|
|
||||||
- renamed main CI workflow and branch to "ci"
|
- Tools:
|
||||||
|
|
||||||
- updated and committed hledger.org's caddy config and short urls (redirects)
|
- .ghci: added an :rmain alias, which is like :main but reloads first -
|
||||||
|
saves typing, and is useful eg when changing --debug level.
|
||||||
|
|
||||||
- there's now an easy short url for trying out the hledger-web app on Sandstorm: <https://sandstorm.hledger.org>.
|
- make haddock-watch is now fast
|
||||||
|
|
||||||
|
|
||||||
Finance
|
Finance
|
||||||
|
|
||||||
- Updated project finance scripts, regenerated the project ledger with
|
- Updated project finance scripts, regenerated the journal with consistent precisions.
|
||||||
consistent precisions in assertions, updated it with the last few
|
|
||||||
months of data from Open Collective.
|
- Updated reports with the last few months of data from Open Collective.
|
||||||
|
|
||||||
|
|
||||||
# e601adaee
|
|
||||||
- ;doc: changelogs (from TWIH)
|
|
||||||
|
|
||||||
- ;tools: bake lastweek: drop an unnecessary report
|
|
||||||
|
|
||||||
- ;doc: use ```cli not ```shell for command-line examples
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: note real name exposure
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: note one pending
|
|
||||||
|
|
||||||
- ;bin:bar: cleanup
|
|
||||||
|
|
||||||
- ;tools:bake lastweek: time percentage report
|
|
||||||
|
|
||||||
- ;tools: bake jargon - extract Hledger.hs haddock examples to a test journal
|
|
||||||
|
|
||||||
- ;tools: make haddock-watch etc.: new fast version, cleanups
|
|
||||||
|
|
||||||
- ;tools:bake dbgstrs
|
|
||||||
|
|
||||||
- ;tools:ghci :rmain
|
|
||||||
|
|
||||||
- ci: do haddock testing less often, in the mac binaries workflow
|
|
||||||
It costs 1m+, doesn't fail that often, and is not hard to fix even if
|
|
||||||
detected late.
|
|
||||||
|
|
||||||
- ci: really fix some redundant building of hledger-lib and hledger
|
|
||||||
|
|
||||||
- ci: fix some redundant building of hledger-lib and hledger
|
|
||||||
|
|
||||||
- ;ci: disable weekly scheduled builds
|
|
||||||
They also run in forks, which I don't want.
|
|
||||||
|
|
||||||
- ci: fix tests breakage
|
|
||||||
|
|
||||||
- ;tools:make:etags: include .test files
|
|
||||||
|
|
||||||
- ;dev: tests: ledger-compat tests cleanup
|
|
||||||
|
|
||||||
- ;doc: TESTS name/link
|
|
||||||
|
|
||||||
- ;tools:bake:lastweek: improvements
|
|
||||||
|
|
||||||
- ;bin:report1: cleanups
|
|
||||||
|
|
||||||
- ;web:sandstorm: bump app version, tweak title
|
|
||||||
|
|
||||||
- imp:web: cleanups; use --allow on Sandstorm (#834)
|
|
||||||
|
|
||||||
- imp:web: access control UX cleanups (fix #834)
|
|
||||||
Changes:
|
|
||||||
|
|
||||||
1. rename the sandstorm "manage" permission to "edit"
|
|
||||||
(old permission names: view, add, manage;
|
|
||||||
new permission names: view, add, edit).
|
|
||||||
|
|
||||||
Rationale: "edit" best describes this permission's current powers, to users and to operators.
|
|
||||||
If we ever added more manager-type features we'd want that to be a new permission,
|
|
||||||
not a rename of the existing one (which would change the powers of existing users).
|
|
||||||
|
|
||||||
2. rename the sandstorm roles for consistency with permissions
|
|
||||||
(old role names: viewer, editor, manager;
|
|
||||||
new role names: viewer, adder, editor)
|
|
||||||
|
|
||||||
Rationale: it's needed to avoid confusion.
|
|
||||||
|
|
||||||
3. add a new option: --allow=view|add|edit|sandstorm (default: add).
|
|
||||||
'sandstorm' sets permissions according to the X-Sandstorm-Permissions header.
|
|
||||||
Drop the --capabilities and --capabilities-header options.
|
|
||||||
|
|
||||||
Rationale: it's simpler and more intuitive.
|
|
||||||
|
|
||||||
4. replace "capability" with "permission" in ui/docs/code.
|
|
||||||
|
|
||||||
Rationale: consistent with the above, more familiar.
|
|
||||||
|
|
||||||
- ;bin:report1: cleanups
|
|
||||||
|
|
||||||
- ;bin: link hledger-report1 scripts
|
|
||||||
|
|
||||||
- ;bin: hledger-report1: a custom compound report in haskell and bash
|
|
||||||
|
|
||||||
- ;make: copy-exe[s]-*: fix help
|
|
||||||
vv# examples/shared-expenses.journal
|
|
||||||
|
|
||||||
- ;feat: Upgrade Sandstorm package with permissions (Jacob Weisz)
|
|
||||||
|
|
||||||
- ;dev:bake lastweek
|
|
||||||
|
|
||||||
- ;examples:csv: note where to find vanguard, fidelity CSV
|
|
||||||
|
|
||||||
- ;bin:justfile: rename forecast.journal, forecast-import refinement
|
|
||||||
|
|
||||||
- ;dev:ci: rename usual CI branch to "ci"
|
|
||||||
|
|
||||||
- ;dev:ci: clean up, rename main CI workflow
|
|
||||||
Back to ci.yml.
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;dev:stack: ghc 9.4 fix
|
|
||||||
|
|
||||||
- ;doc:LINKS: updates
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: add 2034
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: cleanup
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: cleanup
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;dev:stack: stack9.8.yaml
|
|
||||||
|
|
||||||
- ;dev:stack: drop stack9.6.yaml
|
|
||||||
|
|
||||||
- dev:stack: bump default GHC to 9.6.3
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: update
|
|
||||||
|
|
||||||
- ;doc:REGRESSIONS: cleanup, update
|
|
||||||
|
|
||||||
- ;doc:regressions: fix link
|
|
||||||
|
|
||||||
- ;doc: REGRESSIONS, moved from issue tracker; renamed FINANCE section
|
|
||||||
|
|
||||||
- ;doc:examples/bin: add gsheet-csv.hs
|
|
||||||
|
|
||||||
- ;doc:justfile: update import, time report scripts
|
|
||||||
|
|
||||||
- ;doc:examples: fidelity csv rules
|
|
||||||
|
|
||||||
- ci:test-linux: temporary workaround for haddock failure
|
|
||||||
|
|
||||||
- ci:test-linux: temporary workaround for bad commit message
|
|
||||||
|
|
||||||
- dev:cli: merge Hledger.Cli.Main with Hledger.Cli
|
|
||||||
|
|
||||||
- make: fix haddock[-watch|-open]
|
|
||||||
|
|
||||||
- dev:ci: cleanup
|
|
||||||
|
|
||||||
- dev:ci: update notes
|
|
||||||
|
|
||||||
- pkg:stack: build with nightly/ghc 9.6 by default
|
|
||||||
|
|
||||||
- ;doc:RELEASING: updates
|
|
||||||
|
|
||||||
- ;bin: tt,ft comment
|
|
||||||
|
|
||||||
- ;doc:RELEASING: updates
|
|
||||||
|
|
||||||
- ;pkg: bump version to 1.31.99
|
|
||||||
|
|
||||||
- ;doc: merge 1.31 changelogs
|
|
||||||
|
|
||||||
- ;doc: announce
|
|
||||||
|
|
||||||
- install: bump to latest versions
|
|
||||||
|
|
||||||
- install: replace hledger-stockquotes with pricehist
|
|
||||||
# 1.31 2023-09-03
|
# 1.31 2023-09-03
|
||||||
|
|
||||||
Scripts/addons
|
Scripts/addons
|
||||||
|
|
||||||
- ft, tt shell scripts for collecting financial and time reports
|
- ft, tt shell scripts for collecting financial and time reports
|
||||||
|
|||||||
@ -14,221 +14,22 @@ Internal/api/developer-ish changes in the hledger-lib (and hledger) packages.
|
|||||||
For user-visible changes, see the hledger package changelog.
|
For user-visible changes, see the hledger package changelog.
|
||||||
|
|
||||||
# b6a46f637
|
# b6a46f637
|
||||||
- feat:timedot: tagged time logging with letters
|
|
||||||
|
|
||||||
- ;dev: lotcostp: cleanup
|
Misc. changes
|
||||||
|
|
||||||
- imp:ledger-compat: accept lot costs with spaces after {, like Ledger
|
- styleAmounts is used in more places
|
||||||
|
|
||||||
- imp:print:beancount: conversion improvements
|
- journalApplyCommodityStyles renamed to journalStyleAmounts
|
||||||
- omit balance assertions
|
|
||||||
- replace more currency symbols, and match within symbols like C$
|
|
||||||
- do more account validation, and error if conversion is too hard
|
|
||||||
- backslash-escape double quotes and backslashes in payee and note
|
|
||||||
|
|
||||||
- imp:print:beancount: also convert cost amounts
|
- "hard" and "all" rounding strategies have been added
|
||||||
|
|
||||||
- doc: update manuals
|
- debug output improvements, eg for precision handling
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
- Table is now Showable, for debugging
|
||||||
|
|
||||||
- feat:print: add a basic beancount output format
|
|
||||||
This prints journal output more likely (but not guaranteed) to
|
|
||||||
be readable by Beancount.
|
|
||||||
|
|
||||||
All packages now require text 1.2.4.1 or greater.
|
|
||||||
|
|
||||||
- fix: non-print-like reports no longer add trailing decimal marks (fix #2115)
|
|
||||||
That 1.31 change was advertised as being for the print command only,
|
|
||||||
but it affected all commands. Now it affects only print and other
|
|
||||||
"print-like" commands (ie all commands that show whole journal entries
|
|
||||||
that we might want to re-parse).
|
|
||||||
|
|
||||||
Also three classes of hledger output, and how they modify the
|
|
||||||
commodity display styles' digit group marks and decimal marks
|
|
||||||
to suit different consumers, have been identified and documented
|
|
||||||
(under REPORTING CONCEPTS).
|
|
||||||
|
|
||||||
- fix:csv: fix tag: queries on CSV data (#2114)
|
|
||||||
|
|
||||||
- ;doc: Hledger.Read: cleanups (#2113)
|
|
||||||
|
|
||||||
- ;doc: Hledger.Read: cleanups (#2113)
|
|
||||||
|
|
||||||
- imp:reading: better timing of strict checks and .latest writing (#2113)
|
|
||||||
Strict checks now run only once, at end of the high level read operation,
|
|
||||||
and not for each individual file; this fixes some spurious --strict failures,
|
|
||||||
like account declarations not affecting a sibling file as they should.
|
|
||||||
|
|
||||||
And .latest file writing now happens as the last step, after passing
|
|
||||||
strict checks. This is mainly for the import command, but it also
|
|
||||||
means that hledger print --new now does not update .latest files
|
|
||||||
if strict checks are failing.
|
|
||||||
|
|
||||||
The file reading API has been improved and documented in more detail.
|
|
||||||
|
|
||||||
- imp: web: round amounts to display precision as before (precisiongeddon)
|
|
||||||
|
|
||||||
- doc:code: add Jargon section; describe styling/precision in detail (precisiongeddon)
|
|
||||||
|
|
||||||
- ;doc: move Hledger.hs haddock to a named chunk below code
|
|
||||||
|
|
||||||
- dev: Amount: cleanups
|
|
||||||
|
|
||||||
- imp: roi: limit large decimals to 8 digits by default (precisiongeddon)
|
|
||||||
With valuation now preserving more decimal digits, roi could show
|
|
||||||
excessively precise decimals if there was no known display precision
|
|
||||||
for the valuation commodity. Now in that situation it limits the
|
|
||||||
precision to a maximum of 8 digits.
|
|
||||||
|
|
||||||
- imp: more precision handling fixes, debug output, test updates (precisiongeddon)
|
|
||||||
This and the preceding commits were "work in progress" that got out of control.
|
|
||||||
There's more to do, but this one brings these precision-related improvements
|
|
||||||
(at least):
|
|
||||||
|
|
||||||
When "infinite decimals" arise, they are now generally shown with
|
|
||||||
8 decimal digits rather than 255.
|
|
||||||
|
|
||||||
print and prices no longer add trailing decimal zeros unnecessarily.
|
|
||||||
|
|
||||||
Some code has been refactored or given more debug output.
|
|
||||||
|
|
||||||
All tests have been updated to match the recent changes.
|
|
||||||
|
|
||||||
- imp: prices: clarify, fixes, improve semantics (precisiongeddon)
|
|
||||||
- The prices comand now more accurately lists the prices that hledger
|
|
||||||
uses when calculating value reports (similar to what you'd see with
|
|
||||||
eg `hledger bal -V --debug=2`).
|
|
||||||
|
|
||||||
- The prices command's --infer-reverse-prices flag was confusing since
|
|
||||||
we always infer and use reverse prices; it has been renamed to --show-reverse.
|
|
||||||
|
|
||||||
- --infer-market-prices and --show-reverse combine properly.
|
|
||||||
|
|
||||||
- --show-reverse now ignores all zero prices rather than giving an error.
|
|
||||||
|
|
||||||
- Reverse prices (which can be infinite decimals) are now displayed
|
|
||||||
with at most 8 decimal digits (rather than the internal precision of
|
|
||||||
255 digits).
|
|
||||||
|
|
||||||
- Filtering prices by cur: or amt: now works properly.
|
|
||||||
|
|
||||||
- Price amounts are styled, but all decimal digits are shown.
|
|
||||||
|
|
||||||
- imp: set display style, natural precision on valued amounts (fix #2105, precisiongeddon)
|
|
||||||
Cost/value conversion now applies the standard display style, and
|
|
||||||
sets the display precision equal to the internal decimal precision
|
|
||||||
(or 8 if the decimal appears to be infinite).
|
|
||||||
This means value reports and especially `print -V` now show amounts
|
|
||||||
with more accurate and standard style and precision.
|
|
||||||
|
|
||||||
New tests have been added describing and explaining various
|
|
||||||
style/precision behaviours in print cost/value reports.
|
|
||||||
|
|
||||||
- dev: clarify some amount operations
|
|
||||||
|
|
||||||
- lib: Hledger.Utils.Debug: lbl_ helper, cleanups, notes
|
|
||||||
|
|
||||||
- feat: import: interpolate regex matches in field templates (#2009) (Jonathan Dowland)
|
|
||||||
Replace occurrences of '\N' (where N is a positive number) in field
|
|
||||||
templates with the corresponding regular expression match group, if it
|
|
||||||
exists.
|
|
||||||
|
|
||||||
E.g. Warp the date to the first of the month for the second posting
|
|
||||||
|
|
||||||
if %date (....-..)-..
|
|
||||||
comment2 date:\1-01
|
|
||||||
|
|
||||||
E.g. Strip a prefix from an imported account name
|
|
||||||
|
|
||||||
if %account1 liabilities:jon:(.*)
|
|
||||||
account1 \1
|
|
||||||
|
|
||||||
Fixes #2009.
|
|
||||||
|
|
||||||
Signed-off-by: Jonathan Dowland <jon@dow.land>
|
|
||||||
|
|
||||||
- ;dev: add Utils.Regex.regexMatchTextGroups (Jonathan Dowland)
|
|
||||||
A matcher function which returns the list of match-groups, which may
|
|
||||||
be empty.
|
|
||||||
|
|
||||||
Signed-off-by: Jonathan Dowland <jon@dow.land>
|
|
||||||
|
|
||||||
- ;fix: import: minor typo (Jonathan Dowland)
|
|
||||||
|
|
||||||
- fix: auto postings: detect redundant costs properly (fix #2110)
|
|
||||||
|
|
||||||
- feat: cli: Add tsv output (#869) (Peter Sagerson)
|
|
||||||
All commands that suport csv output now also support tsv output. The
|
|
||||||
data is identical, but the fields are separated by tab characters and
|
|
||||||
there is no quoting or escaping. Tab, carriage return, and newline
|
|
||||||
characters in data are converted to spaces (this should rarely if ever
|
|
||||||
happen in practice).
|
|
||||||
|
|
||||||
- ;doc: haddock, comment fixes
|
|
||||||
|
|
||||||
- ;doc:print: cleanups (#2085)
|
|
||||||
|
|
||||||
- feat:print: add --round option for more control of precisions (#2085)
|
|
||||||
|
|
||||||
- ;doc:internals: Precision and rounding
|
|
||||||
|
|
||||||
- dev: refactor transactionCheckBalanced
|
|
||||||
|
|
||||||
- lib!: use styleAmounts in more places; add rounding strategies
|
|
||||||
|
|
||||||
- dev: journalApplyCommodityStyles -> journalStyleAmounts
|
|
||||||
|
|
||||||
- dev:print: refactor, add AmountStyle "rounding strategy"
|
|
||||||
Changes to enable more control of "rounding" behaviour
|
|
||||||
(ie, choosing display precisions for amounts).
|
|
||||||
|
|
||||||
This reverts 1.31's change of asprecision, making it a non-Maybe
|
|
||||||
again, and adds a new asrounding field providing more control over how
|
|
||||||
a target display precision is applied to existing amounts (two options
|
|
||||||
for now, more later). Functionality is in an interim state (reports do
|
|
||||||
no rounding).
|
|
||||||
|
|
||||||
- fix:timedot: parse unitful quantities more accurately (fix #2096)
|
|
||||||
A quantity with a unit like "15m" was being parsed internally as
|
|
||||||
0.249999999... rather than 0.25 (and since hledger 1.21, printed that
|
|
||||||
way also). Now we round such quantities to two places during parsing,
|
|
||||||
to get exact quarter-hour amounts.
|
|
||||||
|
|
||||||
- lib: add Show to Table render functions for debugging
|
|
||||||
|
|
||||||
- fix: balance-assigned amounts affect styles again (fix #2091)
|
|
||||||
|
|
||||||
- imp: lib: include adeclarationinfo, if present, in accounts JSON (S. Zeid)
|
|
||||||
Note that this does not add the declaration info if it is not already
|
|
||||||
present.
|
|
||||||
|
|
||||||
- feat: balance: Add summary-only flag (#1012) (Stephen Morgan)
|
|
||||||
Add a flag --summary-only for multi-column balance reports, which does
|
|
||||||
not display the main date columns for a report, but only displays the
|
|
||||||
summary columns (--row-total, --average). This is useful when there are
|
|
||||||
many columns (a weekly summary over many years) where you're only
|
|
||||||
interested in the average (or some other summary).
|
|
||||||
|
|
||||||
- Add support for negating a Matcher (bobobo1618)
|
|
||||||
https://github.com/simonmichael/hledger/issues/2054
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;doc: main module haddock cleanups
|
|
||||||
|
|
||||||
- ;doc: package description cleanups
|
|
||||||
|
|
||||||
- fix: failing balance assertions with cost show correct highlight #2083
|
|
||||||
|
|
||||||
- ;doc: update manuals
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;pkg: bump version to 1.31.99
|
|
||||||
|
|
||||||
- ;doc: merge 1.31 changelogs
|
|
||||||
# 1.31 2023-09-03
|
# 1.31 2023-09-03
|
||||||
|
|
||||||
Breaking changes
|
Breaking changes
|
||||||
|
|
||||||
- There is a new consolidated API for styling amounts, and a
|
- There is a new consolidated API for styling amounts, and a
|
||||||
|
|||||||
@ -22,45 +22,17 @@ User-visible changes in hledger-ui.
|
|||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 0c85b48d2
|
# 0c85b48d2
|
||||||
- ;doc: use ```cli not ```shell for command-line examples
|
|
||||||
|
|
||||||
- doc: update manuals
|
Fixes
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
- The V key now preserves the valuation mode specified at the command
|
||||||
|
line, if any. (#2084)
|
||||||
|
|
||||||
- feat:print: add a basic beancount output format
|
- The hledger-ui package no longer wastefully builds its modules
|
||||||
This prints journal output more likely (but not guaranteed) to
|
twice.
|
||||||
be readable by Beancount.
|
|
||||||
|
|
||||||
All packages now require text 1.2.4.1 or greater.
|
|
||||||
|
|
||||||
- imp: ui: round amounts to display precision as before (precisiongeddon)
|
|
||||||
|
|
||||||
- cabal: update cabal files
|
|
||||||
|
|
||||||
- pkg:ui: fix wasteful double-building of hledger-ui modules
|
|
||||||
|
|
||||||
- ;doc:areg,ui: note how separately-dated postings get combined
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;doc: main module haddock cleanups
|
|
||||||
|
|
||||||
- ;doc: package description cleanups
|
|
||||||
|
|
||||||
- lib!: export less from cli and web packages, and more from ui
|
|
||||||
|
|
||||||
- fix:ui: V key preserves startup valuation, if any (fix #2084)
|
|
||||||
Also: hledger-ui cost/value doc improvement and a useful cost/value test file.
|
|
||||||
|
|
||||||
- ;doc: update manuals
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;pkg: bump version to 1.31.99
|
|
||||||
|
|
||||||
- ;doc: merge 1.31 changelogs
|
|
||||||
# 1.31 2023-09-03
|
# 1.31 2023-09-03
|
||||||
|
|
||||||
Improvements
|
Improvements
|
||||||
|
|
||||||
- Allow megaparsec 9.5
|
- Allow megaparsec 9.5
|
||||||
|
|||||||
@ -21,90 +21,37 @@ API
|
|||||||
User-visible changes in hledger-web.
|
User-visible changes in hledger-web.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 0c85b48d2
|
Features
|
||||||
- ;doc: use ```cli not ```shell for command-line examples
|
|
||||||
|
|
||||||
- doc: update manuals
|
- The hledger-web app on the Sandstorm cloud platform has been updated to
|
||||||
|
a recent version (Jacob Weisz, #2102), and now uses Sandstorm's access
|
||||||
|
control. (Jakub Zárybnický, #821)
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
Improvements
|
||||||
|
|
||||||
- feat:print: add a basic beancount output format
|
- The --capabilities and --capabilities-header options have been replaced
|
||||||
This prints journal output more likely (but not guaranteed) to
|
with an easier `--allow=view|add|edit|sandstorm` option.
|
||||||
be readable by Beancount.
|
`add` is the default access level, while `sandstorm` is for use on Sandstorm.
|
||||||
|
UI and docs now speak of "permissions" rather than "capabilities".
|
||||||
|
(#834)
|
||||||
|
|
||||||
All packages now require text 1.2.4.1 or greater.
|
- The Sandstorm app's permissions and roles have been renamed for clarity. (#834)
|
||||||
|
|
||||||
- imp: web: round amounts to display precision as before (precisiongeddon)
|
- Permissions are now checked earlier, before the web app is started,
|
||||||
|
producing clearer command line errors when appropriate.
|
||||||
|
|
||||||
- cabal: update cabal files
|
- Account's `adeclarationinfo` field is now included in JSON output. (#2097) (S. Zeid)
|
||||||
|
|
||||||
- pkg:web: clean up some apparently redundant declarations and deps
|
Fixes
|
||||||
|
|
||||||
- dev:web: refactor permission checking
|
- The app can now serve on address 0.0.0.0 (exposing it on all interfaces),
|
||||||
|
which previously didn't work.
|
||||||
|
(#2099) (Philipp Klocke)
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
- The broken "File format help" link in the edit form has been fixed. (#2103)
|
||||||
|
|
||||||
- imp:web: cleanups; use --allow on Sandstorm (#834)
|
|
||||||
|
|
||||||
- imp:web: access control UX cleanups (fix #834)
|
|
||||||
Changes:
|
|
||||||
|
|
||||||
1. rename the sandstorm "manage" permission to "edit"
|
|
||||||
(old permission names: view, add, manage;
|
|
||||||
new permission names: view, add, edit).
|
|
||||||
|
|
||||||
Rationale: "edit" best describes this permission's current powers, to users and to operators.
|
|
||||||
If we ever added more manager-type features we'd want that to be a new permission,
|
|
||||||
not a rename of the existing one (which would change the powers of existing users).
|
|
||||||
|
|
||||||
2. rename the sandstorm roles for consistency with permissions
|
|
||||||
(old role names: viewer, editor, manager;
|
|
||||||
new role names: viewer, adder, editor)
|
|
||||||
|
|
||||||
Rationale: it's needed to avoid confusion.
|
|
||||||
|
|
||||||
3. add a new option: --allow=view|add|edit|sandstorm (default: add).
|
|
||||||
'sandstorm' sets permissions according to the X-Sandstorm-Permissions header.
|
|
||||||
Drop the --capabilities and --capabilities-header options.
|
|
||||||
|
|
||||||
Rationale: it's simpler and more intuitive.
|
|
||||||
|
|
||||||
4. replace "capability" with "permission" in ui/docs/code.
|
|
||||||
|
|
||||||
Rationale: consistent with the above, more familiar.
|
|
||||||
|
|
||||||
- fix:web: check options like --capabilities before starting the app
|
|
||||||
|
|
||||||
- fix:web:edit form: fix broken "File format help" link (fix #2103)
|
|
||||||
Now not broken, https rather than http, and pointing to the "Data
|
|
||||||
formats" section, which has links to each of the file formats
|
|
||||||
(in case editing a non-journal file).
|
|
||||||
|
|
||||||
- web: Use guessAppRootOr to enable relative root if desired (fix #2099) (Philipp Klocke)
|
|
||||||
This is useful when serving on 0.0.0.0, such that querying from any
|
|
||||||
other device with <IP>:<PORT> does not fallback to 0.0.0.0:PORT,
|
|
||||||
which would fail.
|
|
||||||
|
|
||||||
Tested: Manually
|
|
||||||
|
|
||||||
- imp: web: include adeclarationinfo in accounts JSON (S. Zeid)
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;doc: main module haddock cleanups
|
|
||||||
|
|
||||||
- ;doc: package description cleanups
|
|
||||||
|
|
||||||
- lib!: export less from cli and web packages, and more from ui
|
|
||||||
|
|
||||||
- ;doc: update manuals
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;pkg: bump version to 1.31.99
|
|
||||||
|
|
||||||
- ;doc: merge 1.31 changelogs
|
|
||||||
# 1.31 2023-09-03
|
# 1.31 2023-09-03
|
||||||
|
|
||||||
Improvements
|
Improvements
|
||||||
|
|
||||||
- Allow aeson 2.2, megaparsec 9.5
|
- Allow aeson 2.2, megaparsec 9.5
|
||||||
|
|||||||
@ -23,393 +23,176 @@ User-visible changes in the hledger command line tool and library.
|
|||||||
|
|
||||||
Breaking changes
|
Breaking changes
|
||||||
|
|
||||||
- This week I completed the months-long yak shave that became
|
- Display styles and display precision are now managed more carefully
|
||||||
Precisiongeddon, and it has landed in master; see
|
during calculations and output, fixing a number of issues (#2111,
|
||||||
<https://github.com/simonmichael/hledger/pull/2111> for details.
|
"Precisiongeddon"). In brief:
|
||||||
Heads up: this can change default precisions shown especially by
|
|
||||||
cost and value reports - all for the better hopefully.
|
- Cost and value reports, such as `print -V`, now (1) consistently
|
||||||
|
apply commodity display styles, and (2) do not add or discard
|
||||||
|
decimal digits unnecessarily. (#2105)
|
||||||
|
|
||||||
|
- When "infinite decimals" arise during calculations (eg in value
|
||||||
|
reports, or in `prices` or `roi` output), these are now shown
|
||||||
|
limited to 8 decimal digits rather than 255.
|
||||||
|
|
||||||
|
- Non-print-like reports no longer add trailing decimal marks to
|
||||||
|
disambiguate digit group marks (this was an unintended regression
|
||||||
|
in 1.31). (#2115)
|
||||||
|
|
||||||
|
- We now document number formatting adjustments made in certain
|
||||||
|
reports and output formats (hledger manual > REPORTING CONCEPTS >
|
||||||
|
Amount formatting, parseability).
|
||||||
|
|
||||||
|
|
||||||
Features
|
Features
|
||||||
|
|
||||||
- The `print` command has a new `beancount` output format for exporting to Beancount.
|
- Timedot format supports a new letters syntax for easier tagged time logging.
|
||||||
|
(#2116)
|
||||||
|
|
||||||
- Timedot format supports a new letters syntax for easier tagged time logging. (#2116)
|
- `print` has a new `beancount` output format for exporting to Beancount.
|
||||||
|
This prints journal output more likely (though not guaranteed) to
|
||||||
- Add tsv output (#869) (Peter Sagerson)
|
|
||||||
|
|
||||||
- import: interpolate regex matches in field templates (#2009) (Jonathan Dowland)
|
|
||||||
|
|
||||||
- print: add --round option for more control of precisions (#2085)
|
|
||||||
|
|
||||||
- [feat: balance: Add only-summary flag (#1012) #2086](https://github.com/simonmichael/hledger/pull/2086) (Stephen Morgan)
|
|
||||||
|
|
||||||
- [feat: CSV rule negation #2088](https://github.com/simonmichael/hledger/pull/2088) (bobobo1618)
|
|
||||||
|
|
||||||
|
|
||||||
Improvements
|
|
||||||
|
|
||||||
- Journal format now accepts lot costs with spaces after `{`, improving Ledger compatibility.
|
|
||||||
|
|
||||||
- A new hledger user pointed out in chat out that -s/--strict mode
|
|
||||||
didn't work with the import command. This exposed a bug (#2113) and
|
|
||||||
led to some reworking of the API in Hledger.Read. Until now, when
|
|
||||||
reading multiple files, -s/--strict checks were performed for each
|
|
||||||
individual file, causing spurious failures, with import and other
|
|
||||||
commands. Now strict checks are done only once, for the overall
|
|
||||||
journal. Also, the import command now only updates .latest files at
|
|
||||||
the end of a successful run (after successfully passing strict
|
|
||||||
checks and after updating the journal file).
|
|
||||||
|
|
||||||
- web: access control UX cleanups: replace --capabilities and --capabilities-header with --allow, and validate it before starting the app (#834)
|
|
||||||
|
|
||||||
- web: sandstorm web app cleanups; rename/reorder roles & permissions
|
|
||||||
|
|
||||||
- Jacob Weisz has updated the hledger-web app on Sandstorm
|
|
||||||
|
|
||||||
- [imp: web: include account declaration info in accounts JSON #2097](https://github.com/simonmichael/hledger/pull/2097) (S. Zeid)
|
|
||||||
|
|
||||||
|
|
||||||
Fixes
|
|
||||||
|
|
||||||
- Non-print-like reports no longer add trailing decimal marks (a regression in 1.31).
|
|
||||||
Clarified the policy on number formatting adjustments made in certain reports/output formats. (#2115)
|
|
||||||
- `tag:` queries now work when reading CSV files. (#2114)
|
|
||||||
- `-o`/`--outputfile` with a .json or .sql extension now properly selects those formats.
|
|
||||||
|
|
||||||
- amounts in value reports can sometimes be shown unstyled / with zero decimal digits,
|
|
||||||
<https://github.com/simonmichael/hledger/issues/2105>
|
|
||||||
|
|
||||||
- auto postings break redundant equity/cost detection and transaction balancing,
|
|
||||||
<https://github.com/simonmichael/hledger/issues/2110>
|
|
||||||
|
|
||||||
- demo: avoid a bug in asciinema 2.3.0, and improve the error message when asciinema fails (#2094)
|
|
||||||
|
|
||||||
- web: fix broken "File format help" link in the edit form (#2103)
|
|
||||||
|
|
||||||
- balance-assigned amounts affect commodity styles again (#2091, regression in 1.30)
|
|
||||||
|
|
||||||
- timedot: parse unitful quantities more accurately (#2096)
|
|
||||||
|
|
||||||
|
|
||||||
Breaking changes
|
|
||||||
|
|
||||||
Features
|
|
||||||
|
|
||||||
Improvements
|
|
||||||
|
|
||||||
Fixes
|
|
||||||
|
|
||||||
- `print` now shows zeros with a commodity symbol and decimal digits when possible, preserving more information.
|
|
||||||
|
|
||||||
- `print` now formats balance assertion costs with standard commodity styles, like other amounts.
|
|
||||||
|
|
||||||
- `print` has a new option for rounding amounts to commodity display precisions:
|
|
||||||
|
|
||||||
- `--round=none` - show amounts with original precisions (default; like 1.31; avoids implying less or more precision than was recorded)
|
|
||||||
- `--round=soft` - add/remove decimal zeros in non-cost amounts (like 1.30 but also affects balance assertion amounts)
|
|
||||||
- `--round=hard` - round non-cost amounts (can hide significant digits)
|
|
||||||
- `--round=all` - round all amounts and costs
|
|
||||||
|
|
||||||
**Past behaviour**
|
|
||||||
|
|
||||||
Comparing amount styling behaviour across hledger versions can be confusing;
|
|
||||||
here's a summary (for my own sanity).
|
|
||||||
|
|
||||||
print shows four kinds of amount: posting amounts, balance assertion amounts, and costs for each of those.
|
|
||||||
|
|
||||||
Which amounts does print do basic styling (eg symbol placement) on ?
|
|
||||||
|
|
||||||
| hledger | amt | cost | bal | balcost |
|
|
||||||
|-----------|-----|------|-----|---------|
|
|
||||||
| 1.1-1.14 | Y | N | N | N |
|
|
||||||
| 1.15-1.22 | Y | N | Y | N |
|
|
||||||
| 1.23-1.30 | Y | Y | Y | N |
|
|
||||||
| | | | | |
|
|
||||||
| 1.31- | Y | Y | Y | Y |
|
|
||||||
|
|
||||||
Which kind of rounding does print do on each amount ?
|
|
||||||
|
|
||||||
| hledger | amt | cost | bal | balcost |
|
|
||||||
|---------------------|------|------|------|---------|
|
|
||||||
| 1.0-1.20 | hard | none | none | none |
|
|
||||||
| 1.21-1.30 | soft | none | none | none |
|
|
||||||
| 1.31 | none | none | none | none |
|
|
||||||
| | | | | |
|
|
||||||
| 1.31.1 | none | none | none | none |
|
|
||||||
| 1.31.1 --round=soft | soft | none | soft | none |
|
|
||||||
| 1.31.1 --round=hard | hard | none | hard | none |
|
|
||||||
| 1.31.1 --round=all | hard | hard | hard | hard |
|
|
||||||
|
|
||||||
Docs
|
|
||||||
|
|
||||||
API
|
|
||||||
|
|
||||||
|
|
||||||
# e601adaee
|
|
||||||
- ;doc: changelogs (from TWIH)
|
|
||||||
|
|
||||||
- ;doc: timedot: example tweak
|
|
||||||
|
|
||||||
- ;doc: Amount formatting, parseability: improve example
|
|
||||||
|
|
||||||
- ;doc: Amount formatting, parseability: fix link
|
|
||||||
|
|
||||||
- ;doc: use ```cli not ```shell for command-line examples
|
|
||||||
|
|
||||||
- ;doc: Amount formatting, parseability: fix link
|
|
||||||
|
|
||||||
- ;doc: Amount formatting, parseability: examples, links
|
|
||||||
|
|
||||||
- feat:timedot: tagged time logging with letters
|
|
||||||
|
|
||||||
- ;doc:timedot: cleanups
|
|
||||||
|
|
||||||
- imp:print:beancount: conversion improvements
|
|
||||||
- omit balance assertions
|
|
||||||
- replace more currency symbols, and match within symbols like C$
|
|
||||||
- do more account validation, and error if conversion is too hard
|
|
||||||
- backslash-escape double quotes and backslashes in payee and note
|
|
||||||
|
|
||||||
- imp:print:beancount: also convert cost amounts
|
|
||||||
|
|
||||||
- doc: update manuals
|
|
||||||
|
|
||||||
- ;doc: update command help
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- feat:print: add a basic beancount output format
|
|
||||||
This prints journal output more likely (but not guaranteed) to
|
|
||||||
be readable by Beancount.
|
be readable by Beancount.
|
||||||
|
|
||||||
All packages now require text 1.2.4.1 or greater.
|
- In CSV rules, matchers using regular expressions can now interpolate
|
||||||
|
their matched texts into the values they assign to fields (field
|
||||||
|
assignment values can reference match groups).
|
||||||
|
(#2009) (Jonathan Dowland)
|
||||||
|
|
||||||
|
- In CSV rules, matchers can be negated by prepending `!`.
|
||||||
|
(#2088) (bobobo1618)
|
||||||
|
|
||||||
- fix: -o/--outputfile with a .json or .sql extension now selects those formats
|
- Multi-column balance reports (from `bal`, `bs`, `is` etc.) can use
|
||||||
|
the new `--summary-only` flag (`--summary` also works) to display
|
||||||
|
just the Total and Average columns (if enabled by `--row-total` and
|
||||||
|
`-A/--average`) and hide the rest.
|
||||||
|
(#1012) (Stephen Morgan)
|
||||||
|
|
||||||
- ;doc:commodity directive: edits
|
- All commands that suport csv output now also support `tsv`
|
||||||
|
(tab-separated values) output. The data is identical, but the fields
|
||||||
|
are separated by tab characters and there is no quoting or
|
||||||
|
escaping. Tab, carriage return, and newline characters in data are
|
||||||
|
converted to spaces (this should rarely if ever happen in practice).
|
||||||
|
(#869) (Peter Sagerson).
|
||||||
|
|
||||||
- ;doc:commodity directive: explain why decimal mark is required
|
|
||||||
|
|
||||||
- ;doc: amount formatting: correction, csv does not force . (#2115)
|
Improvements
|
||||||
|
|
||||||
- ;doc: amount formatting: edits (#2115)
|
- Journal format no longer fails to parse Ledger-style lot costs with spaces
|
||||||
|
after the `{`, improving Ledger compatibility.
|
||||||
|
|
||||||
- ;doc: amount formatting: edits (#2115)
|
- `import` now does not update any .latest files until it has run
|
||||||
|
without error (no failing strict checks, no failure while writing
|
||||||
- ;doc: amount formatting: edits (#2115)
|
|
||||||
|
|
||||||
- fix: non-print-like reports no longer add trailing decimal marks (fix #2115)
|
|
||||||
That 1.31 change was advertised as being for the print command only,
|
|
||||||
but it affected all commands. Now it affects only print and other
|
|
||||||
"print-like" commands (ie all commands that show whole journal entries
|
|
||||||
that we might want to re-parse).
|
|
||||||
|
|
||||||
Also three classes of hledger output, and how they modify the
|
|
||||||
commodity display styles' digit group marks and decimal marks
|
|
||||||
to suit different consumers, have been identified and documented
|
|
||||||
(under REPORTING CONCEPTS).
|
|
||||||
|
|
||||||
- ;doc:csv:if table: clarify, explain why backslash won't work (#2107)
|
|
||||||
|
|
||||||
- fix:csv: fix tag: queries on CSV data (#2114)
|
|
||||||
|
|
||||||
- ;doc:journal: decimal marks, commodity directives: rewrites
|
|
||||||
|
|
||||||
- imp:import: support -s/--strict properly (fix #2113)
|
|
||||||
hledger import -s now runs strict checks on an in-memory copy of the
|
|
||||||
updated journal, before updating the journal file; if strict checks
|
|
||||||
fail, nothing is written to disk.
|
|
||||||
|
|
||||||
And hledger import now does not update any .latest files until it has
|
|
||||||
run without error (no failing strict checks, no failure while writing
|
|
||||||
the journal file). This makes it more idempotent, so you can run it
|
the journal file). This makes it more idempotent, so you can run it
|
||||||
again after fixing problems.
|
again after fixing problems.
|
||||||
|
|
||||||
- ;doc: regular expressions: add examples (hledger_site#224)
|
- `print` now shows zeros with a commodity symbol and decimal digits
|
||||||
|
when possible, preserving more information.
|
||||||
|
|
||||||
- ;doc: More valuation examples: drop obsolete explanation (precisiongeddon)
|
- `print` has a new option for controlling amount rounding (#2085):
|
||||||
|
|
||||||
|
- `--round=none` - show amounts with original precisions (default;
|
||||||
|
like 1.31; avoids implying less or more precision than was
|
||||||
|
recorded)
|
||||||
|
|
||||||
- imp: roi: limit large decimals to 8 digits by default (precisiongeddon)
|
- `--round=soft` - add/remove decimal zeros in non-cost amounts
|
||||||
With valuation now preserving more decimal digits, roi could show
|
(like 1.30 but also affects balance assertion amounts)
|
||||||
excessively precise decimals if there was no known display precision
|
|
||||||
for the valuation commodity. Now in that situation it limits the
|
|
||||||
precision to a maximum of 8 digits.
|
|
||||||
|
|
||||||
- imp: more precision handling fixes, debug output, test updates (precisiongeddon)
|
- `--round=hard` - round non-cost amounts (can hide significant digits)
|
||||||
This and the preceding commits were "work in progress" that got out of control.
|
|
||||||
There's more to do, but this one brings these precision-related improvements
|
|
||||||
(at least):
|
|
||||||
|
|
||||||
When "infinite decimals" arise, they are now generally shown with
|
- `--round=all` - round all amounts and costs
|
||||||
8 decimal digits rather than 255.
|
|
||||||
|
|
||||||
print and prices no longer add trailing decimal zeros unnecessarily.
|
For the record:
|
||||||
|
`print` shows four kinds of amount: posting amounts,
|
||||||
|
balance assertion amounts, and costs for each of those.
|
||||||
|
Past hledger versions styled and rounded these inconsistently.
|
||||||
|
Since 1.31 they are all styled, and since 1.32 they are rounded as follows:
|
||||||
|
|
||||||
|
| hledger-1.32 print | amt | cost | bal | balcost |
|
||||||
|
|--------------------|------|------|------|---------|
|
||||||
|
| (default) | none | none | none | none |
|
||||||
|
| --round=soft | soft | none | soft | none |
|
||||||
|
| --round=hard | hard | none | hard | none |
|
||||||
|
| --round=all | hard | hard | hard | hard |
|
||||||
|
|
||||||
Some code has been refactored or given more debug output.
|
- The `prices` command has had a number of fixes and improvements (#2111):
|
||||||
|
|
||||||
All tests have been updated to match the recent changes.
|
- It now more accurately lists the prices that hledger would use
|
||||||
|
when calculating value reports (similar to what you'd see with
|
||||||
|
`hledger bal -V --debug=2`).
|
||||||
|
|
||||||
|
- The --infer-reverse-prices flag was confusing, since we always
|
||||||
|
infer and use reverse prices; it has been renamed to `--show-reverse`.
|
||||||
|
|
||||||
|
- `--show-reverse` and `--infer-market-prices` flags now combine properly.
|
||||||
|
|
||||||
|
- `--show-reverse` now ignores zero prices rather than giving an error.
|
||||||
|
|
||||||
|
- Price amounts are now shown styled.
|
||||||
|
|
||||||
|
- Price amounts are now shown with all their decimal digits; or with
|
||||||
|
8 decimal digits if they appear to be infinite decimals (which can
|
||||||
|
arise with reverse prices).
|
||||||
|
|
||||||
|
- Filtering prices with `cur:` or `amt:` now works properly.
|
||||||
|
|
||||||
|
|
||||||
- imp: prices: clarify, fixes, improve semantics (precisiongeddon)
|
Fixes
|
||||||
- The prices comand now more accurately lists the prices that hledger
|
|
||||||
uses when calculating value reports (similar to what you'd see with
|
|
||||||
eg `hledger bal -V --debug=2`).
|
|
||||||
|
|
||||||
- The prices command's --infer-reverse-prices flag was confusing since
|
- `print` now styles balance assertion costs consistently, like other
|
||||||
we always infer and use reverse prices; it has been renamed to --show-reverse.
|
amounts.
|
||||||
|
|
||||||
- --infer-market-prices and --show-reverse combine properly.
|
- `import` now works with `-s/--strict`.
|
||||||
|
And more generally, when reading multiple input files, eg with
|
||||||
|
multiple `-f` options, strict checks are done only for the overall
|
||||||
|
combined journal (not for each individual file).
|
||||||
|
(#2113)
|
||||||
|
|
||||||
- --show-reverse now ignores all zero prices rather than giving an error.
|
- `tag:` queries now work when reading CSV files. (#2114)
|
||||||
|
|
||||||
- Reverse prices (which can be infinite decimals) are now displayed
|
- Using a `.json` or `.sql` file extension with `-o`/`--outputfile`
|
||||||
with at most 8 decimal digits (rather than the internal precision of
|
now properly selects those output formats.
|
||||||
255 digits).
|
|
||||||
|
|
||||||
- Filtering prices by cur: or amt: now works properly.
|
- Auto postings no longer break redundant equity/cost detection and
|
||||||
|
transaction balancing. (#2110)
|
||||||
|
|
||||||
|
- Amounts set by balance assignment now affect commodity styles again.
|
||||||
|
(#2091, a regression in 1.30)
|
||||||
|
|
||||||
- Price amounts are styled, but all decimal digits are shown.
|
- Timedot quantities with units are parsed more accurately.
|
||||||
|
Eg a quantity like "15m" was evaluated as 0.249999999 not 0.25,
|
||||||
|
and since hledger 1.21, it was printed that way also.
|
||||||
|
Now we round such quantities to two places during parsing to get
|
||||||
|
exact quarter-hour amounts. (#2096)
|
||||||
|
|
||||||
- imp: set display style, natural precision on valued amounts (fix #2105, precisiongeddon)
|
- The `demo` command no longer triggers a JSON decode error in asciinema
|
||||||
Cost/value conversion now applies the standard display style, and
|
2.3.0. It now also shows a better error message if asciinema fails
|
||||||
sets the display precision equal to the internal decimal precision
|
(#2094).
|
||||||
(or 8 if the decimal appears to be infinite).
|
|
||||||
This means value reports and especially `print -V` now show amounts
|
|
||||||
with more accurate and standard style and precision.
|
|
||||||
|
|
||||||
New tests have been added describing and explaining various
|
- Failing balance assertions with a cost now show correct markers in
|
||||||
style/precision behaviours in print cost/value reports.
|
the error message. (#2083)
|
||||||
|
|
||||||
- ;dev: valuation.test: cleanup
|
|
||||||
|
|
||||||
- ;doc: import: document Match Groups (Jonathan Dowland)
|
Docs
|
||||||
Add a description of Match Groups to the manual; Section "Matchers".
|
|
||||||
Include two examples.
|
|
||||||
|
|
||||||
Clarify a description of regular expression features with respect
|
- New:
|
||||||
to match groups.
|
|
||||||
|
- Amount formatting, parseability
|
||||||
|
- Started new code docs for developers, based in the Hledger module's haddock
|
||||||
|
|
||||||
Expand the description of field assignments to cover match group
|
- Updated:
|
||||||
interpolation, cross-referencing to Section "Matchers" for the full
|
|
||||||
description.
|
- aregister
|
||||||
|
- commodity directive
|
||||||
|
- Commodity display style
|
||||||
|
- if table
|
||||||
|
- Decimal marks, digit group marks
|
||||||
|
- Regular expressions
|
||||||
|
- Timedot
|
||||||
|
|
||||||
Signed-off-by: Jonathan Dowland <jon@dow.land>
|
|
||||||
|
|
||||||
- test: import: functional tests for match group interpolation (Jonathan Dowland)
|
|
||||||
Add functional tests for matching substrings in field matchers and
|
|
||||||
interpolating them into the corresponding field assignments. Check
|
|
||||||
the following properties and use-cases:
|
|
||||||
|
|
||||||
- Use-case 1: matching a portion of a date in a known format
|
|
||||||
(YYY-MM-DD) and writing a comment-command to warp a posting date.
|
|
||||||
Useful for credit cards.
|
|
||||||
- Use-case 2: match a portion of a CSV field and use it as an
|
|
||||||
account assignment. Useful for my byzantine setup with two
|
|
||||||
separate ledgers cross-importing to each other.
|
|
||||||
- Ensure bracketed portions of field matchers are captured.
|
|
||||||
- Ensure bracketed portions of record matchers are captured.
|
|
||||||
- Check match token numerical offset is relative to match group,
|
|
||||||
not the whole rules file.
|
|
||||||
- Check nested matches work.
|
|
||||||
- Ensure match group token expansion works with or without
|
|
||||||
surrounding text.
|
|
||||||
|
|
||||||
Signed-off-by: Jonathan Dowland <jon@dow.land>
|
|
||||||
|
|
||||||
- ;doc: Setting LEDGER_FILE: fix a quote (hledger_site#93)
|
|
||||||
|
|
||||||
- fix: auto postings: detect redundant costs properly (fix #2110)
|
|
||||||
|
|
||||||
- feat: cli: Add tsv output (#869) (Peter Sagerson)
|
|
||||||
All commands that suport csv output now also support tsv output. The
|
|
||||||
data is identical, but the fields are separated by tab characters and
|
|
||||||
there is no quoting or escaping. Tab, carriage return, and newline
|
|
||||||
characters in data are converted to spaces (this should rarely if ever
|
|
||||||
happen in practice).
|
|
||||||
|
|
||||||
- ;doc:tests:readme
|
|
||||||
|
|
||||||
- ;dev: tests: ledger-compat tests cleanup
|
|
||||||
|
|
||||||
- ;dev: tests: add outshine headings for more readability (in emacs)
|
|
||||||
|
|
||||||
- ;doc: TESTS name/link
|
|
||||||
|
|
||||||
- ;imp:Hledger.Cli.Script: don't export main, do export CompoundBalanceCommand
|
|
||||||
|
|
||||||
- imp:demo: improve error message when asciinema fails
|
|
||||||
|
|
||||||
- fix:demo: avoid breaking asciinema 2.3.0 (fix #2094)
|
|
||||||
We were adding a trailing newline, which causes asciinema 2.3.0 to
|
|
||||||
show a JSON decode error.
|
|
||||||
|
|
||||||
- ;doc:cli:Data formats: link to each format's doc
|
|
||||||
|
|
||||||
- imp:cli:Hledger.Cli.Version: export packagemajorversion
|
|
||||||
|
|
||||||
- ;doc:areg,ui: note how separately-dated postings get combined
|
|
||||||
|
|
||||||
- ;doc:print: cleanups (#2085)
|
|
||||||
|
|
||||||
- ;doc:CHANGES: document print and zero-rendering changes (#2085)
|
|
||||||
|
|
||||||
- feat:print: add --round option for more control of precisions (#2085)
|
|
||||||
|
|
||||||
- lib!: use styleAmounts in more places; add rounding strategies
|
|
||||||
|
|
||||||
- dev:print: refactor, add AmountStyle "rounding strategy"
|
|
||||||
Changes to enable more control of "rounding" behaviour
|
|
||||||
(ie, choosing display precisions for amounts).
|
|
||||||
|
|
||||||
This reverts 1.31's change of asprecision, making it a non-Maybe
|
|
||||||
again, and adds a new asrounding field providing more control over how
|
|
||||||
a target display precision is applied to existing amounts (two options
|
|
||||||
for now, more later). Functionality is in an interim state (reports do
|
|
||||||
no rounding).
|
|
||||||
|
|
||||||
- fix:timedot: parse unitful quantities more accurately (fix #2096)
|
|
||||||
A quantity with a unit like "15m" was being parsed internally as
|
|
||||||
0.249999999... rather than 0.25 (and since hledger 1.21, printed that
|
|
||||||
way also). Now we round such quantities to two places during parsing,
|
|
||||||
to get exact quarter-hour amounts.
|
|
||||||
|
|
||||||
- ;doc:journal: rewrite Commodity display style
|
|
||||||
|
|
||||||
- fix: balance-assigned amounts affect styles again (fix #2091)
|
|
||||||
|
|
||||||
- ;doc:troubleshooting: nix locale config (#2089)
|
|
||||||
|
|
||||||
- ;doc: csv: negative matchers (#2088)
|
|
||||||
|
|
||||||
- feat: balance: Add summary-only flag (#1012) (Stephen Morgan)
|
|
||||||
Add a flag --summary-only for multi-column balance reports, which does
|
|
||||||
not display the main date columns for a report, but only displays the
|
|
||||||
summary columns (--row-total, --average). This is useful when there are
|
|
||||||
many columns (a weekly summary over many years) where you're only
|
|
||||||
interested in the average (or some other summary).
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;doc: main module haddock cleanups
|
|
||||||
|
|
||||||
- lib!: export less from cli and web packages, and more from ui
|
|
||||||
|
|
||||||
- dev:cli: merge Hledger.Cli.Main with Hledger.Cli
|
|
||||||
|
|
||||||
- fix: failing balance assertions with cost show correct highlight #2083
|
|
||||||
|
|
||||||
- ;doc:journal: clarify valuation date, note bug #2084
|
|
||||||
|
|
||||||
- ;doc: update manuals
|
|
||||||
|
|
||||||
- ;doc: update command help
|
|
||||||
|
|
||||||
- ;cabal: update cabal files
|
|
||||||
|
|
||||||
- ;pkg: bump version to 1.31.99
|
|
||||||
|
|
||||||
- ;doc: merge 1.31 changelogs
|
|
||||||
# 1.31 2023-09-03
|
# 1.31 2023-09-03
|
||||||
|
|
||||||
Features
|
Features
|
||||||
|
|
||||||
- Multi-pivot: the --pivot option now accepts multiple arguments,
|
- Multi-pivot: the --pivot option now accepts multiple arguments,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user