diff --git a/CHANGES.md b/CHANGES.md index c6d4a78d4..220bba9d9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,22 +1,16 @@ General/project-related changes in the hledger project. For package-specific changes, see the package changelogs. -- site: matrix.hledger.org now redirects to a more readable/useful url +# 1.16 2019-12-01 -# 3c226f86 - -- Fix internal Markdown links (Brian Wignall) - -- Make resolver in hledger-install.sh consistent with that in stack.yaml (Brian Wignall) - -- drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles - in JournalReader.hs. If you still need this, feel free to work on - those errors. But hopefully not, because dropping base 4.8 should - permit some code cleanups. +- add support for GHC 8.8, base-compat 0.11 (#1090) +- drop support for GHC 7.10 - add descriptions to most issue tracker labels +- matrix.hledger.org now redirects to a more readable/useful url + # 1.15 2019-09-01 - install: bump to lts-14.4, hledger 1.15, drop hledger-api diff --git a/hledger-lib/CHANGES.md b/hledger-lib/CHANGES.md index 379557600..ba6f02685 100644 --- a/hledger-lib/CHANGES.md +++ b/hledger-lib/CHANGES.md @@ -1,46 +1,17 @@ Internal/api/developer-ish changes in the hledger-lib (and hledger) packages. For user-visible changes, see the hledger package changelog. -# caf8cdf0 +# 1.16 2019-12-01 -- lib: refactor, prepare to drop showTransactionUnelided functionality - It seems we don't use it at all, and ony says it's not robust with - prices either. +- drop support for GHC 7.10, due to MonadFail hassles in JournalReader.hs -- drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles - in JournalReader.hs. If you still need this, feel free to work on - those errors. But hopefully not, because dropping base 4.8 should - permit some code cleanups. +- add support for GHC 8.8, base-compat 0.11 (#1090) -- disable hledger benchmark suite, hledger-web tests (?) by default. - -- lib: more runPeriodicTransaction tests (lifted from #1085 and spanIntervalIntersect) (Dmitry Astapov) - -- lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 - fail is moving out of Monad and into it's own MonadFail class. - This will be enforced in GHC 8.8 (I think). - - base-compat/base-compat-batteries 0.11.0 have adapted to this, - and are approaching stackage nightly - (https://github.com/commercialhaskell/stackage/issues/4802). - - hledger is now ready to build with base-compat-batteries 0.11.0, once - all of our deps do (eg aeson). We are still compatible with the older - 0.10.x and GHC 7.10.3 as well. - - For now we are using both fails: - - - new fail (from Control.Monad.Fail), used in our parsers, imported - via base-compat-batteries Control.Monad.Fail.Compat to work with - older GHC versions. - - - old fail (from GHC.Base, exported by Prelude, Control.Monad, - Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's - Test, since I couldn't find their existing fail implementation to update. - - To reduce (my) confusion, these are imported carefully, consistently, - and qualified everywhere as Fail.fail and Prelude.fail, with clashing - re-exports suppressed, like so: + We are now using the new fail from the MonadFail class, which we + always import qualified as Fail.fail, from base-compat-batteries + Control.Monad.Fail.Compat to work with old GHC versions. If old fail + is needed (shouldn't be) it should be imported qualified as + Prelude.Fail, using imports such as: import Prelude hiding (fail) import qualified Prelude (fail) @@ -48,6 +19,11 @@ For user-visible changes, see the hledger package changelog. import "base-compat-batteries" Prelude.Compat hiding (fail) import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail +- hledger and hledger-lib unit tests have been ported to tasty. + +- The doctest suite has been disabled for now since it doesn't run + well with cabal (#1139) + # 1.15.2 2019-09-05 Changes: diff --git a/hledger-ui/CHANGES.md b/hledger-ui/CHANGES.md index cfd6f6550..9bdaf2f17 100644 --- a/hledger-ui/CHANGES.md +++ b/hledger-ui/CHANGES.md @@ -1,19 +1,14 @@ User-visible changes in hledger-ui. See also the hledger changelog. -# ebedae01 +# 1.16 2019-12-01 -- support GHC 8.8, add stack-ghc8.8.yaml (#1090) +- add support for GHC 8.8, base-compat 0.11 (#1090) -- ui: B and V keys toggle display of cost, value +- drop support for GHC 7.10 -- drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles - in JournalReader.hs. If you still need this, feel free to work on - those errors. But hopefully not, because dropping base 4.8 should - permit some code cleanups. - - -- lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 +- the B and V keys toggle cost or value display (like the -B and -V + command line flags) # 1.15 2019-09-01 diff --git a/hledger-web/CHANGES.md b/hledger-web/CHANGES.md index 53a3c5a8b..f307d2008 100644 --- a/hledger-web/CHANGES.md +++ b/hledger-web/CHANGES.md @@ -1,28 +1,20 @@ User-visible changes in hledger-web. See also the hledger changelog. -# ac5652b7 +# 1.16 2019-12-01 -- support GHC 8.8, add stack-ghc8.8.yaml (#1090) - hledger-web needs an unreleased version of json. +- add support for GHC 8.8, base-compat 0.11 (#1090). + For now, hledger-web needs an unreleased version of json. -- Weeks in date picker start from Mondays (fix for #1109) (Timofey ZAKREVSKIY) +- drop support for GHC 7.10 -- web: Modify the --cors option to require a specific origin (Alejandro García Montoro) - - Modified the cors option to require a String - - Moved the logic to build the cors policy to WebOptions.hs - - Specify the --cors "*" example in the cors option help - - Added utf8-string dependency to convert a String into a ByteString - -- web: Allow CORS to be enabled in hledger-web (Alejandro García Montoro) - Add a --cors option to the CLI to enable simple cross-origin requests - -- drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles - in JournalReader.hs. If you still need this, feel free to work on - those errors. But hopefully not, because dropping base 4.8 should - permit some code cleanups. +- Weeks in the add form's date picker now start on Mondays (#1109) + (Timofey Zakrevskiy) +- The --cors option allows simple cross-origin requests to hledger-web + (Alejandro García Montoro) +- The test suite has been disabled for now. # 1.15 2019-09-01 diff --git a/hledger/CHANGES.md b/hledger/CHANGES.md index 601d81498..51cca47f1 100644 --- a/hledger/CHANGES.md +++ b/hledger/CHANGES.md @@ -1,9 +1,75 @@ User-visible changes in the hledger command line tool and library. -# caf8cdf0 +# 1.16 2019-12-01 -- prices: style price amounts; always show full precision +## General + +- add support for GHC 8.8, base-compat 0.11 (#1090) + +- drop support for GHC 7.10 + +- The benchmark suite has been disabled. + +- The --anon flag now also anonymises transaction codes and account + names declared with account directives. (Mykola Orliuk) (#901) + +## commands + +- balance/bs/cf/is: balance commands now support the -%/--percent flag + to show amounts as percentages of the column's total. (Michael Kainer) + + If there are multiple commodities involved in a report hledger bails + with an error message. This can be avoided by using -B/--cost. Also note + that if one uses -% with the balance command the chances are high that + all numbers are 0. This is due to the fact that by default balance sums + up to zero. If one wants to use -% in a meaningful way with balance one + has to add a query. + + In order to keep the implementation as simple as possible --tree has no + influence over how the percentages are calculated, i.e., the percentages + always represent the fraction of the columns total. If one wants to know + the percentages relative to a parent account, one has to use a query to + narrow down the accounts. + +- balance: --budget no longer errors when there is neither budget nor + transactions in the report period (Dmitry Astapov) + +- balance: --budget has improved debug output (shows budget txns) + (Dmitry Astapov) + +- check-dates: now sets the exit status code (Amitai Burstein) + +- close: no longer strips zeroes after the decimal mark, and preserves + parseable output (#1137) + +- close: the --close-to, --open-from options allow closing/opening + account names to be chosen + +- import: create the journal if missing, like the add command + Streamlines import/migration instructions. + +- import: --catchup marks all transactions imported, without importing + +- import: more informative output: mention the input files, also show + a message when nothing was imported + +- prices: show price amounts with proper display style; always show + full precision + +- roi: don't give an error with empty input data (Dmitry Astapov) + +- tests: unit tests are now run by tasty (#1090). + Test running options have changed, see the command help. + Some unit tests have been collapsed, so the reported test count has + dropped a little. + +## journal format + +- journal: fix generation of periodic transactions with + days/months/... repeat (Dmitry Astapov) + +## csv format - CSV reading improvements (#1095) @@ -56,100 +122,6 @@ User-visible changes in the hledger command line tool and library. - csv: support generation of (un)balanced virtual postings in csv reader (Dmitry Astapov) -- support GHC 8.8, add stack-ghc8.8.yaml (#1090) - -- close: add --close-to, --open-from to choose account names - -- tests: port all unit tests to tasty, second pass (#1090) - easytest is not actively maintained and requires an old version of - hedgehog which does not support base-compat 0.11 & ghc 8.8. - Hledger.Util.Tests helpers have been cleaned up. - Some groups of unnamed tests have - been collapsed into a single named test containing a sequence of - assertions. The test command counts named tests, not assertions, so - the reported unit test count has dropped from 199 to 188. - -- Add exit status code to check-dates (Amitai Burstein) - -- budget: bal --budget no longer errors when there is neither budget nor - transactions in the report period (Dmitry Astapov) - -- budget: improved debug output for budget report (show budget txns) (Dmitry Astapov) - -- lib: fix generation of periodic transactions with days/months/... repeat (Dmitry Astapov) - -- cli: anonymize transaction code also (Mykola Orliuk) - -- cli: anonymize declared accounts also (Mykola Orliuk) - Fixes simonmichael/hledger#901 - -- cli: Add -% to compound balance commands (Michael Kainer) - This commit introduces the commandline argument -%/--percent to show - percentages of the column's total instead of the absolute amounts for - each account in reports. The signs of the values are preserved. - - This option is especially useful for the balance and incomestatement - commands. - - If there are multiple commodities involved in a report hledger bails - with an error message. This can be avoided by using --cost. Also note - that if one uses -% with the balance command the chances are high that - all numbers are 0. This is due to the fact that by default balance sums - up to zero. If one wants to use -% in a meaningful way with balance one - has to add a query. - - In order to keep the implementation as simple as possible --tree has no - influence over how the percentages are calculated, i.e., the percentages - always represent the fraction of the columns total. If one wants to know - the percentages relative to a parent account, one has to use a query to - narrow down the accounts. - -- lib: roi does not fail on empty input data (+test) (Dmitry Astapov) - - -- prices: style price amounts; always show full precision - -- drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles - in JournalReader.hs. If you still need this, feel free to work on - those errors. But hopefully not, because dropping base 4.8 should - permit some code cleanups. - -- lib, cli: disable hledger-lib test suites, hledger benchmark suite - by default. hledger-lib's doctests and easytests test suites (each ?) - require an additional slow rebuild of hledger-lib and are not worth - the time, energy and carbon. hledger's test suite runs those same - easytest tests (but not the doctests). - -- import: message cleanups, mention input files - Only the --dry-run message needs the semicolon, so dry run output can - be piped into hledger. - -- import: --catchup marks all transactions imported, without importing - -- import: also show a message when nothing was imported - -- import: create the journal if missing, like the add command - Streamlines import/migration instructions. - - -- import: message cleanups, mention input files - Only the --dry-run message needs the semicolon, so dry run output can - be piped into hledger. - -- import: --catchup marks all transactions imported, without importing - -- import: also show a message when nothing was imported - -- import: create the journal if missing, like the add command - Streamlines import/migration instructions. - -- bal: don't raise an error (maximum) when there is neither budget nor transactions in the report period (Dmitry Astapov) - -- bal: improve debug output for budget report (show budget txns) (Dmitry Astapov) - -- fix generation of periodic transactions with days/months/... repeat (Dmitry Astapov) - -- lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 # 1.15.2 2019-09-05