233 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Project-wide changes in the hledger project. 
 | |
| See also the package change logs.
 | |
| 
 | |
| # 1.1 (unreleased)
 | |
| 
 | |
| (Changes in all packages - move to package changelogs before release:)
 | |
| 
 | |
| ## misc
 | |
| 
 | |
| -   fix non-existent "oldtime" dependency in hledger package (#431)
 | |
| 
 | |
| -   update base lower bound to enforce GHC 7.10+
 | |
|     
 | |
|     hledger-lib had a valid install plan with GHC 7.8, but currently requires GHC 7.10 to compile.
 | |
|     Now we require base 4.8+ everywhere to ensure the right GHC version at the start.
 | |
|     
 | |
| -   Hledger.Read api cleanups
 | |
| 
 | |
| -   rename dbgIO to dbg0IO, consistent with dbg0, and document a bug in dbg*IO
 | |
| 
 | |
| -   make readJournalFiles [f] equivalent to readJournalFile f (#437)
 | |
| 
 | |
| -   more general parser types enabling reuse outside of IO (#439)
 | |
| 
 | |
| ## cli
 | |
| 
 | |
| -   more predictable file format detection
 | |
|     
 | |
|     When we don't recognise a file's extension, instead of choosing a subset of
 | |
|     readers to try based on content sniffing, now we just try them all.
 | |
|     Also, this can be overridden by prepending the reader name and a
 | |
|     colon to the file path (eg timedot:file.dat, csv:-).
 | |
| 
 | |
| -   don't show stack trace details in errors with GHC 8+
 | |
| 
 | |
| ## ui
 | |
| 
 | |
| -   mark hledger-ui as "stable"
 | |
| 
 | |
| -   allow brick 0.15, vty 5.14, text-zipper 0.9
 | |
| 
 | |
| -   with --watch, the display updates automatically to show file or date changes
 | |
| 
 | |
|     hledger-ui --watch will reload data when the journal file (or any included file) changes.
 | |
|     Also, when viewing a current standard period (ie this day/week/month/quarter/year),
 | |
|     the period will move as needed to track the current system date.
 | |
| 
 | |
| -   the --change flag shows period changes at startup instead of historical ending balances
 | |
| 
 | |
| -   the A key runs the hledger-iadd tool, if installed
 | |
| 
 | |
| -   always reload when g is pressed
 | |
| 
 | |
|     Previously it would check the modification time and reload only if
 | |
|     it looked newer than the last reload.
 | |
| 
 | |
| ## web
 | |
| 
 | |
| -   add --host option (#429)
 | |
|     
 | |
|     This came up in the context of Docker, but it seems it wasn't
 | |
|     possible for hledger-web to serve remote clients directly (without
 | |
|     a proxy) because of 127.0.0.1 being hardcoded. That can now be
 | |
|     changed with --host=IPADDR. Also, the default base url uses this
 | |
|     address rather than a hard-coded "localhost".
 | |
|     
 | |
| -   rename --server to --serve
 | |
| 
 | |
|     The --server flag sounded too close in meaning to --host so
 | |
|     I've renamed it to --serve. The old spelling is still accepted,
 | |
|     but deprecated and will be removed in the next release.
 | |
| 
 | |
| ## api
 | |
| 
 | |
| -   serves on 127.0.0.1 by default, --host option added (#432)
 | |
|     
 | |
|     Consistent with hledger-web: serves only local requests by default,
 | |
|     use --host=IPADDR to change this.
 | |
| 
 | |
| -   fixed the version string in command-line help and swagger info
 | |
| 
 | |
| ## csv format
 | |
| 
 | |
| -   create default rules file only if CSV reader succeeds
 | |
| 
 | |
| ## journal format
 | |
| 
 | |
| -   balance assignments are now supported (#438, #129, #157, #288)
 | |
| 
 | |
|     This feature also brings a slight performance drop (~5%);
 | |
|     optimisations welcome.
 | |
| 
 | |
| -   also recognise `*.hledger` files as hledger journal format
 | |
| 
 | |
| ## ledger format
 | |
| 
 | |
| -   add an alternate reader for C++ Ledger journals, based on ledger-parse from the ledger4 project.
 | |
|     
 | |
|     This reader is not used automatically, you must select it with a `ledger:` prefix.
 | |
|     Currently only the bare minimum of the raw parsed data is used:
 | |
|     transaction dates/descriptions and posting accounts/amounts,
 | |
|     with the rest being ignored.
 | |
|     
 | |
|     Amounts are parsed the same way as in the hledger journal format.
 | |
|     Malformed amounts might be ignored instead of error-reported.
 | |
| 
 | |
|     This adds some or all of these as new dependencies for hledger-lib:
 | |
|     parsers, parsec, attoparsec, trifecta
 | |
| 
 | |
| 
 | |
| # 1.0.1 (2016/10/27)
 | |
| 
 | |
| - change log/release note fixes
 | |
| 
 | |
| 
 | |
| # 1.0 (2016/10/26)
 | |
| 
 | |
| ## misc
 | |
| 
 | |
| -   added GHC 8 support, dropped GHC 7.6 and 7.8 support.
 | |
| 
 | |
|     GHC 7.8 support could be restored with small code changes and a maintainer.
 | |
| 
 | |
| -   a cabal.project file has been added (Moritz Kiefer)
 | |
| 
 | |
| -   use hpack for maintaining cabal files (#371).
 | |
| 
 | |
|     Instead of editing cabal files directly, we now edit the less
 | |
|     verbose and less redundant package.yaml files and let stack (or
 | |
|     hpack) update the cabal files. We commit both the .yaml and
 | |
|     .cabal files.
 | |
| 
 | |
| -   clean up some old cabal flags
 | |
| 
 | |
| -   tools/simplebench has been spun off as the quickbench package.
 | |
| 
 | |
| -   add Appveyor CI builds, provide up-to-date binaries for Windows
 | |
| 
 | |
| -   extra: add a bunch of CSV rules examples
 | |
| 
 | |
| ## docs
 | |
| 
 | |
| -   the website is simpler, clearer, and more mobile-friendly.
 | |
| 
 | |
|     Docs are now collected on a single page and organised by type: getting started, reference, more.
 | |
| 
 | |
| -   reference docs have been split into one manual for each executable and file format.
 | |
| 
 | |
|     This helps with maintenance and packaging and also should make it
 | |
|     easier to see what's available and to read just what you need.
 | |
| 
 | |
| -   manuals are now provided in html, plain text, man and info formats
 | |
| 
 | |
|     generated from the same source by a new Shake-based docs build system. (#292)
 | |
| 
 | |
| -   versioned manuals are provided on the website, covering recent releases and the latest dev version (#385, #387)
 | |
| 
 | |
| -   manuals are built in to the hledger executables, allowing easy offline reading on all platforms.
 | |
| 
 | |
|         PROG -h              shows PROG's command-line usage
 | |
|         PROG --help          shows PROG's manual (fixed width)
 | |
|         PROG --man           shows PROG's manual with man (formatted/paged)
 | |
|         PROG --info          shows PROG's manual with info (hypertext)
 | |
|         hledger help [TOPIC] shows any manual
 | |
|         hledger man  [TOPIC] shows any manual with man
 | |
|         hledger info [TOPIC] shows any manual with info
 | |
| 
 | |
| -   the general and reporting options are now listed in all executable manuals.
 | |
| 
 | |
|     We assume any of them which are unsupported are harmlessly ignored.
 | |
| 
 | |
| -   demo.hledger.org is using beancount's example journal.
 | |
| 
 | |
|     This is the somewhat realistic example journal from the beancount
 | |
|     project, tweaked for hledger.
 | |
| 
 | |
| -   minor copyedits (jungle-boogie)
 | |
| 
 | |
| ## cli
 | |
| 
 | |
| -   parsing multiple input files is now robust.
 | |
| 
 | |
|     When multiple -f options are provided, we now parse each file
 | |
|     individually rather than just concatenating them, so they can
 | |
|     have different formats (#320).  Note this also means that
 | |
|     directives (like \`Y\` or \`alias\`) no longer carry over from one
 | |
|     file to the next.
 | |
| 
 | |
| -   -I has been added as the short flag for --ignore-assertions
 | |
| 
 | |
|     (this is different from Ledger's CLI, but useful for hledger-ui).
 | |
| 
 | |
| -   parsing an argument-less --debug option is more robust
 | |
| 
 | |
| 
 | |
| 
 | |
| 0.27 (2015/10/31)
 | |
| 
 | |
| - The site is now built with hakyll-std, a generic hakyll script.
 | |
| 
 | |
| - The hledger cabal files are now generated from package.yaml files by
 | |
|   hpack, in principle, removing a lot of error-prone duplication and
 | |
|   boilerplate.  (In practice, both files are being updated manually
 | |
|   for the moment, until hpack supports flags and conditional blocks.)
 | |
| 
 | |
| - Time/allocation and heap profiling is working again, and easier:
 | |
| 
 | |
|   - `make quickprof-CMD` generates a profile for CMD, which runs
 | |
|     against one of the sample journals. (CMD must be one word,
 | |
|     enclosing in double quotes isn't working here for some reason).
 | |
| 
 | |
|   - `make quickheap-CMD` generates a heap profile for CMD, in
 | |
|     hledgerprof.ps, and tries to open it in a viewer (currently the
 | |
|     mac-friendly "open" executable, so you may need to adjust this in
 | |
|     the makefile).  As with quickprof, CMD must be one word and runs
 | |
|     against one of the sample journals.
 | |
| 
 | |
|   - `make hledgerprof` builds the hledgerprof executable used for
 | |
|     time/allocation profiling. `make hledgercov` builds the hledgercov
 | |
|     executable used for coverage reports.
 | |
| 
 | |
| - Travis CI now tests the build on each github push and announces
 | |
|   status changes by email and on #hledger.
 | |
| 
 | |
| - hledger once again has a HCAR entry.
 | |
| 
 | |
| - Each hledger package now includes one or more man pages, generated
 | |
|   from markdown by the mighty pandoc.  Currently there are six: one
 | |
|   for each main executable and each input file format. Currently these
 | |
|   somewhat duplicate the manual on the website; this will be resolved
 | |
|   somehow.
 | |
| 
 |