;doc: changelogs
This commit is contained in:
parent
e44c1cfae8
commit
7aefa6f0ce
22
CHANGES.md
22
CHANGES.md
@ -1,16 +1,24 @@
|
|||||||
General/project-related changes in the hledger project.
|
General/project-related changes in the hledger project.
|
||||||
For package-specific changes, see the package changelogs.
|
For package-specific changes, see the package changelogs.
|
||||||
|
|
||||||
# 7881edfc
|
# ba59fed6
|
||||||
|
|
||||||
- stack: bump default stack file to lts 16
|
- example scripts:
|
||||||
|
|
||||||
- bin: hledger-check: use stack script command
|
- stack scripts now use stack's script command consistently
|
||||||
|
- stack scripts no longer have explicit --package lists, stack
|
||||||
|
infers them from the imports
|
||||||
|
- hledger-print-location: new script
|
||||||
|
|
||||||
- ci: separate quick and full tests again, update
|
- CI:
|
||||||
The linux full tests no longer test GHC 8.0,
|
|
||||||
and all full tests now always compile all modules
|
- always recompile all modules for robustness
|
||||||
and generate optimised binaries.
|
- generate optimised binaries, which can be downloaded
|
||||||
|
- build a single different GHC version with each workflow, reducing
|
||||||
|
total building and carbon footprint a bit
|
||||||
|
- stop building with GHC 8.0
|
||||||
|
|
||||||
|
- the default stack file now uses lts 16.12 (ghc 8.8.4)
|
||||||
|
|
||||||
# 1.18.1 2020-06-21
|
# 1.18.1 2020-06-21
|
||||||
|
|
||||||
|
|||||||
@ -1,17 +1,76 @@
|
|||||||
Internal/api/developer-ish changes in the hledger-lib (and hledger) packages.
|
Internal/api/developer-ish changes in the hledger-lib (and hledger) packages.
|
||||||
For user-visible changes, see the hledger package changelog.
|
For user-visible changes, see the hledger package changelog.
|
||||||
|
|
||||||
- 3822c27b ;lib: regex: rename & export RegexError, export toRegex_, docs (#1312)
|
# 818dea3e
|
||||||
|
|
||||||
# 25c15d4b
|
- Added a missing lower bound for aeson, making cabal installs more
|
||||||
|
reliable. (#1268)
|
||||||
|
|
||||||
- add a color argument to most amount show helpers, drop cshow variants This
|
- The Regex type alias has been replaced by the Regexp ADT, which
|
||||||
is an API change, but it seems better than having additional
|
contains both the compiled regular expression (so is guaranteed to
|
||||||
colour-supporting variants and trying to avoid duplicated code. I stopped
|
be usable at runtime) and the original string (so can be serialised,
|
||||||
short of changing showAmount, so cshowAmount still exists.
|
printed, compared, etc.) A Regexp also knows whether is it case
|
||||||
|
sensitive or case insensitive. The Hledger.Utils.Regex API has
|
||||||
|
changed. (#1312, #1330).
|
||||||
|
|
||||||
- Remove the old BalanceReport code, and use MultiBalanceReport for
|
- Typeable and Data instances are no longer derived for hledger's
|
||||||
everything. (Stephen Morgan, #1256).
|
data types; they were redundant/no longer needed.
|
||||||
|
|
||||||
|
- NFData instances are no longer derived for hledger's data types.
|
||||||
|
This speeds up a full build by roughly 7%. But it means we can't
|
||||||
|
deep-evaluate hledger values, or time hledger code with Criterion.
|
||||||
|
https://github.com/simonmichael/hledger/pull/1330#issuecomment-684075129
|
||||||
|
has some ideas on this.
|
||||||
|
|
||||||
|
- Query no longer has a custom Show instance
|
||||||
|
|
||||||
|
- Hledger.Utils.String: quoteIfNeeded now actually escapes quotes in
|
||||||
|
strings. escapeQuotes was dropped. (Stephen Morgan)
|
||||||
|
|
||||||
|
- Hledger.Utils.Tree: dropped some old utilities
|
||||||
|
|
||||||
|
- Some fromIntegral calls have been replaced with safer code, removing
|
||||||
|
some potential for integer wrapping bugs (#1325, #1326)
|
||||||
|
|
||||||
|
- Parsing numbers with more than 255 decimal places now gives an error
|
||||||
|
instead of silently misparsing (#1326)
|
||||||
|
|
||||||
|
- Digit groups are now limited to at most 255 digits each. (#1326)
|
||||||
|
|
||||||
|
- Exponents are parsed as Integer rather than Int.
|
||||||
|
This means exponents greater than 9223372036854775807 or less than
|
||||||
|
-9223372036854775808 are now parsed correctly, in theory. (In
|
||||||
|
practice, very large exponents will cause hledger to eat all your
|
||||||
|
memory, so avoid them for now.) (#1326)
|
||||||
|
|
||||||
|
- AmountStyle's asprecision is now a sum type with Word8, instead of
|
||||||
|
an Int with magic values.
|
||||||
|
|
||||||
|
- DigitGroupStyle uses Word8 instead of Int.
|
||||||
|
|
||||||
|
- Partial helper function parsedate has been dropped, use fromGregorian instead.
|
||||||
|
|
||||||
|
- Partial helper function mkdatespan has been dropped.
|
||||||
|
|
||||||
|
- Helper function transaction now takes a Day instead of a date string. (Stephen Morgan)
|
||||||
|
|
||||||
|
- Old CPP directives made redundant by version bounds have been
|
||||||
|
removed. (Stephen Morgan)
|
||||||
|
|
||||||
|
- Smart dates are now represented by the SmartDate type, and are
|
||||||
|
always well formed. (Stephen Morgan)
|
||||||
|
|
||||||
|
- accountTransactionsReport (used for hledger aregister and
|
||||||
|
hledger-ui/hledger-web registers) now filters transactions more
|
||||||
|
thoroughly, so eg transactions dated outside the report period will
|
||||||
|
not be shown. Previously the transaction would be shown if it had
|
||||||
|
any posting dated inside the report period. Possibly some other
|
||||||
|
filter criteria now get applied that didn't before. I think on
|
||||||
|
balance this will give slightly preferable results.
|
||||||
|
|
||||||
|
- The old BalanceReport code has been dropped at last, replaced by
|
||||||
|
MultiBalanceReport so that all balance reports now use the same
|
||||||
|
code. (Stephen Morgan, #1256).
|
||||||
|
|
||||||
- The large multiBalanceReport function has been split up and refactored
|
- The large multiBalanceReport function has been split up and refactored
|
||||||
extensively.
|
extensively.
|
||||||
@ -22,28 +81,12 @@ For user-visible changes, see the hledger package changelog.
|
|||||||
- displayedAccounts is completely rewritten. Perhaps one subtle thing to
|
- displayedAccounts is completely rewritten. Perhaps one subtle thing to
|
||||||
note is that in tree mode it no longer excludes nodes with zero inclusive
|
note is that in tree mode it no longer excludes nodes with zero inclusive
|
||||||
balance unless they also have zero exclusive balance.
|
balance unless they also have zero exclusive balance.
|
||||||
- Simon's note: I'll mark the passing of the old multiBalanceReport, into
|
- Simon's note: "I'll mark the passing of the old multiBalanceReport, into
|
||||||
which I poured many an hour :). It is in a way the heart (brain ?) of
|
which I poured many an hour :). It is in a way the heart (brain ?) of
|
||||||
hledger - the key feature of ledgerlikes (balance report) and a key
|
hledger - the key feature of ledgerlikes (balance report) and a key
|
||||||
improvement introduced by hledger (tabular multiperiod balance reports).
|
improvement introduced by hledger (tabular multiperiod balance reports)
|
||||||
You have split that 300-line though well documented function into modular
|
...
|
||||||
parts, which could be a little harder to understand in detail but are
|
Thanks @Xitian9, great work."
|
||||||
easier to understand in the large and more amenable to further
|
|
||||||
refactoring. Then you fixed some old limitations (boring parent eliding in
|
|
||||||
multi period balance reports, --drop with tree mode reports), allowing us
|
|
||||||
to drop the old balanceReport and focus on just the new
|
|
||||||
multiBalanceReport. And for representing the tabular data you replaced the
|
|
||||||
semantically correct but inefficient list of lists with a map of maps,
|
|
||||||
speeding up many-columned balance reports significantly (~40%). Last and
|
|
||||||
not least you made it really easy to review. Thanks @Xitian9, great work.
|
|
||||||
|
|
||||||
- lib, cli: Introduce convenience function compoundBalanceReport. (Stephen Morgan)
|
|
||||||
|
|
||||||
- lib, cli: Move CompoundBalanceReport into ReportTypes, compoundReportWith into MultiBalanceReport, share postings amongst subreports. (Stephen Morgan)
|
|
||||||
|
|
||||||
- lib: Move unifyMixedAmount to Hledger.Data.Amount, make it return Maybe Amount, export it. (Stephen Morgan)
|
|
||||||
|
|
||||||
- add lower bound needed for aeson, to help cabal (#1268)
|
|
||||||
|
|
||||||
# 1.18.1 2020-06-21
|
# 1.18.1 2020-06-21
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,33 @@
|
|||||||
User-visible changes in hledger-ui.
|
User-visible changes in hledger-ui.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 3b6a8b09
|
# 818dea3e
|
||||||
|
|
||||||
- ui: register: elide multicommodity amounts
|
- The --color/--colour=WHEN command line option, support for the
|
||||||
|
NO_COLOR environment variable, and smarter autodetection of colour
|
||||||
|
terminals have been added (#1296)
|
||||||
|
|
||||||
|
- -t and -l command line flags have been added as short forms of
|
||||||
|
--tree and --flat (#1286)
|
||||||
|
|
||||||
|
- Flat (AKA list) mode is now the default
|
||||||
|
|
||||||
|
- t now toggles tree mode, while T sets the "today" period (#1286)
|
||||||
|
|
||||||
|
- register: multicommodity amounts containing more than two
|
||||||
|
commodities are now elided
|
||||||
|
|
||||||
|
- register: a transaction dated outside the report period now is not
|
||||||
|
shown even if it has postings dated inside the report period.
|
||||||
|
|
||||||
|
- ESC now restores exactly the app's state at startup, which includes
|
||||||
|
clearing any report period limit (#1286)
|
||||||
|
|
||||||
|
- DEL/BS no longer changes the tree/list mode
|
||||||
|
|
||||||
|
- q now exits help before exiting the app (#1286)
|
||||||
|
|
||||||
|
- The help dialog's layout is improved
|
||||||
|
|
||||||
# 1.18.1 2020-06-21
|
# 1.18.1 2020-06-21
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,18 @@
|
|||||||
User-visible changes in hledger-web.
|
User-visible changes in hledger-web.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 44c3eb19
|
# 818dea3e
|
||||||
|
|
||||||
- add lower bound needed for aeson, to help cabal (#1268)
|
- Queries containing a malformed regular expression (eg the single
|
||||||
|
character `?`) now show a tidy error message instead "internal
|
||||||
|
server error" (Stephen Morgan, Simon Michael) (#1245)
|
||||||
|
|
||||||
|
- In account registers, a transaction dated outside the report period
|
||||||
|
now is not shown even if it has postings dated inside the report
|
||||||
|
period.
|
||||||
|
|
||||||
|
- Added a missing lower bound for aeson, making cabal installs more
|
||||||
|
reliable. (#1268)
|
||||||
|
|
||||||
# 1.18.1 2020-06-21
|
# 1.18.1 2020-06-21
|
||||||
|
|
||||||
|
|||||||
@ -1,21 +1,52 @@
|
|||||||
User-visible changes in the hledger command line tool and library.
|
User-visible changes in the hledger command line tool and library.
|
||||||
|
|
||||||
|
|
||||||
# 44c3eb19
|
# 818dea3e
|
||||||
|
|
||||||
- balcmds: elide amounts with 3 or more commodities, unless --no-elide
|
## general
|
||||||
Multicolumn balance reports showing many commodities tend to become
|
|
||||||
unreadably wide, especially in tree mode. Now by default we show at
|
|
||||||
most two commodities, and a count of the rest if there are more than
|
|
||||||
two. This should help keep reports somewhat readable by default.
|
|
||||||
|
|
||||||
- bal: warn about #1279 in manual
|
- When parsing dates, the year is now required to have at least four
|
||||||
|
digits. So eg we no longer accept `200/1/1` as a valid date, it
|
||||||
|
would need to be written `0200/1/1`. This was done for.. reasons,
|
||||||
|
and is experimental; let us know if it causes you trouble.
|
||||||
|
|
||||||
- cli: for options taking a numeric argument, we now validate the
|
- The --color/--colour=WHEN command line option, support for the
|
||||||
argument more carefully, avoiding unexpected negatives or Int
|
NO_COLOR environment variable, and smarter autodetection of colour
|
||||||
|
terminals have been added (#1296)
|
||||||
|
|
||||||
|
- Command line options taking a numeric argument are now validated
|
||||||
|
more carefully, preventing issues with unexpected negatives or Int
|
||||||
overflow. (Stephen Morgan)
|
overflow. (Stephen Morgan)
|
||||||
|
|
||||||
- cli: debug output is now organised better by debug level.
|
- In queries, you can now specify a quarter like `2020q1` or `q4`
|
||||||
|
(the q is case-insensitive). (#1247, Henning Thieleman, Stephen Morgan)
|
||||||
|
|
||||||
|
- In report intervals, `fortnightly` has been added as a synonym for
|
||||||
|
`biweekly`. (Stephen Morgan)
|
||||||
|
|
||||||
|
- -t and -l command line flags have been added as short forms of
|
||||||
|
--tree and --flat (#1286)
|
||||||
|
|
||||||
|
- All reports displaying accounts now choose flat mode by default
|
||||||
|
(Stephen Morgan)
|
||||||
|
|
||||||
|
- Reports now show at most 2 commodities of multicommodity amounts,
|
||||||
|
unless the --no-elide flag is used. This helps keep them readable by
|
||||||
|
default, since multicolumn, multicommodity balance reports otherwise
|
||||||
|
tend to become very wide, especially in tree mode.
|
||||||
|
|
||||||
|
- Numbers with more than 255 decimal places, which we do not support,
|
||||||
|
now give an error instead of silently misparsing. (#1326)
|
||||||
|
|
||||||
|
- Digit groups are now limited to at most 255 digits each. (#1326)
|
||||||
|
|
||||||
|
- Account aliases (on command line or in journal) containing a bad
|
||||||
|
regular expression now give a more detailed error message.
|
||||||
|
|
||||||
|
- A tab character could get parsed as part of a commodity symbol, with
|
||||||
|
confusing results. This no longer happens. (#1301, Dmitry Astapov)
|
||||||
|
|
||||||
|
- Debug output is now organised better by debug level.
|
||||||
The levels are:
|
The levels are:
|
||||||
|
|
||||||
0. normal command output only (no warnings)
|
0. normal command output only (no warnings)
|
||||||
@ -29,30 +60,80 @@ User-visible changes in the hledger command line tool and library.
|
|||||||
8. command line parsing
|
8. command line parsing
|
||||||
9. any other rarely needed or more in-depth info
|
9. any other rarely needed or more in-depth info
|
||||||
|
|
||||||
- lib: Using --drop in tree mode with boring parent ellision no longer considers all parents boring. Add tests to check this fact. (Stephen Morgan)
|
- Added a missing lower bound for aeson, making cabal installs more
|
||||||
|
reliable. (#1268)
|
||||||
|
|
||||||
- add lower bound needed for aeson, to help cabal (#1268)
|
- lib: parseAmountQueryTerm: allow whitespace around arg parts (#1312)
|
||||||
|
Whitespace around the operator, sign, or number is now tolerated.
|
||||||
|
|
||||||
- lib: Add fortnightly as a synonym for biweekly. (Stephen Morgan)
|
## commands
|
||||||
|
|
||||||
- bal: --drop now works in tree mode balance reports also. (Stephen Morgan)
|
- account,bal,bs,cf,is: --drop now also works in tree mode (Stephen Morgan)
|
||||||
|
|
||||||
- bal: Boring parents are now elided in tabular balance reports, as in simple balance reports. (Stephen Morgan)
|
- add: fix an error in the command line help (arguments are inputs,
|
||||||
|
not a query)
|
||||||
|
|
||||||
- csv: speed up csv conversion performance when there are a lot of
|
- aregister: a new command showing a transaction-oriented account
|
||||||
conditional rules (Dmitry Astapov)
|
register, like hledger-ui, hledger-web, or your bank statement.
|
||||||
|
Each line represents a whole transaction in one account, unlike
|
||||||
|
the register command which shows individual postings possibly from
|
||||||
|
multiple accounts. You might prefer aregister when reconciling
|
||||||
|
real-world asset/liability accounts, and register when reviewing
|
||||||
|
detailed revenues/expenses. (#1294)
|
||||||
|
|
||||||
- csv: add "if tables" to csv rules, a more compact format for conditional
|
- bal,bs,cf,is: boring parents are now elided by default in tabular
|
||||||
rules (Dmitry Astapov)
|
balance reports too, like single-column reports. (Stephen Morgan)
|
||||||
|
|
||||||
- csv: fix a bug in the csv rules parser that was causing vague parse error
|
- bal,bs,cf,is: monthly column headings are no longer elided to just
|
||||||
messages (Dmitry Astapov)
|
the short month name, if multiple years are being displayed.
|
||||||
|
|
||||||
- print: sql output format (Dmitry Astapov)
|
- bal --budget's column headings are now end dates rather than
|
||||||
|
periods when appropriate (ie with --cumulative or --historical).
|
||||||
|
|
||||||
- bs,cf,is: --no-total hides subtotals as well as the grand total (Stephen Morgan)
|
- bs,cf,is: -%/--no-total no longer forces --no-total (Stephen Morgan)
|
||||||
|
|
||||||
|
- bs,cf,is: --no-total now hides subtotals as well as the grand total
|
||||||
|
(Stephen Morgan)
|
||||||
|
|
||||||
|
- codes: a new command for listing transaction codes
|
||||||
|
|
||||||
|
- print: a new `sql` output format has been added (Dmitry Astapov)
|
||||||
|
|
||||||
|
- roi: errors are now shown without a call stack
|
||||||
|
|
||||||
|
- tags: add --parsed flag, hide empties without --empty. With the
|
||||||
|
--parsed flag, all tags or values are shown in the order they are
|
||||||
|
parsed from the input data, including duplicates. With -E/--empty,
|
||||||
|
any blank/empty values will also be shown, otherwise they are
|
||||||
|
omitted.
|
||||||
|
|
||||||
|
## journal format
|
||||||
|
|
||||||
|
- account directives can specify a new `Cash` account type. This is a
|
||||||
|
subtype of `Asset`, denoting accounts which should be displayed
|
||||||
|
in `cashflow` reports.
|
||||||
|
|
||||||
|
- The built-in regular expressions for choosing default account types
|
||||||
|
have been tweaked, and documentation for account types has been
|
||||||
|
improved.
|
||||||
|
|
||||||
|
## csv format
|
||||||
|
|
||||||
|
- Inferring the appropriate default field separator based on file
|
||||||
|
extension (, for .csv, ; for .ssv, \t for .tsv) now works as
|
||||||
|
documented.
|
||||||
|
|
||||||
|
- Conditional rule patterns can now be grouped with the `&` (AND) operator,
|
||||||
|
allowing more powerful matching. (Michael Sanders)
|
||||||
|
|
||||||
|
- Invalid csv rules files now give clearer parse error messages.
|
||||||
|
(Dmitry Astapov)
|
||||||
|
|
||||||
|
- "If tables", a compact bulk format for conditional rules, have been
|
||||||
|
added. (Dmitry Astapov)
|
||||||
|
|
||||||
|
- csv conversion with a lot of conditional rules is now faster (Dmitry Astapov)
|
||||||
|
|
||||||
- roi: show errors without a traceback
|
|
||||||
|
|
||||||
# 1.18.1 2020-06-21
|
# 1.18.1 2020-06-21
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user