summaryrefslogtreecommitdiff
path: root/NEWS
blob: 7dfef589d73ff449f5a0f70b173ddfaa4336a83e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
			     Ledger NEWS

* 2.0

- The code base was rewritten for clarity and consistency.  It is now
  simpler internally, more robust, and much faster.

- The most significant feature added are "value expressions".  They
  are used in several places to indicate what to display, sorting
  order, output format, etc.  Logic and math operators are supported,
  as well as a few functions.  See the documentation for more info.

- If the environment variable LEDGER (or LEDGER_FILE) is used, a
  binary cache of that ledger is now kept in ~/.ledger (or
  LEDGER_CACHE), to speed up later queries of the same data.  This
  happens only when "-f" or "--file" is not used.

- New options:

  "-o FILE" outputs data to FILE.  If "-", output goes to stdout.

  -j and -J options replace the previous -G (gnuplot) option.  -j
  reports the values column in a way gnuplot can consume, and -J, the
  totals column.  An example is in scripts/report.

  "-y DATEFMT" changes the date format used for register reports.  The
  default is "%Y/%m/%d".

  -Y and -W print yearly and weekly subtotals, just as -M prints
  monthly subtotals.  --dow shows cumulative totals for each day of
  the week.

  "-z INTERVAL" allows for more flexible interval reporting.  The
  sublanguage used will likely mature over time, but for now it
  supports expression like:

    monthly
    every week
    every 3 quarters
    weekly from 12/20
    monthly in 2003

  -O shows base values (this is the default, and old, behavior)
  -B shows basis cost of commodities
  -V shows the market value of commodities
  -G reports net gain/loss
  -A reports average value (arithmetic mean)
  -D reports deviation from the average
  -X reports the trend (average rate of change)
  -Z reports the trend, with older values affecting the trend less

- Regexps given directly after the command name now apply to account
  names only.  To search on a payee, use "--" to separate the two
  kinds of regexps.  For example, to find a payee named "John" within
  all Expenses accounts, use:

    ledger register expenses -- john

  Note: The above command is identical (and internally converted) to:

    ledger -l "/expenses/|//john/" register
  
- To include entries from a file into a specific account, use:

    @ ACCOUNT
    !include FILE
    @@

  Entries specified within "@ ACCOUNT/@@" will affect only that
  account.

- Register reports now show only the account affected by default.  Use
  "-r" to see "related accounts" -- the account the transfer came from
  or went to.  (This was the old behavior in 1.x, but leads to
  confusing reports when viewing reports within subaccounts.)  The
  "-r" option also works with balance reports, where it shows all
  amounts related to your query.

- Automated transactions now use value expressions as their predicate.
  The new syntax is:

    = VALUE-EXPR
      TRANSACTIONS...

  Only one VALUE-EXPR is supported, compared to the multiple account
  regexps supported before.  However, since value expression allow for
  logic chaining, there is no loss in functionality.  Also, by using a
  VALUE-EXPR as a predicate, matching may be much more comprehensive
  and selective.

- The use of "+" and "-" in ledger files (to specify permanent
  regexps) has been removed.

- -l now takes a value expression as the "calculation predicate".
  To mimic the old behavior of "-l \$100", use: -d "AT<{\$100}"

- The -S flag now takes a value expression as the sorting criteria.
  To sort on the amount, use -S T (balance) or -S t (register).

* 1.7

- Pricing histories are now supported, so that ledger remembers
  historical pricing of all commodities, and can give register reports
  based on past and present market values, as well as the original
  cost basis.  See README for more details on the new option switches.

* 1.6

- Can now parse timeclock files.  These are simple timelogs that track
  in/out events, which can be maintained using my timeclock tool.  By
  allowing ledger to parse these, it means that reporting can be done
  on them in the same way as a ledger file (the commodities is "h",
  for hours); and it means that doing things like tracking billable
  hours for clients, and invoicing those clients to transfer those
  hours into a dollar value via a receivable account, is now trivial.
  See the docs for more on how to do this.

- Began keeping NEWS file. :)