;update changelogs
This commit is contained in:
parent
3662977c84
commit
5f9635c784
14
CHANGES.md
14
CHANGES.md
@ -1,15 +1,21 @@
|
|||||||
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.
|
||||||
|
|
||||||
# 093c11ec
|
# f39938d7
|
||||||
|
|
||||||
|
- examples: stripe csv
|
||||||
|
|
||||||
|
- The functional tests in tests/ have been moved into the respective
|
||||||
|
packages, eg hledger/test/ and hledger-ui/test/.
|
||||||
|
|
||||||
- benchmarks: run just the slowest commands; add some large tabular reports
|
- Shake cabalfiles: now gives an error when it fails
|
||||||
|
|
||||||
- tools: use pretty-simple for ghci output
|
- make bench: add some large tabular reports;
|
||||||
|
run just the slowest commands by default;
|
||||||
|
run after make (func)test
|
||||||
|
|
||||||
- tools: add hie.yaml, hls now works with hledger
|
- a hie.yaml file has been added, so hledger source loads
|
||||||
|
easily in IDEs supporting haskell-language-server
|
||||||
|
|
||||||
|
|
||||||
# 1.19.1 2020-09-07
|
# 1.19.1 2020-09-07
|
||||||
|
|||||||
@ -1,7 +1,24 @@
|
|||||||
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.
|
||||||
|
|
||||||
# 093c11ec
|
# 3662977c
|
||||||
|
|
||||||
|
- Reverted a stripAnsi change in 1.19.1 that caused a 3x slowdown of amount rendering
|
||||||
|
in terminal reports. (#1350)
|
||||||
|
|
||||||
|
- Amount and table rendering has been improved, so that stripAnsi is no longer needed.
|
||||||
|
This speeds up amount rendering in the terminal, speeding up some reports by 10% or more since 1.19.
|
||||||
|
(Stephen Morgan)
|
||||||
|
|
||||||
|
- global commodity display styles can now be set in InputOpts or Journal,
|
||||||
|
overriding all others (declared or inferred). This is used by the import
|
||||||
|
command and probably command-line options in future.
|
||||||
|
|
||||||
|
- Journal keeps a new piece of parsing state, a decimal mark character,
|
||||||
|
which can optionally be set to force the number format expected by all
|
||||||
|
amount parsers.
|
||||||
|
|
||||||
|
- Remove Empty Query constructor, which does nothing and has done so for a very long time. (Stephen Morgan)
|
||||||
|
|
||||||
- In ReportOpts, store query terms term-by-term in a list in querystring_. (Stephen Morgan)
|
- In ReportOpts, store query terms term-by-term in a list in querystring_. (Stephen Morgan)
|
||||||
This helps deal with tricky quoting issues, as we no longer have to make
|
This helps deal with tricky quoting issues, as we no longer have to make
|
||||||
@ -25,73 +42,81 @@ For user-visible changes, see the hledger package changelog.
|
|||||||
|
|
||||||
- Export some MultiBalanceReport helper functions. (Stephen Morgan)
|
- Export some MultiBalanceReport helper functions. (Stephen Morgan)
|
||||||
|
|
||||||
- Introduce ReportSpec, which holds ReportOpts, the day of the report, and the parsed Query. (Stephen Morgan)
|
|
||||||
|
|
||||||
- Remove old impure ReportOpts date functions. (Stephen Morgan)
|
|
||||||
|
|
||||||
- Make Default instances clearer, remove Default instance for Bool. (Stephen Morgan)
|
- Make Default instances clearer, remove Default instance for Bool. (Stephen Morgan)
|
||||||
|
|
||||||
- Store the original query string in ReportOpts, provide a function for regenerating ReportOpts. (Stephen Morgan)
|
- Many ReportOpts-related changes, such as the addition of ReportSpec, aimed
|
||||||
|
at preventing runtime errors (from parsing: regexps, dates, format strings;
|
||||||
|
from not having today's date set; etc.)
|
||||||
|
ReportSpec holds a ReportOpts, the day of the report, and the Query generated from these.
|
||||||
|
|
||||||
- Ensure ReportOpts always has today_ set. (Stephen Morgan)
|
- StringFormat now takes an optional overline width, which is
|
||||||
|
currently only used by defaultBalanceLineFormat. (Stephen Morgan)
|
||||||
- Make sure reportspan doesn't interfere with correctly determining valuation date. (Stephen Morgan)
|
|
||||||
|
|
||||||
- Store parsed Query in ReportOpts, rather than an unparsed String. (Stephen Morgan)
|
|
||||||
|
|
||||||
- Store StringFormat in ReportOpts, rather than unparsed String. (Stephen Morgan)
|
|
||||||
StringFormat now also takes an optional overline width, which is
|
|
||||||
currently only used by defaultBalanceLineFormat.
|
|
||||||
|
|
||||||
- Remove checkReportOpts and checkRawOpts. (Stephen Morgan)
|
|
||||||
checkRawOpts has been a no-op for at least four years, and
|
|
||||||
checkReportOpts only makes sure that depth_ is positive, which is taken
|
|
||||||
care of by the maybeposintopt parser.
|
|
||||||
|
|
||||||
- For ymd date parsing, don't consume invalid date components. (Stephen Morgan)
|
|
||||||
|
|
||||||
- quoteIfNeeded should not escape the backslashes in unicode code points. (Stephen Morgan)
|
- quoteIfNeeded should not escape the backslashes in unicode code points. (Stephen Morgan)
|
||||||
|
|
||||||
- fix error when P directive has a zero price (#1373)
|
|
||||||
|
|
||||||
- Export OrdPlus and constructors. (Stephen Morgan)
|
- Export OrdPlus and constructors. (Stephen Morgan)
|
||||||
|
|
||||||
- fix a slowdown with report rendering in 1.19.1 (#1350)
|
- Debug output now uses pretty-simple instead pretty-show.
|
||||||
stripAnsi is called many times during rendering (by strWidth), so
|
This hopefully gives overall nicer debug output (eg in colour),
|
||||||
should be fast. It was originally a regex replacement, and more
|
including for values which don't have Read-able Show output.
|
||||||
recently a custom parser. The parser was slower, particularly the one
|
This means that we can start removing custom Show instances
|
||||||
in 1.19.1. See #1350, and this rough test:
|
that were a workaround for pretty-show. Eg account names
|
||||||
|
in debug output no longer show their colons as underscores.
|
||||||
|
|
||||||
time118ish = timeIt $ print $ length $ concat $ map (fromRight undefined . regexReplace (toRegex' "\ESC\\[([0-9]+;)*([0-9]+)?[ABCDHJKfmsu]") "") testdata
|
Here's some old pretty-show output:
|
||||||
time119 = timeparser (many (takeWhile1P Nothing (/='\ESC') <|> "" <$ ansi))
|
|
||||||
time1191 = timeparser (many ("" <$ try ansi <|> pure <$> anySingle))
|
|
||||||
timeparser p = timeIt $ print $ length $ concat $ map (concat . fromJust . parseMaybe p) testdata
|
|
||||||
testdata = concat $ replicate 10000
|
|
||||||
[ "2008-01-01 income assets:bank:checking $1 $1"
|
|
||||||
, "2008-06-01 gift assets:bank:checking $1 $2"
|
|
||||||
, "2008-06-02 save assets:bank:saving $1 $3"
|
|
||||||
, " assets:bank:checking ..m$-1\ESC[m\ESC[m $2"
|
|
||||||
, "2008-06-03 eat & shop assets:cash ..m$-2\ESC[m\ESC[m 0"
|
|
||||||
, "2008-12-31 pay off assets:bank:checking ..m$-1\ESC[m\ESC[m ..m$-1\ESC[m\ESC[m"
|
|
||||||
]
|
|
||||||
|
|
||||||
ghci> time118ish
|
CsvRules
|
||||||
4560000
|
{ rdirectives = [ ( "skip" , "1" ) ]
|
||||||
CPU time: 0.17s
|
, rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
|
||||||
ghci> time119
|
, rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
|
||||||
4560000
|
, rconditionalblocks = []
|
||||||
CPU time: 0.91s
|
}
|
||||||
ghci> time1191
|
|
||||||
4560000
|
|
||||||
CPU time: 2.76s
|
|
||||||
|
|
||||||
Possibly a more careful parser could beat regexReplace. Note the
|
And the new pretty-simple output:
|
||||||
latter does memoisation, which could be faster and/or could also use
|
|
||||||
more resident memory in some situations.
|
|
||||||
|
|
||||||
Ideally we would calculate all widths before adding ANSI colour codes,
|
CsvRules
|
||||||
so we wouldn't have to wastefully strip them.
|
{ rdirectives=
|
||||||
|
[ ( "skip", "1" ) ]
|
||||||
|
, rcsvfieldindexes=
|
||||||
|
[ ( "date", 1 ), ( "amount", 2 ) ]
|
||||||
|
, rassignments=
|
||||||
|
[ ( "amount", "%2" ), ( "date", "%1" ) ]
|
||||||
|
, rconditionalblocks= []
|
||||||
|
}
|
||||||
|
|
||||||
|
We require pretty-simple 4.0.0.0 to get this compact output.
|
||||||
|
It's a little less compact than pretty-show, but not too bad.
|
||||||
|
Non-compact pretty-simple output would be:
|
||||||
|
|
||||||
|
CsvRules
|
||||||
|
{ rdirectives=
|
||||||
|
[
|
||||||
|
( "skip"
|
||||||
|
, "1B"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
, rcsvfieldindexes=
|
||||||
|
[
|
||||||
|
( "date"
|
||||||
|
, 1
|
||||||
|
)
|
||||||
|
,
|
||||||
|
( "amount"
|
||||||
|
, 2
|
||||||
|
)
|
||||||
|
]
|
||||||
|
, rassignments=
|
||||||
|
[
|
||||||
|
( "amount"
|
||||||
|
, "%2"
|
||||||
|
)
|
||||||
|
,
|
||||||
|
( "date"
|
||||||
|
, "%1"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
, rconditionalblocks=[]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# 1.19.1 2020-09-07
|
# 1.19.1 2020-09-07
|
||||||
|
|||||||
@ -1,13 +1,21 @@
|
|||||||
User-visible changes in hledger-ui.
|
User-visible changes in hledger-ui.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 093c11ec
|
# 3662977c
|
||||||
|
|
||||||
|
- When entering a query with `/`, malformed queries/regular expressions
|
||||||
|
no longer cause the program to exit. (Stephen Morgan)
|
||||||
|
|
||||||
- Eliding of multicommodity amounts now makes better use of available space. (Stephen Morgan)
|
- Eliding of multicommodity amounts now makes better use of available space. (Stephen Morgan)
|
||||||
|
|
||||||
- E ignores file extension, should help positioning on windows
|
- `E` now parses the `HLEDGER_UI_EDITOR` or `EDITOR` environment variable
|
||||||
|
correctly on Windows (ignoring the file extension), so if you have that set
|
||||||
|
it should be better at opening your editor at the correct line.
|
||||||
|
|
||||||
- E supports positioning when EDITOR is code (VS Code) (#1359)
|
- `E` now supports positioning when `HLEDGER_UI_EDITOR` or `EDITOR`
|
||||||
|
is VS Code ("`code`") (#1359)
|
||||||
|
|
||||||
|
- hledger-ui now has a (human-powered) test suite.
|
||||||
|
|
||||||
|
|
||||||
# 1.19.1 2020-09-07
|
# 1.19.1 2020-09-07
|
||||||
|
|||||||
@ -1,18 +1,19 @@
|
|||||||
User-visible changes in hledger-web.
|
User-visible changes in hledger-web.
|
||||||
See also the hledger changelog.
|
See also the hledger changelog.
|
||||||
|
|
||||||
# 093c11ec
|
# 3662977c
|
||||||
|
|
||||||
|
- Re-enable hledger-web's test suite, and include it in the main executable.
|
||||||
|
hledger-web --test [-- HSPECARGS] runs it.
|
||||||
|
|
||||||
|
- Fix --forecast, broken in hledger-web since 1.18 (#1390)
|
||||||
|
|
||||||
- Fix hledger-web description (TANIGUCHI Kohei)
|
- Fix unescaped slashes in hledger-web description on hackage (TANIGUCHI Kohei)
|
||||||
Slashes need to be escaped or they introduce unexpected italic style
|
|
||||||
due to Haddock markup.
|
|
||||||
|
|
||||||
- The hledger version string, as JSON, is provided at /version (#1152)
|
- The hledger-web version string is now provided at /version, as JSON (#1152)
|
||||||
|
|
||||||
- Write the session file (hledger-web_client_session_key.aes) in
|
- The session file (hledger-web_client_session_key.aes) is now written in
|
||||||
$XDG_DATA_DIR rather than in the current directory.
|
$XDG_DATA_DIR rather than the current directory.
|
||||||
Eg on non-Windows systems this is ~/.cache/ by default (cf
|
Eg on non-Windows systems this is ~/.cache/ by default (cf
|
||||||
https://hackage.haskell.org/package/directory/docs/System-Directory.html#t:XdgDirectory).
|
https://hackage.haskell.org/package/directory/docs/System-Directory.html#t:XdgDirectory).
|
||||||
(#1344) (Félix Sipma)
|
(#1344) (Félix Sipma)
|
||||||
|
|||||||
@ -1,25 +1,69 @@
|
|||||||
User-visible changes in the hledger command line tool and library.
|
User-visible changes in the hledger command line tool and library.
|
||||||
|
|
||||||
|
|
||||||
# 093c11ec
|
# 3662977c
|
||||||
|
|
||||||
- Query terms containing quotes (eg to match account names containing quotes)
|
## general
|
||||||
now work properly (#1368, Stephen Morgan)
|
|
||||||
|
|
||||||
- Console rendering is more efficient, speeding up some reports by
|
- Reverted a stripAnsi change in 1.19.1 that caused a 3x slowdown of amount rendering
|
||||||
10% or more (Stephen Morgan)
|
in terminal reports. (#1350)
|
||||||
|
|
||||||
|
- Amount and table rendering has been improved, so that stripAnsi is no longer needed.
|
||||||
|
This speeds up amount rendering in the terminal, speeding up some reports by 10% or more since 1.19.
|
||||||
|
(Stephen Morgan)
|
||||||
|
|
||||||
- Amount eliding no longer displays corrupted ANSI codes (#1352, Stephen Morgan)
|
- Amount eliding no longer displays corrupted ANSI codes (#1352, Stephen Morgan)
|
||||||
|
|
||||||
- Eliding of multicommodity amounts now makes better use of available space,
|
- Eliding of multicommodity amounts now makes better use of available space,
|
||||||
avoiding unnecessary eliding. (Stephen Morgan)
|
avoiding unnecessary eliding (showing as many amounts as possible within
|
||||||
|
32 characters). (Stephen Morgan)
|
||||||
|
|
||||||
- --no-elide's help now mentions that it also disables eliding of
|
- Command line help for --no-elide now mentions that it also disables eliding of
|
||||||
multicommodity amounts.
|
multicommodity amounts.
|
||||||
|
|
||||||
- bal: --budget reports no longer insert an extra space inside the brackets (Stephen Morgan)
|
- Query terms containing quotes (eg to match account names containing quotes)
|
||||||
|
now work properly. (#1368, Stephen Morgan)
|
||||||
|
|
||||||
- journal: forecasted transactions are now affected by commodity styles (#1371)
|
- cli, journal: Date range parsing is more robust, fixing failing/incorrect cases such as: (Stephen Morgan)
|
||||||
|
|
||||||
|
- a hyphenated range with just years (`2017-2018`)
|
||||||
|
- a hyphenated date with no day in a hyphenated range (`2017-07-2018`)
|
||||||
|
- a dotted date with no day in a dotted range (`2017.07..2018.02`)
|
||||||
|
|
||||||
|
- Debug output is prettier (eg, in colour), using pretty-simple instead of pretty-show.
|
||||||
|
|
||||||
|
## commands
|
||||||
|
|
||||||
|
- add: number style (eg thousands separators) no longer disturbs the value
|
||||||
|
that is offered as default. (#1378)
|
||||||
|
|
||||||
|
- bal: --invert now affects -S/--sort-amount, reversing the order. (#1283, #1379) (Stephen Morgan)
|
||||||
|
|
||||||
|
- bal: --budget reports no longer insert an extra space inside the brackets. (Stephen Morgan)
|
||||||
|
|
||||||
|
- bal, is, bs --change:
|
||||||
|
Valued multiperiod balance change reports now show changes of value,
|
||||||
|
rather than the value of changes. (#1353, Stephen Morgan)
|
||||||
|
|
||||||
|
- import: The journal's commodity styles (declared or inferred) are now applied
|
||||||
|
to imported amounts, overriding their original number format.
|
||||||
|
|
||||||
|
## journal format
|
||||||
|
|
||||||
|
- The journal's commodity styles are now applied to forecasted transactions. (#1371)
|
||||||
|
|
||||||
|
- journal, csv: commodity style is now inferred from the first amount, as documented,
|
||||||
|
not the last. This was "working wrongly" since hledger 1.12..
|
||||||
|
|
||||||
|
- A zero market price no longer causes "Ratio has zero denominator" error
|
||||||
|
in valued reports. (#1373)
|
||||||
|
|
||||||
|
## csv format
|
||||||
|
|
||||||
|
- The new `decimal-mark` rule allows reliable number parsing
|
||||||
|
when CSV numbers contain digit group marks (eg thousands separators).
|
||||||
|
|
||||||
|
- The CSV reader's verbose "assignment" debug output is now at level 9.
|
||||||
|
|
||||||
|
|
||||||
# 1.19.1 2020-09-07
|
# 1.19.1 2020-09-07
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user