Relstorage

Latest version: v4.1.1

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

Scan your dependencies

Page 1 of 14

4.1.2

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

- Nothing changed yet.

4.1.1

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

- Make certain lock-related errors in very large transactions no
longer produce huge (unusable) error messages when logged or
printed. Now such messages are truncated. Previously, they were
allowed to grow without bounds. See :issue:`511`

4.1.0

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

- Update the bundled version of the Boost libraries from 1.75 to 1.83
to support newer compilers like GCC 13.
- Compile in C++ 11 mode instead of whatever the compiler default was
(sometimes C++ 03), because the latter is deprecated by Boost.
- Stop relying on an undeclared dependency on ``six``. See
:issue:`504`.
- Drop support for Python 3.8.
- Add support for Python 3.13.

4.0.0

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

- Packaging: Support for Python 3.12 uses released dependencies.
- Packaging: Fix a build error with gcc 13.
- Packaging: x86_64 manylinux wheels are built using a newer
supported manylinux Docker image.
- Packaging: Testing on Windows has moved from MySQL 5.7 to MySQL 8.

4.0.0a1

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

- Drop support for Python versions that are end of life, including
everything less than 3.8.
- Add the "Requires Python" metadata to prevent installation on Python
< 3.8.
- Add support for Python 3.11.
- Add preliminary support for Python 3.12. This is using a pre-release
version of Cython 3.
- Bump tested database drivers to their latest versions. In
particular, the ``mysql-connector-python`` supported version is now
8.0.32, which introduces charset changes.
- pg8000: Require 1.29.0. See :issue:`495`.
- Fix the SQLite ZODB URI resolver. The ``data_dir`` query parameter
replaces the ``path`` query parameter.
- Remove the (local) runtime (install) dependency on
``setuptools`` / ``pkg_resources``. This was undeclared.
- History-preserving storage: Make deleting an object create a new
transaction with the new state set to NULL. This leaves the previous
revision of the object accessible. Previously, the most recent
revision of the object became unavailable. See :pr:`484`, with
thanks to Kirill Smelkov.
- Add support for MySQL 8.0.20 and above. In version 8.0.19, MySQL
deprecated the traditional ``SET col = VALUES(col)`` upsert syntax
in favor of a more PostgreSQL like ``SET col = excluded.col``
syntax. In version 8.0.20, MySQL started issuing warnings about the
older syntax, and in certain database drivers (MySQL
Connector/Python 8.0.32+) these warnings became ``TypeError`` exceptions
(due to a bug in the driver). Now, we use the new syntax on versions
that support it.

3.5.0

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

- Add support for Python 3.10.
- Stop accidentally enabling unsafe math optimizations in compiled
manylinux binaries.
- Stop testing Postgresql 9.6. None of the code required to support
this obsolete version of Postgres was removed, but it is no longer
officially supported and the code will be removed in the future.
- NOTE: Expect this to be the last major release to contain support
for obsolete versions of Python, including Python 2.7 and Python
3.6. This major release may not include binary wheels for these platforms.

Page 1 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.