;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)) |    CsvRules | ||||||
|   timeparser p = timeIt $ print $ length $ concat $ map (concat . fromJust . parseMaybe p) testdata |      { rdirectives = [ ( "skip" , "1" ) ] | ||||||
|   testdata = concat $ replicate 10000 |      , rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ] | ||||||
|       [ "2008-01-01 income               assets:bank:checking            $1            $1" |      , rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ] | ||||||
|       , "2008-06-01 gift                 assets:bank:checking            $1            $2" |      , rconditionalblocks = [] | ||||||
|       , "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" |   And the new pretty-simple output: | ||||||
|       , "2008-12-31 pay off              assets:bank:checking  ..m$-1\ESC[m\ESC[m  ..m$-1\ESC[m\ESC[m" | 
 | ||||||
|  |    CsvRules | ||||||
|  |      { 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= | ||||||
|   ghci> time118ish |            [ | ||||||
|   4560000 |                ( "date" | ||||||
|   CPU time:   0.17s |                , 1 | ||||||
|   ghci> time119 |                ) | ||||||
|   4560000 |            , | ||||||
|   CPU time:   0.91s |                ( "amount" | ||||||
|   ghci> time1191 |                , 2 | ||||||
|   4560000 |                ) | ||||||
|   CPU time:   2.76s |            ] | ||||||
| 
 |        , rassignments= | ||||||
|   Possibly a more careful parser could beat regexReplace. Note the |            [ | ||||||
|   latter does memoisation, which could be faster and/or could also use |                ( "amount" | ||||||
|   more resident memory in some situations. |                , "%2" | ||||||
| 
 |                ) | ||||||
|   Ideally we would calculate all widths before adding ANSI colour codes, |            , | ||||||
|   so we wouldn't have to wastefully strip them. |                ( "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