;doc: edit changelogs

[ci skip]
This commit is contained in:
Simon Michael 2019-07-25 10:48:08 +01:00
parent 02ed4f5d04
commit c7f9356fd1
5 changed files with 96 additions and 201 deletions

View File

@ -21,8 +21,6 @@ For package-specific changes, see the package changelogs.
- shake: show htmlmanuals target in help
- make site-watch: site-liverender & site-livereload in one command
- site: download: wine

View File

@ -3,69 +3,34 @@ For user-visible changes, see the hledger package changelog.
# 6073c002
- lib: export aliasnamep for hledger-check (#1072)
Removals include:
- lib: setNaturalPrecisionUpTo
- journalPrices
- BalanceHistoryReport
- postingValueAtDate
- lib: -X/--exchange now supports indirect price chains (#131)
Adds fgl as a dependency.
Additions include:
- lib: clarify price types (#131)
dropped journalPrices
- aliasnamep (export)
- setNaturalPrecisionUpTo
- new MarketPrice (more pure form of PriceDirective without the amount style information)
- dbgNWith, ptraceAtWith
- postingTransformAmount, postingToCost, postingValue
- amountToCost, mixedAmountToCost
- valueTypeFromOpts
- mapJournalTransactions, mapJournalPostings, mapTransactionPostings
- journalStartDate, journalEndDate
renamed Price to AmountPrice, AKA "transaction price"
Changes include:
renamed MarketPrice to PriceDirective.
added new MarketPrice (more pure form of PriceDirective without the amount style information)
Prices is now a more efficient data structure, but not used yet.
- lib: accountTransactionsReportItems: rewrite using catMaybes and mapAccumL (Henning Thielemann)
I find the report function less convolved without the integrated recursion.
- lib: debug helpers: add ptraceAtWith, dbgNWith
- restore TransactionsReport
hledger-web's register chart uses it, I didn't see it
because it's called from a hamlet template.
- lib: drop TransactionsReport, BalanceHistoryReport
They seem unused.
- lib: TransactionsReport/AccountTransactionsReport cleanup
Split them into separate files, rename journalTransactionsReport to
transactionsReport.
- lib: drop postingValueAtDate
- lib: postingTransformAmount, postingToCost, postingValue
- lib: amountToCost, mixedAmountToCost
- lib: valueTypeFromOpts helper
- bal/bs/cf/is: support --value-at with -H; fix row/col/grand totals
This also includes a big cleanup of multiBalanceReport, which got
accidentally mingled.
- lib: mapJournalTransactions, mapJournalPostings, mapTransactionPostings
- lib: save the current date in ReportOpts
We need this for choosing a valuation date, otherwise, report
functions would have to be in IO or we'd have to pass in yet another
argument.
It's optional because it's useful to be able to create report opts
purely (I think ?) This is not ideal but maybe not a problem.
- lib: journalStartDate, journalEndDate
- Change unused argument to undefined to make possible bugs more obvious (Jakob Schöttl)
- rejigger Hledger.Cli tests to have correct prefix, add Cli.Utils
- Price -> AmountPrice, AKA "transaction price"
- old MarketPrice -> PriceDirective
- TransactionsReport/AccountTransactionsReport split into separate files
- journalTransactionsReport -> transactionsReport
- accountTransactionsReportItems: rewrite using catMaybes and mapAccumL (Henning Thielemann)
- optionally save the current date in ReportOpts
- Hledger.Cli tests now have correct prefix; add Cli.Utils tests
- MultiBalanceReport now returns zero for row totals when in cumulative or historical mode (#329)
# 1.14.1 2019-03-20

View File

@ -3,7 +3,7 @@ See also the hledger changelog.
# 6073c002
- support brick >=0.47 also
- allow brick >=0.47
- use hledger 1.15

View File

@ -3,14 +3,14 @@ See also the hledger changelog.
# 6073c002
- web: register page: clip linked accounts to 40 characters (Henning Thielemann)
- register page: clip linked accounts to 40 characters (Henning Thielemann)
This was the behaviour before adding the links.
- web: avoid spaces before commas in register account links (Henning Thielemann)
- avoid spaces before commas in register account links (Henning Thielemann)
- web: add links to accounts in register transactions (Henning Thielemann)
- add links to accounts in register transactions (Henning Thielemann)
- web: fix "_create_locale could not be located" error on windows 7 (#1039)
- fix "_create_locale could not be located" error on windows 7 (#1039)
- use hledger 1.15

View File

@ -3,171 +3,103 @@ User-visible changes in the hledger command line tool and library.
# 6073c002
- rule-generated txns and postings are now marked with tags
(generated-transaction, generated-posting, modified)
## General
- add descriptions, payees, notes commands (Caleb Maclennan)
- There is a new valuation option --value=TYPE[,COMM], with
backwards-compatible -B/--cost, -V/--market, -X/--exchange=COMM
variants. These provide control over valuation date (#329), and
inference of indirect market prices (similar to Ledger's -X) (#131).
Experimental. Currently there is a performance regression,
market valuation is slower than before (#999). Eg (10k txns, 3 balance report columns):
- close: preserve transaction prices (costs) accurately (#1035)
Transaction prices were being collapsed/misreported after close/open;
this is fixed. Now each separately-priced amount gets its own posting,
and only the last of these (for each commodity) gets a balance
assertion. Also the equity posting's amount is now always shown
explicitly, which in multicommodity situations means that multiple
equity postings are shown. The upshot is that a balance -B report
will be unchanged after closing & opening transactions.
$ stack exec -- quickbench -w hledger-1.14,hledger-1.15 "_ -f examples/10000x1000x10.journal bal -Y" "_ -f examples/10000x1000x10.journal bal -YV" "_ -f examples/10000x1000x10.journal reg" "_ -f examples/10000x1000x10.journal reg -V" "_ -f examples/10000x1000x10.journal print" "_ -f examples/10000x1000x10.journal print -V"
Running 6 tests 1 times with 2 executables at 2019-07-25 11:50:29 IST:
- csv: strip outer whitespace when interpolating CSV values (#1051)
This removes a potential snag in amount field assignments, and
hopefully is harmless and acceptable otherwise.
Best times:
+--------------------------------------------++--------------+--------------+
| || hledger-1.14 | hledger-1.15 |
+============================================++==============+==============+
| -f examples/10000x1000x10.journal bal -Y || 3.21 | 3.30 |
| -f examples/10000x1000x10.journal bal -YV || 50.17 | 70.39 |
| -f examples/10000x1000x10.journal reg || 3.08 | 3.07 |
| -f examples/10000x1000x10.journal reg -V || 53.90 | 104.39 |
| -f examples/10000x1000x10.journal print || 2.46 | 2.42 |
| -f examples/10000x1000x10.journal print -V || 43.85 | 110.46 |
+--------------------------------------------++--------------+--------------+
- csv: don't show invalid inter-field spaces in CSV error messages
Errors involving a record like:
- How date options like -M and -p interact has been updated and clarified.
(Jakob Schöttl) (#1008, #1009, #1011)
2000-01-01,a,"1"
- Restore --aux-date and --effective as --date2 aliases (#1034).
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now we support them again, as semi-hidden flags
(--help doesn't list them, but they are mentioned in --date2's help).
displayed the record with extra spaces:
## commands
the CSV record is: "2000-01-01", "a", "1"
which was not accurate or valid RFC-4180.
- Bugfix for #1011: begin/end date options (Jakob Schöttl)
- Fix and update documentation on date options (Jakob Schöttl)
- add, web: disallow unsafe trailing dot paths on windows (fix #1056)
- add, web: disallow unsafe trailing dot paths on windows (#1056).
On Windows, ensureJournalFileExists now rejects file paths
containing any problematic trailing dots, to prevent data loss.
This affects the add command and hledger-web's add form.
- lib: -X/--exchange now supports indirect price chains (#131)
Adds fgl as a dependency.
- bal: --budget: don't always convert to cost.
- lib: support -X/--exchange (direct/reverse prices only) (#131)
- bal: --budget: don't show a percentage when budgeted and actual
amounts are in different commodities.
- lib: --value can select commodity (via direct/reverse prices) (#131)
- bal/bs/bse: -H/--historical or --cumulative now disables -T/--row-total (#329).
Multiperiod balance reports which show end balances (eg, bal -MH or bs -M)
no longer show a Totals column, since summing end balances generally
doesn't make sense.
- lib: parse optional ,COMM suffix in --value (#131)
- close: preserve transaction prices (costs) accurately (#1035).
The generated closing/opening transactions were collapsing/misreporting
the costs in balances involving multiple costs.
Now, each separately-priced amount gets its own posting.
(And only the last of these (for each commodity) gets a balance assertion.)
Also the equity posting's amount is now always shown explicitly,
which in multicommodity situations means that multiple equity postings are shown.
The upshot is that a balance -B report will be unchanged after
the closing & opening transactions generated by the close command.
- print: also canonicalise balance assertions' amount style (fix #1042)
- descriptions, payees, notes commands added (Caleb Maclennan)
- csv: fix parse error printing, broken since 1.11 (#1038)
- Gabriel Ebner's hledger-diff is now a built in command,
and https://github.com/gebner/hledger-diff is deprecated.
- cli: restore --aux-date and --effective as --date2 aliases (#1034)
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now they work again, but are considered hidden flags
so --help doesn't show them automatically (but I decided to mention
them manually in --date2's description).
- print: now also canonicalises the display style of balance assertion amounts (#1042)
- make -V do --value=end in multiperiod reports (#329)
- reg: fix --average, broken since 1.12 (#1003)
- reg: replace --value=transaction with --value=cost
## journal format
- print: replace --value=transaction with --value=cost
- Transactions and postings generated/modified by periodic transaction
rules and/or transaction modifier rules are now marked with tags
(generated-transaction, generated-posting, modified) for easier
troubleshooting and filtering.
- bal etc.: replace --value=transaction with --value=cost (#329)
## csv format
- opts: new -B/--cost, -V/--market, --value flags (#329)
- When interpolating CSV values, outer whitespace is now stripped (#1051).
This removes a potential snag in amount field assignments, and
hopefully is harmless and acceptable otherwise.
- bal: --budget: don't always convert to cost
And don't show a percentage when budgeted and actual amounts are in
different commodities.
- Don't show invalid inter-field spaces in CSV error messages.
Some CSV errors, eg from an inconsistently quoted record like this:
- opts: shorten csv separator arg template
2000-01-01,a,"1"
- bal/bs/bse: -H or --cumulative now disables -T (#329)
To reduce confusion, multiperiod balance reports using -H/--historical
or --cumulative, which show end balances, no longer show a Totals
column since summing end balances generally doesn't make sense.
Also the underlying MultiBalanceReport now returns zero for those
totals when in cumulative or historical mode.
redisplayed the record with spaces added,
which was inaccurate and not valid RFC-4180 CSV format:
- bal/bs/cf/is: support --value-at with -H; fix row/col/grand totals
This also includes a big cleanup of multiBalanceReport, which got
accidentally mingled.
the CSV record is: "2000-01-01", "a", "1"
- bal/bs/cf/is: mention valuation type in report title
- Make CSV parse errors human readable again, broken since 1.11 (#1038)
- bal: document and test --value-at with --budget (#329)
- CSV rules now allow the amount to be unassigned, if there is an
assignment to "balance", generating a balance assignment in this
case. (#1000)
- reg: fix --value-at=transaction with -M (#329)
- reg: support --value-at with -H (#329)
- bal: fix --value-at for old-style single period balance reports (#329)
- bal: support --value-at=p/t with multiperiod reports (#329)
- reg: support --value-at=period with periodic reports (#329)
- date-aware valuation: more thorough --value-at; document status (#329, #999)
This feature turns out to be quite involved, as valuation interacts
with the many report variations. Various bugs/specs have been
fixed/clarified relating to register's running total, balance totals
etc. Eg register's total should now be the sum of the posting amount
values, not the values of the original sums. Current level of support
has been documented.
When valuing at transaction date, we once again do early valuation of
all posting amounts, to get more correct results. variants. This means
--value-at=t can be slower than other valuation modes when there are
many transactions and many prices. This could be revisited for
optimisation when things are more settled.
- faster valuation: speed up -V/--value by converting reports, not the journal (#999)
Instead of converting all journal amounts to value early on, we now
convert just the report amounts to value, before rendering.
This was basically how it originally worked (for the balance command),
but now it's built in to the four basic reports used by print,
register, balance and their variants - Entries, Postings, Balance,
MultiBalance - each of which now has its own xxValue helper.
This should mostly fix -V's performance when there are many
transactions and prices (the price lookups could still be optimised),
and allow more flexibility for report-specific value calculations.
+------------------------------------------++-----------------+-------------------+--------------------------+
| || hledger.999.pre | hledger.999.1sort | hledger.999.after-report |
+==========================================++=================+===================+==========================+
| -f examples/1000x1000x10.journal bal -V || 1.08 | 0.96 | 0.76 |
| -f examples/2000x1000x10.journal bal -V || 1.65 | 1.05 | 0.73 |
| -f examples/3000x1000x10.journal bal -V || 2.43 | 1.58 | 0.84 |
| -f examples/4000x1000x10.journal bal -V || 4.39 | 1.96 | 0.93 |
| -f examples/5000x1000x10.journal bal -V || 7.75 | 2.99 | 1.07 |
| -f examples/6000x1000x10.journal bal -V || 11.21 | 3.72 | 1.16 |
| -f examples/7000x1000x10.journal bal -V || 16.91 | 4.72 | 1.19 |
| -f examples/8000x1000x10.journal bal -V || 27.10 | 9.83 | 1.40 |
| -f examples/9000x1000x10.journal bal -V || 39.73 | 15.00 | 1.51 |
| -f examples/10000x1000x10.journal bal -V || 50.72 | 25.61 | 2.15 |
+------------------------------------------++-----------------+-------------------+--------------------------+
There's one new limitation, not yet resolved: -V once again can pick a
valuation date in the future, if no report end date is specified and
the journal has future-dated transactions. We prefer to avoid that,
but reports currently are pure and don't have access to today's date.
- lib: speed up -V by sorting market prices just once (#999)
-V is still quite a bit slower than no -V, but not as much as before:
+===========================================================++=======+
| hledger.999.pre -f examples/10000x10000x10.journal bal || 5.20 |
| hledger.999.pre -f examples/10000x10000x10.journal bal -V || 57.20 |
| hledger.999 -f examples/10000x10000x10.journal bal || 5.34 |
| hledger.999 -f examples/10000x10000x10.journal bal -V || 17.50 |
+-----------------------------------------------------------++-------+
- Gabriel Ebner's hledger-diff is now built in as the diff command.
(And the addon command, https://github.com/gebner/hledger-diff, is now deprecated.)
- Fix behavior of options like -Mp2019 (Jakob Schöttl)
This fixes the issue #1008
- reg: test and fix for --average, broken since 1.12 (#1003)
- csv: accept a balance field assignment instead of an amount (#1000)
# 1.14.2 2019-03-20