doc: catch release notes up with latest commits

This commit is contained in:
Simon Michael 2016-10-21 17:50:03 -07:00
parent 97ef9d621c
commit 647e559db6

View File

@ -2,25 +2,48 @@
* 2016/mm/dd 0.28 * 2016/mm/dd 0.28
** general ** general
*** misc
* Added GHC 8 support, dropped GHC 7.6 and 7.8 support.
(Restoring GHC 7.8 support would need small code changes and a
maintainer.)
* a cabal.project file has been added to the source tree (Moritz Kiefer)
* tools/simplebench has been spun off as the quickbench package.
* clean up some old cabal flags
* use hpack for maintaining all packages' cabal files (#371).
Instead of editing cabal files directly, we now edit the less
verbose and less redundant package.yaml files and let stack (or
hpack) update the cabal files. We commit both the .yaml and
.cabal files.
* use Appveyor for CI and up-to-date binaries on Windows
*** docs *** docs
* All of the hledger executables' manuals now include the full list of general and reporting * All of the hledger executables' manuals now include the full
options; the assumption is that these options are harmlessly ignored when not supported. list of general and reporting options; the assumption is that
* docs have been reorganised and are now also provided as built-in help, in plain text, man and these options are harmlessly ignored when not supported.
info formats, generated from the same source by a new Shake-based docs build system. (#292) * docs have been reorganised and are now also provided as built-in
* misc documentation updates - layout/style cleanups, LEDGER_FILE, accounts, include directive, help, in plain text, man and info formats, generated from the
CSV, timeclock, how to use dotted account names same source by a new Shake-based docs build system. (#292)
* misc documentation updates - layout/style cleanups, LEDGER_FILE,
accounts, include directive, CSV, timeclock, how to use dotted
account names
* minor copyedits (jungle-boogie) * minor copyedits (jungle-boogie)
* The website is simpler, clearer, and more mobile-friendly. Docs are now collected on a single * The website is simpler, clearer, and more mobile-friendly. Docs
page and separated by type: getting started, reference, more. Also separate web manuals are are now collected on a single page and separated by type:
available for each executable and file format. This should make it easier to see what's getting started, reference, more. Also separate web manuals are
available, and to read just what you need. available for each executable and file format. This should make
* add beancount's nice example journal, hledgerised This is the synthetic, somewhat realistic it easier to see what's available, and to read just what you
example journal from Martin Blais' beancount project (of a few months ago), slightly tweaked need.
for hledger. It makes a nice example, eg for trying out hledger-ui. * web docs are now provided for recent releases and the latest dev
version (#385, #387)
* add beancount's nice example journal, hledgerised This is the
synthetic, somewhat realistic example journal from Martin Blais'
beancount project (of a few months ago), slightly tweaked for
hledger. It makes a nice example, eg for trying out hledger-ui.
*** cli *** cli
* The hledger executables have a new help system, making their manuals available for local * The hledger executables have a new help system, making their
reading. manuals available for local reading.
#+BEGIN_EXAMPLE #+BEGIN_EXAMPLE
PROG -h shows PROG's command-line usage PROG -h shows PROG's command-line usage
PROG --help shows PROG's manual (fixed width) PROG --help shows PROG's manual (fixed width)
@ -31,61 +54,79 @@
hledger info [TOPIC] shows any manual with info hledger info [TOPIC] shows any manual with info
#+END_EXAMPLE #+END_EXAMPLE
* When multiple files are specified with multiple -f options, we now parse each one individually, * When multiple files are specified with multiple -f options, we
rather than just concatenating them, so they can have different formats (#320). Note this also now parse each one individually, rather than just concatenating
means that directives (like `Y` or `alias`) no longer carry over from one file to the next. them, so they can have different formats (#320). Note this also
means that directives (like `Y` or `alias`) no longer carry over
from one file to the next.
* Parsing an argument-less --debug option is more robust. * Parsing an argument-less --debug option is more robust.
* -I has been added as the short flag for --ignore-assertions.
(Differs from Ledger's CLI, but useful for hledger-ui.)
** hledger-lib 0.28 ** hledger-lib 0.28
*** journal format *** journal format
* try to parse standard input as journal format always, not just most of the time * try to parse standard input as journal format always, not just most of the time
* can now include timeclock/timedot files (#320) * can now include timeclock/timedot files (#320) journal files can
journal files can now include journal, timeclock or timedot files now include journal, timeclock or timedot files (but not yet CSV
(but not yet CSV files). Also timeclock/timedot files no longer files). Also timeclock/timedot files no longer support default
support default year directives. year directives.
* support commodity directive and format subdirective, allowing full control of commodity style (#295) * support commodity directive and format subdirective, allowing
The commodity directive's format subdirective can now be used to full control of commodity style (#295) The commodity directive's
override the inferred style for a commodity, eg to increase or format subdirective can now be used to override the inferred
decrease the precision. This is at least a good workaround for #295. style for a commodity, eg to increase or decrease the
precision. This is at least a good workaround for #295.
* lib: after reloading a journal, also refilter it (#314) * lib: after reloading a journal, also refilter it (#314)
* lib: fix bracketed posting dates, parser cleanup (#304) * lib: fix bracketed posting dates, parser cleanup (#304)
Bracketed posting dates were fragile; they worked only if you Bracketed posting dates were fragile; they worked only if you
wrote full 10-character dates. Also some semantics were a bit wrote full 10-character dates. Also some semantics were a bit
unclear. Now they should be robust, and have been documented more unclear. Now they should be robust, and have been documented
clearly. This is a legacy undocumented Ledger syntax, but it more clearly. This is a legacy undocumented Ledger syntax, but
improves compatibility and might be preferable to the more it improves compatibility and might be preferable to the more
verbose "date:" tags if you write posting dates often (as I do). verbose "date:" tags if you write posting dates often (as I do).
Internally, bracketed posting dates are no longer considered to Internally, bracketed posting dates are no longer considered to
be tags. Journal comment, tag, and posting date parsers have be tags. Journal comment, tag, and posting date parsers have
been reworked, all with doctests. been reworked, all with doctests.
* parse "account" directives * We now parse "account" directives, like Ledger's. We don't do
We now parse account directives, like Ledger's. We don't do
anything with them yet. The default parent account feature must anything with them yet. The default parent account feature must
now be spelled "apply account"/"end apply account". now be spelled "apply account"/"end apply account".
* support ledger3-compatible "apply account" * support ledger3-compatible "apply account"
* lib: show txn's file position in assertion errors * lib: show txn's file position in assertion errors
* lib: more ergonomic balance assertion errors * lib: more ergonomic balance assertion errors
* fixed an issue with ordering of included same-date transactions * fixed an issue with ordering of included same-date transactions
* Balance assertion failure messages now have a more standard and parseable layout.
* With --debug=2, more detail about balance assertions is shown.
*** timeclock format *** timeclock format
* renamed timelog format to "timeclock", matching the emacs package * renamed timelog format to "timeclock", matching the emacs package
* sessions can no longer span file boundaries (unclocked-out * sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file). sessions will be auto-closed at the end of the file).
* timeclock: fix order of transaction indexes #394.
Timeclock transaction ids now count up rather than down.
* removed old code for appending timeclock transactions to journal
transactions, a holdover from the days when both were allowed in
one file.
*** timedot format *** timedot format
* new "timedot" format for retroactive/approximate time logging * new "timedot" format for retroactive/approximate time logging
Timedot is a plain text format for logging dated, categorised Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger. It is convenient for quantities (eg time), supported by hledger. It is convenient
approximate and retroactive time logging, eg when the real-time for approximate and retroactive time logging, eg when the
clock-in/out required with a timeclock file is too precise or too real-time clock-in/out required with a timeclock file is too
interruptive. It can be formatted like a bar chart, making clear at a precise or too interruptive. It can be formatted like a bar
glance where time was spent. chart, making clear at a glance where time was spent.
*** csv format
* fix empty field assignment parsing, rule parse errors after
megaparsec port (#407) (Hans-Peter Deifel)
*** misc *** misc
* lib: clarify balance assertion error again * file parsers have been ported from Parsec to Megaparsec \o/
"calculated" is better, "actual" implies the account's actual real-world (#289, #366) (Alexey Shmalko, Moritz Kiefer)
balance which might be something else again. * All formats now produce transaction ids, not just journal format (#394)
* clarify balance assertion error again. "calculated" is better
than "actual" which implies the account's actual real-world
balance, which might be different.
* Use hpack in hledger-ui (#356) * Use hpack in hledger-ui (#356)
* always try parsing stdin as journal * always try parsing stdin as journal
* reduced memory usage by 30%+ on large files * reduced memory usage by 30%+ on large files
@ -93,75 +134,103 @@
* git clone of the hledger repo on windows now works (#345) * git clone of the hledger repo on windows now works (#345)
* added missing benchmark file (#342) * added missing benchmark file (#342)
* Add --pivot option with tests and docs (#323) (Malte Brandy) * Add --pivot option with tests and docs (#323) (Malte Brandy)
* GHC 8.0.1 compatibility (except hledger-api)
Note we seem to have lost GHC 7.4 compatibility.
* more tests, start using doctests * more tests, start using doctests
* require stackage nightly, for newer pandoc/swagger * lib: slightly better file format detection. The Journal, Timelog
Move to a newer stackage snapshot. This helps ensure a new-enough pandoc and Timedot readers' detectors now check each line in the sample
will more be available for doc building without needing extra data, not just the first one. I think the sample data is only
compilation. Also we get to use the latest swagger and servant-swagger about 30 chars right now, but even so this fixed a format
for hledger-api, but we have to go to stackage nightly. With luck there detection issue I was seeing.
will be a lts 6 before next hledger release.
* lib: slightly better file format detection
The Journal, Timelog and Timedot readers' detectors now check
each line in the sample data, not just the first one. I think
the sample data is only about 30 chars right now, but even so
this fixed a format detection issue I was seeing.
* make stack config more compatible across stack versions (#300) * make stack config more compatible across stack versions (#300)
* journalReloadIfChanged now reloads the full journal without filtering, like journalReload * journalReloadIfChanged now reloads the full journal without filtering, like journalReload
* Reloading a journal should now reload all included files as well. * Reloading a journal should now reload all included files as well.
* lib: make Journal a monoid * lib: make Journal a monoid
* lib: The Hledger.Read.* modules have been reorganised for better reuse. * lib: The Hledger.Read.* modules have been reorganised for better
Hledger.Read.Utils has been renamed Hledger.Read.Common and holds reuse. Hledger.Read.Utils has been renamed Hledger.Read.Common
low-level parsers & utilities; high-level read utilities have moved to and holds low-level parsers & utilities; high-level read
Hledger.Read. utilities have moved to Hledger.Read.
* use new file-embed to fix ghci cwd dependence, see * use new file-embed to fix ghci cwd dependence, see
https://github.com/snoyberg/file-embed/issues/18 https://github.com/snoyberg/file-embed/issues/18
* lib: refactor amount canonicalisation * lib: refactor amount canonicalisation. Amount display style
Amount display style canonicalisation code and terminology has canonicalisation code and terminology has been clarified a
been clarified a bit. Individual amounts still have styles; from bit. Individual amounts still have styles; from these we derive
these we derive the standard "commodity styles". In user docs, we the standard "commodity styles". In user docs, we might call
might call these "commodity formats" since a Ledger-compatible these "commodity formats" since a Ledger-compatible commodity
commodity directive would use the "format" keyword. directive would use the "format" keyword.
* Most hledger types have been converted from String to (strict) * Most hledger types have been converted from String to (strict)
Text. This reduces maximum residency (~30-50%) on large data Text. This reduces maximum residency (~30-50%) on large data
files and gives a slight speed increase. files and gives a slight speed increase.
* lib: simplify parsers; cleanups (#275) * lib: simplify parsers; cleanups (#275). The
The journal/timeclock/timedot parsers, instead of constructing journal/timeclock/timedot parsers, instead of constructing
(opaque) journal update functions which are later applied to (opaque) journal update functions which are later applied to
build the journal, now construct the journal directly (by build the journal, now construct the journal directly (by
modifying the parser state). This is easier to understand and modifying the parser state). This is easier to understand and
debug. It also removes any possibility of the journal updates debug. It also rules out the possibility of journal updates
being a space leak. (They weren't, in fact memory usage is now being a space leak. (They weren't, in fact memory usage is now
slightly higher, but that will be addressed in other ways.) slightly higher, but that will be addressed in other ways.)
Also:
* Journal data and journal parse info have been merged into one * Journal data and journal parse info have been merged into one
type (for now), and field names are more consistent. type (for now), and field names are more consistent.
* The ParsedJournal type alias has been added to distinguish * The ParsedJournal type alias has been added to distinguish
being-parsed and finalised journals. being-parsed and finalised journals.
* Journal is now a monoid. * Journal is now a monoid.
* expandPath now throws a proper IO error (and requires the IO monad). * expandPath now throws a proper IO error (and requires the IO monad).
* provide more accurate dates in account transactions report
(and hledger-ui and hledger-web's account registers)
when postings have their own dates.
The newly-named "transaction register date" is the date to be
displayed for that transaction in a transaction register, for
some current account and filter query. It is either the
transaction date from the journal ("transaction general date"),
or if postings to the current account and matched by the
register's filter query have their own dates, the earliest of
those posting dates.
* lib: simplify account txns report running total.
The account transactions report used for hledger-ui and -web
registers now gives either the "period total" or "historical
total", depending strictly on the --historical flag. It doesn't
try to indicate whether the historical total is the accurate
historical balance (which depends on the user's report query).
** hledger 0.28 ** hledger 0.28
*** add
* suggest only one commodity at a time as default amount,
since we currently can't input more than one at a time (#383)
*** balance *** balance
* output CSV item amounts on one line #336 * output CSV item amounts on one line #336
* added --change flag for consistency
* -H/--historical now also affects single-column balance reports with a start date (#392).
This has the same effect as just omitting the start date, but adds consistency.
*** balancesheet
* fix an infinite loop #393
*** print
* fix/rename transaction id field in CSV output
*** register *** register
* fix sorting regression with --date2 (#326) * fix sorting regression with --date2 (#326)
* include transaction id, rename total field in CSV output (fixes #391)
* --average/-A is now affected by --historical/-H
* added --cumulative flag for consistency
*** stats *** stats
* fixed an issue with ordering of include files ? * fixed an issue with ordering of include files ?
*** misc
* try to clarify balance/register's various report modes,
kinds of "balance" displayed, and related options and language.
* with multiple --change/--cumulative/--historical flags,
use the last one instead of complaining
* don't add the "d" suffix when displaying day periods
* stack-ify extra/hledger-rewrite.hs
** hledger-ui 0.28 ** hledger-ui 0.28
* add vi-style movement keys, use ? for help (#357) * add vi-style movement keys, use ? for help (#357)
* basic manual integration * The E key (on all screens) runs $HLEDGER_UI_EDITOR or $EDITOR or a default editor (vi) on the journal file.
* E key runs editor, jumping to current txn or error location (emacs/vi) When using emacs or vi, if a transaction is selected the cursor will be positioned at its journal entry.
The E key (on all screens) edits the journal file using
$HLEDGER_UI_EDITOR or $EDITOR or a default (emacsclient -a "" -nw).
* flat mode affects register too; doc updates * flat mode affects register too; doc updates
* at depth 0 call account "All" (and fix register) * at depth 0 call account "All" (and fix register)
* 0 now limits depth to 0 instead of resetting it * 0 now limits depth to 0 instead of resetting it
* briefer on-screen help, and a more detailed help dialog * briefer footer help
* more detailed help dialog, including manual
* help dialog uses full terminal width when narrow
* a key runs the add command * a key runs the add command
* ESC key cancels minibuffer/help or clears filter and jumps to top * ESC key cancels minibuffer/help or clears filter and jumps to top
* / key sets the filter query; backspace/delete clears it * / key sets the filter query; backspace/delete clears it
@ -173,8 +242,10 @@
and transactions posting 0 change are shown by default. The Z key and transactions posting 0 change are shown by default. The Z key
toggles this, entering "nonzero" mode which hides zero items. toggles this, entering "nonzero" mode which hides zero items.
* accounts, register: R key toggles --real * accounts, register: R key toggles --real
* register transactions are filtered by realness and status (#354) * show historical or periodic balances (#392).
hledger-ui now shows historical balances by default (like balance --historical).
`H` toggles between "historical" and "period" modes, on the accounts and register screens.
* ui, web: register transactions are filtered by realness and status (#354).
Two fixes for the account transactions report when --real/--cleared/real:/status: Two fixes for the account transactions report when --real/--cleared/real:/status:
are in effect, affecting hledger-ui and hledger-web: are in effect, affecting hledger-ui and hledger-web:
@ -189,16 +260,43 @@
This is complicated and there might be some ways to confuse it still, causing This is complicated and there might be some ways to confuse it still, causing
wrongly included/excluded transactions or wrong historical balances/running totals wrongly included/excluded transactions or wrong historical balances/running totals
(transactions with both real and virtual postings to the current account, perhaps ?) (transactions with both real and virtual postings to the current account, perhaps ?)
* ui, web: when reloading a journal, keep aliases and pivot in effect * more efficient wording in header; historical/period and tree/flat are now indicated in the footer
* preserve --ignore-assertions & flags on reload * the enter key has been reserved for later and is no longer an alias for right/l
* I (as in -I/--ignore-assertions) toggles balance assertions on or off,
allowing troubled journals to be viewed.
* preserve --ignore-assertions, --pivot, aliases and other options on reload
* reloading on the error screen now updates the message rather
than entering a new error screen
* switch to the quicker-building microlens * switch to the quicker-building microlens
* set report period from date: query args, also.
A date2: query or --date2 flag might also affect it somehow (untested).
* easy period selection and navigation:
- shift-down narrows to the next smaller standard period
(year/quarter/month/week/day), shift-up does the reverse
- when narrowed to a standard period, shift-right/left moves to
the next/previous period
- `t` sets the period to today.
* always use --no-elide for a more regular accounts tree
* more accurate register dates when postings have their own dates (see hledger-lib account transactions report)
* The register screen now includes subaccounts' transactions if
the accounts screen was in tree mode, or when showing an account
which was at the depth limit. Ie, it always shows the
transactions contributing to the balance displayed on the
accounts screen. As on the accounts screen, F toggles tree
(subaccount txns included by default) or flat (subaccount txns
excluded by default) mode. (At least, it does when it would make
a difference.)
** hledger-web 0.28 ** hledger-web 0.28
* possible fix for filtering register by realness and status (see hledger-ui)
* Added .btn-default to unify buttons across browsers (#418) (Dominik Süß)
* update wai-handler-launch for better startup (fixes #226) * update wai-handler-launch for better startup (fixes #226)
* show a proper not found page on 404 * show a proper not found page on 404
* focus the first field after clicking add a transaction (fixes #338) * focus the first field after clicking add a transaction (fixes #338)
* fix the add a transaction link's tooltip * fix the add a transaction link's tooltip
* preserve initial command-line query when journal file is changed (#314) * preserve initial command-line query when journal file is changed (#314).
The initial query specified by command line arguments is now preserved The initial query specified by command line arguments is now preserved
when the journal is reloaded. This does not appear in the web UI, it's when the journal is reloaded. This does not appear in the web UI, it's
like an invisible extra filter. like an invisible extra filter.
@ -211,10 +309,13 @@
* after following a link to a transaction, highlight it (Thomas R. Koll) * after following a link to a transaction, highlight it (Thomas R. Koll)
* use numeric id instead of date for linking to transactions #308 (Thomas R. Koll) * use numeric id instead of date for linking to transactions #308 (Thomas R. Koll)
* misc. HTML/CSS/file cleanups/fixes (Thomas R. Koll) * misc. HTML/CSS/file cleanups/fixes (Thomas R. Koll)
* keep aliases and pivot in effect when reloading the journal
* document the special `inacct:` query (#390)
* more accurate register dates when postings have their own dates (see hledger-lib account transactions report)
** hledger-api 0.28 ** hledger-api 0.28
* add a web API server with examples (#316) * new hledger-api tool: a simple web API server with example clients (#316)
* start an AngularJS API client app (#316) (Thomas R. Koll) * start an Angular-based API example client (#316) (Thomas R. Koll)
* notes * notes
release commits by time release commits by time