4.0.0
We had 485 commits since the last release from 13 different contributors closing 131 issues and pull requests!
You can check out the Samwise Milestone for more details but here is a summary:
The highlight of this release is Stripe Connect support which enables site builders to create multi-sided marketplaces. In addition to Connect support:
Additional Enhancements
- cache the stripe customer property
- upgraded middleware for Django 1.10+ compatibility
- dropped
print
forsys.stdout
- improved the handling of deleted customers
- removed redundant transactions
- made the CustomerUpdatedWebhook more efficient
- factored out STATUS_CURRENT
- replaced next(iter()) with first() calls on querysets
- all models now have
__repr__
methods making debugging easier - improved / DRY'd up sync_plans
- improved performance of Django admin with prefetch
- improved how subscriptions.create works
- made the JSONFields which are nullable also blankable
- add display_name to Django admin for Account
- enable charges.create to retry safely
- improve how webhooks process
- enable subscriptions via Stripe Connect
Bug Fixes
- last 4 digits card in email receipt shown again
- fixed plan not storing correctly when syncing invoice data
- fix transfers that are manually created in Stripe to be synced
- removed duplicate quantity fields
- update length of stripe id column to work with mysql
- fixed bug involving some plans having trials and others not having trials
- fix makemigrations script
- fixed the CustomerDeletedWebhook
- fixed bug with send_receipt when backend returns None
- fixed admin so that it handles customers without users
Engineering
Developers of pinax-stripe pushed Pinax engineering forward this month by setting new standards for our quality engineering as well as tweaks to some of our coding style.
There are a lot of PRs and Issues around this so I won't link them. Here is the TL;DR:
- Switched to CircleCI from TravisCI
- Switched to CodeCov from Coveralls
- Added pytest support
- Added linting for double-quotes (the Pinax standard)
- Added linting for import ordering using
isort
- Added checks for missing migrations as part of the linting
- Dropped support for Django 1.7
- Updated how test settings are structured
- Added testing against postgres
Many Thanks!
As previously stated we had 13 contributors this release and it simply would not have happened without them. I especially want to thank Daniel Hahler, Luke Burden, and Nicolas Delaby, for their relentless support in getting the Stripe Connect support implemented.