hledger news ============ 2009/07/01 hledger 0.7 ........................ * 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 symbol display (issue #3) * 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 (prevents silent effective date breakage), return non-zero exit code on parse failure, allow (and ignore) a time in price records, better error messages * handle utf8 properly in error messages (issue #5) * fix an arithmetic bug that occasionally rejected valid transactions * fix a regex bug in showtree * don't break if HOME is undefined * --debug now implies --verbose * add functional tests like ledger's, use test-framework for speedy running, release shelltestrunner as a separate package * many hlint cleanups (Marko Kocic) * many site and documentation updates Stats: 2 contributors, 175 days since release, 182 commits, 3320 non-test code lines, 97 tests, 53% test coverage, performance: similar (http://hledger.org/profs/200912111852.bench) 2009/06/22 hledger 0.6.1 ........................ * avoid use of exitSuccess which was breaking ghc 6.8/base 3 compatibility (issue #2) 2009/06/13 hledger 0.6 ...................... * now cabal-installable on unix, mac, and windows, with Haskell Platform * provide experimental platform binaries * 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 * add: better handling of virtual postings and default amounts * print, register: show virtual accounts bracketed/parenthesised * web: improved web ui supporting full patterns & period expressions * 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) * 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 2009/05/23 hledger 0.5 ............................... * 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 * ..quarterly/-Q option summarises by quarter * ..uncleared/-U option looks only at uncleared transactions * be more accurate about checking balanced amounts, don't rely on display precision * 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: * Contributors: Simon Michael, Sergey Astanin * Days since last release: 51 * Commits: 101 * Lines of non-test code: 2795 * Tests: 76 * Known errors: 0 * Performance: .. || hledger-0.4 | hledger-0.5 | ledger =========================++=============+=============+======= -f sample.ledger balance || 0.01 | 0.01 | 0.06 -f 1000.ledger balance || 1.33 | 1.46 | 0.53 -f 10000.ledger balance || 15.28 | 16.35 | 4.67 2009/04/03 hledger 0.4 ............................... * 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 * drop the ..options-anywhere flag, that is now the default * patterns now use not: and desc: prefixes instead of ^ and ^^ * patterns are now case-insensitive, like ledger * !include directives are now relative to the including file (Tim Docker) * "Y2009" default year directives are now supported, allowing m/d dates in ledger * individual transactions now have a cleared status * unbalanced entries now cause a proper warning * balance report now passes all ledger compatibility tests * balance report now shows subtotals by default, like ledger 3 * balance report shows the final zero total when -E is used * balance report hides the final total when ..no-total is used * ..depth affects print and register reports (aggregating with a reporting interval, filtering otherwise) * register report sorts transactions by date * register report shows zero-amount transactions when -E is used * provide more convenient timelog querying when invoked as "hours" * multi-day timelog sessions are split at midnight * unterminated timelog sessions are now counted. Accurate time reports at last! * the test command gives better ..verbose output * ..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 Release stats: * Contributors: Simon Michael, Tim Docker; thanks to the HAppS, happstack and testpack developers * Days since release: 76 * Commits: 144 * Lines of non-test code: 2367 * Tests: 56 * Known errors: 0 * Performance: .. || hledger-0.3 | hledger-0.4 | ledger-0.3 ==============================++=============+=============+=========== -f sample.ledger balance || 0.02 | 0.01 | 0.07 -f sample1000.ledger balance || 1.02 | 1.39 | 0.53 -f sample10000.ledger balance || 12.72 | 14.97 | 4.63 2009/01/17 hledger 0.3 ............................... * count timelog sessions on the day they end, like ledger, for now * when options are repeated, use the last instead of the first * builds with ghc 6.10 as well as 6.8 * a simple ui for interactive report browsing: hledger ui * 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]") * !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 * modifier and periodic entries can appear anywhere (but are still ignored) * help and readme improvements * runs much faster than 0.2 Release stats: * Contributors: Simon Michael, Nick Ingolia, Tim Docker; thanks to Corey O'Connor & the vty team * Lines of non-test code: 2123 * Tests: 58 * Known errors: 1 * Performance: .. $ bench hledger-0.2 hledger ledger || hledger-0.2 | hledger | ledger ==================================++=============+=========+======= -f 2008.ledger -s balance || 2.59 | 0.26 | 0.11 -f 10000entries.ledger -s balance || 566.68 | 2.72 | 0.96 2008/11/23 hledger 0.2 ............................... * fix balance report totals when filtering by account * fix balance report selection of accounts when filtering by account * fix a bug with account name eliding in balance report * if we happen to be showing a not-yet-auto-balanced entry, hide the AUTO marker * fix print command filtering by account * omit transactions with zero amount from register report * Fix bug in parsing of timelogs * rename ..showsubs to ..subtotal, like ledger * drop ..usage flag * don't require quickcheck * priced amounts (eg "10h @ $50") and ..basis/..cost/-B flag to show them with cost basis * easy ..depth option, equivalent to c++ ledger's -d 'l<=N' * smarter y/m/d date parsing for -b and -e (any number of digits, month and day default to 1, separator can be / - or .) * -n flag for balance command * ..empty/-E flag * 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 * support ..real/-R flag * support -C/..cleared flag to filter by entry status (not transaction status) * support virtual and balanced virtual transactions * 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 * clearer error message when we can't balance an entry * when we fail because of more than one missing amount in an entry, show the full entry * document the built-in test runner in ..help * add a ..verbose/-v flag, use it to show more test-running detail Release stats: * Contributors: Simon Michael, Tim Docker * Lines of non-test code: 1350 * Tests: 43 * Known errors: 0 2008/10/15 hledger 0.1 ............................... Release stats: * Contributors: Simon Michael