Nadine 2.1
-
Django 2.2/Python 3.5: The previous release was based on Django 2.0.9 as there were some library dependencies that kept it there. I'm also keeping things pinned to Python 3.5 as I'm currently using stock Debian 9 for the standard platform.
-
Sales Tax: We've added the tables to add sales tax to the billing engine. You can set this per membership type or just have one general tax. If you don't track tax you can easily just ignore this and everything will work as it did before.
-
Cached Billing Totals: Previously the outstanding bills query was a very large query adding up all payments on all bills and comparing them against all line items. This, while quite pretty, is slow. We've now moved to using cached totals so now outstanding means cached_total < cached_payments. This is kept current with signals on BillLineItem and Payments.
-
Removed Old Models: The 2.0 release came with completely new billing and membership models and to be safe I kept the old models around. If you haven't been having issues by now we should be in the clear. All the old data has been removed in this release.
Migration Notes: This release needs some post migration love and I wrapped it up in a nice command script. After you do the update, run './manage.py migrate_21' and patiently wait while all the bills have their caches calculated.