I just tagged master as 2.3.0.
- 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.
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.