Hi,
I just baked micro release 2.1.3.
(The next one will probably be 2.2, which will remove nosetests regression
testing support, and some of the older ingest mixins (I have built better
ones), so it might break some importers.)
* Version: 2.1.3
2018-10-04
- Fixed #323: Escape strings in printer.
- Minor bug fix for beancount.prices.price on null result.
2018-09-19
- Removed TRUNCATE(), after realizing ROOT() can already do the same
thing.
2018-09-18
- Added TRUNCATE() function to SQL shell for Vikas Rawal.
2018-09-03
- Added a parameter to the cmptest assertions to disable real booking and
allow a weak local form of booking conversion that allows interpolation.
(I'm using this in another project to assert some incomplete
transactions.)
2018-08-30
- Made assertions on entries off of the TestCase class, as free functions
(so
that they can be used in another project).
2018-08-26
- Fixed tests for pipeline running pytest (somehow the curses functions
fail,
probably due to better environment isolation from pytest).
- Implementation of beancount.ingest.regression_pytest, a pytest
replacement
for beancount.ingest.regression, which was for nose. This is simpler and
better and more straightforward (no conditionals; all regression files
must
have all accompanying expect files and all must pass). See the module
docstring for new instructions on how to use this.
This should not break the older tests, as I haven't changed the older
support. It (beancount.ingest.regression) will be removed eventually.
(This completes porting Beancount to use pytest instead of nosetests.)
2018-08-25
- Today we're switching to pytest as the official test runner. All the
tests
pass, and it even runs faster. It's about time!
- Removed all references and workaround to nose.
2018-08-23
- Oops... removing forgotten trace in bean-web.
- Fixed #325: Implemented support for including encrypted files (for
Milind Kamble
and using some of this changes).
2018-08-17
- Added 'issuer' column to the export script. I'm going to use this to
produce
a deaggregated list of exposure to individual stocks from a list of
ETFs.
2018-08-25
- Upgrade requirement to bison-3.0.5 for development.
2018-08-12
- After many years of using something like it to track my investment
portfolio
using a Google Sheets doc, I cleaned up, rewrote and move the asset list
exporting script to beancount.projects.export and deleted the old
version
under experiments/upload.
2018-08-05
- Fixed #322: Adjustments to StopIteration treatment from within
generators
were breaking bean-example generation code.
- Implemented a new plugin which asserts that on accounts with 'NONE'
booking
method reducing postings' cost basis is within the vicinity of the
average
cost basis in the account. This allows you to approximate the 'AVERAGE'
booking method avoid too much cost basis leakage until it's implemented
properly.
2018-08-02
- Created a new 'commodity_attr' plugin to asset the presence and validity
(in a set, like an enum) of metadata attributes on Commodity directives.
I export my holdings joined to a table of per-Commodity attributes and
I've
made a mistake this week that ended up showing up as an overestimated
portfolio value on my portfolio tracking Google Sheets doc.
2018-07-31
- Fixed bug in new ingest() function found as I refactored my importers.
- Fixed bug with the pipeline making sure to set the CWD of the subprocess
when we run an import test.
- Fixed bug with previous commit containing stray 'string' reference. (My
environment has autoimports by default.)
- Implemented a beancount.ingest.scripts_utils.ingest() function that
will act
as a main program, so you can write your own importer scripts from top
to
bottom without having to rely on bean-identiy, bean-extract or
bean-file.
The purpose of this change was to allow the user to insert an optional
argument 'detect_duplicates_func' in order to implement their own
duplicates
detection. See discussion under
https://bitbucket.org/blais/beancount/pull-requests/75/. In order to
install
your duplicates detector, just call ingest at the end of your importer
script, like this:
my_importers = [ ... ]
ingest(my_importers, my_duplicates_func)
I could have chosen to add a "hook" option and such to Beancount, but I
preferred moving the whole import framework one level closer to code. I
also
like that it's not just an imported module; it's really just your
script,
with three subcommands. You could add more custom import-level stuff in
there. The ingest() function is a main program, and commands like
bean-extract myimporters.py ~/Downloads --reverse -e
myledger.beancount
are invoked similarly by calling the Python script directly, like this:
./myimporters.py -d ~/Downloads extract --reverse -e
myledger.beancount
These two should be equivalent.
The older way of doing things--that is, calling bean-identify,
bean-extract
and bean-file--are still supported regardless of whether you've
inserted a
call to ingest() in your importers configuration or not. This is made to
work via a rather labyrinthine trampoline of functions calls (in
particular,
getting the arguments setup right was surprisingly tricky).
I'm still debating whether this should be "the new way", or just for
those
wishing to build their own duplicate detection heuristic. Feedback (on
the
list) would be interesting.
2018-07-29
- Updated to flex-2.6.4.
2018-07-28
- Added a utility to import modules by dotted string name.
2018-07-19
* Fixed #319: Incorrect version number from 2.1.2-devel to 2.1.3-devel.
2018-07-28
- Added automated unit test for calling identify() from the importers test
suite, expecting True, always.
2018-05-31
- Created a new plugin: "fill_account" to automatically insert a posting
with
a default account name where there's a single posting. Will use this
while
traveling as a lot of the expenses come from cash; this should
significantly
shorten such files.
- Changed template for version number from {date|short} to {date(date,
"%s%)}
as per discussion on #304 (thanks to Jason Chu for looking up the
detail for
this).
2018-05-29
- Refactored the call to find duplicates in imported files so that it can
be
called only once with all the results from all the importers. This
should
eventually allow a user-provided function that can merge entries between
importers. Existing behavior should be unaffected (though there may be a
small delay until everything gets printed out; all the importers are
invoked
before any output is written). See #298.
2018-05-28
- Fixed bug with tempdir being a symlink on Mac, which was making one test
fail.
- Fixed unit tests which failed due to timestamps getting rendered with an
offset on a Mac while on a train in Japan.
- Render tags and links on Document directive.
- Minor bug fix: don't fail on rendering a MISSING instnace.
- In 'divert_expenses' plugin, allow limiting diversions to one posting
only.
- Fixed unit test for git checkouts. This should fix the Travis-CI build.
--
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/CAK21%2BhMsfqZhb2%3DN9eee_wj5nVQQnWYqSXk5xZxfvMcj_KtveQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.