Relstorage

Latest version: v4.0.0

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

Scan your dependencies

Page 1 of 14

4.0.1

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

- Nothing changed yet.

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.

3.5.0a6

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

- Correct a packaging problem in 3.5.0a5 (which is not on PyPI).

3.5.0a5

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

- Allow RelStorage to be used in a FIPS enabled environment. See
:issue:`480`
- Fix ``RelStorage.zap_all()`` and ``zodbconvert --clear`` against
existing PostgreSQL databases with very large numbers of Blobs and
relatively small amounts of shared memory (e.g., default values for
``max_locks_per_transaction`` and ``max_connections``). Previously,
this could raise an ``out of shared memory`` error. See
:issue:`468`.
- Use C++ hashmaps and sets to store maps and sets of transaction IDs
and object IDs instead of using BTrees. The memory footprint is about
the same, but the performance is better for common operations (e.g.,
``O(1)`` for lookups instead of logarithmic.) See :pr:`479`.
- Rewrite the cache vacuum algorithm and supporting data structures to
be substantially faster. See :issue:`474`.

Page 1 of 14

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.