ANN: hledger 0.20

33 views
Skip to first unread message

Simon Michael

unread,
May 1, 2013, 9:34:48 PM5/1/13
to hle...@googlegroups.com, ledge...@googlegroups.com, haskel...@haskell.org, has...@haskell.org
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

Reply all
Reply to author
Forward
0 new messages