The journal/timeclock/timedot parsers, instead of constructing (opaque)
journal update functions which are later applied to build the journal,
now construct the journal directly (by modifying the parser state). This
is easier to understand and debug. It also removes any possibility of
the journal updates being a space leak. (They weren't, in fact memory
usage is now slightly higher, but that will be addressed in other ways.)
Also:
Journal data and journal parse info have been merged into one type (for
now), and field names are more consistent.
The ParsedJournal type alias has been added to distinguish being-parsed
and finalised journals.
Journal is now a monoid.
stats: fixed an issue with ordering of include files
journal: fixed an issue with ordering of included same-date transactions
timeclock: sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file).
expandPath now throws a proper IO error (and requires the IO monad).
Commit 0a90ef4 a few weeks ago caused hledger-ui to show wrong balances
after reloading with the g key, if the journal had changed and you had
specified a query on the command line.
Now, journalReloadIfChanged reloads the full journal without filtering,
like journalReload and withJournalDo.
When multiple files are specified with multiple -f options, we now
parse each one individually, rather than just concatenating them, so
they can have different formats.
Directives (like default year or account aliases) no longer carry over
from one file to the next. Limitation or feature ?
The hledger package tarball now contains a copy of the generated docs
from all the other packages, so that it can build without being in a
source tree.
use simpler markup
use pre blocks more consistently
pandoc table experiments
no more right-floating examples, use columns if needed
doc edits
style tweaks
Use slightly clearer m4 macros instead of special divs to mark content
as web only/man only. The temporary doc/*.md files are no longer needed,
slightly more redundant work is done.
I was about to drop the m4 experiment, but.. not yet. I want to split up
the big man pages into chunks that are easier to deal with, so now using
m4 for that (only. Pandoc is taking care of selective content stripping
and other rendering adjustments.)
I've switched the suffix of m4-enabled files from .md.m4 to .m4.md -
less correct but activates more useful editor highlighting.