307 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
			
		
		
	
	
			307 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
| # -*- mode:org -*-
 | |
| #+OPTIONS: num:0
 | |
| 
 | |
| Since 1.0, this is the master source for package and project change logs
 | |
| ({hledger*,doc}/CHANGES) and web release notes (site/release-notes.md).
 | |
| In principle, only this file should be edited directly; after 1.0 perhaps
 | |
| those others will be generated fully automatically.
 | |
| 
 | |
| * 2016/10/27 1.0.2
 | |
| ** hledger-ui 1.0.2
 | |
| *** use latest brick 0.11
 | |
| * 2016/10/27 1.0.1
 | |
| ** project-wide changes
 | |
| *** change log/release note fixes
 | |
| ** hledger-lib 1.0.1
 | |
| *** allow megaparsec 5.0 or 5.1
 | |
| ** hledger 1.0.1
 | |
| *** allow megaparsec 5.0 or 5.1
 | |
| *** fix benchmark build failure (#423)
 | |
| ** hledger-ui 1.0.1
 | |
| *** allow megaparsec 5.0 or 5.1
 | |
| ** hledger-web 1.0.1
 | |
| *** allow megaparsec 5.0 or 5.1
 | |
| ** hledger-api 1.0.1
 | |
| * 2016/10/26 1.0
 | |
| ** project-wide changes
 | |
| *** misc
 | |
| **** added GHC 8 support, dropped GHC 7.6 and 7.8 support.
 | |
|      GHC 7.8 support could be restored with small code changes and a maintainer.
 | |
| **** a cabal.project file has been added (Moritz Kiefer)
 | |
| **** use hpack for maintaining cabal files (#371).
 | |
|      Instead of editing cabal files directly, we now edit the less
 | |
|      verbose and less redundant package.yaml files and let stack (or
 | |
|      hpack) update the cabal files. We commit both the .yaml and
 | |
|      .cabal files.
 | |
| **** clean up some old cabal flags
 | |
| **** tools/simplebench has been spun off as the quickbench package.
 | |
| **** add Appveyor CI builds, provide up-to-date binaries for Windows
 | |
| **** extra: add a bunch of CSV rules examples
 | |
| *** docs
 | |
| **** the website is simpler, clearer, and more mobile-friendly.  
 | |
|      Docs are now collected on a single page and organised by type: getting started, reference, more.
 | |
| **** reference docs have been split into one manual for each executable and file format. 
 | |
|      This helps with maintenance and packaging and also should make it
 | |
|      easier to see what's available and to read just what you need.
 | |
| **** manuals are now provided in html, plain text, man and info formats
 | |
|      generated from the same source by a new Shake-based docs build system. (#292)
 | |
| **** versioned manuals are provided on the website, covering recent releases and the latest dev version (#385, #387)
 | |
| **** manuals are built in to the hledger executables, allowing easy offline reading on all platforms.
 | |
|      #+BEGIN_EXAMPLE
 | |
|       PROG -h              shows PROG's command-line usage
 | |
|       PROG --help          shows PROG's manual (fixed width)
 | |
|       PROG --man           shows PROG's manual with man (formatted/paged)
 | |
|       PROG --info          shows PROG's manual with info (hypertext)
 | |
|       hledger help [TOPIC] shows any manual
 | |
|       hledger man  [TOPIC] shows any manual with man
 | |
|       hledger info [TOPIC] shows any manual with info
 | |
|      #+END_EXAMPLE
 | |
| **** the general and reporting options are now listed in all executable manuals.
 | |
|      We assume any of them which are unsupported are harmlessly ignored.
 | |
| **** demo.hledger.org is using beancount's example journal.
 | |
|      This is the somewhat realistic example journal from the beancount
 | |
|      project, tweaked for hledger.
 | |
| **** minor copyedits (jungle-boogie)
 | |
| *** cli
 | |
| **** parsing multiple input files is now robust.
 | |
|      When multiple -f options are provided, we now parse each file
 | |
|      individually rather than just concatenating them, so they can
 | |
|      have different formats (#320).  Note this also means that
 | |
|      directives (like `Y` or `alias`) no longer carry over from one
 | |
|      file to the next.
 | |
| 
 | |
| **** I has been added as the short flag for --ignore-assertions
 | |
|      (this is different from Ledger's CLI, but useful for hledger-ui).
 | |
| 
 | |
| **** parsing an argument-less --debug option is more robust
 | |
| 
 | |
| ** hledger-lib 1.0
 | |
| *** timedot format
 | |
| **** new "timedot" format for retroactive/approximate time logging.
 | |
|      Timedot is a plain text format for logging dated, categorised
 | |
|      quantities (eg time), supported by hledger.  It is convenient
 | |
|      for approximate and retroactive time logging, eg when the
 | |
|      real-time clock-in/out required with a timeclock file is too
 | |
|      precise or too interruptive.  It can be formatted like a bar
 | |
|      chart, making clear at a glance where time was spent.
 | |
| 
 | |
| *** timeclock format
 | |
| **** renamed "timelog" format to "timeclock", matching the emacs package
 | |
| **** sessions can no longer span file boundaries (unclocked-out
 | |
|      sessions will be auto-closed at the end of the file).
 | |
| **** transaction ids now count up rather than down (#394)
 | |
| **** timeclock files no longer support default year directives
 | |
| **** removed old code for appending timeclock transactions to journal transactions.
 | |
|      A holdover from the days when both were allowed in one file.
 | |
| *** csv format
 | |
| **** fix empty field assignment parsing, rule parse errors after megaparsec port (#407) (Hans-Peter Deifel)
 | |
| *** journal format
 | |
| **** journal files can now include timeclock or timedot files (#320) 
 | |
|      (but not yet CSV files).
 | |
| **** fixed an issue with ordering of same-date transactions included from other files
 | |
| **** the "commodity" directive and "format" subdirective are now supported, allowing
 | |
|      full control of commodity style (#295) The commodity directive's
 | |
|      format subdirective can now be used to override the inferred
 | |
|      style for a commodity, eg to increase or decrease the
 | |
|      precision. This is at least a good workaround for #295.
 | |
| **** Ledger-style "apply account"/"end apply account" directives are now used to set a default parent account.
 | |
| **** the Ledger-style "account" directive is now accepted (and ignored).
 | |
| **** bracketed posting dates are more robust (#304)
 | |
|      Bracketed posting dates were fragile; they worked only if you
 | |
|      wrote full 10-character dates. Also some semantics were a bit
 | |
|      unclear. Now they should be robust, and have been documented
 | |
|      more clearly. This is a legacy undocumented Ledger syntax, but
 | |
|      it improves compatibility and might be preferable to the more
 | |
|      verbose "date:" tags if you write posting dates often (as I do).
 | |
|      Internally, bracketed posting dates are no longer considered to
 | |
|      be tags.  Journal comment, tag, and posting date parsers have
 | |
|      been reworked, all with doctests.
 | |
| **** balance assertion failure messages are clearer
 | |
| **** with --debug=2, more detail about balance assertions is shown.
 | |
| *** misc
 | |
| **** file parsers have been ported from Parsec to Megaparsec \o/ (#289, #366) (Alexey Shmalko, Moritz Kiefer)
 | |
| **** most hledger types have been converted from String to Text, reducing memory usage by 30%+ on large files and giving a slight speed increase
 | |
| **** file parsers have been simplified for easier troubleshooting (#275).
 | |
|      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
 | |
|      rules out the possibility of journal updates being a space
 | |
|      leak. (They weren't, in fact this change increased memory usage
 | |
|      slightly, but that has been addressed in other ways).  The
 | |
|      ParsedJournal type alias has been added to distinguish
 | |
|      "being-parsed" journals and "finalised" journals.
 | |
| **** file format detection is more robust.
 | |
|      The Journal, Timelog and Timedot readers' detectors now check
 | |
|      each line in the sample data, not just the first one. I think the
 | |
|      sample data is only about 30 chars right now, but even so this
 | |
|      fixed a format detection issue I was seeing. 
 | |
|      Also, we now always try parsing stdin as journal format (not just sometimes).
 | |
| **** all file formats now produce transaction ids, not just journal (#394)
 | |
| **** git clone of the hledger repo on windows now works (#345)
 | |
| **** added missing benchmark file (#342)
 | |
| **** our stack.yaml files are more compatible across stack versions (#300)
 | |
| **** use newer file-embed to fix ghci working directory dependence (https://github.com/snoyberg/file-embed/issues/18)
 | |
| **** report more accurate dates in account transaction report when postings have their own dates
 | |
|      (affects hledger-ui and hledger-web registers).
 | |
|      The newly-named "transaction register date" is the date to be
 | |
|      displayed for that transaction in a transaction register, for
 | |
|      some current account and filter query.  It is either the
 | |
|      transaction date from the journal ("transaction general date"),
 | |
|      or if postings to the current account and matched by the
 | |
|      register's filter query have their own dates, the earliest of
 | |
|      those posting dates.
 | |
| 
 | |
| **** simplify account transactions report's running total.
 | |
|      The account transactions report used for hledger-ui and -web
 | |
|      registers now gives either the "period total" or "historical
 | |
|      total", depending strictly on the --historical flag. It doesn't
 | |
|      try to indicate whether the historical total is the accurate
 | |
|      historical balance (which depends on the user's report query).
 | |
| **** reloading a file now preserves the effect of options, query arguments etc.
 | |
| **** reloading a journal should now reload all included files as well.
 | |
| **** the Hledger.Read.* modules have been reorganised for better reuse.
 | |
|      Hledger.Read.Utils has been renamed Hledger.Read.Common
 | |
|      and holds low-level parsers & utilities; high-level read
 | |
|      utilities are now in Hledger.Read.
 | |
| **** clarify amount display style canonicalisation code and terminology a bit.
 | |
|      Individual amounts still have styles; from these we derive
 | |
|      the standard "commodity styles". In user docs, we might call
 | |
|      these "commodity formats" since they can be controlled by the
 | |
|      "format" subdirective in journal files.
 | |
| **** Journal is now a monoid
 | |
| **** expandPath now throws a proper IO error
 | |
| **** more unit tests, start using doctest
 | |
| ** hledger 1.0
 | |
| *** add
 | |
| **** suggest only one commodity at a time as default amount (#383)
 | |
|      (since we currently can't input more than one at a time)
 | |
| *** balance
 | |
| **** added --change flag for consistency
 | |
| **** H/--historical now also affects single-column balance reports with a start date (#392).
 | |
|      This has the same effect as just omitting the start date, but adds consistency.
 | |
| **** in CSV output, render amounts in one-line format (#336)
 | |
| *** balancesheet
 | |
| **** fix an infinite loop (#393)
 | |
| *** print
 | |
| **** in CSV output, fix and rename the transaction id field
 | |
| *** register
 | |
| **** fix a sorting regression with --date2 (#326)
 | |
| **** --average/-A is now affected by --historical/-H
 | |
| **** added --cumulative flag for consistency
 | |
| **** in CSV output, include the transaction id and rename the total field (#391)
 | |
| *** stats
 | |
| **** fixed an issue with ordering of include files
 | |
| *** misc
 | |
| **** --pivot option added, groups postings by tag instead of account (#323) (Malte Brandy)
 | |
| **** --anon option added, obfuscates account names and descriptions (#265) (Brian Scott)
 | |
|      (Only affects the hledger tool, for now.)
 | |
| **** try to clarify balance/register's various report modes,
 | |
|      kinds of "balance" displayed, and related options and language.
 | |
| **** with multiple --change/--cumulative/--historical flags, use the last one instead of complaining
 | |
| **** don't add the "d" suffix when displaying day periods
 | |
| **** stack-ify extra/hledger-rewrite.hs
 | |
| ** hledger-ui 1.0
 | |
| *** accounts screen
 | |
| **** at depth 0, show accounts on one "All" line and show all transactions in the register
 | |
| **** 0 now sets depth limit to 0 instead of clearing it
 | |
| **** always use --no-elide for a more regular accounts tree
 | |
| *** register screen
 | |
| **** registers can now include/exclude subaccount transactions.
 | |
|      The register screen now includes subaccounts' transactions if the
 | |
|      accounts screen was in tree mode, or when showing an account
 | |
|      which was at the depth limit. Ie, it always shows the
 | |
|      transactions contributing to the balance displayed on the
 | |
|      accounts screen. As on the accounts screen, F toggles between
 | |
|      tree mode/subaccount txns included by default and flat
 | |
|      mode/subaccount txns excluded by default. (At least, it does when
 | |
|      it would make a difference.)
 | |
| **** register transactions are filtered by realness and status (#354).
 | |
|      Two fixes for the account transactions report when --real/--cleared/real:/status: 
 | |
|      are in effect, affecting hledger-ui and hledger-web:
 | |
|     
 | |
|      1. exclude transactions which affect the current account via an excluded posting type.
 | |
|         Eg when --real is in effect, a transaction posting to the current account with only
 | |
|         virtual postings will not appear in the report.
 | |
| 
 | |
|      2. when showing historical balances, don't count excluded posting types in the
 | |
|         starting balance. Eg with --real, the starting balance will be the sum of only the
 | |
|         non-virtual prior postings.
 | |
| 
 | |
|         This is complicated and there might be some ways to confuse it still, causing
 | |
|         wrongly included/excluded transactions or wrong historical balances/running totals
 | |
|         (transactions with both real and virtual postings to the current account, perhaps ?)
 | |
| **** show more accurate dates when postings have their own dates.
 | |
|      If postings to the register account matched by the register's
 | |
|      filter query have their own dates, we show the earliest of these
 | |
|      as the transaction date.
 | |
| 
 | |
| *** misc
 | |
| **** H toggles between showing "historical" or "period" balances (#392).
 | |
|      By default hledger-ui now shows historical balances, which
 | |
|      include transactions before the report start date (like hledger
 | |
|      balance --historical). Use the H key to toggle to "period" mode,
 | |
|      where balances start from 0 on the report start date.
 | |
| **** shift arrow keys allow quick period browsing
 | |
| 
 | |
|      - shift-down narrows to the next smaller standard period
 | |
|        (year/quarter/month/week/day), shift-up does the reverse
 | |
|      - when narrowed to a standard period, shift-right/left moves to
 | |
|        the next/previous period
 | |
|      - `t` sets the period to today.
 | |
| **** a runs the add command
 | |
| **** E runs $HLEDGER_UI_EDITOR or $EDITOR or a default editor (vi) on the journal file.
 | |
|      When using emacs or vi, if a transaction is selected the cursor will be positioned at its journal entry.
 | |
| **** / key sets the filter query; BACKSPACE/DELETE clears it
 | |
| **** Z toggles display of zero items (like --empty), and they are shown by default.
 | |
|      -E/--empty is now the default for hledger-ui, so accounts with 0 balance
 | |
|      and transactions posting 0 change are shown by default.  The Z key
 | |
|      toggles this, entering "nonzero" mode which hides zero items.
 | |
| **** R toggles inclusion of only real (non-virtual) postings
 | |
| **** U toggles inclusion of only uncleared transactions/postings
 | |
| **** I toggles balance assertions checking, useful for troubleshooting
 | |
| **** vi-style movement keys are now supported (for help, you must now use ? not h) (#357)
 | |
| **** ESC cancels minibuffer/help or clears the filter query and jumps to top screen
 | |
| **** ENTER has been reserved for later use
 | |
| **** reloading now preserves any options and modes in effect
 | |
| **** reloading on the error screen now updates the message rather than entering a new error screen
 | |
| **** the help dialog is more detailed, includes the hledger-ui manual, and uses the full terminal width if needed
 | |
| **** the header/footer content is more efficient; historical/period and tree/flat modes are now indicated in the footer
 | |
| **** date: query args on the command line now affect the report period.
 | |
|      A date2: arg or --date2 flag might also affect it (untested).
 | |
| **** hledger-ui now uses the quicker-building microlens
 | |
| ** hledger-web 1.0
 | |
| *** ui
 | |
| **** use full width on large screens, hide sidebar on small screens, more standard bootstrap styling (#418, #422) (Dominik Süß)
 | |
| **** show the sidebar by default (#310)
 | |
| **** fix the add link's tooltip
 | |
| **** when the add form opens, focus the first field (#338)
 | |
| **** leave the add form's date field blank, avoiding a problem with tab clearing it (#322)
 | |
| **** use transaction id instead of date in transaction urls (#308) (Thomas R. Koll)
 | |
| **** after following a link to a transaction, highlight it (Thomas R. Koll)
 | |
| **** misc. HTML/CSS/file cleanups/fixes (Thomas R. Koll)
 | |
| *** misc
 | |
| **** startup is more robust (#226).
 | |
|      Now we exit if something is already using the specified port,
 | |
|      and we don't open a browser page before the app is ready.
 | |
| **** termination is more robust, avoiding stray background threads.
 | |
|      We terminate the server thread more carefully on exit, eg on control-C in GHCI.
 | |
| **** more robust register dates and filtering in some situations (see hledger-ui notes)
 | |
| **** reloading the journal preserves options, arguments in effect (#314).
 | |
|      The initial query specified by command line arguments is now preserved
 | |
|      when the journal is reloaded. This does not appear in the web UI, it's
 | |
|      like an invisible extra filter.
 | |
| **** show a proper not found page on 404
 | |
| **** document the special `inacct:` query (#390)
 | |
| ** hledger-api 1.0
 | |
| *** misc
 | |
| **** new hledger-api tool: a simple web API server with example clients (#316)
 | |
| **** start an Angular-based API example client (#316) (Thomas R. Koll)
 | |
| 
 | |
| 
 | |
| # NOTES:
 | |
| # release commits by time
 | |
| # git ll 0.27..
 | |
| # release commits by component:
 | |
| # git ll 0.27.. | sort -k3 -f, sort --reverse each part
 |