Hey folks, pyramid_tm 2.0 has been released. This is a semi-major change to the library which manages your transactions.
The major change is that the commit (or abort) now occurs OVER the exception view which means the transaction is still open during exception views. This means that:
1) You can now touch managed objects and perform database queries inside of exception views and they will affect the active transaction.
2) Any changes done in an exception view will be aborted unless done in a database session that is not joined to the
request.tm transaction manager.
2) Any exceptions that occur due to commit failures will not be caught by default. This situation may improve in the future either within pyramid_tm itself or via pyramid_retry in the upcoming pyramid 1.9 release.
Thanks!
- Pyramid core developers