hledger/doc/CHANGES
2016-11-23 18:13:33 -08:00

207 lines
6.9 KiB
Plaintext

Project-wide changes in the hledger project.
See also the package change logs.
# 1.1 (unreleased)
All 1.1 changes (move package-specific changes 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
## 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.14, vty 5.13, text-zipper 0.9
## 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
- 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.