Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
Release notes (https://hledger.org/release-notes.html#hledger-1-29)
Tag checking,
flexible multi-period start dates,
flexible cost/conversion posting combining,
new commands list,
hledger manual reorg,
easier close command,
10% more Ledger file compatible
hledger 1.29
Breaking changes
monday; in some cases you might need to adjust their start date to
preserve simple week headings (see below).
Features
In journal format there is now a
tag
directive for declaring tag names,and the check command now has a
tags
check to enforce use of declared tag names.Periodic transactions and multi-period reports can now start on any date.
To enable this while still maintaining pretty good backward compatibility,
hledger now treats inferred dates, and dates where the day is unspecified,
as "flexible" (which can be automatically adjusted to interval boundaries),
and dates specified to the day as "exact" (which can not).
Eg:
A periodic rule like
~ monthly from 2023-01-15
now works asyou'd expect instead of raising an error. This also improves
our ability to read Ledger files.
Period options like
-p 'monthly from 2023/1/15'
or-M -b 2023/1/15
now start the report on exactly 1/15 instead of being adjusted to 1/1.
Note: periods using
in
may look partial but are considered to specify exact dates.So weekly reports such as
-p 'weekly in 2023-01'
, which previouslywere adjusted to start on a monday, will now start exactly on 2023-01-01.
This can also cause more verbose column headings.
To guarantee simple week headings, you must now start such reports
exactly on a monday, eg
-p 'weekly from 2022-12-26 to 2023-02'
.(gox 0.3.0 (new formula) #1982)
You can now freely combine @/@@ costs and conversion postings
in a single transaction. This can help readability, and also allows
more flexibility when recording cost. hledger will check that the
two notations are in agreement, and ignore the redundancy if they are.
(Conversion postings are postings to accounts with type
V
/Conversion
or name
equity:conversion
/equity:trade
/equity:trading
,or subaccounts of these. See also COST.)
Improvements
hledger's commands list has been reorganised for clarity.
More add-on commands are now recognised and categorised,
and unrecognised add-on commands are listed in a more compact
multi-column layout.
(Simon Michael, Michael Grünewald)
hledger's commands list and command line help now use ANSI (bold
headings) when supported.
hledger's commands list and command line help now use a pager
(respecting $PAGER) for long output except on MS Windows.
hledger's
--version
output no longer shows+
for dev builds madein dirty repos (it was buggy).
The add command's Description completions now also include payee names
(declared with
payee
or recorded in transactions with|
),not just full descriptions.
aregister now supports HTML output.
(wxmac fails to build on OSX 10.12 #1996) (Jonathan Dowland)
aregister now shows a " (matching query)" hint in report title
when extra query args (other than date: or depth:) are used,
to reduce confusion.
close now has three modes,
--retain
/--migrate
/--open
,clarifying its uses and providing more useful defaults.
register-match is now the
--match
mode of the register command.(This command was used by ledger-autosync at one point; if you still
need it, hopefully
register --match
works similarly.)print-unique has been dropped, because it doesn't
support print's options, it disorders same-day transactions, I don't
know of any users or use cases, and it could easily be recreated as
an addon script.
print's JSON output now also includes source positions for
--forecast
transactions.(Chris Lemaire)
Journal format now allows the empty commodity symbol to be written
as
""
, so it's now possible to declare market prices for it:P 2022-01-01 "" $100
. This can be useful for timedot data.Inferring costs from equity now happens after transaction balancing,
not before. As a result,
--infer-costs
now works in transactionswhere an amount is left blank.
account
declarations now reject parenthesised account names,reducing confusion.
(Chris Lemaire)
Our journal reader now accepts more Ledger syntax, improving Ledger
file compatibility (kafka 0.10.0.0 #1962). We now test our ability to at least
read the sample journals from Ledger's baseline functional tests,
and our success rate has improved from 80% to 90% since 1.28.
since
is accepted as synonym offrom
in period expressionsapply year
andyear
are accepted as synonyms ofY
(lot notes)
in amounts and((valuation expressions))
after amounts are now ignoredA
,assert
,bucket
,capture
,check
,define
,expr
,eval
,python
,value
,apply fixed
,apply tag
,end apply fixed
,end apply tag
,end apply year
are now ignored
payee
,tag
, andcommodity
(other thanformat
) are now ignoredpop
directive is no longer supportedWhen reading CSV, we now check that assigned account names are valid (parseable).
(wartremover 0.14 #1978)
Fixes
aregister now handles an extra account query correctly. (consul: add launchd plist #2007)
balance's
--help
now mentions--layout=tidy
Balance commands with
--layout=bare
now generate proper tablelayout in HTML output.
register's
-w
/--width
option no longer gives ugly parse error messages.stats's
--help
no longer wrongly claims to support -O/--output-format.Balance assignments with a cost now generate a correct balance assertion. (arangodb 2.8.9 and fixed --HEAD install #1965)
The CSV reader now properly skips header lines before attempting to parse records. (nodebrew 0.9.6 #1967)
Scripts/addons
Scripts can now use Hledger.Cli.Script, a convenient new prelude which
helps reduce import boilerplate. It currently re-exports:
(Not much of Data.Text/Data.Text.IO because those need to be qualified.)
Docs
startup:
key #1915)hledger-ui 1.29
In the help dialog, mention that LEFT shows other screens.
In the manual, mention shift-up/down config needed for Terminal.app.
hledger-web 1.29
The add form's typeahead now shows non-ascii text correctly.
(airspy 1.0.8 #1961) (Arsen Arsenović)
In the manual, improve --base-url's description. (Judy: undefined behavior in source code, not yet triggered by clang #1562)
project changes 1.29
Scripts/addons
Docs
Infrastructure
credits 1.29
Simon Michael, Chris Lemaire, Caleb Maclennan, Jonathan Dowland, J. B. Rainsberger, Michael Grünewald, Robert Nielsen, Yann Büchau.
Installing
At https://hledger.org/install, binary packages should be available for this release within a few days (look for green badges).
Or, you can build from source as described there, after cloning at tag
1.29
:git clone https://github.com/simonmichael/hledger --depth 1 -b 1.29
Or, if under "Assets" below there are release binaries suitable for your OS and hardware, you can use those.
Here are platform-specific instructions for the release binaries.
(You can copy & paste each block of commands as a unit to save time.):
GNU/Linux on 64-bit Intel
Mac on 64-bit Intel
Windows on 64-bit Intel
In a powershell window (press Windows-r, type powershell, press enter),
Make a place to keep hledger binaries, and add it to your PATH; this makes running hledger easier. You only need to do this once, not for every release:
Download and install the release binaries:
And ensure a default journal file exists:
Problems:
Windows 7 on 64-bit Intel, using Firefox
echo %PATH%
, likeC:\Windows
(though that one will require administrator permission); otherwise, your home directory (C:\Users\YOURNAME
)\Windows
, you'll need to scroll down)hledger --version
should show the new versionecho # >> .hledger.journal
to ensure a default journal file exists. (Important: the doubled >> is needed to avoid overwriting existing data.)Problems:
configure that to be larger, or run hledger-web from a command window instead.
Next steps