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,219 +2,320 @@
* 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)
* minor copyedits (jungle-boogie) * misc documentation updates - layout/style cleanups, LEDGER_FILE,
* The website is simpler, clearer, and more mobile-friendly. Docs are now collected on a single accounts, include directive, CSV, timeclock, how to use dotted
page and separated by type: getting started, reference, more. Also separate web manuals are account names
available for each executable and file format. This should make it easier to see what's * minor copyedits (jungle-boogie)
available, and to read just what you need. * The website is simpler, clearer, and more mobile-friendly. Docs
* add beancount's nice example journal, hledgerised This is the synthetic, somewhat realistic are now collected on a single page and separated by type:
example journal from Martin Blais' beancount project (of a few months ago), slightly tweaked getting started, reference, more. Also separate web manuals are
for hledger. It makes a nice example, eg for trying out hledger-ui. available for each executable and file format. This should make
it easier to see what's available, and to read just what you
need.
* 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)
PROG --man shows PROG's manual with man (formatted/paged) PROG --man shows PROG's manual with man (formatted/paged)
PROG --info shows PROG's manual with info (hypertext) PROG --info shows PROG's manual with info (hypertext)
hledger help [TOPIC] shows any manual hledger help [TOPIC] shows any manual
hledger man [TOPIC] shows any manual with man hledger man [TOPIC] shows any manual with man
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
* lib: after reloading a journal, also refilter it (#314) precision. This is at least a good workaround for #295.
* lib: fix bracketed posting dates, parser cleanup (#304) * lib: after reloading a journal, also refilter it (#314)
Bracketed posting dates were fragile; they worked only if you * lib: fix bracketed posting dates, parser cleanup (#304)
wrote full 10-character dates. Also some semantics were a bit Bracketed posting dates were fragile; they worked only if you
unclear. Now they should be robust, and have been documented more wrote full 10-character dates. Also some semantics were a bit
clearly. This is a legacy undocumented Ledger syntax, but it unclear. Now they should be robust, and have been documented
improves compatibility and might be preferable to the more more clearly. This is a legacy undocumented Ledger syntax, but
verbose "date:" tags if you write posting dates often (as I do). it improves compatibility and might be preferable to the more
Internally, bracketed posting dates are no longer considered to verbose "date:" tags if you write posting dates often (as I do).
be tags. Journal comment, tag, and posting date parsers have Internally, bracketed posting dates are no longer considered to
been reworked, all with doctests. be tags. Journal comment, tag, and posting date parsers have
* parse "account" directives been reworked, all with doctests.
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)
* Use hpack in hledger-ui (#356) * clarify balance assertion error again. "calculated" is better
* always try parsing stdin as journal than "actual" which implies the account's actual real-world
* reduced memory usage by 30%+ on large files balance, which might be different.
* bump default stackage snapshot to lts-6.0 * Use hpack in hledger-ui (#356)
* git clone of the hledger repo on windows now works (#345) * always try parsing stdin as journal
* added missing benchmark file (#342) * reduced memory usage by 30%+ on large files
* Add --pivot option with tests and docs (#323) (Malte Brandy) * bump default stackage snapshot to lts-6.0
* GHC 8.0.1 compatibility (except hledger-api) * git clone of the hledger repo on windows now works (#345)
Note we seem to have lost GHC 7.4 compatibility. * added missing benchmark file (#342)
* more tests, start using doctests * Add --pivot option with tests and docs (#323) (Malte Brandy)
* require stackage nightly, for newer pandoc/swagger * more tests, start using doctests
Move to a newer stackage snapshot. This helps ensure a new-enough pandoc * lib: slightly better file format detection. The Journal, Timelog
will more be available for doc building without needing extra and Timedot readers' detectors now check each line in the sample
compilation. Also we get to use the latest swagger and servant-swagger data, not just the first one. I think the sample data is only
for hledger-api, but we have to go to stackage nightly. With luck there about 30 chars right now, but even so this fixed a format
will be a lts 6 before next hledger release. detection issue I was seeing.
* lib: slightly better file format detection * make stack config more compatible across stack versions (#300)
The Journal, Timelog and Timedot readers' detectors now check * journalReloadIfChanged now reloads the full journal without filtering, like journalReload
each line in the sample data, not just the first one. I think * Reloading a journal should now reload all included files as well.
the sample data is only about 30 chars right now, but even so * lib: make Journal a monoid
this fixed a format detection issue I was seeing. * lib: The Hledger.Read.* modules have been reorganised for better
* make stack config more compatible across stack versions (#300) reuse. Hledger.Read.Utils has been renamed Hledger.Read.Common
* journalReloadIfChanged now reloads the full journal without filtering, like journalReload and holds low-level parsers & utilities; high-level read
* Reloading a journal should now reload all included files as well. utilities have moved to Hledger.Read.
* lib: make Journal a monoid * use new file-embed to fix ghci cwd dependence, see
* lib: The Hledger.Read.* modules have been reorganised for better reuse. https://github.com/snoyberg/file-embed/issues/18
Hledger.Read.Utils has been renamed Hledger.Read.Common and holds * lib: refactor amount canonicalisation. Amount display style
low-level parsers & utilities; high-level read utilities have moved to canonicalisation code and terminology has been clarified a
Hledger.Read. bit. Individual amounts still have styles; from these we derive
* use new file-embed to fix ghci cwd dependence, see the standard "commodity styles". In user docs, we might call
https://github.com/snoyberg/file-embed/issues/18 these "commodity formats" since a Ledger-compatible commodity
* lib: refactor amount canonicalisation directive would use the "format" keyword.
Amount display style canonicalisation code and terminology has * Most hledger types have been converted from String to (strict)
been clarified a bit. Individual amounts still have styles; from Text. This reduces maximum residency (~30-50%) on large data
these we derive the standard "commodity styles". In user docs, we files and gives a slight speed increase.
might call these "commodity formats" since a Ledger-compatible * lib: simplify parsers; cleanups (#275). The
commodity directive would use the "format" keyword. journal/timeclock/timedot parsers, instead of constructing
* Most hledger types have been converted from String to (strict) (opaque) journal update functions which are later applied to
Text. This reduces maximum residency (~30-50%) on large data build the journal, now construct the journal directly (by
files and gives a slight speed increase. modifying the parser state). This is easier to understand and
* lib: simplify parsers; cleanups (#275) debug. It also rules out the possibility of journal updates
The journal/timeclock/timedot parsers, instead of constructing being a space leak. (They weren't, in fact memory usage is now
(opaque) journal update functions which are later applied to slightly higher, but that will be addressed in other ways.)
build the journal, now construct the journal directly (by * Journal data and journal parse info have been merged into one
modifying the parser state). This is easier to understand and type (for now), and field names are more consistent.
debug. It also removes any possibility of the journal updates * The ParsedJournal type alias has been added to distinguish
being a space leak. (They weren't, in fact memory usage is now being-parsed and finalised journals.
slightly higher, but that will be addressed in other ways.) * Journal is now a monoid.
Also: * expandPath now throws a proper IO error (and requires the IO monad).
* Journal data and journal parse info have been merged into one * provide more accurate dates in account transactions report
type (for now), and field names are more consistent. (and hledger-ui and hledger-web's account registers)
* The ParsedJournal type alias has been added to distinguish when postings have their own dates.
being-parsed and finalised journals.
* Journal is now a monoid. The newly-named "transaction register date" is the date to be
* expandPath now throws a proper IO error (and requires the IO monad). 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 * flat mode affects register too; doc updates
$HLEDGER_UI_EDITOR or $EDITOR or a default (emacsclient -a "" -nw). * at depth 0 call account "All" (and fix register)
* flat mode affects register too; doc updates * 0 now limits depth to 0 instead of resetting it
* at depth 0 call account "All" (and fix register) * briefer footer help
* 0 now limits depth to 0 instead of resetting it * more detailed help dialog, including manual
* briefer on-screen help, and a more detailed help dialog * help dialog uses full terminal width when narrow
* a key runs the addcommand * 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
I was planning to use this for search, but I can't help it, my hands I was planning to use this for search, but I can't help it, my hands
want to use / to adjust the filter. want to use / to adjust the filter.
* U key shows only uncleared transactions/postings * U key shows only uncleared transactions/postings
* accounts, register: Z key toggles zero items (--empty), and they are shown by default * accounts, register: Z key toggles zero items (--empty), and they are shown by default
-E/--empty is now the default for hledger-ui, so accounts with 0 balance -E/--empty is now the default for hledger-ui, so accounts with 0 balance
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:
1. exclude transactions which affect the current account via an excluded posting type. 1. exclude transactions which affect the current account via an excluded posting type.
Eg when --real is in effect, a transaction posting to the current account with only Eg when --real is in effect, a transaction posting to the current account with only
virtual postings will not appear in the report. virtual postings will not appear in the report.
2. when showing historical balances, don't count excluded posting types in the 2. when showing historical balances, don't count excluded posting types in the
starting balance. Eg with --real, the starting balance will be the sum of only the starting balance. Eg with --real, the starting balance will be the sum of only the
non-virtual prior postings. non-virtual prior postings.
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
* switch to the quicker-building microlens * 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
* 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
* update wai-handler-launch for better startup (fixes #226) * possible fix for filtering register by realness and status (see hledger-ui)
* show a proper not found page on 404 * Added .btn-default to unify buttons across browsers (#418) (Dominik Süß)
* focus the first field after clicking add a transaction (fixes #338) * update wai-handler-launch for better startup (fixes #226)
* fix the add a transaction link's tooltip * show a proper not found page on 404
* preserve initial command-line query when journal file is changed (#314) * focus the first field after clicking add a transaction (fixes #338)
The initial query specified by command line arguments is now preserved * fix the add a transaction link's tooltip
when the journal is reloaded. This does not appear in the web UI, it's * preserve initial command-line query when journal file is changed (#314).
like an invisible extra filter. The initial query specified by command line arguments is now preserved
* leave date field blank, avoid problems with tab clearing it (#322) when the journal is reloaded. This does not appear in the web UI, it's
* exit if something is already using the specified port (#226) like an invisible extra filter.
* don't open a browser page until the app is ready (#226) * leave date field blank, avoid problems with tab clearing it (#322)
* Terminate the server thread more carefully on exit, eg on control-C * exit if something is already using the specified port (#226)
in GHCI. May prevent stray background threads on windows. * don't open a browser page until the app is ready (#226)
* show the sidebar by default (#310) * Terminate the server thread more carefully on exit, eg on control-C
* after following a link to a transaction, highlight it (Thomas R. Koll) in GHCI. May prevent stray background threads on windows.
* use numeric id instead of date for linking to transactions #308 (Thomas R. Koll) * show the sidebar by default (#310)
* misc. HTML/CSS/file cleanups/fixes (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)
* 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