Relstorage

Latest version: v4.1.1

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

Scan your dependencies

Page 5 of 14

3.1.1

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

- Add support for pg8000 >= 1.15.3. Previously, a ``TypeError`` was
raised.

- SQLite: Committing a transaction releases some resources sooner.
This makes it more likely that auto-checkpointing of WAL files will be
able to reclaim space in some scenarios. See :issue:`401`.

3.1.0

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

- Use unsigned BTrees for internal data structures to avoid wrapping
in large databases. Requires BTrees 4.7.2.

3.0.1

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

- Oracle: Fix an AttributeError saving to Oracle. See :pr:`380` by Mauro
Amico.

- MySQL+gevent: Release the critical section a bit sooner. See :issue:`381`.

- SQLite+gevent: Fix possible deadlocks with gevent if switches
occurred at unexpected times. See :issue:`382`.

- MySQL+gevent: Fix possible deadlocks with gevent if switches
occurred at unexpected times. See :issue:`385`. This also included
some minor optimizations.

.. caution::

This introduces a change in a stored procedure that is not
compatible with older versions of RelStorage. When this version
is first deployed, if there are older versions of RelStorage
still running, they will be unable to commit. They will fail with
a transient conflict error; they may attempt retries, but wil not
succeed. Read-only transactions will continue to work.

3.0.0

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

- Build binary wheels for Python 3.8 on Windows.

3.0rc1

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

- SQLite: Avoid logging (at DEBUG level) an error executing ``PRAGMA
OPTIMIZE`` when closing a read-only (load) connection. Now, the
error is avoided by making the connection writable.

- PostgreSQL: Reduce the load connection's isolation level from
``SERIALIZABLE`` to ``REPEATABLE READ`` (two of the three other
supported databases also operate at this level). This allows
connecting to hot standby/streaming replicas. Since the connection
is read-only, and there were no other ``SERIALIZABLE`` transactions
(the store connection operates in ``READ COMMITTED`` mode), there
should be no other visible effects. See :issue:`376`.

- PostgreSQL: pg8000: Properly handle a ``port`` specification in the
``dsn`` configuration. See :issue:`378`.

- PostgreSQL: All drivers pass the ``application_name`` parameter at
connect time instead of later. This solves an issue with psycopg2
and psycopg2cffi connecting to hot standbys.

- All databases: If ``create-schema`` is false, use a read-only
connection to verify that the schema is correct.

- Packaging: Prune unused headers from the include/ directory.

3.0b3

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

- SQLite: Fix a bug that could lead to invalid OIDs being allocated if
transactions were imported from another storage.

Page 5 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.