Transaction

Latest version: v4.0

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

Scan your dependencies

Page 3 of 6

2.0.3

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

- The user and description fields must now be set with text (unicode)
data. Previously, if bytes were provided, they'd be decoded as
ASCII. It was decided that this would lead to bugs that were hard
to test for.

Also, the transaction meta-data field, ``extended_info`` has been
renamed to ``extension``.

2.0.2

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

- Fixed: Some legacy applications expect the transaction _extension
attribute to be mutable and it wasn't.

2.0.1

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

- The transaction ``user`` and ``description`` attributes are now
defined to be text (unicode) as opposed to Python the ``str`` type.

- Added the ``extended_info`` transaction attribute which contains
transaction meta data. (The ``_extension`` attribute is retained as
an alias for backward compatibility.)

The transaction interface, ``ITransaction``, now requires
``extended_info`` keys to be text (unicode) and values to be
JSON-serializable.

- Removed setUser from ITransaction. We'll keep the method
indefinitely, but it's unseemly in ITransaction. :)

The main purpose of these changes is to tighten up the text
specification of user, description and extended_info keys, and to give
us more flexibility in the future for serializing extended info. It's
possible that these changes will be breaking, so we're also increasing
the major version number.

1.7.0

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

- Added a transaction-manager ``run`` method for running a function as a
transaction, retrying as necessary on transient errors.

- Fixed the transaction manager ``attempts`` method. It didn't stop
repeating when there wasn't an error.

- Corrected ITransaction by removing beforeCommitHook (which is no longer
implemented) and removing 'self' from two methods.

1.6.1

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

- Fixed: Synchonizers that registered with transaction managers when
transactions were in progress didn't have their newTransaction
methods called to let them know of the in-progress transactions.

1.6.0

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

- New transaction API for storing data on behalf of objects, such as
data managers.

- Drop references to data managers joined to a transaction when it is
committed or aborted.

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.