Transaction

Latest version: v4.0

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

Scan your dependencies

Page 5 of 6

1.4.0b1

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

- Converted existing doctests into Sphinx documentation (snippets are
exercised via 'tox').

- 100% unit test coverage.

- Backward incompatibility: raise ValueError rather than AssertionError
for runtime errors:

- In ``Transaction.doom`` if the transaction is in a non-doomable state.

- In ``TransactionManager.attempts`` if passed a non-positive value.

- In ``TransactionManager.free`` if passed a foreign transaction.

- Declared support for Python 3.3 in ``setup.py``, and added ``tox`` testing.

- When a non-retryable exception was raised as the result of a call to
``transaction.manager.commit`` within the "attempts" machinery, the
exception was not reraised properly. Symptom: an unrecoverable exception
such as ``Unsupported: Storing blobs in <somestorage> is not supported.``
would be swallowed inappropriately.

1.3.0

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

- Added Sphinx API docuementation.

- Added explicit support for PyPy.

- Dropped use of Python3-impatible ``zope.interface.implements`` class
advisor in favor of ``zope.interface.implementer`` class decorator.

- Added support for continuous integration using ``tox`` and ``jenkins``.

- Added ``setup.py docs`` alias (installs ``Sphinx`` and dependencies).

- Added ``setup.py dev`` alias (runs ``setup.py develop`` plus installs
``nose`` and ``coverage``).

- Python 3.3 compatibility.

- Fix "for attempt in transaction.attempts(x)" machinery, which would not
retry a transaction if its implicit call to ``.commit()`` itself raised a
transient error. Symptom: seeing conflict errors even though you thought
you were retrying some number of times via the "attempts" machinery (the
first attempt to generate an exception during commit would cause that
exception to be raised).

1.2.0

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

New Features:

- Python 3.2 compatibility.

- Dropped Python 2.4 and 2.5 compatibility (use 1.1.1 if you need to use
"transaction" under these Python versions).

1.1.1

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

Bug Fixes:

- Code in ``_transaction.py`` held on to local references to traceback
objects after calling ``sys.exc_info()`` to get one, causing
potential reference leakages.

- Fixed ``hexlify`` NameError in ``transaction._transaction.oid_repr``
and add test.

1.1.0

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

New Features:

- Transaction managers and the transaction module can be used with the
with statement to define transaction boundaries, as in::

with transaction:
... do some things ...

See transaction/tests/convenience.txt for more details.

- There is a new iterator function that automates dealing with
transient errors (such as ZODB confict errors). For example, in::

for attempt in transaction.attempts(5):
with attempt:
... do some things ..

If the work being done raises transient errors, the transaction will
be retried up to 5 times.

See transaction/tests/convenience.txt for more details.

Bugs fixed:

- Fixed a bug that caused extra commit calls to be made on data
managers under certain special circumstances.

https://mail.zope.org/pipermail/zodb-dev/2010-May/013329.html

- When threads were reused, transaction data could leak accross them,
causing subtle application bugs.

https://bugs.launchpad.net/zodb/+bug/239086

1.0.1

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

- LP 142464: remove double newline between log entries: it makes doing
smarter formatting harder.

- Updated tests to remove use of deprecated ``zope.testing.doctest``.

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.