2010-05-17 18:33:05 +04:00
---
title: hledger news
---
2009-11-21 05:01:28 +03:00
2010-12-12 20:51:04 +03:00
# News
2010-09-06 02:30:20 +04:00
2013-03-30 22:00:27 +04:00
## dev version
2013-04-07 00:27:34 +04:00
* CSV conversion rules have a [new format ](MANUAL.html#csv-files ) that aims to be more
2013-03-30 22:00:27 +04:00
intuitive, powerful and extensible. Existing rules files will need
to be updated manually, here are some upgrade tips:
- `FIELD-field N` -> `FIELD %N+1` (or set them all at once with a `fields` rule)
- `base-currency` -> `currency`
- `base-account` -> `account1`
- account-assigning rules:
2013-04-02 01:25:38 +04:00
add `if` before the list of regexps,
2013-03-30 22:00:27 +04:00
add indented `account2 ` before the account name
* Non-unix-style line endings should now be accepted in journal and rules files.
* Querying by the code field (check number) is now supported using the `code:` prefix.
* Querying by amount is now supported using the `amt:` prefix.
It should be followed by `<` , `=` or `>` , and a number N, eg `amt:<0` or `amt:=100` .
For simple (single commodity) amounts, this matches if the amount's quantity has the specified relationship to N.
For multi-commodity amounts, it always matches.
If parsing fails, an error is raised.
This has not been tested for floating-point precision.
2013-04-02 01:25:38 +04:00
* *actual* & *effective dates* are now called *primary* & *secondary dates* .
2013-03-30 22:00:27 +04:00
Use --date2 to select the secondary date for reports (--effective or --aux-date are also accepted for compatibility).
* add: allow transaction codes or comments/tags to be entered (following a date or amount, respectively) (#45)
* add: entering < at any prompt restarts the current transaction (# 47 )
* add: show and confirm the entry before adding it to the journal
* add: use command line arguments as defaults for the first entry
* add: misc. ui cleanups
* balance: fix a 0.19 regression showing wrong total balance with balance --flat (#94)
* csv reader: rules files are now named "FILE.csv.rules" (instead of "FILE.rules")
* csv reader: parenthesised amounts as are parsed as negative
* journal reader: accept ! in the status field, as well as *
* journal reader: support per-posting dates
* journal reader: better comment & tag handling
* register: support the --related/-r flag to show other postings in the transaction
* register: support the --width/-w option to adjust register overall output width
* register: when --date2 is in effect, sort by that date
2013-04-09 23:53:21 +04:00
* web: yesod devel now works; it uses $LEDGER_FILE or ~/.hledger.journal
2013-03-30 22:00:27 +04:00
* web: add missing static & template files to package fixing cabal-dev and hackage builds (#97, #98 )
* web: fix some hardcoded static urls
* web: dependency updates, build fixes, GHC 7.6 compatibility
* web: serve a favicon (Yesod's)
* web: use normalise, bootstrap, and widgets
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
<!-- Days since last release: 109 \ -->
<!-- Commits since last release: 105 -->
2012-11-24 20:01:19 +04:00
## 2012/11/24 hledger-web 0.19.3
2012-11-24 19:39:51 +04:00
* web: fix "Prelude.read: no parse" errors with GHC >= 7.6
2012-11-24 20:04:35 +04:00
* web & lib refactoring
2012-11-17 08:15:19 +04:00
## 2012/11/16 hledger-web 0.19
* builds with yesod 1.1.3
* obeys command-line query options at startup again
* the autogenerated session file is now a dot file
(.hledger-web_client_session.aes)
## 2012/11/16 hledger 0.19.1
2012-11-17 08:16:54 +04:00
* [87 ](http://bugs.hledger.org/87 ): fix an arithmetic and transaction balancing bug with multiple
2012-11-17 08:15:19 +04:00
total-priced amounts ( @@ PRICE )
* parsing: ignore ledger-style balance assertions ( = BAL ) and fixed
lot price declarations ( {= PRICE} )
2012-10-22 02:19:34 +04:00
## 2012/10/21 hledger 0.19
* hledger, hledger-lib: support GHC 7.6 and latest cmdargs, haskeline, split
* balance report no longer has an O(n^2) slowdown with large numbers of accounts,
and is generally more speedy. Benchmark on a 2010 macbook:
+-------------------------------------------++--------------+--------------+--------+
| || hledger-0.18 | hledger-0.19 | ledger |
+===========================================++==============+==============+========+
| -f data/100x100x10.journal balance || 0.21 | 0.07 | 0.09 |
| -f data/1000x1000x10.journal balance || 10.13 | 0.47 | 0.62 |
| -f data/1000x10000x10.journal balance || 40.67 | 0.67 | 1.01 |
| -f data/10000x1000x10.journal balance || 15.01 | 3.22 | 2.36 |
| -f data/10000x1000x10.journal balance aa || 4.77 | 4.40 | 2.33 |
+-------------------------------------------++--------------+--------------+--------+
* build version is set with CPP instead of cabal-file-th
2012-07-08 04:24:19 +04:00
## 2012/7/7 hledger 0.18.2
* web: fix compilation error with -fblaze_html_0_5 flag
* bump base lower bound to 4.3 to enforce GHC 7 requirement
2012-06-30 02:51:23 +04:00
## 2012/6/29 hledger 0.18.1
* register, print: fix reverse ordering of same-day transactions
* balance: respect all query terms, not just acct
* combine command-line flags like --depth properly with non-flag query patterns
* web: don't auto-create a missing journal file at startup
* stats: list included journal files
* support tilde (~) in journal and rules file paths
* expose more utilities from CsvReader
* remove ensureRulesFile debug trace
2012-05-29 22:34:33 +04:00
## 2012/5/29 hledger 0.18
2012-05-14 23:23:27 +04:00
2012-05-29 22:34:33 +04:00
* web: hledger-web is now based on yesod 1.0
* web: fix js error breaking second use of add form ([#72](http://code.google.com/p/hledger/issues/detail?id=72))
2012-05-14 23:23:27 +04:00
* web: make `yesod devel` work
2012-05-29 22:34:33 +04:00
* the command-line now supports a more powerful [query language ](MANUAL.html#queries ), consistent with the web UI
* hledger now fully supports [tags ](MANUAL.html#tags ) (aka metadata) on both transactions and postings, and querying by tag or tag value
2012-05-29 04:53:06 +04:00
* new commands `incomestatement` , `balancesheet` , and `cashflow` provide basic financial statements under certain [conditions ](http://hledger.org/MANUAL.html#incomestatement )
* format conversion is now done on demand, and the convert command has been dropped. So instead of
`hledger convert FILE.csv` just do `hledger -f FILE.csv print` or any other command.
You can also pipe any supported format into `hledger -f- CMD` and hledger will try to do the right thing.
2012-05-29 22:34:33 +04:00
* support for GHC 6.12 has been dropped; this release has been tested with GHC 7.0.4, 7.2.2, and 7.4.1
* unicode is now handled properly on all supported GHC versions
2012-05-29 04:53:06 +04:00
* API and internal cleanups
2012-03-25 00:20:15 +04:00
2012-03-03 23:01:32 +04:00
## 2012/3/3 hledger-web 0.17.1
* set more upper bounds to fix cabal install issues with latest packages
2012-02-02 10:14:10 +04:00
## 2012/2/1 hledger 0.17
2012-01-31 09:23:25 +04:00
* support HP 2011.4.0.0
* support and require cmdargs 0.9
* allow non-threaded builds, supporting more debian architectures
* parsing: give a clearer error when journal file path contains ~
* parsing: -B/--cost now ignores P historical prices, like ledger
* parsing: inferred amounts now use the cost commodity if known, like ledger (#69)
* balance: report differently-priced lots in an account as a single amount, like ledger
* web: support and require yesod >= 0.9.4
* web: use the main aeson package again
* web: fix a regression with dollar signs in hamlet templates
* web: add form allowed blank account names (#81)
* chart, vty: hledger-chart and hledger-vty demoted to non-maintained extras for now
2012-11-17 08:15:19 +04:00
## 2011/11/1 HCAR
2011-11-01 09:44:48 +04:00
hledger is a library and end-user tool (with command-line, curses and web
interfaces) for converting, recording, and analyzing financial
transactions, using a simple human-editable plain text file format. It is
a haskell port and friendly fork of John Wiegley's Ledger, licensed under
GNU GPLv3+.
hledger aims to be a reliable, practical tool for daily use. It reports
charts of accounts or account balances, filters transactions by type,
helps you record new transactions, converts CSV data from your bank,
publishes your text journal with a rich web interface, generates simple
charts, and provides an API for use in your own financial scripts and
apps.
In the last six months there have been two major releases. 0.15 focussed
on features and 0.16 focussed on quality. Changes include:
- new modal command-line interface, extensible with hledger-* executables in the path
- more useful web interface, with real account registers and basic charts
- hledger-web no longer needs to create support files, and uses latest yesod & warp
- more ledger compatibility
- misc command enhancements, API improvements, bug fixes, documentation updates
- lines of code increased by 3k to 8k
- project committers increased by 6 to 21
Current plans include:
- Continue the release rhythm of odd-numbered = features, even-numbered =
quality/stability/polish, and releasing on the first of a month
- In 0.17, clean up the storage layer, allow rcs integration via
filestore, and read (or convert) more formats
- Keep working towards wider usefulness, improving the web interface and
providing standard financial reports
2011-10-26 21:31:34 +04:00
## 2011/10/26 hledger-web 0.16.5
* web: fix a ghc 6.12 incompatibility in Settings.hs
2011-10-24 21:50:32 +04:00
## 2011/10/24 hledger-web 0.16.4
* web: yet another cabal install fix, fix AppConfig name clash
2011-10-05 04:57:50 +04:00
## 2011/10/4 hledger-web 0.16.3
* web: another cabal install fix, disable favicon.ico since it's not easily embeddable
## 2011/10/4 hledger-web 0.16.2
* web: more cabal install fixes (remove bad path, add routes and models) (#63)
2011-10-05 03:59:05 +04:00
## 2011/10/4 hledger 0.16.1
* parsing: show correct line number for posting parse errors (#67)
* web: declare static files as extra-source-files to fix cabal install (#63)
* web: add a threaded flag for debian (#68)
* web: fewer build warnings by default
2011-10-01 21:16:24 +04:00
## 2011/10/1 hledger 0.16
2011-09-25 22:28:10 +04:00
2011-11-01 09:44:24 +04:00
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/521 )
2011-09-25 22:28:10 +04:00
* cli: strip the -- when calling add-on commands, so their options work (#64)
2011-09-26 21:38:54 +04:00
* cli: hledger ADDON --version now shows add-on command's version
2011-09-25 22:28:10 +04:00
* cli: only the add and web commands auto-create the journal file
2011-10-01 21:16:24 +04:00
* cli: give a non-confusing error if LEDGER_FILE contains a literal tilde
2011-09-25 22:28:10 +04:00
* add: clearer prompts, more validation, use . to end also
2011-10-01 21:16:24 +04:00
* add: use unix line endings consistently, avoiding parse error on windows (#51)
2011-09-25 22:28:10 +04:00
* add: avoid excess whitespace between transactions (#46)
* balance: ledger compatibility fix: don't elide parent accounts with multiple displayed subaccounts
* convert: always order converted transactions by date
2011-10-01 21:16:24 +04:00
* convert: rename currency -> base-currency, in-field, out-field -> amount-in-field, amount-out-field
* convert: give an error, not a zero when date or amount-in-field/amount-out-field parsing fails
2011-09-25 22:28:10 +04:00
* register: show more useful range of intervals with --empty and a query pattern
* print, web: always show both dates, ignoring --effective (#42)
2011-09-19 18:12:51 +04:00
* web: production builds (the default with cabal) have all web content embedded (dev builds use ./static/) (#63)
* web: update to yesod 0.9
2011-10-01 21:16:24 +04:00
* web: obey at least some of the general reporting options, like --cost
2011-09-25 22:28:10 +04:00
* web: adjust the default base url when a custom port is specified
* web: prevent an infinite redirect when custom base url has a trailing slash
* web: fix "not:'multi word'" patterns
* web: hide old title and search form when adding/editing
2011-09-19 18:12:51 +04:00
* web: adjust --help to indicate command-line arguments are not expected
* web: don't bother running cli unit tests at startup
2011-09-26 21:38:54 +04:00
## 2011/9/12 hledger 0.15.2, hledger-web 0.15.3
2011-09-13 02:52:43 +04:00
* handle multiple filter patterns on the command-line again
2011-09-25 22:28:10 +04:00
* don't pass an add-on command's name to it as an extra argument
2011-09-13 02:52:43 +04:00
* don't give a confusing error with -f and no command
* fix a regression balancing a transaction containing different prices
* web: fix journal edit form
* web: fix wrong transaction amount in account register with virtual postings
* web: fix some invalid html
2011-09-26 21:38:54 +04:00
## 2011/9/2 hledger 0.15.1, hledger-web 0.15.2
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/479 )
2011-09-02 23:32:27 +04:00
* fix a parsec 2 incompatibility
2011-09-02 21:56:24 +04:00
* web: add missing Hledger.Web.Options to cabal file
* web: tighten up dependencies to reduce build problems
2011-09-26 21:38:54 +04:00
## 2011/9/1 hledger 0.15
[announcement ](https://groups.google.com/forum/#!topic/hledger/-WCfnRFVaf0/discussion )
2011-08-20 23:18:35 +04:00
2011-08-30 15:38:54 +04:00
* hledger's options are now modal, providing better help (using cmdargs)
* hledger now lists and runs any hledger-* add-ons found in the user's path
* case insensitivity of filter patterns has been fixed
2011-08-26 03:20:50 +04:00
* parsing: `alias` /`end aliases` directives, for renaming accounts, are supported, like ledger's but a bit more powerful; also an `--alias` option for renaming on the fly
* parsing: the `account` directive now preserves posting type (normal/virtual/balanced virtual)
* parsing: the `pop` directive is supported as an alias for `end tag` , like ledger
2011-08-30 15:38:54 +04:00
* parsing: `P` (historical price) directives can contain a (ignored) numeric time zone, like ledger
2011-08-26 03:20:50 +04:00
* parsing: the leading `!` in directives is now optional and deprecated, like ledger
2011-08-20 23:18:35 +04:00
* parsing: entries with a negative amount in the first posting now infer the correct balancing amount
2011-08-26 03:20:50 +04:00
* parsing: bad date checking is more accurate
2011-08-30 15:38:54 +04:00
* balance: collapsing of boring accounts to one line can be disabled with `--no-elide`
2011-08-31 20:58:57 +04:00
* balance: fix a wrong precision regression from last release
2011-08-30 15:38:54 +04:00
* convert: standard input can be converted
* convert: an alternate rules file can be specified with `--rules`
2011-08-26 03:20:50 +04:00
* convert: `account2-field` can be used when the CSV file specifies both accounts
* convert: `description-field` can have a custom format and combine multiple CSV fields
* convert: `in-field` and `out-field` support CSV files that use two amount columns
2011-08-30 15:38:54 +04:00
* convert: don't fail when there's no default journal file
2011-08-26 03:20:50 +04:00
* web: the web interface has been overhauled/cleaned up
2011-08-20 23:18:35 +04:00
* web: account register views are now transaction-based, like gnucash etc., and show accurate historical balances when possible
2011-08-26 03:20:50 +04:00
* web: simple balance charts are displayed (using flot)
* web: more expressive and consistent search patterns, using a new matching engine
2011-08-20 23:18:35 +04:00
* web: add form uses currently focussed account as default, redirects to itself, formats status messages better
* web: sidebar now shows empty/boring accounts too
2011-08-26 03:20:50 +04:00
* web: now uses warp and a newer yesod
2011-08-20 23:18:35 +04:00
* api simplifications
* importable Hledger, Hledger.Web, Hledger.Vty and Hledger.Chart modules
* the basic reports are now provided by hledger-lib for easier reuse
2011-08-30 15:38:54 +04:00
* new api use examples: `equity.hs` , `uniquify.hs`
2011-08-20 23:18:35 +04:00
* some old base 3 support has been dropped
2011-08-26 03:20:50 +04:00
* the old -s flag has been dropped
2011-08-20 23:18:35 +04:00
2012-11-17 08:15:19 +04:00
## 2011/05 HCAR
2011-10-09 21:40:57 +04:00
hledger is a haskell port and friendly fork of John Wiegley's ledger. It
is a robust command-line accounting tool with a simple human-editable data
format. Given a plain text file describing transactions, of money or any
other commodity, hledger will print the chart of accounts, account
balances, or transactions you're interested in. It can also help you
record transactions, or convert CSV data from your bank. There are also
curses and web interfaces. The project aims to provide a reliable,
practical day-to-day financial reporting tool, and also a useful library
for building financial apps in haskell.
Since hledger's last HCAR entry in 2009, hledger became cabalised, had 10
non-bugfix releases on hackage, split into multiple packages, acquired a
public mailing list, bug tracker, fairly comprehensive manual,
cross-platform binaries, and has grown to 5k lines of code and 15
committers. 0.14 has just been released, with 5 code committers.
The project is available under the GNU GPLv3 or later, at http://hledger.org .
Current plans are to continue development at a steady pace, to attract
more developers, and to become more useful to a wider range of users, eg
by building in more awareness of standard accounting procedures and by
improving the web and other interfaces.
2011-09-26 21:38:54 +04:00
## 2011/4/22 hledger 0.14
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/383 )
2011-04-22 22:45:58 +04:00
* remove the specific process dependency that caused too many cabal install problems
2011-04-18 21:32:59 +04:00
* treat arguments as possibly-encoded platform strings, do not assume UTF-8
2011-04-22 22:45:58 +04:00
* hledger now always reads and writes data as UTF-8, ignoring the system locale (#34)
* look at the LEDGER_FILE env var for the journal path, otherwise LEDGER, like ledger
2011-04-18 11:28:10 +04:00
* handle a blank LEDGER_FILE or LEDGER value more gracefully (use the default file path)
2011-04-18 21:32:59 +04:00
* the default journal file path is now ~/.hledger.journal, to avoid breaking mac filevault (#41)
2011-04-22 18:05:48 +04:00
* amounts with different prices are now aggregated, like ledger
2011-04-22 22:45:58 +04:00
* zero amounts now have no sign or commodity, like ledger
2011-04-18 01:58:14 +04:00
* parsing: assume current year when transaction dates have no year and there is no default year
2011-04-22 18:05:48 +04:00
* parsing: more careful validation of eg leap years in transaction dates
2011-01-20 04:07:56 +03:00
* parsing: better international number format support, allowing comma as decimal point and flexible digit groups (#32)
* parsing: support @@ syntax specifying total price
2011-04-18 11:28:10 +04:00
* parsing: infer the conversion price in transactions involving two unpriced commodities
2011-01-20 04:07:56 +03:00
* parsing: support per-posting cleared status
* parsing: more reporting interval syntax: biweekly, bimonthly, every N days/weeks/months/quarters/years, every Nst/nd/rd/th day of month/week
2011-04-22 22:45:58 +04:00
* add: avoid offering account names for completion in inappropriate contexts
2011-04-18 11:28:10 +04:00
* add: remember default account even if user submits a different amount.
2011-04-18 21:32:59 +04:00
* convert: account-field directive specifies a field containing the base account name
* convert: effective-date-field directive specifies a field containing the effective date
* convert: date-format directive specifies custom date formats
2011-04-18 11:28:10 +04:00
* convert: allow amount fields containing "AMT @@ PRICE"
2011-01-20 04:07:56 +03:00
* histogram: honour the specified start or end dates
* print: don't show a trailing space when description is blank
* web: allow filter patterns with spaces if quoted, like command line
2011-01-21 06:45:47 +03:00
* web: make edit form more cross-browser compatible, fixing it in firefox (#38)
* web: move hidden add/edit/import forms below main content to help text-mode browsers a bit (#33)
2011-04-18 11:28:10 +04:00
Release contributors: Simon Michael, Dmitry Astapov, Eric Kow, Max Bolingbroke, Omari Norman.
2011-04-22 22:45:58 +04:00
Stats:
137 days, 113 commits, 11 end-user features and 15 end-user bugfixes since last release.
189 unit & functional tests and 59% unit test coverage (hledger, hledger-lib packages).
5540 lines of code (all packages).
2011-01-20 04:07:56 +03:00
2011-09-26 21:38:54 +04:00
## 2010/12/6 hledger 0.13
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/296 )
2010-12-06 00:14:18 +03:00
* move web, vty, chart commands into separate hledger-web, hledger-vty,
hledger-chart packages. This both simplifies (no more build flags) and
complicates (more room for dependency hassles), but I hope overall it
will be easier and more scalable.
* all packages but chart are now marked "beta", ie "not finished but
suitable for everyday use"
* parsing: ledger compatibility: support D default commodity directive
* parsing: ledger compatibility: ignore metadata tags on transactions and postings
* parsing: ledger compatibility: ignore cleared flags at the start of postings
* parsing: ledger compatibility: ignore C commodity conversion directives
2010-12-06 01:26:11 +03:00
* parsing: price precisions no longer affect commodities' display precisions
* add: readline-style editing
* add: tab-completion for account names
2010-12-06 00:14:18 +03:00
* add: add the default commodity, if any, to commodity-less amounts (#26)
2010-12-06 01:26:11 +03:00
* add: misc. commodity/precision/defaults-related bugfixes
2010-12-06 00:14:18 +03:00
* chart: give a meaningful error message for empty journals
2010-12-06 01:26:11 +03:00
* chart: update for current Chart lib (0.14)
2010-12-07 04:55:01 +03:00
* web: support files now live in ./.hledger/web/ and will be auto-created at startup
2010-12-06 00:14:18 +03:00
* web: page layout is more robust with wide content
2010-12-06 01:26:11 +03:00
* web: allow editing of included files
2010-12-06 00:14:18 +03:00
* web: handle multiple filter patterns correctly
* web: allow single- or double-quoted filter patterns containing spaces
2010-12-06 01:26:11 +03:00
* web: update for current yesod lib (0.6.*)
2010-12-06 00:14:18 +03:00
* transaction balancing is now based on display precision (#23)
* briefer, more informative usage error messages
2011-09-26 21:38:54 +04:00
## 2010/9/6 hledger 0.12.1
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/272 )
2010-09-07 00:13:23 +04:00
* web: fix account filtering breakage
* installing: tighten up utf8-string dependency
2010-09-06 02:45:32 +04:00
## 2010/9/5 hledger 0.12
2010-09-07 00:13:23 +04:00
* web: new, better web ui; accounts are now a permanent sidebar; add form uses auto-completing combo fields
2010-09-06 02:45:32 +04:00
* installing: fix a build error with parsec 3 (#22)
* installing: require exactly matching hledger-lib version for more robust builds
* installing: explicit data-object dependency to ensure hledger and hledger-lib use the same time version
2010-09-07 00:13:23 +04:00
* installing: explicit hamlet dependency for more robust building
2010-09-06 02:45:32 +04:00
* installing: build threaded and with warnings
* installing: drop -fweb610 flag
* installing: add gtk2hs-buildtools dependency needed to build with -fchart
2010-09-07 00:13:23 +04:00
* installing: require cabal 1.6 or greater
2010-09-06 02:45:32 +04:00
* add -D/--daily flag
* register: with --depth, clip account names or aggregate postings rather than excluding them
* fix !include with deeply nested directories (#21)
* fix obscured date parse errors with parsec 3
* handle unicode better in errors
* fix a ghc 6.12.3 error when running interpreted
2010-09-07 00:13:23 +04:00
Stats: 50 days and 90 commits since last release, now at 5741
lines of code with 136 tests and 41% unit test coverage.
2010-09-06 02:30:20 +04:00
## 2010/07/17 hledger 0.11.1
2010-07-18 02:04:39 +04:00
* fix --version output
2011-09-26 21:38:54 +04:00
## 2010/07/17 hledger 0.11
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/253 )
2010-07-14 11:07:55 +04:00
2010-09-06 02:30:20 +04:00
* split --help, adding --help-options and --help-all/-H, and make
it the default command
* use "journal" instead of "ledger file"; default suffix is
.journal, default file is \~/.journal
2010-07-14 11:07:55 +04:00
* auto-create missing journal files rather than giving an error
2010-09-06 02:30:20 +04:00
* new format-detecting file reader (mixed journal transactions
and timelog entries are no longer supported)
* work around for first real-world rounding issue (test zero to 8
decimal places instead of 10)
* when reporting a balancing error, convert the error amount to
cost
* parsing: support double-quoted commodity symbols, containing
anything but a newline or double quote
* parsing: allow minus sign before commodity symbol as well as
after (also fixes a convert bug)
2010-07-14 11:07:55 +04:00
* parsing: fix wrong parse error locations within postings
2010-09-06 02:30:20 +04:00
* parsing: don't let trailing whitespace in a timelog description
mess up account names
2010-07-18 01:03:53 +04:00
* add: allow blank descriptions
2010-07-14 11:07:55 +04:00
* balance: --flat provides a simple non-hierarchical format
2010-09-06 02:30:20 +04:00
* balance: --drop removes leading account name components from a
--flat report
* print, register, balance: fix layout issues with
mixed-commodity amounts
2010-07-14 11:07:55 +04:00
* print: display non-simple commodity names with double-quotes
* stats: layout tweaks, add payee/description count
* stats: don't break on an empty file
2010-09-06 02:30:20 +04:00
* stats: -p/--period support; a reporting interval generates
multiple reports
2010-07-14 11:07:55 +04:00
* test: drop verbose test runner and testpack dependency
2010-09-06 02:30:20 +04:00
* web: a new web ui based on yesod, requires ghc 6.12; old ghc
6.10-compatible version remains as -fweb610
2010-07-17 05:26:27 +04:00
* web: allow wiki-like journal editing
2010-09-06 02:30:20 +04:00
* web: warn and keep running if reloading the journal gives an
error
* web: --port and --base-url options set the webserver's tcp port
and base url
* web: slightly better browser opening on microsoft windows,
should find a standard firefox install now
* web: in a web-enabled build on microsoft windows, run the web
ui by default
2010-07-14 11:07:55 +04:00
2010-09-06 02:30:20 +04:00
Stats: 55 days and 136 commits since last release. Now at 5552
lines of code with 132 tests and 54% unit test coverage.
2010-07-14 11:07:55 +04:00
2011-09-26 21:38:54 +04:00
## 2010/05/23 hledger 0.10
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/242 )
2010-05-17 18:29:05 +04:00
2010-05-24 03:05:16 +04:00
* fix too-loose testpack dependency, missing safe dependency
* fix ghc 6.12 compatibility with -fweb
* fix handling of non-ascii arguments with ghc 6.12
* fix "0.8" in --version output
2010-09-06 02:30:20 +04:00
* fix an occasional stack overflow error due to infinite
recursion in Posting/Transaction equality tests
* the -fwebhappstack build flag is gone for now, to avoid a cabal
problem
* parsing: if there is no description, don't require a space
after the transaction date
* parsing: balance balanced-virtual postings separately, allow
them to have an implicit amount
* parsing: timelog entries now generate balanced transactions,
using virtual postings
2010-05-24 03:05:16 +04:00
* parsing: simpler high-level parse error message
2010-05-17 18:29:05 +04:00
* parsing: clearer bad date errors
* add: fix wrongful program exit on bad dates
2010-09-06 02:30:20 +04:00
* print: negative account patterns now exclude transactions
containing any posting to a matched account
2010-05-24 03:05:16 +04:00
* vty: rename the ui command to vty for consistency
* vty: fix restricted account scope when backing up to top level
* web: fix non-ascii handling with ghc 6.12
* web: fix a bug possibly affecting reload-on-change
* consolidate module namespace under Hledger, api cleanups
2010-09-06 02:30:20 +04:00
Stats: 44 days, 81 commits since last release. Now at 4904 lines of
code including tests, 144 tests, 53% coverage.
2010-05-17 18:29:05 +04:00
2011-09-26 21:38:54 +04:00
## 2010/04/10 hledger 0.9
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/239 )
2010-04-10 04:24:20 +04:00
* ghc 6.12 support
* split off hledger-lib package, containing core types & utils
2010-09-06 02:30:20 +04:00
* parsing: ignore D, C, N, tag, end tag directives; we should now
accept any ledger 2.6 file
* parsing: allow numbers in commodities if double-quoted, like
ledger
2010-04-10 04:24:20 +04:00
* parsing: allow transactions with empty descriptions
2010-09-06 02:30:20 +04:00
* parsing: show a better error for illegal month/day numbers in
dates
* parsing: don't ignore trailing junk in a smart date, eg in web
add form
2010-04-10 04:24:20 +04:00
* parsing: don't ignore unparsed text following an amount
* parsing: @ was being treated as a currency symbol
2010-09-06 02:30:20 +04:00
* add: fix precision handling in default amounts (\#19)
2010-04-10 04:24:20 +04:00
* add: elide last amount in added transactions
2010-09-06 02:30:20 +04:00
* convert: keep original description by default, allow
backreferences in replace pattern
* convert: basic csv file checking, warn instead of dying when it
looks wrong
2010-04-10 04:24:20 +04:00
* convert: allow blank/comment lines at end of rules file
2010-09-06 02:30:20 +04:00
* print: always show zero amounts as 0, hiding any
commodity/decimal places/price, like ledger
2010-04-10 04:24:20 +04:00
* register: fix bad layout with years < 1000
2010-09-06 02:30:20 +04:00
* register: fix a Prelude.head error with reporting interval,
--empty, and --depth
* register: fix a regression, register should not show posting
comments
* register: with --empty, intervals should continue to ends of
the specified period
2010-04-10 04:24:20 +04:00
* stats: better output when last transaction is in the future
2010-09-06 02:30:20 +04:00
* stats: show commodity symbols, account tree depth, reorder
slightly
* web: -fweb now builds with simpleserver; to get happstack, use
-fwebhappstack instead
2010-04-10 04:24:20 +04:00
* web: pre-fill the add form with today's date
* web: help links, better search form wording
2010-09-06 02:30:20 +04:00
* web: show a proper error for a bad date in add form (\#17)
2010-04-10 04:24:20 +04:00
* web: fix for unicode search form values
2010-09-06 02:30:20 +04:00
* web: fix stack overflow caused by regexpr, and handle requests
faster (\#14)
2010-04-10 04:24:20 +04:00
* web: look for more-generic browser executables
2010-09-06 02:30:20 +04:00
* web: more robust browser starting (\#6)
2010-04-10 04:24:20 +04:00
* error message cleanups
* more tests, refactoring, docs
2010-09-06 02:30:20 +04:00
Stats: 58 days, 2 contributors, 102 commits since last release. Now
at 3983 lines of non-test code, 139 tests, 53% coverage.
2010-04-10 04:24:20 +04:00
2011-09-26 21:38:54 +04:00
## 2010/02/11 hledger 0.8
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/210 )
2010-02-12 03:57:40 +03:00
2010-09-06 02:30:20 +04:00
* parsing: in date=date2, use first date's year as a default for
the second
2010-02-12 03:57:40 +03:00
* add: ctrl-d doesn't work on windows, suggest ctrl-c instead
2010-09-06 02:30:20 +04:00
* add: --no-new-accounts option disallows new accounts (Roman
Cheplyaka)
* add: re-use the previous transaction's date as default (Roman
Cheplyaka)
* add: a command-line argument now filters by account during
history matching (Roman Cheplyaka)
* chart: new command, generates balances pie chart (requires
-fchart flag, gtk2hs) (Roman Cheplyaka, Simon Michael)
* register: make reporting intervals honour a display expression
(\#18)
2010-02-12 03:57:40 +03:00
* web: fix help link
* web: use today as default when adding with a blank date
2010-09-06 02:30:20 +04:00
* web: re-enable account/period fields, they seem to be fixed,
along with file re-reading (\#16)
* web: get static files from the cabal data dir, or the current
dir when using make (\#13)
* web: preserve encoding during add, assuming it's utf-8 (\#15)
* fix some non-utf8-aware file handling (\#15)
* filter ledger again for each command, not just once at program
start
2010-02-12 03:57:40 +03:00
* refactoring, clearer data types
2010-09-06 02:30:20 +04:00
Stats: 62 days, 2 contributors, 76 commits since last release. Now
at 3464 lines of non-test code, 97 tests, 53% test coverage.
2011-09-26 21:38:54 +04:00
## 2009/12/11 hledger 0.7
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/193 )
2010-09-06 02:30:20 +04:00
* price history support (first cut): P directives now work,
though differently from c++ ledger. Each posting amount takes its
fixed unit price from the price history (or
@) when available. This is simple and useful for things like
foreign currency expenses (but not investment tracking). Like
ledger, balance and register don't show amount prices any more, and
don't separate differently-priced amounts. Unlike ledger, print
shows all amount prices, and supports -B.
* --effective option, will use transactions' effective dates if
any
* convert: new rules file format, find/create rules file
automatically, more robust parsing, more useful --debug output
* print: always sort by date, fix long account name truncation,
align amounts, show end of line comments, show all amounts for
clarity (don't elide the final balancing amount)
* ui: use vty 4, fixes non-ascii and gnome terminal problems
(issues \#3, \#4)
* web: allow data entry, react to data file changes, better
layout, help links, remove histogram command and filter fields for
now, fix bad localhost redirect, filter form did not work in eg
firefox (issue \#7), reset link did not work in all browsers
* parsing: require whitespace between date and status code, allow
(and ignore) a time in price records, better error messages,
non-zero exit code on parse failure
* display non-ascii error messages properly (issue \#5)
* fix an arithmetic bug that occasionally rejected valid
transactions
2009-12-05 03:08:51 +03:00
* fix a regex bug in showtree
* don't break if HOME is undefined
* --debug now implies --verbose
2010-09-06 02:30:20 +04:00
* add functional tests like ledger's, use test-framework for
speedy running, release shelltestrunner as a separate package
2009-12-12 11:42:03 +03:00
* many hlint cleanups (Marko Kocić)
2009-12-12 06:04:55 +03:00
* many site and documentation updates
2009-12-05 03:08:51 +03:00
2010-09-06 02:30:20 +04:00
Stats: 60 days, 1 contributor, 50 commits since last release. Now
at 3377 lines of non-test code, 97 tests, 53% test coverage.
2009-12-05 03:08:51 +03:00
2011-09-26 21:38:54 +04:00
## 2009/06/22 hledger 0.6.1
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/156 )
2010-02-12 03:57:40 +03:00
2010-09-06 02:30:20 +04:00
* avoid use of exitSuccess which was breaking ghc 6.8/base 3
compatibility (issue \#2)
2009-06-22 22:21:05 +04:00
2011-09-26 21:38:54 +04:00
## 2009/06/13 hledger 0.6
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.general/1215 )
2010-02-12 03:57:40 +03:00
2010-09-06 02:30:20 +04:00
* now cabal-installable on unix, mac, and windows, with Haskell
Platform
2009-06-13 23:35:40 +04:00
* provide experimental platform binaries
2010-09-06 02:30:20 +04:00
* parsing: fix a silly failure to open ledger file paths
containing \~
* parsing: show better errors for unbalanced transaction and
missing default year
* parsing: allow parentheses and brackets inside account names,
as ledger does
* parsing: fail on empty account name components, don't just
ignore
* add: description passed as arguments now affects first
transaction only
2009-06-13 23:35:40 +04:00
* add: better handling of virtual postings and default amounts
* print, register: show virtual accounts bracketed/parenthesised
2010-09-06 02:30:20 +04:00
* web: improved web ui supporting full patterns & period
expressions
2009-06-13 23:35:40 +04:00
* new "stats" command reports some ledger statistics
* many dev/doc/deployment infrastructure improvements
* move website into darcs repo, update home page
* move issue tracker to google code
Release stats:
* Contributors: Simon Michael
* Days since last release: 21
* Commits: 94
* Lines of non-test code: 2865
* Tests: 82
* Test coverage: 53% expressions
* Known errors: 3 (inconsistent eliding, vty-related failures)
2010-09-06 02:30:20 +04:00
* Performance: similar
(http://hledger.org/profs/200906131120.bench)
## 2009/05/23 hledger 0.5.1
* two fixes: really disable vty flag by default, and include
ConvertCommand in cabal file
2011-09-26 21:38:54 +04:00
## 2009/05/23 hledger 0.5
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.general/1181 )
2010-09-06 02:30:20 +04:00
* the vty flag is disabled by default again, to ease installation
on windows
* use ledger 3 terminology: a ledger contains transactions which
contain postings
* new "add" command prompts for transactions interactively and
adds them to the ledger
* new "convert" command transforms bank CSV exports to ledger
format, with rule-based cleanup
* new "histogram" command shows transaction counts per day or
other reporting interval
* most commands now work properly with UTF8-encoded text (Sergey
Astanin)
* invoking as "hours" is now less different: it just uses your
timelog, not your ledger
2009-06-02 10:20:19 +04:00
* ..quarterly/-Q option summarises by quarter
* ..uncleared/-U option looks only at uncleared transactions
2010-09-06 02:30:20 +04:00
* be more accurate about checking balanced amounts, don't rely on
display precision
2009-05-24 03:51:57 +04:00
* enforce balancing for bracketed virtual postings
* fix bug in eliding of posting amounts
* don't show trailing spaces on amountless postings
* parse null input as an empty ledger
* don't treat comments as part of transaction descriptions
* require some postings in ledger transactions
* require a non-empty description in ledger transactions
* don't fail when matching an empty pattern, as in "not:"
* make the web server handle the null path
* code, api and documentation updates
* add a contributor agreement/list
Release stats:
2009-06-02 10:20:19 +04:00
* Contributors: Simon Michael, Sergey Astanin
2009-05-24 03:51:57 +04:00
* Days since last release: 51
* Commits: 101
* Lines of non-test code: 2795
* Tests: 76
2009-06-02 10:20:19 +04:00
* Known errors: 0
2010-02-13 23:24:52 +03:00
2012-11-17 08:15:19 +04:00
## 2009/05 HCAR
2011-10-09 21:40:57 +04:00
hledger is a (primarily) command-line accounting tool similar to John
Wiegley's "ledger". It reads a plain text journal file describing money
or commodity transactions, or timelog entries, and generates precise
activity and balance reports.
Since the last report, hledger has reached release 0.4 on Hackage. It has
60 test cases, new features such as basic curses and web-based interfaces,
and has had some performance tuning. It is now quite useful for day to day
reporting of money and time. Also, the project has a new web address
(hledger.org), and has attracted two new committers.
2011-09-26 21:38:54 +04:00
## 2009/04/03 hledger 0.4
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.general/1097 )
2009-05-24 03:51:57 +04:00
2010-09-06 02:30:20 +04:00
* new "web" command serves reports in a web browser (install with
-f happs to build this)
* make the vty-based curses ui a cabal build option, which will
be ignored on MS windows
2009-06-02 10:20:19 +04:00
* drop the ..options-anywhere flag, that is now the default
2010-09-06 02:30:20 +04:00
* patterns now use not: and desc: prefixes instead of \^ and \^\^
2009-04-02 13:42:29 +04:00
* patterns are now case-insensitive, like ledger
2010-09-06 02:30:20 +04:00
* !include directives are now relative to the including file (Tim
Docker)
* "Y2009" default year directives are now supported, allowing m/d
dates in ledger
2009-04-02 13:42:29 +04:00
* individual transactions now have a cleared status
2009-04-03 03:02:12 +04:00
* unbalanced entries now cause a proper warning
2009-04-02 13:42:29 +04:00
* balance report now passes all ledger compatibility tests
* balance report now shows subtotals by default, like ledger 3
2009-04-03 03:02:12 +04:00
* balance report shows the final zero total when -E is used
2009-06-02 10:20:19 +04:00
* balance report hides the final total when ..no-total is used
2010-09-06 02:30:20 +04:00
* ..depth affects print and register reports (aggregating with a
reporting interval, filtering otherwise)
2009-04-03 03:02:12 +04:00
* register report sorts transactions by date
* register report shows zero-amount transactions when -E is used
2010-09-06 02:30:20 +04:00
* provide more convenient timelog querying when invoked as
"hours"
2009-04-02 13:42:29 +04:00
* multi-day timelog sessions are split at midnight
2010-09-06 02:30:20 +04:00
* unterminated timelog sessions are now counted. Accurate time
reports at last!
2009-06-02 10:20:19 +04:00
* the test command gives better ..verbose output
2010-09-06 02:30:20 +04:00
* ..version gives more detailed version numbers including
patchlevel for dev builds
* new make targets include: ghci, haddocktest, doctest, unittest,
view-api-docs
* a doctest-style framework for functional/shell tests has been
added
2009-04-02 13:50:20 +04:00
2009-06-02 10:20:19 +04:00
Release stats:
2009-04-02 13:42:29 +04:00
2010-09-06 02:30:20 +04:00
* Contributors: Simon Michael, Tim Docker; thanks to the HAppS,
happstack and testpack developers
2009-06-02 10:20:19 +04:00
* Days since release: 76
* Commits: 144
* Lines of non-test code: 2367
* Tests: 56
* Known errors: 0
2010-02-13 23:24:52 +03:00
2011-09-26 21:38:54 +04:00
## 2009/01/17 hledger 0.3
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.hledger/67 )
2009-01-18 00:03:49 +03:00
2010-09-06 02:30:20 +04:00
* count timelog sessions on the day they end, like ledger, for
now
2009-01-18 00:03:49 +03:00
* when options are repeated, use the last instead of the first
* builds with ghc 6.10 as well as 6.8
2009-01-18 00:12:18 +03:00
* a simple ui for interactive report browsing: hledger ui
2010-09-06 02:30:20 +04:00
* accept smart dates everywhere (YYYYMMDD, Y/M/D, Y, M/D, D, jan,
today, last week etc.)
* ..period/-p flag accepting period expressions like "in 2008",
"weekly from last month"..
* -W/-M/-Y convenience flags to summarise register weekly,
monthly, yearly
* ..depth and -E flags also affect summarised register reports
(including depth=0)
* ..display/-d flag supporting date predicates (like "d< [DATE]",
"d\>=[DATE]")
2009-01-18 00:03:49 +03:00
* !include directive to include additional ledger files
* !account directive to set a default parent account
* Added support for reading historical prices from files
* timelog and ledger entries can be intermixed in one file
2010-09-06 02:30:20 +04:00
* modifier and periodic entries can appear anywhere (but are
still ignored)
2009-01-18 00:03:49 +03:00
* help and readme improvements
2009-06-02 10:20:19 +04:00
* runs much faster than 0.2
2009-01-18 00:03:49 +03:00
2009-06-02 10:20:19 +04:00
Release stats:
2009-01-18 00:03:49 +03:00
2010-09-06 02:30:20 +04:00
* Contributors: Simon Michael, Nick Ingolia, Tim Docker; thanks
to Corey O'Connor & the vty team
2009-01-18 01:07:07 +03:00
* Lines of non-test code: 2123
2009-06-02 10:20:19 +04:00
* Tests: 58
* Known errors: 1
2010-02-13 23:24:52 +03:00
2011-09-26 21:38:54 +04:00
## 2008/11/23 hledger 0.2
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.general/826 )
2008-11-24 00:49:41 +03:00
* fix balance report totals when filtering by account
2010-09-06 02:30:20 +04:00
* fix balance report selection of accounts when filtering by
account
2008-11-24 00:49:41 +03:00
* fix a bug with account name eliding in balance report
2010-09-06 02:30:20 +04:00
* if we happen to be showing a not-yet-auto-balanced entry, hide
the AUTO marker
2008-11-24 00:49:41 +03:00
* fix print command filtering by account
* omit transactions with zero amount from register report
* Fix bug in parsing of timelogs
2009-06-02 10:20:19 +04:00
* rename ..showsubs to ..subtotal, like ledger
* drop ..usage flag
2008-11-24 00:49:41 +03:00
* don't require quickcheck
2010-09-06 02:30:20 +04:00
* priced amounts (eg "10h @ $50") and ..basis/..cost/-B flag to
show them with cost basis
2009-06-02 10:20:19 +04:00
* easy ..depth option, equivalent to c++ ledger's -d 'l< =N'
2010-09-06 02:30:20 +04:00
* smarter y/m/d date parsing for -b and -e (any number of digits,
month and day default to 1, separator can be / - or .)
2008-11-24 00:49:41 +03:00
* -n flag for balance command
2009-06-02 10:20:19 +04:00
* ..empty/-E flag
2008-11-24 00:49:41 +03:00
* build a library, as well as the exe
* new home page url (http://joyful.com/hledger)
* publish html and pdf versions of README
* detect display preferences for each commodity like c++ ledger
* support amounts with multiple currencies/commodities
2009-06-02 10:20:19 +04:00
* support ..real/-R flag
2010-09-06 02:30:20 +04:00
* support -C/..cleared flag to filter by entry status (not
transaction status)
2008-11-24 00:49:41 +03:00
* support virtual and balanced virtual transactions
2010-09-06 02:30:20 +04:00
* parse comment lines beginning with a space, as from M-; in
emacs ledger-mode
* allow any non-whitespace in account names, perhaps avoiding
misleading missing amounts errors
2008-11-24 00:49:41 +03:00
* clearer error message when we can't balance an entry
2010-09-06 02:30:20 +04:00
* when we fail because of more than one missing amount in an
entry, show the full entry
2009-06-02 10:20:19 +04:00
* document the built-in test runner in ..help
2010-09-06 02:30:20 +04:00
* add a ..verbose/-v flag, use it to show more test-running
detail
2008-11-24 00:49:41 +03:00
2009-06-02 10:20:19 +04:00
Release stats:
2009-01-18 00:03:49 +03:00
2009-06-02 10:20:19 +04:00
* Contributors: Simon Michael, Tim Docker
2009-01-18 00:03:49 +03:00
* Lines of non-test code: 1350
2009-06-02 10:20:19 +04:00
* Tests: 43
* Known errors: 0
2009-01-18 00:03:49 +03:00
2012-11-17 08:15:19 +04:00
## 2008/11 HCAR
2011-10-09 21:40:57 +04:00
hledger is a command-line accounting tool similar to John Wiegley’ s ledger tool.
The first release has been published on Hackage, and has attracted some
interest. It can be used for generating simple balance and transaction
reports from a plain-text general ledger. A home page and mail list has
also been created.
Immediate plans are to add some more of the most useful features from c++
ledger, so that hledger can be used for day-to-day finances, and to grow
the community of contributors.
2011-09-26 21:38:54 +04:00
## 2008/10/15 hledger 0.1
[announcement ](http://thread.gmane.org/gmane.comp.finance.ledger.general/775 )
2008-11-24 00:49:04 +03:00
2009-06-02 10:20:19 +04:00
Release stats:
2008-11-24 00:49:04 +03:00
2009-06-02 10:20:19 +04:00
* Contributors: Simon Michael