Created
November 25, 2017 20:03
-
-
Save simonmichael/540cee9b53473eb06e4eca43adaf76e9 to your computer and use it in GitHub Desktop.
possible history edits for https://github.com/simonmichael/hledger/pull/654
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
old: | |
* Budgeting and forecasting document | |
* Show percentage of budget spent | |
* --budget switch for "balance" | |
* added --auto to balancemode, print, register | |
* added --forecast to balancemode, print, register | |
* Make runPeriodicTransaction stricter: it will reject period start days that do not line up with requested interval. This is very helpful for periodic transactions, because in budget mode you need to ensure that no periodic transactions extend past the end of the journal, and in forecast mode you need to make sure that all periodic transactions are strictly after the end of the journal. | |
* ensure that runPeriodicTransaction does not generate transactions outside of the requested DateSpan | |
* More AutoTransaction tests. Some of them demonstrate that runPeriodicTransaction could generate transactions ouside of requested DateSpan. This happens because runPeriodicTransaction uses splitSpan internally, and splitSpan always generates dateSpans that fully cover original DateSpan, extending beyound left/right boundary if necessary. | |
* expanding documentation for existing period expressions, documenting "first day of period" behavior. Documented new period expressions DayOfYear and WeekdayOfMonth | |
* Now that we have parser for weekdays/abbreviations, lets add 'every <weekday> of week' as another form for of DayOfWeek (alongside with 'every nth day of week') | |
* Support every 2nd Thurdsay of month. Useful for periodic transactions, if you have events (rent, paycheck) that occur on fixed weekdays rather than fixed days of month. | |
* Added support for DayOfYear. Without it you can only create once-per-year periodic transactions with "yearly"/"every year", and those always occur on 1st Jan. DayOfYear required to enable yearly transactions on any day you want: "~ every 11th Nov" | |
* parsePeriodExpr needs to receive lowercased input, otherwise month names are not parsed correctly. Demo: https://gist.github.com/adept/7b532328bdd4aef930a99a63cf53f68b | |
* Fix splitSpan for nthdayof{week,month} - start of DateSpan was not covered Demo: https://gist.github.com/adept/0c0e932d789adc803e93d219f7e168c9 | |
possible cleanup: | |
* doc: budgeting and forecasting how-to, demonstrating new features | |
* bal/bs/is/cf: show percentage of budget spent | |
* bal/bs/is/cf: --budget shows budget performance | |
Budget goals specified with periodic transactions (as with | |
hledger-budget) can now be displayed in all balance reports. | |
--budget shows the target amount and percentage alongside the actual | |
amount, per account and period. | |
Unbudgeted accounts will be hidden, unless --show-unbudgeted is used. | |
Budgeted accounts are displayed folded (depth-clipped) at a depth | |
matching the budget specification. Unbudgeted accounts, if shown, are | |
displayed at their usual depth (in full detail, or according to --depth). | |
* cli: --auto adds automated postings to reports | |
Ledger-style automated postings, previously supported only by | |
hledger-budget, have landed as a first-class feature. The --auto | |
flag activates them, so that any postings they generate are | |
included in reports. | |
* cli: --forecast adds periodic transactions to reports | |
Ledger-style periodic transactions, previously supported only by | |
hledger-budget, have landed as a first-class feature. The --forecast | |
flag activates them, so that any transactions they generate are | |
included in reports. | |
* lib: runPeriodicTransaction's start date must line up with interval | |
This is very helpful for periodic transactions, because in budget mode | |
you need to ensure that no periodic transactions extend past the end | |
of the journal, and in forecast mode you need to make sure that all | |
periodic transactions are strictly after the end of the journal. | |
* lib: make runPeriodicTransaction respect date bounds | |
* lib: more periodic transaction tests | |
Some of these demonstrate that runPeriodicTransaction could generate | |
transactions ouside of requested DateSpan. This happens because | |
runPeriodicTransaction uses splitSpan internally, and splitSpan always | |
generates dateSpans that fully cover original DateSpan, extending | |
beyound left/right boundary if necessary. | |
* doc: expand documentation for period expressions | |
Document "first day of period" behavior. Document new period | |
expressions DayOfYear and WeekdayOfMonth. | |
* lib: support "every <weekday>" | |
A shorter spelling for "every <n>th day of week". | |
* lib: support "every 2nd Thursday of month" in period expressions | |
Useful for periodic transactions. | |
* lib: support "every 11th Nov" in period expressions | |
Useful for periodic transactions | |
Without it, once-per-year periodic transactions always occur on 1st Jan. | |
* lib: make month names in period expressions case-insensitive | |
Demo: https://gist.github.com/adept/7b532328bdd4aef930a99a63cf53f68b | |
* lib: Fix splitSpan for nthdayof{week,month} - start of DateSpan was not covered | |
Demo: https://gist.github.com/adept/0c0e932d789adc803e93d219f7e168c9 | |
[or include pastes inline for permanence ?] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment