;doc: draft changelogs
[ci skip]
This commit is contained in:
parent
000434083a
commit
04fb132496
34
CHANGES.md
34
CHANGES.md
@ -1,39 +1,33 @@
|
|||||||
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.
|
||||||
|
|
||||||
- documentation updates
|
# 00043408
|
||||||
|
|
||||||
- streamlined hledger.org sidebar & manuals structure
|
- hledger-install: re-enable installation of hledger-iadd & hledger-interest.
|
||||||
- hledger manual: new Common Tasks section in
|
|
||||||
|
|
||||||
- a new invoicing how-to: https://hledger.org/invoicing.html
|
- hledger-install: bump minimum stack version to 1.9.1
|
||||||
|
1.7.1 fails with deps using newer cabal file syntax I believe.
|
||||||
|
|
||||||
# 04ea95cb
|
- hledger-install: always do stack update, to help ensure we get the latest packages.
|
||||||
|
https://github.com/commercialhaskell/stack/issues/5112
|
||||||
|
|
||||||
- Fix dead pointer in contributing (Aleksandar Dimitrov)
|
- examples: Add a basic example of rule parsing for the output of csb2format. (Evilham)
|
||||||
Fix link in contributing
|
|
||||||
|
|
||||||
- stack: ghc8.10: update extra-deps
|
|
||||||
|
|
||||||
- Fix typos (Brian Wignall)
|
|
||||||
|
|
||||||
- Add a basic example of rule parsing for the output of csb2format. (Evilham)
|
|
||||||
csb2format deals with the CSB43/AEB43 format, which all banks operating in
|
csb2format deals with the CSB43/AEB43 format, which all banks operating in
|
||||||
Spain must support.
|
Spain must support.
|
||||||
Having these example rules enables easens bootstraping for users with a
|
Having these example rules enables easens bootstraping for users with a
|
||||||
Spanish bank account.
|
Spanish bank account.
|
||||||
|
|
||||||
- install: re-enable hledger-iadd & hledger-interest
|
- doc: simpler, clearer structure in the manuals and hledger.org sidebar
|
||||||
hledger-iadd has been revised on hackage, and hledger-interest has no upper bound.
|
|
||||||
|
|
||||||
- install: always do stack update, to help ensure we get the latest
|
- doc: a new [Quick Start](https://hledger.org/start.html) page
|
||||||
https://github.com/commercialhaskell/stack/issues/5112
|
|
||||||
|
|
||||||
- install: update hledger-install for 1.16.1, disable addons for now
|
- doc: a new [Common Tasks](https://hledger.org/hledger.html#common-tasks) section in the hledger manual
|
||||||
|
|
||||||
- lib, cli, web: bump version to 1.16.1
|
- doc: a new invoicing how-to: https://hledger.org/invoicing.html
|
||||||
|
|
||||||
- Fix build badges for Travis and AppVeyor (Rui Chen)
|
- doc: Fix dead pointer in contributing (Aleksandar Dimitrov)
|
||||||
|
|
||||||
|
- doc: Fix build badges for Travis and AppVeyor (Rui Chen)
|
||||||
|
|
||||||
# 1.16 2019-12-01
|
# 1.16 2019-12-01
|
||||||
|
|
||||||
|
|||||||
@ -1,32 +1,54 @@
|
|||||||
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.
|
||||||
|
|
||||||
# 445e8aa3
|
# 752e8ed4
|
||||||
|
|
||||||
- Change Date output to yyyy-mm-dd (Brian Wignall)
|
- Reader-finding utilities have moved from Hledger.Read to
|
||||||
|
Hledger.Read.JournalReader so the include directive can use them.
|
||||||
|
|
||||||
|
- Reader changes:
|
||||||
|
- rExperimental flag removed
|
||||||
|
- old rParser renamed to rReadFn
|
||||||
|
- new rParser field provides the actual parser.
|
||||||
|
This seems to require making Reader a higher-kinded type, unfortunately.
|
||||||
|
|
||||||
|
- Hledger.Tabular.AsciiWide now renders smoother outer borders in
|
||||||
|
pretty (unicode) mode.
|
||||||
|
Also, a fix for table edges always using single-width intersections
|
||||||
|
and support for double horizontal lines with single vertical lines. (Eric Mertens)
|
||||||
|
|
||||||
|
- Hledger.Utils.Parse: restofline can go to eof also
|
||||||
|
|
||||||
|
- Hledger.Read cleanup
|
||||||
|
|
||||||
|
- Hledger.Read.CsvReader cleanup
|
||||||
|
Exports added: CsvRecord, CsvValue, csvFileFor.
|
||||||
|
Exports removed: expandIncludes, parseAndValidateCsvRules, transactionFromCsvRecord
|
||||||
|
|
||||||
|
- more cleanup of amount canonicalisation helpers (#1187)
|
||||||
|
Stop exporting journalAmounts, overJournalAmounts, traverseJournalAmounts.
|
||||||
|
Rename journalAmounts helper to journalStyleInfluencingAmounts.
|
||||||
|
|
||||||
|
- export mapMixedAmount
|
||||||
|
|
||||||
- Don't store leaf name in PeriodReport. (Stephen Morgan)
|
- Don't store leaf name in PeriodReport. (Stephen Morgan)
|
||||||
Calculate at the point of consumption instead.
|
Calculate at the point of consumption instead.
|
||||||
|
|
||||||
- lib: Generalise PeriodicReport to be polymorphic in the account labels. (Stephen Morgan)
|
- Generalise PeriodicReport to be polymorphic in the account labels. (Stephen Morgan)
|
||||||
|
|
||||||
- lib: Use records instead of tuples in PeriodicReport. (Stephen Morgan)
|
- Use records instead of tuples in PeriodicReport. (Stephen Morgan)
|
||||||
|
|
||||||
- lib: Use PeriodicReport in place of MultiBalanceReport. (Stephen Morgan)
|
- Use PeriodicReport in place of MultiBalanceReport. (Stephen Morgan)
|
||||||
|
|
||||||
- Use nubSort instead of nub . sort. (Stephen Morgan)
|
|
||||||
|
|
||||||
- Calculate MultiReportBalance columns more efficiently. (Stephen Morgan)
|
- Calculate MultiReportBalance columns more efficiently. (Stephen Morgan)
|
||||||
Only calculate posting date once for each posting, and calculate their
|
Only calculate posting date once for each posting, and calculate their
|
||||||
columns instead of checking each DateSpan separately.
|
columns instead of checking each DateSpan separately.
|
||||||
|
|
||||||
- ToJSON instances for all (?) remaining data types, up to Ledger
|
- Moved JSON instances from hledger-web to hledger-lib (Hledger.Data.Json),
|
||||||
|
and added ToJSON instances for all (?) remaining data types, up to Ledger.
|
||||||
- move JSON instances from hledger-web to hledger-lib
|
|
||||||
|
|
||||||
- lib: drop "assertion" alias for nullassertion
|
|
||||||
Perhaps we'll stick with the null* convention. Fixes a warning in Transaction.hs.
|
|
||||||
|
|
||||||
|
- Dropped nullassertion's "assertion" alias, fixing a warning.
|
||||||
|
Perhaps we'll stick with the null* naming convention.
|
||||||
|
|
||||||
|
|
||||||
# 1.16.2 2020-01-14
|
# 1.16.2 2020-01-14
|
||||||
|
|||||||
@ -48,14 +48,12 @@ instance ToJSON Status
|
|||||||
instance ToJSON GenericSourcePos
|
instance ToJSON GenericSourcePos
|
||||||
|
|
||||||
-- https://github.com/simonmichael/hledger/issues/1195
|
-- https://github.com/simonmichael/hledger/issues/1195
|
||||||
-- The default JSON output for Decimal is not very practical for JSON consumers.
|
|
||||||
-- With repeating decimals, which can occur with implicit transaction prices,
|
-- The default JSON output for Decimal can contain 255-digit integers
|
||||||
-- decimalMantissa will use Decimal's maximum allowance of 255 digits.
|
-- (for repeating decimals caused by implicit transaction prices).
|
||||||
-- (And secondly, it sometimes uses scientific notation, and that sometimes
|
|
||||||
-- looks wrong, eg e254 instead of e-1 ?)
|
|
||||||
-- JSON output is intended to be consumed by diverse apps and
|
-- JSON output is intended to be consumed by diverse apps and
|
||||||
-- programming languages, which can't necessarily handle numbers with
|
-- programming languages, which can't handle numbers like that.
|
||||||
-- more than 15 or so significant digits. Eg, from #1195:
|
-- From #1195:
|
||||||
--
|
--
|
||||||
-- > - JavaScript uses 64-bit IEEE754 numbers which can only accurately
|
-- > - JavaScript uses 64-bit IEEE754 numbers which can only accurately
|
||||||
-- > represent integers up to 9007199254740991 (i.e. a maximum of 15 digits).
|
-- > represent integers up to 9007199254740991 (i.e. a maximum of 15 digits).
|
||||||
@ -65,14 +63,21 @@ instance ToJSON GenericSourcePos
|
|||||||
-- > - C and C++ number limits depend on platform — most platforms should
|
-- > - C and C++ number limits depend on platform — most platforms should
|
||||||
-- > be able to represent unsigned integers up to 64 bits, i.e. 19 digits.
|
-- > be able to represent unsigned integers up to 64 bits, i.e. 19 digits.
|
||||||
--
|
--
|
||||||
-- It's not yet clear what is a good compromise.
|
-- What is the best compromise for both accuracy and practicality ?
|
||||||
-- For now, we make Decimals look like floating point numbers with
|
-- For now, we provide both the maximum precision representation
|
||||||
-- up to 10 decimal places (and an unbounded number of integer digits).
|
-- (decimalPlaces & decimalMantissa), and a floating point representation
|
||||||
-- This still allows unparseable numbers to be generated in theory,
|
-- with up to 10 decimal places (and an unbounded number of integer digits).
|
||||||
-- but hopefully this won't happen in practice.
|
-- We hope the mere presence of the large number in JSON won't break things,
|
||||||
instance ToJSON Decimal
|
-- and that the overall number of significant digits in the floating point
|
||||||
where
|
-- remains manageable in practice. (I'm not sure how to limit the number
|
||||||
toJSON d = Number $ fromRational $ toRational $ roundTo 10 d
|
-- of significant digits in a Decimal right now.)
|
||||||
|
instance ToJSON Decimal where
|
||||||
|
toJSON d = object
|
||||||
|
["decimalPlaces" .= toJSON decimalPlaces
|
||||||
|
,"decimalMantissa" .= toJSON decimalMantissa
|
||||||
|
,"floatingPoint" .= toJSON (fromRational $ toRational d' :: Double)
|
||||||
|
]
|
||||||
|
where d'@Decimal{..} = roundTo 10 d
|
||||||
|
|
||||||
instance ToJSON Amount
|
instance ToJSON Amount
|
||||||
instance ToJSON AmountStyle
|
instance ToJSON AmountStyle
|
||||||
|
|||||||
@ -1,9 +1,19 @@
|
|||||||
User-visible changes in hledger-ui.
|
User-visible changes in hledger-ui.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 445e8aa3
|
# 696ec499
|
||||||
|
|
||||||
|
- don't enable --auto by default
|
||||||
|
|
||||||
|
- don't enable --forecast by default; drop the --future flag (#1193)
|
||||||
|
|
||||||
|
Previously, periodic transactions occurring today were always shown,
|
||||||
|
in both "present" and "future" modes.
|
||||||
|
|
||||||
|
Now, generation of periodic transactions and display of future
|
||||||
|
transactions (all kinds) are combined as "forecast mode", which can
|
||||||
|
be enabled with --forecast and/or the F key. The --future flag is
|
||||||
|
now a hidden alias for --forecast, and deprecated.
|
||||||
|
|
||||||
# 1.16.2 2020-01-14
|
# 1.16.2 2020-01-14
|
||||||
|
|
||||||
|
|||||||
@ -1,28 +1,38 @@
|
|||||||
User-visible changes in hledger-web.
|
User-visible changes in hledger-web.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 445e8aa3
|
# 4c321cee
|
||||||
|
|
||||||
- web: Add option --socket to use UNIX socket file (Carl Richard Theodor Schneider)
|
- Fonts have been improved on certain platforms. (David Zhang)
|
||||||
This commit adds the --socket option to use hledger-web over an AF_UNIX socket
|
|
||||||
file.
|
|
||||||
It allows running multiple instances of hledger-web on the same system without
|
|
||||||
having to manually choose a port for each instance, which is helpful for running
|
|
||||||
individual instances for multiple users. In this scenario, the socket path is
|
|
||||||
predictable, as it can be derived from the username.
|
|
||||||
|
|
||||||
It also introduces the following dependencies:
|
- IPv6 is supported (Amarandus) (#1145)
|
||||||
|
|
||||||
- network
|
- The --host option can now take a local hostname (Amarandus) (#1145)
|
||||||
- Used to create the unix domain socket
|
|
||||||
- unix-compat
|
|
||||||
- Used to identify if the socket file is still a socket, to reduce the risk
|
|
||||||
of deleting a file when cleaning up the socket
|
|
||||||
|
|
||||||
- Improve font display on different OS (David Zhang)
|
- New --socket option to run hledger-web over an AF_UNIX socket file. (Carl Richard Theodor Schneider)
|
||||||
|
This allows running multiple instances of hledger-web on the same
|
||||||
|
system without having to manually choose a port for each instance,
|
||||||
|
which is helpful for running individual instances for multiple
|
||||||
|
users. In this scenario, the socket path is predictable, as it can
|
||||||
|
be derived from the username.
|
||||||
|
|
||||||
- move JSON instances from hledger-web to hledger-lib
|
- The edit and upload forms now normalise line endings, avoiding parse
|
||||||
|
errors (#1194). Summary of current behaviour:
|
||||||
|
|
||||||
|
- hledger add and import commands will append with (at least some)
|
||||||
|
unix line endings, possibly causing the file to have mixed line
|
||||||
|
endings
|
||||||
|
|
||||||
|
- hledger-web edit and upload forms will write the file with
|
||||||
|
the current system's native line endings, ie changing all
|
||||||
|
line endings if the file previously used foreign line endings.
|
||||||
|
|
||||||
|
- Numbers in JSON output now provide a floating point Number
|
||||||
|
representation as well as our native Decimal object representation,
|
||||||
|
since the later can sometimes contain 255-digit integers. The
|
||||||
|
floating point numbers can have up to 10 decimal digits (and an
|
||||||
|
unbounded number of integer digits.)
|
||||||
|
Experimental, suggestions needed. (#1195)
|
||||||
|
|
||||||
|
|
||||||
# 1.16.2 2020-01-14
|
# 1.16.2 2020-01-14
|
||||||
|
|||||||
@ -1,25 +1,49 @@
|
|||||||
User-visible changes in the hledger command line tool and library.
|
User-visible changes in the hledger command line tool and library.
|
||||||
|
|
||||||
|
|
||||||
# 445e8aa3
|
# 2c8a6e98
|
||||||
|
|
||||||
- Fix timeclock format parsing (Jakob Schöttl)
|
## General
|
||||||
Fix presumably copy-paste errors
|
|
||||||
|
|
||||||
timeclock format has only timeclock lines or empty/comment lines
|
- hledger's default date format is now YYYY-MM-DD (ISO-8601 dates).
|
||||||
|
(Brian Wignall, Jakob Schöttl, Simon Michael)
|
||||||
|
|
||||||
Update test format to v3, add new tests
|
- Drop the file format auto-detection feature.
|
||||||
|
|
||||||
Throw error on unexpected clock codes in timeclock format
|
For a long time hledger has auto-detected the file format when it's
|
||||||
|
not known, eg when reading from a file with unusual extension (like
|
||||||
|
.dat or .txt), or from standard input (-f-), or when using the
|
||||||
|
include directive (which currently ignores file extensions). This
|
||||||
|
was done by trying all readers until one succeeded. This worked
|
||||||
|
well in practice. But recent changes to timedot format have made
|
||||||
|
this kind of auto-detection unreliable. (timedot and journal formats
|
||||||
|
overlap).
|
||||||
|
|
||||||
Fix missing case in pattern matching
|
For predictability and to minimise confusion, hledger will no longer
|
||||||
|
guess; when there's no file extension or reader prefix available, it
|
||||||
|
always assumes journal format.
|
||||||
|
|
||||||
- Parse CSV rule keywords case insensitively (Aleksandar Dimitrov)
|
To specify one of the other formats, you must use its standard file
|
||||||
|
extension (`.timeclock`, `.timedot`, `.csv`, `.ssv`, `.tsv`), or a
|
||||||
|
reader prefix (`-f csv:foo.txt`, `-f timedot:-`).
|
||||||
|
|
||||||
- Correct finding latest date in queryEndDate Or queries and simplify
|
Experimental, feedback welcome.
|
||||||
|
|
||||||
|
- Fix extra $ symbol (Mateus Furquim)
|
||||||
|
|
||||||
|
- --output-format now rejects invalid formats
|
||||||
|
|
||||||
|
- Numbers in JSON output now provide a floating point Number
|
||||||
|
representation as well as our native Decimal object representation,
|
||||||
|
since the later can sometimes contain 255-digit integers. The
|
||||||
|
floating point numbers can have up to 10 decimal digits (and an
|
||||||
|
unbounded number of integer digits.)
|
||||||
|
Experimental, suggestions needed. (#1195)
|
||||||
|
|
||||||
|
- Fix finding latest date in queryEndDate Or queries and simplify
|
||||||
date comparison code. (Stephen Morgan)
|
date comparison code. (Stephen Morgan)
|
||||||
|
|
||||||
- Fix issue 457 (Jacek Generowicz)
|
- Fix issue 457. (Jacek Generowicz)
|
||||||
Issue #457 pointed out that commands such as
|
Issue #457 pointed out that commands such as
|
||||||
|
|
||||||
hledger ui 'amt:>200'
|
hledger ui 'amt:>200'
|
||||||
@ -29,23 +53,96 @@ User-visible changes in the hledger command line tool and library.
|
|||||||
`amt:>20` and the `>` character was interpreted as a shell redirection
|
`amt:>20` and the `>` character was interpreted as a shell redirection
|
||||||
operator, rather than as part of the argument.
|
operator, rather than as part of the argument.
|
||||||
|
|
||||||
The machinery for quoting or escaping arguements which cointain
|
The machinery for quoting or escaping arguements which contain
|
||||||
characters which require quoting or escaping (thus far whitespace and
|
characters which require quoting or escaping (thus far whitespace and
|
||||||
quotes) already existed. This solution simply adds shell stdio
|
quotes) already existed. This solution simply adds shell stdio
|
||||||
redirection characters to this set.
|
redirection characters to this set.
|
||||||
|
|
||||||
Fixes #457
|
## commands
|
||||||
|
|
||||||
- Change Date output to yyyy-mm-dd (Brian Wignall)
|
- add: you can use `<` to undo and redo previous inputs (Gaith Hallak)
|
||||||
|
|
||||||
- Drop the --separator command line argument, add the `separator` CSV rule instead (Aleksandar Dimitrov)
|
- bs, cf, is, bal, print, reg: support json output
|
||||||
|
|
||||||
- Remember the previously entered values when stepping forward (Gaith Hallak)
|
- bs, cf, is: fix excess subreport columns in csv output
|
||||||
|
|
||||||
- Show the previous input in the input area after the back command (Gaith Hallak)
|
- bs, cf, is, bal: fix an issue with border intersections in
|
||||||
|
--pretty-tables output. (Eric Mertens)
|
||||||
|
|
||||||
- Change the '<' command to go back one step (Gaith Hallak)
|
- close: fix a rounding bug that could generate unbalanced transactions. (#1164)
|
||||||
|
|
||||||
|
- close: hide cost prices by default, show them with --show-costs.
|
||||||
|
close no longer preserves costs (transaction prices) unless you ask
|
||||||
|
it to, since that can generate huge entries when there are many
|
||||||
|
foreign currency/investment transactions. (#1165)
|
||||||
|
|
||||||
|
- close: equity amounts are omitted by default, for simpler entries;
|
||||||
|
-x/--explicit shows them (usually causing more postings). (#1165)
|
||||||
|
|
||||||
|
- close: --interleaved generates equity postings alongside each closed
|
||||||
|
account, making troubleshooting easier.
|
||||||
|
|
||||||
|
- close: "equity:opening/closing balances" is now the default
|
||||||
|
closing and opening account.
|
||||||
|
|
||||||
|
- close: --close-desc/--open-desc customise the closing/opening
|
||||||
|
transaction descriptions. (#1165)
|
||||||
|
|
||||||
|
- close: some --open*/--close* flags have been simplified for memorability:
|
||||||
|
|
||||||
|
--closing -> --close
|
||||||
|
--opening -> --open
|
||||||
|
--close-to -> --close-acct
|
||||||
|
--open-from -> --open-acct
|
||||||
|
|
||||||
|
The old flags are accepted as hidden aliases, and deprecated. (#1165)
|
||||||
|
|
||||||
|
- print, register: a new valuation type, --value=then, shows the
|
||||||
|
market value at each posting's date.
|
||||||
|
|
||||||
|
- print: -V/-X/--value now imply -x/--explicit, as -B/--cost does.
|
||||||
|
This avoids a bug where print -V of a transaction with an implicit
|
||||||
|
commodity conversion would convert only some of its postings to value.
|
||||||
|
|
||||||
|
## journal format
|
||||||
|
|
||||||
|
- The include directive no longer tries all readers. It now picks
|
||||||
|
just one, based on the included file's extension, defaulting to
|
||||||
|
journal. (It doesn't yet handle a reader prefix.)
|
||||||
|
|
||||||
|
- The default commodity (D) directive now limits display precision too. (#1187)
|
||||||
|
D directives are now fully equivalent to commodity directives for
|
||||||
|
setting a commodity's display style. (Previously it couldn't limit
|
||||||
|
the number of decimal places.) When both kinds of directive exist,
|
||||||
|
commodity directives take precedence. When there are multiple D
|
||||||
|
directives in the journal, only the last one affects display style.
|
||||||
|
|
||||||
|
## csv format
|
||||||
|
|
||||||
|
- Conditional blocks can now match single fields. \o/
|
||||||
|
|
||||||
|
- The experimental --separator command line option has been dropped,
|
||||||
|
replaced a new `separator` directive in CSV rule files. (Aleksandar Dimitrov)
|
||||||
|
Also the `.tsv` and `.ssv` file extensions are now recognised,
|
||||||
|
and set the default `separator` to TAB and semicolon respectively.
|
||||||
|
(#1179)
|
||||||
|
|
||||||
|
- Allow manual assignment of the "expenses:unknown" account name. (#1192)
|
||||||
|
|
||||||
|
- CSV rule keywords are now case insensitive. (Aleksandar Dimitrov)
|
||||||
|
|
||||||
|
## timeclock format
|
||||||
|
|
||||||
|
- Misc. fixes making parsing more robust. (Jakob Schöttl)
|
||||||
|
|
||||||
|
## timedot format
|
||||||
|
|
||||||
|
- More support for org mode: org headlines can now be used for date
|
||||||
|
lines and timelog items (the stars are ignored). Also, any org
|
||||||
|
headlines before the first date line are ignored.
|
||||||
|
|
||||||
|
- You can now write a description after a date, which will be used in
|
||||||
|
all of that day's transactions.
|
||||||
|
|
||||||
|
|
||||||
# 1.16.2 2020-01-14
|
# 1.16.2 2020-01-14
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user