doc: changelogs: convert to clean pandoc markdown

pandoc options:
  -f markdown-auto_identifiers
  -t markdown-header_attributes-fenced_code_attributes --atx-headers --wrap=preserve

[ci skip]
This commit is contained in:
Simon Michael 2019-01-25 18:23:36 -08:00
parent 01c6f3e665
commit 7b67876a80
5 changed files with 1142 additions and 1239 deletions

View File

@ -1,81 +1,68 @@
User-visible changes in hledger-api. User-visible changes in hledger-api.
See also the hledger changelog. See also the hledger changelog.
# 1.12 (2018/12/02) # 1.12 (2018/12/02)
* use hledger 1.12 - use hledger 1.12
# 1.11.1 (2018/10/06) # 1.11.1 (2018/10/06)
* use hledger 1.11.1 - use hledger 1.11.1
# 1.11 (2018/9/30) # 1.11 (2018/9/30)
* use hledger 1.11 - use hledger 1.11
# 1.10 (2018/6/30) # 1.10 (2018/6/30)
* use hledger-lib 1.10 - use hledger-lib 1.10
# 1.9.1 (2018/4/30) # 1.9.1 (2018/4/30)
* use hledger-lib 1.9.1 - use hledger-lib 1.9.1
# 1.9 (2018/3/31) # 1.9 (2018/3/31)
* support ghc 8.4, latest deps - support ghc 8.4, latest deps
* when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix
found when reading files
- when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix
found when reading files
# 1.5 (2017/12/31) # 1.5 (2017/12/31)
* remove upper bounds on all but hledger* and base (experimental) - remove upper bounds on all but hledger\* and base (experimental)
# 1.4 (2017/9/30) # 1.4 (2017/9/30)
* api: add support for swagger2 2.1.5+ (fixes #612) - api: add support for swagger2 2.1.5+ (fixes \#612)
# 1.3.1 (2017/8/25) # 1.3.1 (2017/8/25)
* require servant-server 0.10+ to fix compilation warning - require servant-server 0.10+ to fix compilation warning
* restore upper bounds on hledger packages
- restore upper bounds on hledger packages
# 1.3 (2017/6/30) # 1.3 (2017/6/30)
Depends on hledger[-lib] 1.3, see related changelogs. Depends on hledger\[-lib\] 1.3, see related changelogs.
# 1.2 (2017/3/31) # 1.2 (2017/3/31)
see project changes at http://hledger.org/release-notes see project changes at http://hledger.org/release-notes
# 1.1 (2016/12/31) # 1.1 (2016/12/31)
- serves on 127.0.0.1 by default, --host option added (#432) - serves on 127.0.0.1 by default, --host option added (\#432)
Consistent with hledger-web: serves only local requests by default, Consistent with hledger-web: serves only local requests by default,
use --host=IPADDR to change this. use --host=IPADDR to change this.
- fixed the version string in command-line help and swagger info - fixed the version string in command-line help and swagger info
# 1.0 (2016/10/26) # 1.0 (2016/10/26)
## misc ## misc
- new hledger-api tool: a simple web API server with example clients (#316) - new hledger-api tool: a simple web API server with example clients (\#316)
- start an Angular-based API example client (#316) (Thomas R. Koll) - start an Angular-based API example client (\#316) (Thomas R. Koll)

View File

@ -1,314 +1,304 @@
Developer-ish changes in the hledger-lib package. Developer-ish changes in the hledger-lib package.
User-visible changes are noted in the hledger package changelog instead. User-visible changes are noted in the hledger package changelog instead.
# 1.12 (2018/12/02) # 1.12 (2018/12/02)
* switch to megaparsec 7 (Alex Chen) - switch to megaparsec 7 (Alex Chen)
We now track the stack of include files in Journal ourselves, since We now track the stack of include files in Journal ourselves, since
megaparsec dropped this feature. megaparsec dropped this feature.
* add 'ExceptT' layer to our parser monad again (Alex Chen) - add 'ExceptT' layer to our parser monad again (Alex Chen)
We previously had a parser type, 'type ErroringJournalParser = ExceptT We previously had a parser type, 'type ErroringJournalParser = ExceptT
String ...' for throwing parse errors without allowing further String ...' for throwing parse errors without allowing further
backtracking. This parser type was removed under the assumption that it backtracking. This parser type was removed under the assumption that it
would be possible to write our parser without this capability. However, would be possible to write our parser without this capability. However,
after a hairy backtracking bug, we would now prefer to have the option to after a hairy backtracking bug, we would now prefer to have the option to
prevent backtracking. prevent backtracking.
- Define a 'FinalParseError' type specifically for the 'ExceptT' layer - Define a 'FinalParseError' type specifically for the 'ExceptT' layer
- Any parse error can be raised as a "final" parse error - Any parse error can be raised as a "final" parse error
- Tracks the stack of include files for parser errors, anticipating the - Tracks the stack of include files for parser errors, anticipating the
removal of the tracking of stacks of include files in megaparsec 7 removal of the tracking of stacks of include files in megaparsec 7
- Although a stack of include files is also tracked in the 'StateT - Although a stack of include files is also tracked in the 'StateT
Journal' layer of the parser, it seems easier to guarantee correct Journal' layer of the parser, it seems easier to guarantee correct
error messages in the 'ExceptT FinalParserError' layer error messages in the 'ExceptT FinalParserError' layer
- This does not make the 'StateT Journal' stack redundant because the - This does not make the 'StateT Journal' stack redundant because the
'ExceptT FinalParseError' stack cannot be used to detect cycles of 'ExceptT FinalParseError' stack cannot be used to detect cycles of
include files include files
* more support for location-aware parse errors when re-parsing (Alex Chen) - more support for location-aware parse errors when re-parsing (Alex Chen)
* make 'includedirectivep' an 'ErroringJournalParser' (Alex Chen) - make 'includedirectivep' an 'ErroringJournalParser' (Alex Chen)
* drop Ord instance breaking GHC 8.6 build (Peter Simons) - drop Ord instance breaking GHC 8.6 build (Peter Simons)
* flip the arguments of (divide|multiply)[Mixed]Amount - flip the arguments of (divide\|multiply)\[Mixed\]Amount
* showTransaction: fix a case showing multiple missing amounts - showTransaction: fix a case showing multiple missing amounts
showTransaction could sometimes hide the last posting's amount even if showTransaction could sometimes hide the last posting's amount even if
one of the other posting amounts was already implcit, producing invalid one of the other posting amounts was already implcit, producing invalid
transaction output. transaction output.
* plog, plogAt: add missing newline - plog, plogAt: add missing newline
* split up journalFinalise, reorder journal finalisation steps (#893) (Jesse Rosenthal) - split up journalFinalise, reorder journal finalisation steps (\#893) (Jesse Rosenthal)
The `journalFinalise` function has been split up, allowing more granular The `journalFinalise` function has been split up, allowing more granular
control. control.
* journalSetTime --> journalSetLastReadTime - journalSetTime --\> journalSetLastReadTime
* journalSetFilePath has been removed, use journalAddFile instead
- journalSetFilePath has been removed, use journalAddFile instead
# 1.11.1 (2018/10/06) # 1.11.1 (2018/10/06)
* add, lib: fix wrong transaction rendering in balance assertion errors - add, lib: fix wrong transaction rendering in balance assertion errors
and when using the add command and when using the add command
# 1.11 (2018/9/30) # 1.11 (2018/9/30)
* compilation now works when locale is unset (#849) - compilation now works when locale is unset (\#849)
* all unit tests have been converted from HUnit+test-framework to easytest - all unit tests have been converted from HUnit+test-framework to easytest
* doctests now run quicker by default, by skipping reloading between tests. - doctests now run quicker by default, by skipping reloading between tests.
This can be disabled by passing --slow to the doctests test suite This can be disabled by passing --slow to the doctests test suite
executable. executable.
* doctests test suite executable now supports --verbose, which shows - doctests test suite executable now supports --verbose, which shows
progress output as tests are run if doctest 0.16.0+ is installed progress output as tests are run if doctest 0.16.0+ is installed
(and hopefully is harmless otherwise). (and hopefully is harmless otherwise).
* doctests now support file pattern arguments, provide more informative output. - doctests now support file pattern arguments, provide more informative output.
Limiting to just the file(s) you're interested can make doctest start Limiting to just the file(s) you're interested can make doctest start
much quicker. With one big caveat: you can limit the starting files, much quicker. With one big caveat: you can limit the starting files,
but it always imports and tests all other local files those import. but it always imports and tests all other local files those import.
* a bunch of custom Show instances have been replaced with defaults, - a bunch of custom Show instances have been replaced with defaults,
for easier troubleshooting. These were sometimes obscuring for easier troubleshooting. These were sometimes obscuring
important details, eg in test failure output. Our new policy is: important details, eg in test failure output. Our new policy is:
stick with default derived Show instances as far as possible, but stick with default derived Show instances as far as possible, but
when necessary adjust them to valid haskell syntax so pretty-show when necessary adjust them to valid haskell syntax so pretty-show
can pretty-print them (eg when they contain Day values, cf can pretty-print them (eg when they contain Day values, cf
https://github.com/haskell/time/issues/101). By convention, when https://github.com/haskell/time/issues/101). By convention, when
fields are shown in less than full detail, and/or in double-quoted fields are shown in less than full detail, and/or in double-quoted
pseudo syntax, we show a double period (..) in the output. pseudo syntax, we show a double period (..) in the output.
* Amount has a new Show instance. Amount's show instance hid - Amount has a new Show instance. Amount's show instance hid
important details by default, and showing more details required important details by default, and showing more details required
increasing the debug level, which was inconvenient. Now it has a increasing the debug level, which was inconvenient. Now it has a
single show instance which shows more information, is fairly single show instance which shows more information, is fairly
compact, and is pretty-printable. compact, and is pretty-printable.
ghci> usd 1 ghci> usd 1
OLD: OLD:
Amount {acommodity="$", aquantity=1.00, ..} Amount {acommodity="$", aquantity=1.00, ..}
NEW: NEW:
Amount {acommodity = "$", aquantity = 1.00, aprice = NoPrice, astyle = AmountStyle "L False 2 Just '.' Nothing..", amultiplier = False} Amount {acommodity = "$", aquantity = 1.00, aprice = NoPrice, astyle = AmountStyle "L False 2 Just '.' Nothing..", amultiplier = False}
MixedAmount's show instance is unchanged, but showMixedAmountDebug MixedAmount's show instance is unchanged, but showMixedAmountDebug
is affected by this change: is affected by this change:
ghci> putStrLn $ showMixedAmountDebug $ Mixed [usd 1] ghci> putStrLn $ showMixedAmountDebug $ Mixed [usd 1]
OLD: OLD:
Mixed [Amount {acommodity="$", aquantity=1.00, aprice=, astyle=AmountStyle {ascommodityside = L, ascommodityspaced = False, asprecision = 2, asdecimalpoint = Just '.', asdigitgroups = Nothing}}] Mixed [Amount {acommodity="$", aquantity=1.00, aprice=, astyle=AmountStyle {ascommodityside = L, ascommodityspaced = False, asprecision = 2, asdecimalpoint = Just '.', asdigitgroups = Nothing}}]
NEW: NEW:
Mixed [Amount {acommodity="$", aquantity=1.00, aprice=, astyle=AmountStyle "L False 2 Just '.' Nothing.."}] Mixed [Amount {acommodity="$", aquantity=1.00, aprice=, astyle=AmountStyle "L False 2 Just '.' Nothing.."}]
* Same-line & next-line comments of transactions, postings, etc. - Same-line & next-line comments of transactions, postings, etc.
are now parsed a bit more precisely (followingcommentp). are now parsed a bit more precisely (followingcommentp).
Previously, parsing no comment gave the same result as an empty Previously, parsing no comment gave the same result as an empty
comment (a single newline); now it gives an empty string. comment (a single newline); now it gives an empty string.\
Also, and perhaps as a consequence of the above, when there's no Also, and perhaps as a consequence of the above, when there's no
same-line comment but there is a next-line comment, we'll insert an same-line comment but there is a next-line comment, we'll insert an
empty first line, since otherwise next-line comments would get moved empty first line, since otherwise next-line comments would get moved
up to the same line when rendered. up to the same line when rendered.
* Hledger.Utils.Test exports HasCallStack - Hledger.Utils.Test exports HasCallStack
* queryDateSpan, queryDateSpan' now intersect date AND'ed date spans - queryDateSpan, queryDateSpan' now intersect date AND'ed date spans
instead of unioning them, and docs are clearer. instead of unioning them, and docs are clearer.
* pushAccount -> pushDeclaredAccount - pushAccount -\> pushDeclaredAccount
* jaccounts -> jdeclaredaccounts - jaccounts -\> jdeclaredaccounts
* AutoTransaction.hs -> PeriodicTransaction.hs & TransactionModifier.hs - AutoTransaction.hs -\> PeriodicTransaction.hs & TransactionModifier.hs
* Hledger.Utils.Debug helpers have been renamed/cleaned up
- Hledger.Utils.Debug helpers have been renamed/cleaned up
# 1.10 (2018/6/30) # 1.10 (2018/6/30)
* build cleanly with all supported GHC versions again (7.10 to 8.4) - build cleanly with all supported GHC versions again (7.10 to 8.4)
* support/use latest base-compat (#794) - support/use latest base-compat (\#794)
* support/require megaparsec 6.4+ - support/require megaparsec 6.4+
* extensive refactoring and cleanup of parsers and related types and utilities - extensive refactoring and cleanup of parsers and related types and utilities
* readJournalFile(s) cleanup, these now use InputOpts - readJournalFile(s) cleanup, these now use InputOpts
* doctests now run a bit faster (#802)
- doctests now run a bit faster (\#802)
# 1.9.1 (2018/4/30) # 1.9.1 (2018/4/30)
* new generic PeriodicReport, and some report-related type aliases - new generic PeriodicReport, and some report-related type aliases
* new BudgetReport - new BudgetReport
* make (readJournal|tryReader)s?WithOpts the default api, dropping "WithOpts" - make (readJournal\|tryReader)s?WithOpts the default api, dropping "WithOpts"
* automated postings and command line account aliases happen earlier
in journal processing (see hledger changelog)
- automated postings and command line account aliases happen earlier
in journal processing (see hledger changelog)
# 1.9 (2018/3/31) # 1.9 (2018/3/31)
* support ghc 8.4, latest deps - support ghc 8.4, latest deps
* when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix - when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix
found when reading files. found when reading files.
* CompoundBalanceReport amounts are now normally positive. - CompoundBalanceReport amounts are now normally positive.
The bs/bse/cf/is commands now show normal income, liability and equity The bs/bse/cf/is commands now show normal income, liability and equity
balances as positive. Negative numbers now indicate a contra-balance balances as positive. Negative numbers now indicate a contra-balance
(eg an overdrawn checking account), a net loss, a negative net worth, (eg an overdrawn checking account), a net loss, a negative net worth,
etc. This makes these reports more like conventional financial etc. This makes these reports more like conventional financial
statements, and easier to read and share with others. (experimental) statements, and easier to read and share with others. (experimental)
* splitSpan now returns no spans for an empty datespan - splitSpan now returns no spans for an empty datespan
* don't count periodic/modifier txns in Journal debug output - don't count periodic/modifier txns in Journal debug output
* lib/ui/web/api: move embedded manual files to extra-source-files - lib/ui/web/api: move embedded manual files to extra-source-files
* Use skipMany/skipSome for parsing spacenonewline (Moritz Kiefer) - Use skipMany/skipSome for parsing spacenonewline (Moritz Kiefer)
This avoids allocating the list of space characters only to then This avoids allocating the list of space characters only to then
discard it. discard it.
* rename, clarify purpose of balanceReportFromMultiBalanceReport - rename, clarify purpose of balanceReportFromMultiBalanceReport
* fix some hlint warnings - fix some hlint warnings
* add some easytest tests
- add some easytest tests
# 1.5 (2017/12/31) # 1.5 (2017/12/31)
* -V/--value uses today's market prices by default, not those of last transaction date. #683, #648) - -V/--value uses today's market prices by default, not those of last transaction date. \#683, \#648)
* csv: allow balance assignment (balance assertion only, no amount) in csv records (Nadrieril) - csv: allow balance assignment (balance assertion only, no amount) in csv records (Nadrieril)
* journal: allow space as digit group separator character, #330 (Mykola Orliuk) - journal: allow space as digit group separator character, \#330 (Mykola Orliuk)
* journal: balance assertion errors now show line of failed assertion posting, #481 (Sam Jeeves) - journal: balance assertion errors now show line of failed assertion posting, \#481 (Sam Jeeves)
* journal: better errors for directives, #402 (Mykola Orliuk) - journal: better errors for directives, \#402 (Mykola Orliuk)
* journal: better errors for included files, #660 (Mykola Orliuk) - journal: better errors for included files, \#660 (Mykola Orliuk)
* journal: commodity directives in parent files are inherited by included files, #487 (Mykola Orliuk) - journal: commodity directives in parent files are inherited by included files, \#487 (Mykola Orliuk)
* journal: commodity directives limits precision even after -B, #509 (Mykola Orliuk) - journal: commodity directives limits precision even after -B, \#509 (Mykola Orliuk)
* journal: decimal point/digit group separator chars are now inferred from an applicable commodity directive or default commodity directive. #399, #487 (Mykola Orliuk) - journal: decimal point/digit group separator chars are now inferred from an applicable commodity directive or default commodity directive. \#399, \#487 (Mykola Orliuk)
* journal: numbers are parsed more strictly (Mykola Orliuk) - journal: numbers are parsed more strictly (Mykola Orliuk)
* journal: support Ledger-style automated postings, enabled with --auto flag (Dmitry Astapov) - journal: support Ledger-style automated postings, enabled with --auto flag (Dmitry Astapov)
* journal: support Ledger-style periodic transactions, enabled with --forecast flag (Dmitry Astapov) - journal: support Ledger-style periodic transactions, enabled with --forecast flag (Dmitry Astapov)
* period expressions: fix "nth day of {week,month}", which could generate wrong intervals (Dmitry Astapov) - period expressions: fix "nth day of {week,month}", which could generate wrong intervals (Dmitry Astapov)
* period expressions: month names are now case-insensitive (Dmitry Astapov) - period expressions: month names are now case-insensitive (Dmitry Astapov)
* period expressions: stricter checking for invalid expressions (Mykola Orliuk) - period expressions: stricter checking for invalid expressions (Mykola Orliuk)
* period expressions: support "every 11th Nov" (Dmitry Astapov) - period expressions: support "every 11th Nov" (Dmitry Astapov)
* period expressions: support "every 2nd Thursday of month" (Dmitry Astapov) - period expressions: support "every 2nd Thursday of month" (Dmitry Astapov)
* period expressions: support "every Tuesday", short for "every <n>th day of week" (Dmitry Astapov) - period expressions: support "every Tuesday", short for "every <n>th day of week" (Dmitry Astapov)
* remove upper bounds on all but hledger* and base (experimental)
It's rare that my deps break their api or that newer versions must
be avoided, and very common that they release new versions which I
must tediously and promptly test and release hackage revisions for
or risk falling out of stackage. Trying it this way for a bit.
- remove upper bounds on all but hledger\* and base (experimental)
It's rare that my deps break their api or that newer versions must
be avoided, and very common that they release new versions which I
must tediously and promptly test and release hackage revisions for
or risk falling out of stackage. Trying it this way for a bit.
# 1.4 (2017/9/30) # 1.4 (2017/9/30)
* add readJournalFile[s]WithOpts, with simpler arguments and support - add readJournalFile\[s\]WithOpts, with simpler arguments and support
for detecting new transactions since the last read. for detecting new transactions since the last read.
* query: add payee: and note: query terms, improve description/payee/note docs (Jakub Zárybnický, Simon Michael, #598, #608) - query: add payee: and note: query terms, improve description/payee/note docs (Jakub Zárybnický, Simon Michael, \#598, \#608)
* journal, cli: make trailing whitespace significant in regex account aliases - journal, cli: make trailing whitespace significant in regex account aliases
Trailing whitespace in the replacement part of a regular expression Trailing whitespace in the replacement part of a regular expression
account alias is now significant. Eg, converting a parent account to account alias is now significant. Eg, converting a parent account to
just an account name prefix: --alias '/:acct:/=:acct ' just an account name prefix: --alias '/:acct:/=:acct'
* timedot: allow a quantity of seconds, minutes, days, weeks, months - timedot: allow a quantity of seconds, minutes, days, weeks, months
or years to be logged as Ns, Nm, Nd, Nw, Nmo, Ny or years to be logged as Ns, Nm, Nd, Nw, Nmo, Ny
* csv: switch the order of generated postings, so account1 is first. - csv: switch the order of generated postings, so account1 is first.
This simplifies things and facilitates future improvements. This simplifies things and facilitates future improvements.
* csv: show the "creating/using rules file" message only with --debug - csv: show the "creating/using rules file" message only with --debug
* csv: fix multiple includes in one rules file - csv: fix multiple includes in one rules file
* csv: add "newest-first" rule for more robust same-day ordering - csv: add "newest-first" rule for more robust same-day ordering
* deps: allow ansi-terminal 0.7 - deps: allow ansi-terminal 0.7
* deps: add missing parsec lower bound, possibly related to #596, fpco/stackage#2835 - deps: add missing parsec lower bound, possibly related to \#596, fpco/stackage\#2835
* deps: drop oldtime flag, require time 1.5+ - deps: drop oldtime flag, require time 1.5+
* deps: remove ghc < 7.6 support, remove obsolete CPP conditionals - deps: remove ghc \< 7.6 support, remove obsolete CPP conditionals
* deps: fix test suite with ghc 8.2
- deps: fix test suite with ghc 8.2
# 1.3.1 (2017/8/25) # 1.3.1 (2017/8/25)
* Fix a bug with -H showing nothing for empty periods (#583, Nicholas Niro) - Fix a bug with -H showing nothing for empty periods (\#583, Nicholas Niro)
This patch fixes a bug that happened when using the -H option on This patch fixes a bug that happened when using the -H option on
a period without any transaction. Previously, the behavior was no a period without any transaction. Previously, the behavior was no
output at all even though it should have shown the previous ending balances output at all even though it should have shown the previous ending balances
of past transactions. (This is similar to previously using -H with -E, of past transactions. (This is similar to previously using -H with -E,
but with the extra advantage of not showing empty accounts) but with the extra advantage of not showing empty accounts)
* allow megaparsec 6 (#594) - allow megaparsec 6 (\#594)
* allow megaparsec-6.1 (Hans-Peter Deifel) - allow megaparsec-6.1 (Hans-Peter Deifel)
* fix test suite with Cabal 2 (#596)
- fix test suite with Cabal 2 (\#596)
# 1.3 (2017/6/30) # 1.3 (2017/6/30)
journal: The "uncleared" transaction/posting status, and associated UI flags journal: The "uncleared" transaction/posting status, and associated UI flags
and keys, have been renamed to "unmarked" to remove ambiguity and and keys, have been renamed to "unmarked" to remove ambiguity and
confusion. This means that we have dropped the `--uncleared` flag, confusion. This means that we have dropped the `--uncleared` flag,
and our `-U` flag now matches only unmarked things and not pending and our `-U` flag now matches only unmarked things and not pending
ones. See the issue and linked mail list discussion for more ones. See the issue and linked mail list discussion for more
background. (#564) background. (\#564)
csv: assigning to the "balance" field name creates balance csv: assigning to the "balance" field name creates balance
assertions (#537, Dmitry Astapov). assertions (\#537, Dmitry Astapov).
csv: Doubled minus signs are handled more robustly (fixes #524, Nicolas Wavrant, Simon Michael) csv: Doubled minus signs are handled more robustly (fixes \#524, Nicolas Wavrant, Simon Michael)
Multiple "status:" query terms are now OR'd together. (#564) Multiple "status:" query terms are now OR'd together. (\#564)
deps: allow megaparsec 5.3. deps: allow megaparsec 5.3.
# 1.2 (2017/3/31) # 1.2 (2017/3/31)
## journal format ## journal format
A pipe character can optionally be used to delimit payee names in A pipe character can optionally be used to delimit payee names in
transaction descriptions, for more accurate querying and pivoting by transaction descriptions, for more accurate querying and pivoting by
payee. Eg, for a description like `payee name | additional notes`, payee. Eg, for a description like `payee name | additional notes`,
the two parts will be accessible as pseudo-fields/tags named `payee` the two parts will be accessible as pseudo-fields/tags named `payee`
and `note`. and `note`.
@ -321,24 +311,23 @@ been disabled, reducing build dependencies.
## Misc ## Misc
Fix a bug when tying the knot between postings and their parent transaction, reducing memory usage by about 10% (#483) (Mykola Orliuk) Fix a bug when tying the knot between postings and their parent transaction, reducing memory usage by about 10% (\#483) (Mykola Orliuk)
Fix a few spaceleaks (#413) (Moritz Kiefer) Fix a few spaceleaks (\#413) (Moritz Kiefer)
Add Ledger.Parse.Text to package.yaml, fixing a potential build failure. Add Ledger.Parse.Text to package.yaml, fixing a potential build failure.
Allow megaparsec 5.2 (#503) Allow megaparsec 5.2 (\#503)
Rename optserror -> usageError, consolidate with other error functions
Rename optserror -\> usageError, consolidate with other error functions
# 1.1 (2016/12/31) # 1.1 (2016/12/31)
## journal format ## journal format
- balance assignments are now supported (#438, #129, #157, #288) - balance assignments are now supported (\#438, \#129, \#157, \#288)
This feature also brings a slight performance drop (~5%); This feature also brings a slight performance drop (\~5%);
optimisations welcome. optimisations welcome.
- also recognise `*.hledger` files as hledger journal format - also recognise `*.hledger` files as hledger journal format
@ -346,7 +335,7 @@ Rename optserror -> usageError, consolidate with other error functions
## ledger format ## ledger format
- use ledger-parse from the ledger4 project as an alternate reader for C++ Ledger journals - use ledger-parse from the ledger4 project as an alternate reader for C++ Ledger journals
The idea is that some day we might get better compatibility with Ledger files this way. The idea is that some day we might get better compatibility with Ledger files this way.
Right now this reader is not very useful and will be used only if you explicitly select it with a `ledger:` prefix. Right now this reader is not very useful and will be used only if you explicitly select it with a `ledger:` prefix.
It parses transaction dates, descriptions, accounts and amounts, and ignores everything else. It parses transaction dates, descriptions, accounts and amounts, and ignores everything else.
@ -358,23 +347,21 @@ Rename optserror -> usageError, consolidate with other error functions
## misc ## misc
- update base lower bound to enforce GHC 7.10+ - update base lower bound to enforce GHC 7.10+
hledger-lib had a valid install plan with GHC 7.8, but currently requires GHC 7.10 to compile. hledger-lib had a valid install plan with GHC 7.8, but currently requires GHC 7.10 to compile.
Now we require base 4.8+ everywhere to ensure the right GHC version at the start. Now we require base 4.8+ everywhere to ensure the right GHC version at the start.
- Hledger.Read api cleanups - Hledger.Read api cleanups
- rename dbgIO to dbg0IO, consistent with dbg0, and document a bug in dbg*IO - rename dbgIO to dbg0IO, consistent with dbg0, and document a bug in dbg\*IO
- make readJournalFiles [f] equivalent to readJournalFile f (#437) - make readJournalFiles \[f\] equivalent to readJournalFile f (\#437)
- more general parser types enabling reuse outside of IO (#439)
- more general parser types enabling reuse outside of IO (\#439)
# 1.0.1 (2016/10/27) # 1.0.1 (2016/10/27)
- allow megaparsec 5.0 or 5.1 - allow megaparsec 5.0 or 5.1
# 1.0 (2016/10/26) # 1.0 (2016/10/26)
@ -383,10 +370,10 @@ Rename optserror -> usageError, consolidate with other error functions
- 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 quantities (eg time), supported by hledger. It is convenient
for approximate and retroactive time logging, eg when the for approximate and retroactive time logging, eg when the
real-time clock-in/out required with a timeclock file is too real-time clock-in/out required with a timeclock file is too
precise or too interruptive. It can be formatted like a bar precise or too interruptive. It can be formatted like a bar
chart, making clear at a glance where time was spent. chart, making clear at a glance where time was spent.
## timeclock format ## timeclock format
@ -397,7 +384,7 @@ Rename optserror -> usageError, consolidate with other error functions
sessions will be auto-closed at the end of the file). sessions will be auto-closed at the end of the file).
- transaction ids now count up rather than down (#394) - transaction ids now count up rather than down (\#394)
- timeclock files no longer support default year directives - timeclock files no longer support default year directives
@ -407,11 +394,11 @@ Rename optserror -> usageError, consolidate with other error functions
## csv format ## csv format
- fix empty field assignment parsing, rule parse errors after megaparsec port (#407) (Hans-Peter Deifel) - fix empty field assignment parsing, rule parse errors after megaparsec port (\#407) (Hans-Peter Deifel)
## journal format ## journal format
- journal files can now include timeclock or timedot files (#320) - journal files can now include timeclock or timedot files (\#320)
(but not yet CSV files). (but not yet CSV files).
@ -419,16 +406,16 @@ Rename optserror -> usageError, consolidate with other error functions
- the "commodity" directive and "format" subdirective are now supported, allowing - the "commodity" directive and "format" subdirective are now supported, allowing
full control of commodity style (#295) The commodity directive's full control of commodity style (\#295) The commodity directive's
format subdirective can now be used to override the inferred format subdirective can now be used to override the inferred
style for a commodity, eg to increase or decrease the style for a commodity, eg to increase or decrease the
precision. This is at least a good workaround for #295. precision. This is at least a good workaround for \#295.
- Ledger-style "apply account"/"end apply account" directives are now used to set a default parent account. - Ledger-style "apply account"/"end apply account" directives are now used to set a default parent account.
- the Ledger-style "account" directive is now accepted (and ignored). - the Ledger-style "account" directive is now accepted (and ignored).
- bracketed posting dates are more robust (#304) - bracketed posting dates are more robust (\#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
@ -437,7 +424,7 @@ Rename optserror -> usageError, consolidate with other error functions
it 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.
- balance assertion failure messages are clearer - balance assertion failure messages are clearer
@ -446,11 +433,11 @@ Rename optserror -> usageError, consolidate with other error functions
## misc ## misc
- file parsers have been ported from Parsec to Megaparsec \o/ (#289, #366) (Alexey Shmalko, Moritz Kiefer) - file parsers have been ported from Parsec to Megaparsec \o/ (\#289, \#366) (Alexey Shmalko, Moritz Kiefer)
- most hledger types have been converted from String to Text, reducing memory usage by 30%+ on large files - most hledger types have been converted from String to Text, reducing memory usage by 30%+ on large files
- file parsers have been simplified for easier troubleshooting (#275). - file parsers have been simplified for easier troubleshooting (\#275).
The journal/timeclock/timedot parsers, instead of constructing The journal/timeclock/timedot parsers, instead of constructing
opaque journal update functions which are later applied to build opaque journal update functions which are later applied to build
@ -458,7 +445,7 @@ Rename optserror -> usageError, consolidate with other error functions
parser state. This is easier to understand and debug. It also parser state. This is easier to understand and debug. It also
rules out the possibility of journal updates being a space rules out the possibility of journal updates being a space
leak. (They weren't, in fact this change increased memory usage leak. (They weren't, in fact this change increased memory usage
slightly, but that has been addressed in other ways). The slightly, but that has been addressed in other ways). The
ParsedJournal type alias has been added to distinguish ParsedJournal type alias has been added to distinguish
"being-parsed" journals and "finalised" journals. "being-parsed" journals and "finalised" journals.
@ -467,16 +454,16 @@ Rename optserror -> usageError, consolidate with other error functions
The Journal, Timelog and Timedot readers' detectors now check The Journal, Timelog and Timedot readers' detectors now check
each line in the sample data, not just the first one. I think the 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 sample data is only about 30 chars right now, but even so this
fixed a format detection issue I was seeing. fixed a format detection issue I was seeing.
Also, we now always try parsing stdin as journal format (not just sometimes). Also, we now always try parsing stdin as journal format (not just sometimes).
- all file formats now produce transaction ids, not just journal (#394) - all file formats now produce transaction ids, not just journal (\#394)
- 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)
- our stack.yaml files are more compatible across stack versions (#300) - our stack.yaml files are more compatible across stack versions (\#300)
- use newer file-embed to fix ghci working directory dependence (<https://github.com/snoyberg/file-embed/issues/18>) - use newer file-embed to fix ghci working directory dependence (<https://github.com/snoyberg/file-embed/issues/18>)
@ -485,7 +472,7 @@ Rename optserror -> usageError, consolidate with other error functions
(affects hledger-ui and hledger-web registers). (affects hledger-ui and hledger-web registers).
The newly-named "transaction register date" is the date to be The newly-named "transaction register date" is the date to be
displayed for that transaction in a transaction register, for displayed for that transaction in a transaction register, for
some current account and filter query. It is either the some current account and filter query. It is either the
transaction date from the journal ("transaction general date"), transaction date from the journal ("transaction general date"),
or if postings to the current account and matched by the or if postings to the current account and matched by the
register's filter query have their own dates, the earliest of register's filter query have their own dates, the earliest of
@ -522,92 +509,88 @@ Rename optserror -> usageError, consolidate with other error functions
- more unit tests, start using doctest - more unit tests, start using doctest
0.27 (2015/10/30) 0.27 (2015/10/30)
- The main hledger types now derive NFData, which makes it easier to - The main hledger types now derive NFData, which makes it easier to
time things with criterion. time things with criterion.
- Utils has been split up more. - Utils has been split up more.
- Utils.Regex: regular expression compilation has been memoized, and - Utils.Regex: regular expression compilation has been memoized, and
memoizing versions of regexReplace[CI] have been added, since memoizing versions of regexReplace\[CI\] have been added, since
compiling regular expressions every time seems to be quite compiling regular expressions every time seems to be quite
expensive (#244). expensive (\#244).
- Utils.String: strWidth is now aware of multi-line strings (#242).
- Read: parsers now use a consistent p suffix. - Utils.String: strWidth is now aware of multi-line strings (\#242).
- New dependencies: deepseq, uglymemo. - Read: parsers now use a consistent p suffix.
- All the hledger packages' cabal files are now generated from - New dependencies: deepseq, uglymemo.
simpler, less redundant yaml files by hpack, in principle. In
practice, manual fixups are still needed until hpack gets better, - All the hledger packages' cabal files are now generated from
but it's still a win. simpler, less redundant yaml files by hpack, in principle. In
practice, manual fixups are still needed until hpack gets better,
but it's still a win.
0.26 (2015/7/12) 0.26 (2015/7/12)
- allow year parser to handle arbitrarily large years - allow year parser to handle arbitrarily large years
- Journal's Show instance reported one too many accounts - Journal's Show instance reported one too many accounts
- some cleanup of debug trace helpers - some cleanup of debug trace helpers
- tighten up some date and account name parsers (don't accept leading spaces; hadddocks) - tighten up some date and account name parsers (don't accept leading spaces; hadddocks)
- drop regexpr dependency - drop regexpr dependency
0.25.1 (2015/4/29) 0.25.1 (2015/4/29)
- support/require base-compat >0.8 (#245) - support/require base-compat \>0.8 (\#245)
0.25 (2015/4/7) 0.25 (2015/4/7)
- GHC 7.10 compatibility (\#239)
- GHC 7.10 compatibility (#239)
0.24.1 (2015/3/15) 0.24.1 (2015/3/15)
- fix JournalReader "ctx" compilation warning - fix JournalReader "ctx" compilation warning
- add some type signatures in Utils to help make ghci-web - add some type signatures in Utils to help make ghci-web
0.24 (2014/12/25) 0.24 (2014/12/25)
- fix combineJournalUpdates folding order - fix combineJournalUpdates folding order
- fix a regexReplaceCI bug - fix a regexReplaceCI bug
- fix a splitAtElement bug with adjacent separators - fix a splitAtElement bug with adjacent separators
- mostly replace slow regexpr with regex-tdfa (fixes #189) - mostly replace slow regexpr with regex-tdfa (fixes \#189)
- use the modern Text.Parsec API - use the modern Text.Parsec API
- allow transformers 0.4* - allow transformers 0.4\*
- regexReplace now supports backreferences - regexReplace now supports backreferences
- Transactions now remember their parse location in the journal file - Transactions now remember their parse location in the journal file
- export Regexp types, disambiguate CsvReader's similarly-named type - export Regexp types, disambiguate CsvReader's similarly-named type
- export failIfInvalidMonth/Day (fixes #216) - export failIfInvalidMonth/Day (fixes \#216)
- track the commodity of zero amounts when possible - track the commodity of zero amounts when possible
(useful eg for hledger-web's multi-commodity charts) (useful eg for hledger-web's multi-commodity charts)
- show posting dates in debug output - show posting dates in debug output
- more debug helpers - more debug helpers
0.23.3 (2014/9/12) 0.23.3 (2014/9/12)
- allow transformers 0.4* - allow transformers 0.4\*
0.23.2 (2014/5/8) 0.23.2 (2014/5/8)
- postingsReport: also fix date sorting of displayed postings (#184) - postingsReport: also fix date sorting of displayed postings (\#184)
0.23.1 (2014/5/7) 0.23.1 (2014/5/7)
- postingsReport: with disordered journal entries, postings before the - postingsReport: with disordered journal entries, postings before the
report start date could get wrongly included. (#184) report start date could get wrongly included. (\#184)
0.23 (2014/5/1) 0.23 (2014/5/1)
- orDatesFrom -> spanDefaultsFrom - orDatesFrom -\> spanDefaultsFrom
0.22.2 (2014/4/16) 0.22.2 (2014/4/16)
- display years before 1000 with four digits, not three - display years before 1000 with four digits, not three
- avoid pretty-show to build with GHC < 7.4 - avoid pretty-show to build with GHC \< 7.4
- allow text 1.1, drop data-pprint to build with GHC 7.8.x - allow text 1.1, drop data-pprint to build with GHC 7.8.x
0.22.1 (2014/1/6) and older: see http://hledger.org/release-notes or doc/CHANGES.md. 0.22.1 (2014/1/6) and older: see http://hledger.org/release-notes or doc/CHANGES.md.

View File

@ -1,168 +1,157 @@
User-visible changes in hledger-ui. User-visible changes in hledger-ui.
See also the hledger changelog. See also the hledger changelog.
# 1.12.1 (2018/12/10) # 1.12.1 (2018/12/10)
* avoid build issue with brick 0.44+ (#935) - avoid build issue with brick 0.44+ (\#935)
# 1.12 (2018/12/02) # 1.12 (2018/12/02)
* fix "Any" build error with GHC < 8.4 - fix "Any" build error with GHC \< 8.4
* error screen: always show error position properly (#904) (Mykola Orliuk) - error screen: always show error position properly (\#904) (Mykola Orliuk)
* accounts screen: show correct balances when there's only periodic transactions - accounts screen: show correct balances when there's only periodic transactions
* drop the --status-toggles flag - drop the --status-toggles flag
* periodic transactions and transaction modifiers are always enabled. - periodic transactions and transaction modifiers are always enabled.
Rule-based transactions and postings are always generated Rule-based transactions and postings are always generated
(--forecast and --auto are always on). (--forecast and --auto are always on).
Experimental. Experimental.
* escape key resets to flat mode. - escape key resets to flat mode.
Flat mode is the default at startup. Probably it should reset to tree Flat mode is the default at startup. Probably it should reset to tree
mode if --tree was used at startup. mode if --tree was used at startup.
* tree mode tweaks: add --tree/-T/-F flags, make flat mode the default, - tree mode tweaks: add --tree/-T/-F flags, make flat mode the default,\
toggle tree mode with T, ensure a visible effect on register screen toggle tree mode with T, ensure a visible effect on register screen
* hide future txns by default, add --future flag, toggle with F. - hide future txns by default, add --future flag, toggle with F.
You may have transactions dated later than today, perhaps piped from You may have transactions dated later than today, perhaps piped from
print --forecast or recorded in the journal, which you don't want to print --forecast or recorded in the journal, which you don't want to
see except when forecasting. see except when forecasting.
By default, we now hide future transactions, showing "today's balance". By default, we now hide future transactions, showing "today's balance".
This can be toggled with the F key, which is easier than setting a This can be toggled with the F key, which is easier than setting a
date query. --present and --future flags have been added to set the date query. --present and --future flags have been added to set the
initial mode. initial mode.
(Experimental. Interactions with date queries have not been explored.) (Experimental. Interactions with date queries have not been explored.)
* quick help tweaks; try to show most useful info first - quick help tweaks; try to show most useful info first
* reorganise help dialog, fit content into 80x25 again - reorganise help dialog, fit content into 80x25 again
* styling tweaks; cyan/blue -> white/yellow - styling tweaks; cyan/blue -\> white/yellow
* less noisy styling in horizontal borders (#838) - less noisy styling in horizontal borders (\#838)
* register screen: positive amounts: green -> black - register screen: positive amounts: green -\> black
The green/red scheme helped distinguish the changes column from the The green/red scheme helped distinguish the changes column from the
black/red balance column, but the default green is hard to read on black/red balance column, but the default green is hard to read on
the pale background in some terminals. Also the changes column is the pale background in some terminals. Also the changes column is
non-bold now. non-bold now.
* use hledger 1.12
- use hledger 1.12
# 1.11.1 (2018/10/06) # 1.11.1 (2018/10/06)
* use hledger 1.11.1 - use hledger 1.11.1
# 1.11 (2018/9/30) # 1.11 (2018/9/30)
* use hledger 1.11 - use hledger 1.11
# 1.10.1 (2018/7/3) # 1.10.1 (2018/7/3)
* restore support for fsnotify 0.2.1.2, as well as 0.3.x (#833) - restore support for fsnotify 0.2.1.2, as well as 0.3.x (\#833)
* fix a vty version bound & possibly build failures with old vty (#494)
- fix a vty version bound & possibly build failures with old vty (\#494)
# 1.10 (2018/6/30) # 1.10 (2018/6/30)
* the effect of --value, --forecast, and --anon flags is now preserved on reload (#753) - the effect of --value, --forecast, and --anon flags is now preserved on reload (\#753)
* edit-at-transaction-position is now also supported when $EDITOR is neovim - edit-at-transaction-position is now also supported when \$EDITOR is neovim
* support/require fsnotify 0.3.0.1+ - support/require fsnotify 0.3.0.1+
* use hledger-lib 1.10
- use hledger-lib 1.10
# 1.9.1 (2018/4/30) # 1.9.1 (2018/4/30)
* use hledger-lib 1.9.1 - use hledger-lib 1.9.1
# 1.9 (2018/3/31) # 1.9 (2018/3/31)
* support ghc 8.4, latest deps - support ghc 8.4, latest deps
* when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix - when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix
found when reading files found when reading files
* -E/--empty toggles zeroes at startup (with opposite default to cli) - -E/--empty toggles zeroes at startup (with opposite default to cli)
# 1.5 (2017/12/31) # 1.5 (2017/12/31)
* fix help -> view manual (on posix platforms) #623 - fix help -\> view manual (on posix platforms) \#623
* support -V/--value, --forecast, --auto - support -V/--value, --forecast, --auto
* remove upper bounds on all but hledger* and base (experimental)
- remove upper bounds on all but hledger\* and base (experimental)
# 1.4 (2017/9/30) # 1.4 (2017/9/30)
* a @FILE argument reads flags & args from FILE, one per line - a @FILE argument reads flags & args from FILE, one per line
* enable --pivot and --anon options, like hledger CLI (#474) (Jakub Zárybnický) - enable --pivot and --anon options, like hledger CLI (\#474) (Jakub Zárybnický)
* accept -NUM as a shortcut for --depth NUM - accept -NUM as a shortcut for --depth NUM
* deps: allow ansi-terminal 0.7 - deps: allow ansi-terminal 0.7
* deps: drop oldtime flag, require time 1.5+
- deps: drop oldtime flag, require time 1.5+
# 1.3.1 (2017/8/25) # 1.3.1 (2017/8/25)
* allow megaparsec 6 (#594, Simon Michael, Hans-Peter Deifel) - allow megaparsec 6 (\#594, Simon Michael, Hans-Peter Deifel)
* allow megaparsec-6.1 (Hans-Peter Deifel) - allow megaparsec-6.1 (Hans-Peter Deifel)
* allow vty 5.17 (Felix Yan) - allow vty 5.17 (Felix Yan)
* allow brick 0.24 - allow brick 0.24
* restore upper bounds on hledger packages
- restore upper bounds on hledger packages
# 1.3 (2017/6/30) # 1.3 (2017/6/30)
The register screen now shows transaction status marks. The register screen now shows transaction status marks.
The "uncleared" status, and associated UI flags and keys, have been The "uncleared" status, and associated UI flags and keys, have been
renamed to "unmarked" to remove ambiguity and confusion. This means renamed to "unmarked" to remove ambiguity and confusion. This means
that we have dropped the `--uncleared` flag, and our `-U` flag now that we have dropped the `--uncleared` flag, and our `-U` flag now
matches only unmarked things and not pending ones. See the issue and matches only unmarked things and not pending ones. See the issue and
linked mail list discussion for more background. (#564) linked mail list discussion for more background. (\#564)
The P key toggles pending mode, consistent with U (unmarked) and C The P key toggles pending mode, consistent with U (unmarked) and C
(cleared). There is also a temporary --status-toggles flag for testing (cleared). There is also a temporary --status-toggles flag for testing
other toggle styles; see `hledger-ui -h`. (#564) other toggle styles; see `hledger-ui -h`. (\#564)
There is now less "warping" of selection when lists change: There is now less "warping" of selection when lists change:
- When the selected account disappears, eg when toggling zero - When the selected account disappears, eg when toggling zero
accounts, the selection moves to the alphabetically preceding item, accounts, the selection moves to the alphabetically preceding item,
instead of the first one. instead of the first one.
- When the selected transaction disappears, eg when toggling status - When the selected transaction disappears, eg when toggling status
filters, the selection moves to the nearest transaction by date (and filters, the selection moves to the nearest transaction by date (and
if several have the same date, by journal order), instead of the if several have the same date, by journal order), instead of the
last one. last one.
In the accounts and register screens, you can now scroll down further In the accounts and register screens, you can now scroll down further
so that the last item need not always be shown at the bottom of the so that the last item need not always be shown at the bottom of the
screen. And we now try to show the selected item centered in the screen. And we now try to show the selected item centered in the
following situations: following situations:
- after moving to the end with Page down/End - after moving to the end with Page down/End
@ -180,29 +169,26 @@ hjkl and CTRL-bfnp should work wherever unmodified arrow keys work.
In the transaction screen, amounts are now better aligned, eg when In the transaction screen, amounts are now better aligned, eg when
there are posting status marks or virtual postings. there are posting status marks or virtual postings.
Deps: allow brick 0.19 (#575, Felix Yan, Simon Michael) Deps: allow brick 0.19 (\#575, Felix Yan, Simon Michael)
# 1.2 (2017/3/31) # 1.2 (2017/3/31)
Fix a pattern match failure when pressing E on the transaction screen (fixes #508) Fix a pattern match failure when pressing E on the transaction screen (fixes \#508)
Accounts with ? in name had empty registers (fixes #498) (Bryan Richter) Accounts with ? in name had empty registers (fixes \#498) (Bryan Richter)
Allow brick 0.16 (Joshua Chia) and brick 0.17/vty 0.15 (Peter Simons) Allow brick 0.16 (Joshua Chia) and brick 0.17/vty 0.15 (Peter Simons)
Allow megaparsec 5.2 (fixes #503) Allow megaparsec 5.2 (fixes \#503)
Allow text-zipper 0.10 Allow text-zipper 0.10
# 1.1.1 (2017/1/20) # 1.1.1 (2017/1/20)
- allow brick 0.16 (Joshua Chia) - allow brick 0.16 (Joshua Chia)
- drop obsolete --no-elide flag - drop obsolete --no-elide flag
# 1.1 (2016/12/31) # 1.1 (2016/12/31)
- with --watch, the display updates automatically to show file or date changes - with --watch, the display updates automatically to show file or date changes
@ -224,26 +210,21 @@ Allow text-zipper 0.10
- allow brick 0.15, vty 5.14, text-zipper 0.9 - allow brick 0.15, vty 5.14, text-zipper 0.9
# 1.0.4 (2016/11/2) # 1.0.4 (2016/11/2)
- allow brick 0.13 - allow brick 0.13
# 1.0.3 (2016/10/31) # 1.0.3 (2016/10/31)
- use brick 0.12 - use brick 0.12
# 1.0.2 (2016/10/27) # 1.0.2 (2016/10/27)
- use latest brick 0.11 - use latest brick 0.11
# 1.0.1 (2016/10/27) # 1.0.1 (2016/10/27)
- allow megaparsec 5.0 or 5.1 - allow megaparsec 5.0 or 5.1
# 1.0 (2016/10/26) # 1.0 (2016/10/26)
@ -268,19 +249,19 @@ Allow text-zipper 0.10
mode/subaccount txns excluded by default. (At least, it does when mode/subaccount txns excluded by default. (At least, it does when
it would make a difference.) it would make a difference.)
- register transactions are filtered by realness and status (#354). - 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 ?)
@ -293,7 +274,7 @@ Allow text-zipper 0.10
## misc ## misc
- H toggles between showing "historical" or "period" balances (#392). - H toggles between showing "historical" or "period" balances (\#392).
By default hledger-ui now shows historical balances, which By default hledger-ui now shows historical balances, which
include transactions before the report start date (like hledger include transactions before the report start date (like hledger
@ -310,7 +291,7 @@ Allow text-zipper 0.10
- a runs the add command - a runs the add command
- E runs $HLEDGER_UI_EDITOR or $EDITOR or a default editor (vi) on the journal file. - E 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. When using emacs or vi, if a transaction is selected the cursor will be positioned at its journal entry.
@ -319,7 +300,7 @@ Allow text-zipper 0.10
- Z toggles display of zero items (like --empty), and they are shown by default. - Z toggles display of zero items (like --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.
- R toggles inclusion of only real (non-virtual) postings - R toggles inclusion of only real (non-virtual) postings
@ -328,7 +309,7 @@ Allow text-zipper 0.10
- I toggles balance assertions checking, useful for troubleshooting - I toggles balance assertions checking, useful for troubleshooting
- vi-style movement keys are now supported (for help, you must now use ? not h) (#357) - vi-style movement keys are now supported (for help, you must now use ? not h) (\#357)
- ESC cancels minibuffer/help or clears the filter query and jumps to top screen - ESC cancels minibuffer/help or clears the filter query and jumps to top screen
@ -348,44 +329,40 @@ Allow text-zipper 0.10
- hledger-ui now uses the quicker-building microlens - hledger-ui now uses the quicker-building microlens
0.27.3 (2016/1/12) 0.27.3 (2016/1/12)
- allow brick 0.4 - allow brick 0.4
0.27.2 (2016/1/11) 0.27.2 (2016/1/11)
- allow brick 0.3.x - allow brick 0.3.x
0.27.1 (2015/12/3) 0.27.1 (2015/12/3)
- allow lens 4.13 - allow lens 4.13
- make reloading work on the transaction screen - make reloading work on the transaction screen
0.27 (2015/10/30) 0.27 (2015/10/30)
- hledger-ui is a new curses-style UI, intended to be a standard part - hledger-ui is a new curses-style UI, intended to be a standard part
of the hledger toolset for all users (except on native MS Windows, of the hledger toolset for all users (except on native MS Windows,
where the vty lib is not yet supported). where the vty lib is not yet supported).
The UI is quite simple, allowing just browsing of accounts and The UI is quite simple, allowing just browsing of accounts and
transactions, but it has a number of improvements over the old transactions, but it has a number of improvements over the old
hledger-vty, which it replaces: hledger-vty, which it replaces:
- adapts to screen size - adapts to screen size
- handles wide characters - handles wide characters
- shows multi-commodity amounts on one line - shows multi-commodity amounts on one line
- manages cursor and scroll position better - manages cursor and scroll position better
- allows depth adjustment - allows depth adjustment
- allows --flat toggle - allows --flat toggle
- allows --cleared toggle - allows --cleared toggle
- allows journal reloading - allows journal reloading
- shows a more useful transaction register, like hledger-web - shows a more useful transaction register, like hledger-web
- offers multiple color themes - offers multiple color themes
- includes some built-in help - includes some built-in help
hledger-ui is built with brick, a new higher-level UI library based hledger-ui is built with brick, a new higher-level UI library based
on vty, making it relatively easy to grow and maintain. on vty, making it relatively easy to grow and maintain.

View File

@ -1,148 +1,132 @@
User-visible changes in hledger-web. User-visible changes in hledger-web.
See also the hledger changelog. See also the hledger changelog.
# 1.12 (2018/12/02) # 1.12 (2018/12/02)
* fix duplicate package.yaml keys warned about by hpack - fix duplicate package.yaml keys warned about by hpack
* use hledger 1.12
- use hledger 1.12
# 1.11.1 (2018/10/06) # 1.11.1 (2018/10/06)
* use hledger 1.11.1 - use hledger 1.11.1
# 1.11 (2018/9/30) # 1.11 (2018/9/30)
* use hledger 1.11 - use hledger 1.11
# 1.10 (2018/6/30) # 1.10 (2018/6/30)
* multiple -f options, and --auto, work again - multiple -f options, and --auto, work again
* view, add, edit permissions can be set at CLI or by Sandstorm HTTP header - view, add, edit permissions can be set at CLI or by Sandstorm HTTP header
* the edit form has been revived, for whole-journal editing - the edit form has been revived, for whole-journal editing
* the journal can now be uploaded and downloaded - the journal can now be uploaded and downloaded
* the e key toggles empty accounts in the sidebar - the e key toggles empty accounts in the sidebar
* use hledger-lib 1.10
- use hledger-lib 1.10
# 1.9.2 (2018/4/30) # 1.9.2 (2018/4/30)
* use hledger-lib 1.9.1 - use hledger-lib 1.9.1
# 1.9.1 (2018/4/13) # 1.9.1 (2018/4/13)
* fix compilation with yesod < 1.6 - fix compilation with yesod \< 1.6
# 1.9 (2018/3/31) # 1.9 (2018/3/31)
* support ghc 8.4, latest deps - support ghc 8.4, latest deps
* when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix - when the system text encoding is UTF-8, ignore any UTF-8 BOM prefix
found when reading files found when reading files
* -E/--empty toggles zeroes at startup (with opposite default to cli)
- -E/--empty toggles zeroes at startup (with opposite default to cli)
# 1.5 (2017/12/31) # 1.5 (2017/12/31)
* add form account fields now suggest implied and declared account names also - add form account fields now suggest implied and declared account names also
* add form date field now uses a datepicker (Eli Flanagan) - add form date field now uses a datepicker (Eli Flanagan)
* don't write a session file at startup, don't require a writable working directory - don't write a session file at startup, don't require a writable working directory
* support -V/--value, --forecast, --auto - support -V/--value, --forecast, --auto
* remove upper bounds on all but hledger* and base (experimental)
- remove upper bounds on all but hledger\* and base (experimental)
# 1.4 (2017/9/30) # 1.4 (2017/9/30)
* a @FILE argument reads flags & args from FILE, one per line - a @FILE argument reads flags & args from FILE, one per line
* enable --pivot and --anon options, like hledger CLI (#474) (Jakub Zárybnický) - enable --pivot and --anon options, like hledger CLI (\#474) (Jakub Zárybnický)
* web: Make "Add transaction" button tabbable (#430) (Jakub Zárybnický) - web: Make "Add transaction" button tabbable (\#430) (Jakub Zárybnický)
* accept -NUM as a shortcut for --depth NUM - accept -NUM as a shortcut for --depth NUM
* deps: drop oldtime flag, require time 1.5+, remove ghc < 7.6 support
- deps: drop oldtime flag, require time 1.5+, remove ghc \< 7.6 support
# 1.3.2 (2017/8/25) # 1.3.2 (2017/8/25)
* remove unnecessary bound to satisfy hackage server - remove unnecessary bound to satisfy hackage server
# 1.3.1 (2017/8/25) # 1.3.1 (2017/8/25)
* allow megaparsec 6 (#594, Simon Michael, Hans-Peter Deifel) - allow megaparsec 6 (\#594, Simon Michael, Hans-Peter Deifel)
* allow megaparsec-6.1 (Hans-Peter Deifel) - allow megaparsec-6.1 (Hans-Peter Deifel)
* restore upper bounds on hledger packages
- restore upper bounds on hledger packages
# 1.3 (2017/6/30) # 1.3 (2017/6/30)
Depends on hledger[-lib] 1.3, see related changelogs. Depends on hledger\[-lib\] 1.3, see related changelogs.
# 1.2 (2017/3/31) # 1.2 (2017/3/31)
Accounts with ? in name had empty registers (fixes #498) (Bryan Richter) Accounts with ? in name had empty registers (fixes \#498) (Bryan Richter)
Allow megaparsec 5.2 (fixes #503)
Allow megaparsec 5.2 (fixes \#503)
# 1.1 (2016/12/31) # 1.1 (2016/12/31)
- add --host option (#429) - add --host option (\#429)
This came up in the context of Docker, but it seems it wasn't This came up in the context of Docker, but it seems it wasn't
possible for hledger-web to serve remote clients directly (without possible for hledger-web to serve remote clients directly (without
a proxy) because of 127.0.0.1 being hardcoded. That can now be a proxy) because of 127.0.0.1 being hardcoded. That can now be
changed with --host=IPADDR. Also, the default base url uses this changed with --host=IPADDR. Also, the default base url uses this
address rather than a hard-coded "localhost". address rather than a hard-coded "localhost".
- rename --server to --serve - rename --server to --serve
The --server flag sounded too close in meaning to --host so The --server flag sounded too close in meaning to --host so
I've renamed it to --serve. The old spelling is still accepted, I've renamed it to --serve. The old spelling is still accepted,
but deprecated and will be removed in the next release. but deprecated and will be removed in the next release.
# 1.0.1 (2016/10/27) # 1.0.1 (2016/10/27)
- allow megaparsec 5.0 or 5.1 - allow megaparsec 5.0 or 5.1
# 1.0 (2016/10/26) # 1.0 (2016/10/26)
## ui ## ui
- use full width on large screens, hide sidebar on small screens, more standard bootstrap styling (#418, #422) (Dominik Süß) - use full width on large screens, hide sidebar on small screens, more standard bootstrap styling (\#418, \#422) (Dominik Süß)
- show the sidebar by default (#310) - show the sidebar by default (\#310)
- fix the add link's tooltip - fix the add link's tooltip
- when the add form opens, focus the first field (#338) - when the add form opens, focus the first field (\#338)
- leave the add form's date field blank, avoiding a problem with tab clearing it (#322) - leave the add form's date field blank, avoiding a problem with tab clearing it (\#322)
- use transaction id instead of date in transaction urls (#308) (Thomas R. Koll) - use transaction id instead of date in transaction urls (\#308) (Thomas R. Koll)
- after following a link to a transaction, highlight it (Thomas R. Koll) - after following a link to a transaction, highlight it (Thomas R. Koll)
@ -150,7 +134,7 @@ Allow megaparsec 5.2 (fixes #503)
## misc ## misc
- startup is more robust (#226). - startup is more robust (\#226).
Now we exit if something is already using the specified port, Now we exit if something is already using the specified port,
and we don't open a browser page before the app is ready. and we don't open a browser page before the app is ready.
@ -161,7 +145,7 @@ Allow megaparsec 5.2 (fixes #503)
- more robust register dates and filtering in some situations (see hledger-ui notes) - more robust register dates and filtering in some situations (see hledger-ui notes)
- reloading the journal preserves options, arguments in effect (#314). - reloading the journal preserves options, arguments in effect (\#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
@ -169,65 +153,61 @@ Allow megaparsec 5.2 (fixes #503)
- show a proper not found page on 404 - show a proper not found page on 404
- document the special \`inacct:\` query (#390) - document the special \`inacct:\` query (\#390)
0.27 (2015/10/30) 0.27 (2015/10/30)
- Fix keyboard shortcut for adding a transaction (Carlos Lopez-Camey) - Fix keyboard shortcut for adding a transaction (Carlos Lopez-Camey)
- Clear the form when clicking 'Add a transaction' (just like the shortcut) (Carlos Lopez-Camey) - Clear the form when clicking 'Add a transaction' (just like the shortcut) (Carlos Lopez-Camey)
- Disallow -f- (reading from standard input) which currently doesn't work (#202) - Disallow -f- (reading from standard input) which currently doesn't work (\#202)
- Fix broken links when using --base-url (#235) - Fix broken links when using --base-url (\#235)
- Fix the --file-url option (#285) - Fix the --file-url option (\#285)
- Show fewer "other accounts" in the account register: to reduce
clutter in the "other accounts" field, if there are both real and
virtual postings to other accounts, show only the accounts posted to
by real postings.
- Show fewer "other accounts" in the account register: to reduce
clutter in the "other accounts" field, if there are both real and
virtual postings to other accounts, show only the accounts posted to
by real postings.
0.26 (2015/7/12) 0.26 (2015/7/12)
- make the j keybinding respect --base-url (fixes #271) - make the j keybinding respect --base-url (fixes \#271)
- respect command line options (fixes #225) - respect command line options (fixes \#225)
- include the unminified jquery source again (#161) - include the unminified jquery source again (\#161)
- fix build breakage from #165 (fixes #268) - fix build breakage from \#165 (fixes \#268)
- fix a js error breaking add form in browsers other than firefox (#251, Carlos Lopez-Camey <c.lopez@kmels.net>) - fix a js error breaking add form in browsers other than firefox (\#251, Carlos Lopez-Camey <c.lopez@kmels.net>)
- drop deprecated network-conduit dependency - drop deprecated network-conduit dependency
0.25 (2015/4/7) 0.25 (2015/4/7)
- GHC 7.10 compatibility (#239) - GHC 7.10 compatibility (\#239)
- fix the add form when there are included files (#234) - fix the add form when there are included files (\#234)
NB to make this work, the add form now shows the full file path of NB to make this work, the add form now shows the full file path of
the main and included journal files. the main and included journal files.
- improve add form validation (#223, #234) - improve add form validation (\#223, \#234)
All add form errors are displayed as form errors, not internal All add form errors are displayed as form errors, not internal
server errors, and when there are errors the add form is redisplayed server errors, and when there are errors the add form is redisplayed
(form inputs are not preserved, currently). (form inputs are not preserved, currently).
- keep the add button right-aligned when pressing ctrl - on the add form - keep the add button right-aligned when pressing ctrl - on the add form
0.24.1 (2015/1/10) 0.24.1 (2015/1/10)
- add missing modules to fix cabal tests (#232) - add missing modules to fix cabal tests (\#232)
0.24 (2014/12/25) 0.24 (2014/12/25)
General: General:
- fix: add missing hs/js files to package - fix: add missing hs/js files to package
- the web UI has been streamlined, dropping the raw and entries views and - the web UI has been streamlined, dropping the raw and entries views and
the edit form the edit form
- the help dialog has been improved - the help dialog has been improved
- keyboard shortcuts are now available - keyboard shortcuts are now available
- the sidebar can be toggled open or closed (press s) - the sidebar can be toggled open or closed (press s)
@ -237,73 +217,73 @@ Journal view:
Register view: Register view:
- fix: don't show all zero amounts when searching by account within an - fix: don't show all zero amounts when searching by account within an
account register view account register view
- chart improvements: show zero balances with correct commodity; show - chart improvements: show zero balances with correct commodity; show
accurate balance at all dates; show transaction events & tooltips; accurate balance at all dates; show transaction events & tooltips;
show zero/today lines & background colors show zero/today lines & background colors
Add form: Add form:
- parses data more strictly and gives better errors (eg #194) - parses data more strictly and gives better errors (eg \#194)
- allows any number of postings, not just two - allows any number of postings, not just two
- after adding a transaction, goes back to the journal - after adding a transaction, goes back to the journal
- keyboard shortcut (a) allows quick access - keyboard shortcut (a) allows quick access
Dependencies: Dependencies:
- allow warp 3*, wai-handler-launch 3* - allow warp 3*, wai-handler-launch 3*
- require yesod 1.4* (fixes #212) - require yesod 1.4\* (fixes \#212)
- js updated (jquery, bootstrap, flot), added (typeahead, cookie, hotkeys), - js updated (jquery, bootstrap, flot), added (typeahead, cookie, hotkeys),
removed (select2) removed (select2)
0.23.3 (2014/9/12) 0.23.3 (2014/9/12)
- remove warp, wai-handler-launch upper bounds (fixes #205) - remove warp, wai-handler-launch upper bounds (fixes \#205)
0.23.2 (2014/5/8) 0.23.2 (2014/5/8)
- depend on latest hledger - depend on latest hledger
0.23.1 (2014/5/7) 0.23.1 (2014/5/7)
- depend on latest hledger - depend on latest hledger
0.23 (2014/5/1) 0.23 (2014/5/1)
- The --static-root flag has been renamed to --file-url. - The --static-root flag has been renamed to --file-url.
- hledger-web now builds with Cabal's default -O, not -O2, - hledger-web now builds with Cabal's default -O, not -O2,
so may be a little quicker/less memory-hungry to install. so may be a little quicker/less memory-hungry to install.
0.22.8 (2014/4/29) 0.22.8 (2014/4/29)
- allow shakespeare 2.* (#179) - allow shakespeare 2.\* (\#179)
0.22.7 (2014/4/17) 0.22.7 (2014/4/17)
- add Peter Simons' patch fixing Data.Conduit.Network HostIPv4 error (#171) - add Peter Simons' patch fixing Data.Conduit.Network HostIPv4 error (\#171)
0.22.6 (2014/4/16) 0.22.6 (2014/4/16)
- depend on hledger[-lib] 0.22.2 - depend on hledger\[-lib\] 0.22.2
0.22.5 (2014/4/15) 0.22.5 (2014/4/15)
- allow http-client 0.3.*, fixing cabal install again with GHC <= 7.6 (not yet 7.8) - allow http-client 0.3.\*, fixing cabal install again with GHC \<= 7.6 (not yet 7.8)
- use pretty-show only with GHC 7.4+, fixing GHC 7.2 (fixes #155) - use pretty-show only with GHC 7.4+, fixing GHC 7.2 (fixes \#155)
- allow warp 2.1, fixing cabal install - allow warp 2.1, fixing cabal install
0.22.4 (2014/2/10) 0.22.4 (2014/2/10)
- Fix: include the right unminified version of jquery.url.js (1.1) to avoid js breakage - Fix: include the right unminified version of jquery.url.js (1.1) to avoid js breakage
0.22.3 (2014/2/10) 0.22.3 (2014/2/10)
- Fix: version number reported by --version - Fix: version number reported by --version
0.22.2 (2014/2/10) 0.22.2 (2014/2/10)
- new option --static-root to set the base url for static files - new option --static-root to set the base url for static files
- allow blaze-html 0.7 (#159) - allow blaze-html 0.7 (\#159)
- Fix: include unminified source of all javascript to help packagers (#161) - Fix: include unminified source of all javascript to help packagers (\#161)
- Fix: work around clang-related build failures with OS X mavericks/XCode 5 - Fix: work around clang-related build failures with OS X mavericks/XCode 5
0.22.1 (2014/1/6) and older 0.22.1 (2014/1/6) and older

File diff suppressed because it is too large Load Diff