[Haskell] ANN: hledger 0.20
Simon Michael
simon at joyful.com
Thu May 2 03:34:48 CEST 2013
I'm pleased to announce hledger and hledger-web 0.20!
hledger is a command-line tool and haskell library for tracking
financial transactions, which are stored in a human-readable plain
text format. In addition to reporting, it can also help you record new
transactions, or convert CSV data from your bank. Add-on packages
include hledger-web (providing a web interface), hledger-irr and hledger-interest.
hledger is inspired by and compatible with John Wiegley's Ledger. For
more, see http://hledger.org .
Install it:
# cabal update; cabal install hledger-web
For more installation help, see http://hledger.org/MANUAL.html#installing .
Or, sponsor a ready-to-run binary for your platform: http://hledger.org/DOWNLOAD.html .
Release notes (http://hledger.org/NEWS.html#hledger-0.20):
**Bugs fixed:**
* balance: a 0.19 regression which showed wrong total balance with `--flat` has been fixed (#94)
* register: when `--date2` is used, the register is now sorted by the secondary date
* web: some missing static & template files have been added to the package, fixing cabal-dev and hackage builds (#97, #98)
* web: some hardcoded static urls have been fixed
* Dependencies and code have been updated to support the latest
libraries and GHC versions. For now, hledger requires GHC 7.2+
and hledger-web requires GHC 7.4+.
**Journal reading:**
- DOS-style line-endings are now also supported in journal and rules files.
- `!` is now accepted in the status field as well as `*`, like ledger
- The *actual date* and *effective date* terminology has changed to *primary date* and *secondary date*.
Use `--date2` to select the secondary date for reports. (`--aux-date` or `--effective` are also accepted
for ledger and backwards compatibility).
- Per-posting dates are supported, using hledger tags or ledger's posting date syntax
- Comment and tag handling has been improved
**CSV reading:**
- CSV conversion rules have a simpler, more flexible [syntax](MANUAL.html#csv-files).
Existing rules files will need to be updated manually:
- the filename is now `FILE.csv.rules` instead of `FILE.rules`
- `FIELD-field N` is now `FIELD %N+1` (or set them all at once with a `fields` rule)
- `base-currency` is now `currency`
- `base-account` is now `account1`
- account-assigning rules:
add `if` before the list of regexps,
add indented `account2 ` before the account name
- parenthesised amounts are parsed as negative
**Querying:**
- Use `code:` to match the transaction code (check number) field
- Use `amt:` followed by `<`, `=` or `>` and a number N to match
amounts by magnitude. Eg `amt:<0` or `amt:=100`. This works only
with single-commodity amounts (multi-commodity amounts are
always matched).
- `tag:` can now match (exact, case sensitive) tag values. Eg `tag:TAG=REGEXP`.
**add comand:**
- Transaction codes and comments (which may contain tags) can now be entered, following a date or amount respectively. (#45)
- The current entry may be restarted by entering `<` at any prompt. (#47)
- Entries are displayed and confirmed before they are written to the journal.
- Default values may be specified for the first entry by providing them as command line arguments.
- Miscellaneous UI cleanups
**register command:**
- The `--related`/`-r` flag shows the other postings in each transaction, like ledger.
- The `--width`/`-w` option increases or sets the output width.
**web command:**
- The web command now also starts a browser, and auto-exits when unused, by default ("local ui mode").
With `--server`, it keeps running and logs requests to the console ("server mode").
- Bootstrap is now used for styling and layout
- A favicon is served
- The search field is wider
- yesod devel is now supported; it uses `$LEDGER_FILE` or `~/.hledger.journal`
- the `blaze_html_0_5` build flag has been reversed and renamed to `blaze_html_0_4`
**Add-ons:**
- The hledger-interest and hledger-irr commands have been released/updated.
- hledger-chart and hledger-vty remain unmaintained and deprecated.
**Documentation and infrastructure:**
- The hledger docs and website have been reorganised and updated
- Manuals for past releases are provided as well as the latest dev version
- hledger has moved from darcs and darcs hub to git and github (!)
- The bug tracker has moved from google code to github
- Feature requests and project planning are now managed on trello
- A build bot builds against multiple GHC versions on each commit
Release contributors:
- Sascha Welter commissioned register enhancements (--related and --width)
- David Patrick contributed a bounty for add enhancements
- Joachim Breitner added support for ! in status field
- Xinruo Sun provided hledger-web build fixes
- Peter Simons provided hledger-web build fixes, and a build bot
- Marko Kocić provided hledger-web fixes
More information about the Haskell
mailing list