Skip to content

1.26

Compare
Choose a tag to compare
@simonmichael simonmichael released this 04 Jun 22:57
· 2618 commits to master since this release
1.26

Release notes (https://hledger.org/release-notes.html#hledger-1-26)

2022-06-04 hledger-1.26

Miscellaneous improvements.

hledger 1.26

Improvements

  • register and aregister have been made faster, by

    • considering only the first 1000 items for choosing column
      widths. You can restore the old behaviour (guaranteed alignment
      across all items) with the new --align-all flag.
      (#1839, Stephen Morgan)

    • discarding cost data more aggressively, giving big speedups for
      large journals with many costs.
      (#1828, Stephen Morgan)

  • Most error messages from the journal reader and the check command now use
    a consistent layout, with an "Error:" prefix, line and column numbers,
    and an excerpt highlighting the problem. Work in progress.
    (#1436) (Simon Michael, Stephen Morgan)

  • hledger check ordereddates now always checks all transactions
    (previously it could be restricted by query arguments).

  • The --pivot options now supports a status argument, to pivot on transaction status.

  • Update bash completions (Jakob Schöttl)

Fixes

  • Value reports with --date2 and a report interval (like hledger bal -VM --date2)
    were failing with a "expected all spans to have an end date" error since 1.22;
    this is now fixed.
    (#1851, Stephen Morgan)

  • In CSV rules, interpolation of a non-existent field like %999 or %nosuchfield
    is now ignored (previously it inserted that literal text).
    Note this means such an error will not be reported;
    Simon chose this as the more convenient behaviour when converting CSV.
    Experimental.
    (#1803, #1814) (Stephen Morgan)

  • --infer-market-price was inferring a negative price when selling.
    (#1813, Stephen Morgan)

  • Allow an escaped forward slash in regular expression account aliases.
    (#982, Stephen Morgan)

  • The tags command now also lists tags from unused account declarations.
    It also has improved command-line help layout.
    (#1857)

  • hledger accounts now shows its debug output at a more appropriate level (4).

hledger-ui 1.26

  • Uses hledger 1.26.

hledger-web 1.26

Fixes

  • Don't add link URLs when printing.

Improvements

  • Now builds with GHC 9.2.

  • Uses hledger 1.26.

project changes 1.26

Scripts/addons

  • renamed hledger-number.sh to hledger-simplebal

  • added hledger-git, hledger-pijul

  • fin (and bin) scripts show available scripts and their help

  • renamed aliases.sh to bashrc

  • Get hledger-print-location working. (Stephen Morgan)

Docs

  • README cleanup, inspired by feedback from README reviewer Lars Wirzenius.

  • Clearer sponsoring info and more complete sponsor lists on website and README.

  • The new https://github.com/simonmichael/hledger_finance repo
    keeps track of our public finances (on Open Collective, Liberapay etc.)

Examples

  • invoice: calculate dates accurately on last days of month

Process

  • Stackage nightly and GHC 9.2 are now the default for dev builds.

  • CI workflows:

    • Workflows and binaries have more consistent naming, mentioning platform and architecture.
    • The main test workflow is now linux-x64-test, replacing push and pull.
      It runs for both pushes and pull requests, and generates binaries on every run.
    • Pushes/merges to master, including Simon's, are required to have passed
      linux-x64-test on another github branch first.
    • Mac and Windows binaries are now stripped also (if applicable).
  • make buildtimes, make buildtimes-cabal show GHC codegen times.

credits 1.26

Simon Michael,
Stephen Morgan,
Jakob Schöttl,
Patrik Keller.

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.26:
git clone https://github.com/simonmichael/hledger --depth 1 -b 1.26

Or, if there are release binaries below suitable for your OS and hardware, you can use those.
(Release binaries have been updated:

  • 2022-06-05: linux-x64 binaries updated to run at normal speed. #1867
  • 2022-06-08: windows-x64 binaries fixed. #1869)

Here are some approximate per-platform instructions. (You can copy & paste each block of commands as a unit, to save time.)

GNU/Linux on 64-bit Intel

At the command line,
cd /usr/local/bin
curl -LOC- https://github.com/simonmichael/hledger/releases/download/1.26/hledger-linux-x64.zip   # can rerun this if interrupted
unzip hledger-linux-x64.zip
chmod +x hledger hledger-ui hledger-web
cd -
hledger --version  # should show the new version
touch $HOME/.hledger.journal   # ensure a default journal file exists

Mac on 64-bit Intel

In a terminal window,
cd /usr/local/bin
curl -LOC- https://github.com/simonmichael/hledger/releases/download/1.26/hledger-mac-x64.zip
unzip hledger-mac-x64.zip
chmod +x hledger hledger-ui hledger-web
open .
# for the hledger, hledger-ui, hledger-web icons: right-click the executable, Open, confirm it's ok to run
cd -
hledger --version  # should show the new version
touch $HOME/.hledger.journal   # ensure a default journal file exists

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.

mkdir -force $HOME\bin >$null
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User)+";"+$HOME+"\bin", [EnvironmentVariableTarget]::User)
$ENV:PATH += ";"+$HOME+"\bin"

Download and install the release binaries:

cd $HOME\bin
curl https://github.com/simonmichael/hledger/releases/download/1.26/hledger-windows-x64.zip -OutFile hledger-windows-x64.zip
Expand-Archive hledger-windows-x64.zip -DestinationPath .
rm hledger-windows-x64.zip
cd $HOME
hledger --version           # should show the new version

And ensure a default journal file exists:

out-file -append -encoding ascii $HOME/.hledger.journal

Problems:

  • Starting hledger/hledger-web by double-clicking their icon won't work; run them from a cmd or powershell window instead.

Windows 7 on 64-bit Intel, using Firefox

  • click hledger-windows-x64.zip below
  • choose Open with Windows Explorer, OK
  • click Extract all files
  • choose a destination folder - ideally one that appears in echo %PATH%, like C:\Windows (though that one will require administrator permission); otherwise, your home directory (C:\Users\YOURNAME)
  • check "Show extracted files when complete"
  • click Extract, wait for the destination folder to open
  • find the hledger, hledger-web icons (if you extracted to \Windows, you'll need to scroll down)
  • for each icon: double-click, uncheck "Always ask before opening this file", click Run
  • close those Explorer windows
  • open a command window (press Windows-r, type CMD, press enter)
  • hledger --version should show the new version
  • echo # >> .hledger.journal to ensure a default journal file exists

Problems:

  • Starting hledger by double-clicking its icon won't work because it needs arguments; run it from the command window instead.
  • Starting hledger-web by double-clicking its icon may fail because Explorer's command window is too small;
    configure that to be larger, or run hledger-web from a command window.
  • hledger or hledger-web may fail to run if there is not enough memory available.

Next steps

Once installed, you could try these quick starts / tutorials: