This renames RawTransaction -> Posting and Entry -> LedgerTransaction,
plus a bunch more cleanups for consistency. So while ledger 3 has
transactions containing postings, and so do we when speaking to users,
internally we call ledger 3's transactions LedgerTransaction, and we keep
our old Transaction type as well, because it's useful and used all over
the place. To review:
- ledger 2 had Entrys containing Transactions.
- hledger 0.4 had Entrys containing RawTransactions, and Transactions
which are a RawTransaction with its parent Entry's info added.
Transactions are what we most work with when reporting and are
ubiquitous in the code and docs.
- ledger 3 has Transactions containing Postings.
- hledger 0.5 now has LedgerTransactions containing Postings, with
Transactions kept as before (a Posting plus it's parent's info). These
could be named PartialTransactions or TransactionPostings, but it gets
too verbose and obscure for devs and users.
See comments in Makefile. The major.minor[.bugfix] release version is
defined there, then "make" and "make release" should take care of
everything. Excerpt:
Goals and constraints for version numbering:
1 automation, robustness, simplicity, platform independence
2 cabal versions must be all-numeric
3 release versions should be concise
4 releases should have a corresponding darcs tag
5 development builds should have a precise version appearing in --version
6 development builds should generate cabal packages with non-confusing versions
7 would like a way to mark builds/releases as alpha or beta
8 would like to easily darcs get the .0 even with bugfix releases present