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
** 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
* All of the hledger executables' manuals now include the full list of general and reporting
options; the assumption is that these options are harmlessly ignored when not supported.
* docs have been reorganised and are now also provided as built-in help, in plain text, man and
info formats, generated from the 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)
* The website is simpler, clearer, and more mobile-friendly. Docs are now collected on a single
page and separated by type: getting started, reference, more. Also separate web manuals are
available for each executable and file format. This should make it easier to see what's
available, and to read just what you need.
* 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.
* All of the hledger executables' manuals now include the full
list of general and reporting options; the assumption is that
these options are harmlessly ignored when not supported.
* docs have been reorganised and are now also provided as built-in
help, in plain text, man and info formats, generated from the
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)
* The website is simpler, clearer, and more mobile-friendly. Docs
are now collected on a single page and separated by type:
getting started, reference, more. Also separate web manuals are
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
* The hledger executables have a new help system, making their manuals available for local
reading.
#+BEGIN_EXAMPLE
PROG -h shows PROG's command-line usage
PROG --help shows PROG's manual (fixed width)
PROG --man shows PROG's manual with man (formatted/paged)
PROG --info shows PROG's manual with info (hypertext)
hledger help [TOPIC] shows any manual
hledger man [TOPIC] shows any manual with man
hledger info [TOPIC] shows any manual with info
#+END_EXAMPLE
* The hledger executables have a new help system, making their
manuals available for local reading.
#+BEGIN_EXAMPLE
PROG -h shows PROG's command-line usage
PROG --help shows PROG's manual (fixed width)
PROG --man shows PROG's manual with man (formatted/paged)
PROG --info shows PROG's manual with info (hypertext)
hledger help [TOPIC] shows any manual
hledger man [TOPIC] shows any manual with man
hledger info [TOPIC] shows any manual with info
#+END_EXAMPLE
* When multiple files are specified with multiple -f options, we now parse each one individually,
rather than just concatenating 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.
* When multiple files are specified with multiple -f options, we
now parse each one individually, rather than just concatenating
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
*** journal format
* try to parse standard input as journal format always, not just most of the time
* can now include timeclock/timedot files (#320)
journal files can now include journal, timeclock or timedot files
(but not yet CSV files). Also timeclock/timedot files no longer
support default year directives.
* support commodity directive and format subdirective, allowing full control of commodity style (#295)
The commodity directive's format subdirective can now be used to
override the inferred 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: fix bracketed posting dates, parser cleanup (#304)
Bracketed posting dates were fragile; they worked only if you
wrote full 10-character dates. Also some semantics were a bit
unclear. Now they should be robust, and have been documented more
clearly. This is a legacy undocumented Ledger syntax, but it
improves compatibility and might be preferable to the more
verbose "date:" tags if you write posting dates often (as I do).
Internally, bracketed posting dates are no longer considered to
be tags. Journal comment, tag, and posting date parsers have
been reworked, all with doctests.
* parse "account" directives
We now parse account directives, like Ledger's. We don't do
anything with them yet. The default parent account feature must
now be spelled "apply account"/"end apply account".
* support ledger3-compatible "apply account"
* lib: show txn's file position in assertion errors
* lib: more ergonomic balance assertion errors
* fixed an issue with ordering of included same-date transactions
* try to parse standard input as journal format always, not just most of the time
* can now include timeclock/timedot files (#320) journal files can
now include journal, timeclock or timedot files (but not yet CSV
files). Also timeclock/timedot files no longer support default
year directives.
* support commodity directive and format subdirective, allowing
full control of commodity style (#295) The commodity directive's
format subdirective can now be used to override the inferred
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: fix bracketed posting dates, parser cleanup (#304)
Bracketed posting dates were fragile; they worked only if you
wrote full 10-character dates. Also some semantics were a bit
unclear. Now they should be robust, and have been documented
more clearly. This is a legacy undocumented Ledger syntax, but
it improves compatibility and might be preferable to the more
verbose "date:" tags if you write posting dates often (as I do).
Internally, bracketed posting dates are no longer considered to
be tags. Journal comment, tag, and posting date parsers have
been reworked, all with doctests.
* We now parse "account" directives, like Ledger's. We don't do
anything with them yet. The default parent account feature must
now be spelled "apply account"/"end apply account".
* support ledger3-compatible "apply account"
* lib: show txn's file position in assertion errors
* lib: more ergonomic balance assertion errors
* 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
* renamed timelog format to "timeclock", matching the emacs package
* sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file).
* renamed timelog format to "timeclock", matching the emacs package
* sessions can no longer span file boundaries (unclocked-out
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
* new "timedot" format for retroactive/approximate time logging
Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger. It is convenient for
approximate and retroactive time logging, eg when the real-time
clock-in/out required with a timeclock file is too precise or too
interruptive. It can be formatted like a bar chart, making clear at a
glance where time was spent.
* new "timedot" format for retroactive/approximate time logging
Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger. It is convenient
for approximate and retroactive time logging, eg when the
real-time clock-in/out required with a timeclock file is too
precise or too interruptive. It can be formatted like a bar
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
* lib: clarify balance assertion error again
"calculated" is better, "actual" implies the account's actual real-world
balance which might be something else again.
* Use hpack in hledger-ui (#356)
* always try parsing stdin as journal
* reduced memory usage by 30%+ on large files
* bump default stackage snapshot to lts-6.0
* git clone of the hledger repo on windows now works (#345)
* added missing benchmark file (#342)
* 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
* require stackage nightly, for newer pandoc/swagger
Move to a newer stackage snapshot. This helps ensure a new-enough pandoc
will more be available for doc building without needing extra
compilation. Also we get to use the latest swagger and servant-swagger
for hledger-api, but we have to go to stackage nightly. With luck there
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)
* journalReloadIfChanged now reloads the full journal without filtering, like journalReload
* Reloading a journal should now reload all included files as well.
* lib: make Journal a monoid
* lib: The Hledger.Read.* modules have been reorganised for better reuse.
Hledger.Read.Utils has been renamed Hledger.Read.Common and holds
low-level parsers & utilities; high-level read utilities have moved to
Hledger.Read.
* use new file-embed to fix ghci cwd dependence, see
https://github.com/snoyberg/file-embed/issues/18
* lib: refactor amount canonicalisation
Amount display style canonicalisation code and terminology has
been clarified a bit. Individual amounts still have styles; from
these we derive the standard "commodity styles". In user docs, we
might call these "commodity formats" since a Ledger-compatible
commodity directive would use the "format" keyword.
* Most hledger types have been converted from String to (strict)
Text. This reduces maximum residency (~30-50%) on large data
files and gives a slight speed increase.
* lib: simplify parsers; cleanups (#275)
The journal/timeclock/timedot parsers, instead of constructing
(opaque) journal update functions which are later applied to
build the journal, now construct the journal directly (by
modifying the parser state). This is easier to understand and
debug. It also removes any possibility of the journal updates
being a space leak. (They weren't, in fact memory usage is now
slightly higher, but that will be addressed in other ways.)
Also:
* Journal data and journal parse info have been merged into one
type (for now), and field names are more consistent.
* The ParsedJournal type alias has been added to distinguish
being-parsed and finalised journals.
* Journal is now a monoid.
* expandPath now throws a proper IO error (and requires the IO monad).
* file parsers have been ported from Parsec to Megaparsec \o/
(#289, #366) (Alexey Shmalko, Moritz Kiefer)
* 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)
* always try parsing stdin as journal
* reduced memory usage by 30%+ on large files
* bump default stackage snapshot to lts-6.0
* git clone of the hledger repo on windows now works (#345)
* added missing benchmark file (#342)
* Add --pivot option with tests and docs (#323) (Malte Brandy)
* more tests, start using doctests
* 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)
* journalReloadIfChanged now reloads the full journal without filtering, like journalReload
* Reloading a journal should now reload all included files as well.
* lib: make Journal a monoid
* lib: The Hledger.Read.* modules have been reorganised for better
reuse. Hledger.Read.Utils has been renamed Hledger.Read.Common
and holds low-level parsers & utilities; high-level read
utilities have moved to Hledger.Read.
* use new file-embed to fix ghci cwd dependence, see
https://github.com/snoyberg/file-embed/issues/18
* lib: refactor amount canonicalisation. Amount display style
canonicalisation code and terminology has been clarified a
bit. Individual amounts still have styles; from these we derive
the standard "commodity styles". In user docs, we might call
these "commodity formats" since a Ledger-compatible commodity
directive would use the "format" keyword.
* Most hledger types have been converted from String to (strict)
Text. This reduces maximum residency (~30-50%) on large data
files and gives a slight speed increase.
* lib: simplify parsers; cleanups (#275). The
journal/timeclock/timedot parsers, instead of constructing
(opaque) journal update functions which are later applied to
build the journal, now construct the journal directly (by
modifying the parser state). This is easier to understand and
debug. It also rules out the possibility of journal updates
being a space leak. (They weren't, in fact memory usage is now
slightly higher, but that will be addressed in other ways.)
* Journal data and journal parse info have been merged into one
type (for now), and field names are more consistent.
* The ParsedJournal type alias has been added to distinguish
being-parsed and finalised journals.
* Journal is now a monoid.
* 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
*** 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
* 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
* 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
* 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
* add vi-style movement keys, use ? for help (#357)
* basic manual integration
* E key runs editor, jumping to current txn or error location (emacs/vi)
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
* at depth 0 call account "All" (and fix register)
* 0 now limits depth to 0 instead of resetting it
* briefer on-screen help, and a more detailed help dialog
* a key runs the addcommand
* ESC key cancels minibuffer/help or clears filter and jumps to top
* / key sets the filter query; backspace/delete clears it
* add vi-style movement keys, use ? for help (#357)
* The E key (on all screens) runs $HLEDGER_UI_EDITOR or $EDITOR or a default editor (vi) on the journal file.
When using emacs or vi, if a transaction is selected the cursor will be positioned at its journal entry.
* flat mode affects register too; doc updates
* at depth 0 call account "All" (and fix register)
* 0 now limits depth to 0 instead of resetting it
* briefer footer help
* more detailed help dialog, including manual
* help dialog uses full terminal width when narrow
* a key runs the add command
* ESC key cancels minibuffer/help or clears filter and jumps to top
* / 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
want to use / to adjust the filter.
* U key shows only uncleared transactions/postings
* accounts, register: Z key toggles zero items (--empty), and they are shown by default
* U key shows only uncleared transactions/postings
* 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
and transactions posting 0 change are shown by default. The Z key
toggles this, entering "nonzero" mode which hides zero items.
* accounts, register: R key toggles --real
* register transactions are filtered by realness and status (#354)
* accounts, register: R key toggles --real
* 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:
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
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
non-virtual prior postings.
This is complicated and there might be some ways to confuse it still, causing
wrongly included/excluded transactions or wrong historical balances/running totals
(transactions with both real and virtual postings to the current account, perhaps ?)
* ui, web: when reloading a journal, keep aliases and pivot in effect
* preserve --ignore-assertions & flags on reload
* switch to the quicker-building microlens
This is complicated and there might be some ways to confuse it still, causing
wrongly included/excluded transactions or wrong historical balances/running totals
(transactions with both real and virtual postings to the current account, perhaps ?)
* more efficient wording in header; historical/period and tree/flat are now indicated in the footer
* 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
* 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
* update wai-handler-launch for better startup (fixes #226)
* show a proper not found page on 404
* focus the first field after clicking add a transaction (fixes #338)
* fix the add a transaction link's tooltip
* preserve initial command-line query when journal file is changed (#314)
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
like an invisible extra filter.
* leave date field blank, avoid problems with tab clearing it (#322)
* exit if something is already using the specified port (#226)
* don't open a browser page until the app is ready (#226)
* Terminate the server thread more carefully on exit, eg on control-C
in GHCI. May prevent stray background threads on windows.
* show the sidebar by default (#310)
* 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)
* 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)
* show a proper not found page on 404
* focus the first field after clicking add a transaction (fixes #338)
* fix the add a transaction link's tooltip
* preserve initial command-line query when journal file is changed (#314).
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
like an invisible extra filter.
* leave date field blank, avoid problems with tab clearing it (#322)
* exit if something is already using the specified port (#226)
* don't open a browser page until the app is ready (#226)
* Terminate the server thread more carefully on exit, eg on control-C
in GHCI. May prevent stray background threads on windows.
* show the sidebar by default (#310)
* 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
* add a web API server with examples (#316)
* start an AngularJS API client app (#316) (Thomas R. Koll)
* new hledger-api tool: a simple web API server with example clients (#316)
* start an Angular-based API example client (#316) (Thomas R. Koll)
* notes
release commits by time