Transaction

Latest version: v4.0

Safety actively analyzes 621679 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

4.1

================

- Nothing changed yet.

4.0

================

- Drop support for Python 2.7, 3.5, 3.6.

- Drop support for deprecated ``python setup.py test.``.

- Add support for Python 3.12.

- Add preliminary support for Python 3.13a2.

3.1.0

==================

- Add support for Python 3.9, 3.10, 3.11.

3.0.1

==================

- Exception raised by a before commit hook is no longer hidden. No
further commit hooks are called and exception is propagated to
the caller of ``commit()``. See
`95 <https://github.com/zopefoundation/transaction/pull/95>`_.

3.0.0

==================

- Drop support for Python 3.4.

- Add support for Python 3.8.

- Drop support for legacy transaction APIs including
``Transaction.register()`` and old ZODB3-style datamanagers. See
`issue 89
<https://github.com/zopefoundation/transaction/issues/89>`_.

- ``TransactionManager.run`` now commits/aborts the transaction
"active" after the execution of *func* (and no longer the initial
transaction which might already have been committed/aborted by *func*)
(`58 <https://github.com/zopefoundation/transaction/issues/58>`_).

It aborts the transaction now for all exceptions raised by *func* - even
if it is only an instance of `BaseException` but not of `Exception`,
such as e.g. a ``SystemExit`` or ``KeyboardInterupt`` exception.

- Support abort hooks (symmetrically to commit hooks)
(`77 <https://github.com/zopefoundation/transaction/issues/77>`_).

- Make Transaction drop references to its hooks, manager,
synchronizers and data after a successful ``commit()`` and after
*any* ``abort()``. This helps avoid potential cyclic references. See
`issue 82 <https://github.com/zopefoundation/transaction/issues/82>`_.

- Allow synchronizers to access ``Transaction.data()`` when their
``afterCompletion`` method is called while aborting a transaction.

- Make it safe to call ``Transaction.abort()`` more than once. The
second and subsequent calls are no-ops. Previously a
``ValueError(Foreign transaction)`` would be raised.

2.4.0

==================

- Changed the implementation of ThreadTransactionManager to be a
thread.local that wraps a TransactionManager rather than a
thread.local that inherits from TransactionManager. It now exposes a
manager attribute that allows access to the wrapped transaction
manager to allow cross thread calls. See `issue 68
<https://github.com/zopefoundation/transaction/pull/68>`_.

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.