diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index d9204a460..5ff070fa4 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -53,20 +53,12 @@ including: - Remove unused (amount|mixedAmount|posting|transaction)ApplyCostValuation functions. -- Remove unnecessary normalisedMixedAmount; replace - normaliseMixedAmountSquashPricesForDisplay with - mixedAmountStripPrices. +- Remove unnecessary normalisedMixedAmount. - Remove `showAmounts*B` functions, replacing them entirely with `showMixedAmount*B` functions. -- Strip prices in MultiBalanceReport and PostingsReport whenever we - know we won't need them. Knowing whether we need them is - accomplished by pulling the "show-costs" option used by the Close - command up into ReportOpts. - -- Use uniform naming for stripping prices. Creates a new function - amountStripPrices, and renames removePrices to postingStripPrices. +- Pull "show-costs" option used by the Close command up into ReporOpts. - Add more efficient toEncoding for custom ToJSON declarations. @@ -114,9 +106,8 @@ including: examples/10000x10000x10.journal, this results in a 7.7% reduction in heap allocations, from 7.6GB to 7.1GB. -- Some efficiency improvements in register reports. Strip prices after - valuing postings in PostingsReport. Use renderRow interface for - Register report. +- Some efficiency improvements in register reports. + Use renderRow interface for Register report. For `reg -f examples/10000x10000x10.journal`, this results in: @@ -129,9 +120,6 @@ including: need for the showNormalised option, as showMixedAmountB will always showNormalised and showAmountsB will never do so. - We also strip prices from MixedAmount before displaying, if not - displaying prices. - - Change internal representation of MixedAmount to use a strict Map instead of a list of Amounts. No longer export Mixed constructor, to keep API clean. (If you really need it, you can import it directly @@ -177,12 +165,6 @@ including: amount arithmetic (+), (-), then you should replace the constructor `Mixed` with the function `mixed`. To extract the list of Amounts, use the function `amounts`. - - If you ever call `normaliseMixedAmountSquashPricesForDisplay`, you can - replace that with `mixedAmountStripPrices`. (N.B. this does something - slightly different from `normaliseMixedAmountSquashPricesForDisplay`, - but I don't think there's any use case for squashing prices and then - keeping the first of the squashed prices around. If you disagree let - me know.) - Any remaining calls to `normaliseMixedAmount` can be removed, as that is now the identity function. diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index 23c3fec1b..d36620f89 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -145,24 +145,22 @@ User-visible changes in the hledger command line tool and library. to be the most common, so I have dropped the capitalisation. Also the trailing colon from --transpose's "total:". -- Simplify the JSON representation of AmountPrecision. (Stephen Morgan) +- Simplify the JSON representation of AmountPrecision. It now uses the same JSON representation as Maybe Word8. This means that the JSON serialisation is now broadly compatible with that used before the commit f6fa76bba7530af3be825445a1097ae42498b1cd, differing only in how it handles numbers outside Word8 and that it can now produce null - for NaturalPrecision. + for NaturalPrecision. (Stephen Morgan) - lib: Properly escape quotes in csv output. (Stephen Morgan) - Do not call showAmount twice for every posting. (Stephen Morgan) - For print -f examples/10000x10000x10.journal, this results in - - A 7.7% reduction in heap allocations, from 7.6GB to 7.1GB. + For `print -f examples/10000x10000x10.journal`, this results in + a 7.7% reduction in heap allocations, from 7.6GB to 7.1GB. - Some efficiency improvements in register reports. (Stephen Morgan) - Strip prices after valuing postings in PostingsReport. - Use renderRow interface for Register report. + For `reg -f examples/10000x10000x10.journal`, this results in: - For reg -f examples/10000x10000x10.journal, this results in: - Heap allocations decreasing by 55%, from 68.6GB to 31.2GB - Resident memory decreasing by 75%, from 254GB to 65GB - Total (profiled) time decreasing by 55%, from 37s to 20s