diff --git a/CHANGES.md b/CHANGES.md index 7bcab057d..b521c1c99 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,37 +9,19 @@ General changes in the hledger project (and notable all-package releases). For package-specific changes and minor releases, see the hledger package changelogs. -# 82b74ec41 +# fa3ce17fd -- ci: commitlint: when range is invalid (eg force push), check last 20 - This is imperfect but better than nothing, and should avoid spurious - failures on force pushes to PRs. +- hledger developers now use GHC 9.0/stackage nightly by default. (#1503) -- ci: commitlint: ignore boring commits: github merge commit (#1606) - -- bin:commitlint:doc, policy: allow more spaces, slash/comma in topics - -- ci: run commitlint to check commits (#1602) - As first step in our main "check" workflows (push, linux, mac, - windows), check all the commit messages with commitlint. - - These workflows can be triggered in various ways: - pull requests, pushes, manually, or scheduled. - - For (each push to) a pull request, all commits currently in the PR - branch are checked. - - For a regular push, all the pushed commits are checked, usually. - Subcases: push to master, push to other branch, force push; - I think at least the first two work, I don't care to spend more time - on it. - - For a manual run, it seemed to check the same commits as a push (which - push ? Not sure how this works). - - For a scheduled run - we'll see. - -- bin: commitlint: don't exit successfully if a command fails (#1602) +- bin/commitlint is a new tool for hledger developers which checks and + describes new commit conventions which simplify maintenance of + change docs and releasing. It can be run locally while developing, + manually or as a pre-commit hook + (`ln -sf ../../bin/commitling .git/hooks/commit-msg`), + and is also run by our CI workflows to check pull requests. + , + + (#1602) # 1.22 2021-07-03 diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index fb6bd7a3b..65a218fb9 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -9,23 +9,51 @@ Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. -# 2df8ad781 +# 861c34484 -- imp: bal: more predictable sort order with multiple commodities (#1563, #1564) (Stephen Morgan) - This change provides more predictable and intuitive behaviour when - using -S/--sort-amount with multiple commodities. - It implements a custom Ord (and Eq) instance for MixedAmount - which substitutes zero for any missing commodities. +- Our doctests are disabled with GHC 9 for now to work around an + upstream bug. (#1503, #1615) + +- Allow megaparsec 9.1 + +- Our pretty-printed JSON now orders object attributes alphabetically, + across all GHC and haskell lib versions. + +- Some balance report types have been renamed for clarity and to sync with docs: + + ReportType -> BalanceCalculation + ChangeReport -> CalcChange + BudgetReport -> CalcBudget + ValueChangeReport -> CalcValueChange + + BalanceType -> BalanceAccumulation + PeriodChange -> PerPeriod + CumulativeChange -> Cumulative + HistoricalBalance -> Historical + + ReportOpts: + reporttype_ -> balancecalc_ + balancetype_ -> balanceaccum_ + + CompoundBalanceCommandSpec: + cbctype -> cbcaccum + + Hledger.Reports.ReportOptions: + balanceTypeOverride -> balanceAccumulationOverride + +- MixedAmounts now have a more predictable Ord instance / sort order. + They are compared in each commodity in turn, with + alphabetically-first commodity symbols being most significant. + Missing commodities are assumed to be zero. (#1563, #1564, Stephen Morgan) As a consequence, all the ways of representing zero with a MixedAmount ([], [A 0], [A 0, B 0, ...]) are now Eq-ual (==), whereas before they were - not. We have not been able to find anything broken by this change. + not. We have not been able to find anything broken by this change. -- imp: lib: Compare MixedAmounts by substituting zero for any missing commodities. (#1563) +- journalEndDate's behaviour has been clarified, journalLastDay has + been added. -- lib: clarify journalEndDate, add journalLastDay - -- lib: export transactionCheckBalanced (#1596) +- transactionCheckBalanced is now exported. (#1596) # 1.22.1 unreleased diff --git a/hledger-ui/CHANGES.md b/hledger-ui/CHANGES.md index c16772039..bf181f856 100644 --- a/hledger-ui/CHANGES.md +++ b/hledger-ui/CHANGES.md @@ -9,12 +9,20 @@ User-visible changes in hledger-ui. See also the hledger changelog. -# ce526305b +# 9aac520ed -- fix: ui: transaction: possibly off-by-one valuation date - I'm not sure if it arose in practice, but: ensure TransactionScreen - in V mode would correctly use the journal's last day as valuation date, - not the day after that. +Improvements + +- Allow megaparsec 9.1. + +Fixes + +- Up/down keys work on the transaction screen again (broken since 1.22). + (#1607, Stephen Morgan) + +- Fix a possible off-by-one bug with valuation date when using `V` key on + the transaction screen. (If it ever needs to use the journal's last day + as valuation date, use that day, not the day after.) # 1.22.1 unreleased diff --git a/hledger-web/CHANGES.md b/hledger-web/CHANGES.md index 131d38b70..c1485dd26 100644 --- a/hledger-web/CHANGES.md +++ b/hledger-web/CHANGES.md @@ -9,11 +9,16 @@ __ _____| |__ User-visible changes in hledger-web. See also the hledger changelog. -# 3380190d9 +# 9aac520ed -- fix: web: register chart with multiple commodities/prices, broken in 1.22 (#1597) (Stephen Morgan) - Make sure to strip prices from amounts before generating JSON data for - the register chart. +Improvements + +- deps: Allow megaparsec 9.1. + +Fixes + +- The register chart works again when there are multiple commodities and + transaction prices (broken since 1.22). (#1597, Stephen Morgan) # 1.22.1 unreleased diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index 959084949..01f776d51 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -9,23 +9,39 @@ User-visible changes in the hledger command line tool and library. -# cf25d7d56 +# 9701e1916 -- imp: cli: Don't show extra double quotes in missing journal file error. (#1601) (Stephen Morgan) +Improvements -- imp: bal: more predictable sort order with multiple commodities (#1563, #1564) (Stephen Morgan) - This change provides more predictable and intuitive behaviour when - using -S/--sort-amount with multiple commodities. - It implements a custom Ord (and Eq) instance for MixedAmount - which substitutes zero for any missing commodities. +- Bash shell completions (for hledger, hledger-ui, hledger-web) are + now included in the hledger package's release tarballs, making them + more likely to be installed by system packages. (Jakob Schöttl) + +- Allow megaparsec 9.1 + +- In JSON output, object attributes are now ordered alphabetically, + consistently for all GHC and haskell lib versions. (#1618, Stephen + Morgan) + +- roi docs now discuss how to quote multi-word queries. (#1609, Dmitry + Astapov) + +- The error message for a non-existent input file no longer shows + excess double quotes. (#1601, Stephen Morgan) + +- The balance commands' `-S/--sort-amount` flag now behaves more + predictably and intuitively with multiple commodities. + Multi-commodity amounts are sorted by comparing their amounts in + each commodity, with alphabetically-first commodity symbols being + most significant, and assuming zero when a commodity is missing. + (#1563, #1564, Stephen Morgan) - As a consequence, all the ways of representing zero with a MixedAmount ([], - [A 0], [A 0, B 0, ...]) are now Eq-ual (==), whereas before they were - not. We have not been able to find anything broken by this change. - -- imp: close: doc: rewrite manual (#1604) +- The close command now uses the later of today or journal's last day + as default closing date, providing more intuitive behaviour when + closing a journal with future transactions. Docs have been improved. + (#1604) -- imp: close: clarify date logic, use journal last day if later (#1604) +Fixes # 1.22.1 unreleased