Release notes (https://hledger.org/release-notes.html#hledger-1-25)
2022-03-04 hledger 1.25
Account type and tag querying, infer equity postings from @ notation, easily-consumed "tidy" CSV output.
hledger 1.25
Breaking changes
-
Journal format's
account NAME TYPECODE
syntax, deprecated in 1.13, has been dropped.
Please useaccount NAME ; type:TYPECODE
instead.
(Stephen Morgan) -
The rule for auto-detecting "cash" (liquid asset) accounts from account names
for thecashflow
report has been simplified.
If you have been using the cashflow report, without explicitly declaring Cash accounts,
you might notice a change, and might need to declare your Cash accounts explicitly
(by addingtype:C
tags to top-level cash account directives).
Features
-
The new
type:TYPECODES
query matches accounts by their accounting type.
Account types are declared with atype:
tag in account directives,
or inferred from common english account names, or inherited from parent accounts,
as described at Declaring accounts > Account types.
This generalises the account type detection ofbalancesheet
,incomestatement
etc.,
so you can now select accounts by type without needing fragile account name regexps.
Also, theaccounts
command has a new--types
flag to show account types.
Eg:hledger bal type:AL # balance report showing assets and liabilities hledger reg type:x # register of all expenses hledger acc --types # list accounts and their types
-
The
tag:
query can now also match account tags, as defined in account directives.
Subaccounts inherit tags from their parents.
Accounts, postings and transactions can be filtered by account tag.
(#1817) -
The new
--infer-equity
flag replaces the@
/@@
price notation in commodity
conversion transactions with more correct equity postings (when not using-B/--cost
).
This makes these transactions fully balanced, and preserves the accounting equation.
For example:2000-01-01 a 1 AAA @@ 2 BBB b -2 BBB $ hledger print --infer-equity 2000-01-01 a 1 AAA equity:conversion:AAA-BBB:AAA -1 AAA equity:conversion:AAA-BBB:BBB 2 BBB b -2 BBB
equity:conversion
is the account used by default. To use a different account,
declare it with an account directive and the newV
(Conversion
) account type.
Eg:account Equity:Trading ; type:V
(#1554) (Stephen Morgan, Simon Michael)
-
Normalised, easy-to-process "tidy" CSV data can now be generated with
--layout tidy -O csv
.
In tidy data, every variable is a column and each row represents a single data point
(cf https://vita.had.co.nz/papers/tidy-data.html).
(#1768,
#1773,
#1775)
(Stephen Morgan)
Improvements
-
Strict mode (
-s/--strict
) now also checks periodic transactions (--forecast
)
and auto postings (--auto
).
(#1810) (Stephen Morgan) -
hledger check commodities
now always accepts zero amounts which have no commodity symbol.
(#1767) (Stephen Morgan) -
Relative smart dates may now specify an arbitrary number of some period into the future or past).
Some examples:in 5 days
in -6 months
5 weeks ahead
2 quarters ago
(Stephen Morgan)
-
CSV output now always disables digit group marks (eg, thousands separators),
making it more machine readable by default.
(#1771) (Stephen Morgan) -
Unicode may now be used in field names/references in CSV rules files.
(#1809) (Stephen Morgan) -
Error messages improved:
- Balance assignments
- aregister
- Command line parsing (less "user error")
Fixes
-
--layout=bare
no longer shows a commodity symbol for zero amounts.
(#1789) (Stephen Morgan) -
balance --budget
no longer elides boring parents of unbudgeted accounts
if they have a budget.
(#1800) (Stephen Morgan) -
roi
now reports TWR correctly- when there are several PnL changes occurring on a single day
- and also when investment is fully sold/withdrawn/discounted at the end of a particular reporting period.
(#1791) (Dmitry Astapov)
Documentation
-
There is a new CONVERSION & COST section, replacing COSTING.
(#1554) -
Some problematic interactions of account aliases with other features have been noted.
(#1788)
hledger-ui 1.25
- Uses hledger 1.25.
hledger-web 1.25
- Uses hledger 1.25.
project changes 1.25
Scripts/addons
-
hledger-install.sh now also installs Pavan Rikhi's hledger-stockquotes tool.
-
The bin/hledger-number addon was added.
-
The bin/hledger-check-fancyassertions addon now shows docs in --help.
-
A new invoice-making script was added: examples/invoicing/invoice-script/invoice
Process/tools
-
The RELEASING doc and release process has been updated,
and a new helper script added: tools/releaseprep.
make hackageupload
now only works from a branch named
VERSION-branch or VERSION-release. Ie, making releases from master
is no longer allowed, a release branch is always required, -
CI: The commitlint check is more robust, and now runs only in
the push to master and pull request workflows, and not eg when
building release binaries. linux-x64 binaries are now built
with ghc 9.0, not 8.10. Workflow, branch, and binary names
have been improved. -
make ghci-ui
/make ghcid-ui
now use older ghc 8.10 to avoid
ghc 9.0-triggered failures. -
hls support: The hie.yaml added to help hls work on mac m1
has been moved out of the way, since it probably makes things worse
on other architectures.
credits 1.25
Simon Michael,
Stephen Morgan,
Dmitry Astapov,
Patrik Keller.
How to install
You can build this release from tag 1.25
, or try the binaries below, or see https://hledger.org/install for other install methods.
About these binaries:
Download and unzip the appropriate zip file. Unix and mac users will need to chmod +x
the binaries to make them executable. Mac users will need to mark them as trusted, eg right-click the file in Finder and option-click Open. Windows users will need to do something similar. There is no hledger-ui binary for Windows.