206 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
hledger is a robust, cross-platform plain text accounting tool, for
 | 
						|
tracking money, time, stocks, cryptocurrencies or any other commodity,
 | 
						|
using double-entry accounting, private or shared plain text files,
 | 
						|
revision control, and command-line, curses or web UIs.
 | 
						|
Find out more at http://hledger.org and http://plaintextaccounting.org.
 | 
						|
 | 
						|
I'm pleased to announce the release of hledger 1.12!
 | 
						|
Thank you release contributors Alex Chen, Jesse Rosenthal, Samuel May,
 | 
						|
Mykola Orliuk, Peter Simons, Moritz Kiefer, Dmitry Astapov, Felix Yan,
 | 
						|
Aiken Cairncross, and Nikhil Jha.
 | 
						|
 | 
						|
After two years of regular quarter-end releases, I am speeding up
 | 
						|
hledger's release cadence: we now aim to release every 1-3 months, as
 | 
						|
needed or wanted, with our normal release window being the first few
 | 
						|
days of each month.
 | 
						|
 | 
						|
Release notes (http://hledger.org/release-notes):
 | 
						|
-------------------------------------------------
 | 
						|
 | 
						|
hledger 1.12
 | 
						|
 | 
						|
* install script: ensure a new-enough version of stack; more informative output  
 | 
						|
 | 
						|
* build with GHC 8.6/base-4.12 (Peter Simons)  
 | 
						|
 | 
						|
* add required upper bound for statistics (Samuel May)  
 | 
						|
 | 
						|
* --anon anonymises more thoroughly (including linked original postings) (Moritz Kiefer)  
 | 
						|
 | 
						|
* unbalanced transaction errors now include location info (Mykola Orliuk)  
 | 
						|
 | 
						|
* accounts command: --drop also affects the default flat output, without needing an explicit --flat flag  
 | 
						|
 | 
						|
* accounts command: the --codes flag has been dropped  
 | 
						|
 | 
						|
* accounts command: filtering by non-account-name queries now works  
 | 
						|
 | 
						|
* add command: fix transaction rendering regression during data entry and in journal file  
 | 
						|
 | 
						|
* balance command: fix wrongful eliding of zero-balance parent accounts in tree mode (Dmitry Astapov)  
 | 
						|
 | 
						|
* journal format, bs/bse/cf/is commands: account directives can declare account types (#877)  
 | 
						|
  Previously you had to use one of the standard english account names
 | 
						|
  (assets, liabilities..) for top-level accounts, if you wanted them to
 | 
						|
  appear in the right place in the balancesheet, balancesheetequity,
 | 
						|
  cashflow or incomestatement reports.
 | 
						|
 | 
						|
  Now you can use your preferred account names, and use account directives
 | 
						|
  to declare which accounting class (Asset, Liability, Equity, Revenue or
 | 
						|
  eXpense) an account (and its subaccounts) belongs to, by writing one of
 | 
						|
  the letters A, L, E, R, X after the account name, after two or more
 | 
						|
  spaces. This syntax may change (see issue).  Experimental.
 | 
						|
 | 
						|
  Currently we allow unlimited account type declarations anywhere in the
 | 
						|
  account tree. So you could declare a liability account somewhere under
 | 
						|
  assets, and maybe a revenue account under that, and another asset account
 | 
						|
  even further down. In such cases you start to see oddities like accounts
 | 
						|
  appearing in multiple places in a tree-mode report. I have left it this
 | 
						|
  way for now in case it helps with, eg, modelling contra accounts, or
 | 
						|
  combining multiple files each with their own account type
 | 
						|
  declarations. (In that scenario, if we only allowed type declarations on
 | 
						|
  top-level accounts, or only allowed a single account of each type,
 | 
						|
  complications seem likely.)
 | 
						|
 | 
						|
* journal format: periodic transaction rules now require a double space separator.  
 | 
						|
  In periodic transaction rules which specify a transaction description or
 | 
						|
  same-line transaction comment, this must be separated from the period
 | 
						|
  expression by two or more spaces, to prevent ambiguous parsing. Eg
 | 
						|
  this will parse correctly as "monthly" thanks to the double space:
 | 
						|
 | 
						|
      ~ monthly  In 2020 we'll end this monthly transaction.
 | 
						|
 | 
						|
* journal format: exact/complete balance assertions (Samuel May).  
 | 
						|
  A stronger kind of balance assertion, written with a double equals sign,
 | 
						|
  asserts an account's complete account balance, not just the balance in
 | 
						|
  one commodity. (But only if it is a single-commodity balance, for now.)
 | 
						|
  Eg:
 | 
						|
 | 
						|
      1/1
 | 
						|
        (a)  A 1
 | 
						|
        (a)  B 1
 | 
						|
        (a)  0   =  A 1   ; commodity A balance assertion, succeeds
 | 
						|
        (a)  0   == A 1   ; complete balance assertion, fails
 | 
						|
 | 
						|
* journal format: account directives now allow whitespace or a comment after the account name  
 | 
						|
 | 
						|
* journal format: using ~ for home directory in include directives now works (#896) (Mykola Orliuk)  
 | 
						|
 | 
						|
* journal format: prevent misleading parse error messages with cyclic include directives (#853) (Alex Chen)  
 | 
						|
 | 
						|
* journal format: transaction modifier multipliers handle total-priced amounts correctly (#928).  
 | 
						|
  Multipliers (*N) in transaction modifier rules did not multiply
 | 
						|
  total-priced amounts properly.  Now the total prices are also multiplied,
 | 
						|
  keeping the transaction balanced.
 | 
						|
 | 
						|
* journal format: do amount inference/balance assignments/assertions before transaction modifiers (#893, #908) (Jesse Rosenthal)  
 | 
						|
  Previously, transaction modifier (auto postings) rules were applied
 | 
						|
  before missing amounts were inferred. This meant amount multipliers could
 | 
						|
  generate too many missing-amount postings, making the transaction
 | 
						|
  unbalanceable (#893).
 | 
						|
 | 
						|
  Now, missing amount inference (and balance assignments, and balance
 | 
						|
  assertions, which are interdependent) are done earlier, before
 | 
						|
  transaction modifier rules are applied (#900, #903).
 | 
						|
 | 
						|
  Also, we now disallow the combination of balance assignments and
 | 
						|
  transaction modifier rules which both affect the same account, which
 | 
						|
  could otherwise cause confusing balance assertion failures (#912).
 | 
						|
  (Because assignments now generate amounts to satisfy balance assertions
 | 
						|
  before transaction modifier rules are applied (#908).)
 | 
						|
 | 
						|
* journal format: periodic transaction rules are now aware of Y default year directives. (#892)  
 | 
						|
  Ie when a default year Y is in effect, they resolve partial or relative
 | 
						|
  dates using Y/1/1 as the reference date, rather than today's date.
 | 
						|
 | 
						|
hledger-ui 1.12
 | 
						|
 | 
						|
* fix "Any" build error with GHC < 8.4  
 | 
						|
 | 
						|
* error screen: always show error position properly (#904) (Mykola Orliuk)  
 | 
						|
 | 
						|
* accounts screen: show correct balances when there's only periodic transactions  
 | 
						|
 | 
						|
* drop the --status-toggles flag  
 | 
						|
 | 
						|
* periodic transactions and transaction modifiers are always enabled.  
 | 
						|
  Rule-based transactions and postings are always generated
 | 
						|
  (--forecast and --auto are always on).
 | 
						|
  Experimental.
 | 
						|
 | 
						|
* escape key resets to flat mode.  
 | 
						|
  Flat mode is the default at startup. Probably it should reset to tree
 | 
						|
  mode if --tree was used at startup.
 | 
						|
 | 
						|
* tree mode tweaks: add --tree/-T/-F flags, make flat mode the default,    
 | 
						|
  toggle tree mode with T, ensure a visible effect on register screen
 | 
						|
 | 
						|
* hide future txns by default, add --future flag, toggle with F.  
 | 
						|
  You may have transactions dated later than today, perhaps piped from
 | 
						|
  print --forecast or recorded in the journal, which you don't want to
 | 
						|
  see except when forecasting.
 | 
						|
 | 
						|
  By default, we now hide future transactions, showing "today's balance".
 | 
						|
  This can be toggled with the F key, which is easier than setting a
 | 
						|
  date query. --present and --future flags have been added to set the
 | 
						|
  initial mode.
 | 
						|
 | 
						|
  (Experimental. Interactions with date queries have not been explored.)
 | 
						|
 | 
						|
* quick help tweaks; try to show most useful info first  
 | 
						|
 | 
						|
* reorganise help dialog, fit content into 80x25 again  
 | 
						|
 | 
						|
* styling tweaks; cyan/blue -> white/yellow  
 | 
						|
 | 
						|
* less noisy styling in horizontal borders (#838)  
 | 
						|
 | 
						|
* register screen: positive amounts: green -> black  
 | 
						|
  The green/red scheme helped distinguish the changes column from the
 | 
						|
  black/red balance column, but the default green is hard to read on
 | 
						|
  the pale background in some terminals. Also the changes column is
 | 
						|
  non-bold now.
 | 
						|
 | 
						|
 | 
						|
Getting started:
 | 
						|
----------------
 | 
						|
 | 
						|
All install methods are described at http://hledger.org/download .
 | 
						|
You can download windows binaries, or use a package manager, though in
 | 
						|
some cases these will install an older hledger version.  
 | 
						|
 | 
						|
You can build the latest hledger packages with stack:
 | 
						|
 | 
						|
$ stack install --resolver=lts-12 megaparsec-7.0.4
 | 
						|
  cassava-megaparsec-2.0.0 config-ini-0.2.3.0 hledger-lib-1.12
 | 
						|
  hledger-1.12 [hledger-ui-1.12] [hledger-web-1.12] [hledger-api-1.12]
 | 
						|
 | 
						|
or with cabal:
 | 
						|
 | 
						|
$ cabal update && cabal install hledger-1.12 [hledger-ui-1.12] 
 | 
						|
  [hledger-web-1.12] [hledger-api-1.12]
 | 
						|
 | 
						|
or with the hledger installer, on systems with bash installed
 | 
						|
(handy if you don't have a working stack or cabal):
 | 
						|
 | 
						|
$ curl -s https://raw.githubusercontent.com/simonmichael/hledger/master/hledger-install/hledger-install.sh > hledger-install.sh
 | 
						|
$ less hledger-install.sh  # satisfy yourself that the script is safe
 | 
						|
$ bash hledger-install.sh
 | 
						|
 | 
						|
Some commands to try:
 | 
						|
 | 
						|
$ hledger add           # record some transactions, with guidance
 | 
						|
$ hledger print         # show recorded transactions
 | 
						|
$ hledger balance       # show totals by account
 | 
						|
$ hledger -h            # show quick help
 | 
						|
$ hledger               # list available commands
 | 
						|
$ hledger help          # list built-in manuals
 | 
						|
 | 
						|
To get oriented, see the tutorials and manuals at http://hledger.org ;
 | 
						|
say hello and ask questions in the #hledger IRC channel on Freenode, 
 | 
						|
accessible at http://irc.hledger.org .
 | 
						|
New users and contributors are always welcome!
 | 
						|
 | 
						|
Best,
 | 
						|
-Simon
 |