Release 2.3.0

104 views
Skip to first unread message

Martin Blais

unread,
Jun 10, 2020, 12:42:05 AM6/10/20
to Beancount
Hi,
I just tagged master as 2.3.0.

TL;DR:
Not many new features, mainly small bug fixes:
- There's a new --no-cache option to bean-check which disables and clears the cache
- Minor performance enhancements.
- Changes submitted by users to CSV importer example.

Here is a full list of changes since the last release:

2020-06-03

 - Added a 'hooks' argument to beancount.ingest.scripts_utils.ingest() replacing
   'detect_duplicates_func'. 'find_duplicate_entries()' is still inserted if no
   other filter functions are specified (I'd like to remove this eventually; not
   changing behavior here for now.)
 - Added an example for how to run the importers explictly via a Python script
   calling the ingest() function.
 - Fixed bug with explicit invocation of importers via ingest() function when
   calling the 'file' sub command.
 - Some installations of pdfminer install 'pdf2txt.py' as 'pdf2txt'. Adjusted
   ingestion example scripts.


2020-06-02

 - Modified recently added --no-cache option to also delete the cache if it
   exists. Honor the same environment variables. The motivation behind this
   change is that while --no-cache is useful for debugging plugins, it can be
   disconcerting that if you remove it on the next run it picks up the old
   existing cache. Deleting it on usage of --no-cache is reasonable behavior and
   avoids the introduction of a --clear-cache option; this should be sufficient.


2020-05-25

 - Fixed #449: Added options to bean-check: --no-cache and --cache-filename to
   override the cache location. These are added to bean-check only and are
   useful during development. The 'BEANCOUNT_DISABLE_LOAD_CACHE' and
   'BEANCOUNT_LOAD_CACHE_FILENAME' environment variables are still honored by
   the loader and work across all other programs.


2020-05-23

 - Fixed #184: Added explicit test for Inventory.average().
 - Fixed #404: Iex price source not working any more.
 - Fixed #281: Query "id" column does not identify transactions uniquely. Made
   the default hash_entry() function include metadata. Exclude metadata and
   derived fields explicitly in the context of comparison.
 - Fixed #182: Eliding an amount with total price raises TypeError.
 - Added options to filter accounts in "onecommodity" plugin: skip accounts with
   explicitly declared commodities, metadata of "onecommodity: FALSE" and added
   regular expression to specify the list of accounts to match (default: all).


2020-05-22

 - Migration of code repository to Github.


2020-05-02

 - Minor performance improvment by avoiding calling __iadd__ in a few places.
 - Fixed bug due to the removal of __version__ in apiclient:
   https://github.com/googleapis/google-api-python-client/commit/1d8ec6874e1c6081893de7cd7cbc86d1f6580320
 - Changes all imports from 'apiclient' to 'googleapiclient', which is now the
   recommended way.
 - Fixed some warnings.
 - Disabled expensive assertions in Inventory class and implemented a special
   case for adding to an empty inventory to avoid expensive aggregation. This
   can occur in aggregation loops and is unnecessarily expensive when adding a
   single, very large inventory.
 - Made balance check aggregation avoid an initial empty inventory object, and
   changed the balance check code to call the realization utility function
   compute_balance().


2020-04-11

 - Fixed #425: Tentative bug fix for crash on decref over null traceback. The
   Python API for this function may return some null values. Not taking any
   chances. This should fix this particular bug.


2020-03-28

  - Allow the "divert_expenses" plugin to override diversions on postings that
    aren't for expenses accounts. I needed this to account to a deposit to my
    kid's daycare, which is an asset account in his diverted ledger.


2020-03-22

  - Added docstrings on some import code (while installing a new importer; my
    stuff is sometimes poorly documented I'm afraid).


2020-02-23

  - Added new features to the CSV importer:
    * A new 'invert_sign' option to invert the sign of the amount.
    * A new field, 'CATEGORY', which goes unrendered.
    * Replace newlines from all narrations by semi-colons.
    These were driven by recent changes to the Amex CSV format.


2019-12-29

 - Added a CSV field for a unique reference number. If present, this is set as a
   link on the transaction.


2019-12-25

 - Applied patch from Daniele Nicolodi
   (https://bitbucket.org/blais/beancount/pull-requests/139/parser-work-around-python38-bug-causing-a)
   to work around typing constraints around signed size types introduced in
   Python 3.8. See also https://bugs.python.org/issue38913.

 - Fixed bug with running python3 as a subprocess during testing. Fixes an error
   that occurs with the tutorial file generation.


2019-11-29

 - Added 'encoding' option to CSV importer. Amex encodes as 'latin1', not
   'utf-8' and this turned out to be necessary.


2019-11-10

 - Added an option to upload-to-sheets script to apply a minimum to the number
   of rows resized to. The problem was I had another sheet longer than the
   auto-updated data sheet, and when new rows were being inserted, rows in the
   referencing sheet were being incremented automatically to refer to the now
   displaced previous rows in the updated data sheet (even if they used to refer
   to rows after the last row in the data sheet). Avoid resizing in the number
   of rows up or down sheet should avoid most of these problems (except when at
   the boundary, but then the minimum number of rows could just be increased).
   This is quick fix that should work in the medium term.



2019-10-20

 - More changes to unittest while porting to Bazel build (for C++ support).


2019-10-11

 - Added __main__ block to all tests because ongoing port to Bazel build
   requires it.


2019-10-10

 - Moved test data for b.utils.file_type for Bazel support. It otherwise assumes
   file_type.py is a package.

yegle

unread,
Jun 10, 2020, 12:58:21 AM6/10/20
to Beancount
Hi Martin,

Did you forgot to push the tags? https://github.com/beancount/beancount/tree/2.3.0 is still 404.

--
You received this message because you are subscribed to the Google Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhPBmJTNGCeoQYfLTke7r6o36uiVSzo0CdR3zZQMaNLcEQ%40mail.gmail.com.


--

Martin Blais

unread,
Jun 10, 2020, 1:04:25 AM6/10/20
to Beancount
You got it. Sorry (my brain still on the Mercurial train.)

Reply all
Reply to author
Forward
0 new messages