Relstorage

Latest version: v4.1.1

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

Scan your dependencies

Page 14 of 14

1.4.0b2

Not secure
====================

- Include all test subpackages in setup.py.

- Raise an error if MySQL reverts to MyISAM rather than using the InnoDB
storage engine.

1.4.0b1

Not secure
====================

- Added the keep-history option. Set it to false to keep no history.
(Packing is still required for garbage collection and blob deletion.)

- Added the replica-conf and replica-timeout options. Set replica-conf
to a filename containing the location of database replicas. Changes
to the file take effect at transaction boundaries.

- Expanded the option documentation in README.txt.

- Revised the way RelStorage uses memcached. Minimized the number of
trips to both the cache server and the database.

- Added an in-process pickle cache that serves a function similar to the
ZEO cache.

- Added a wrapper module for pylibmc.

- Store operations now use multi-insert and multi-delete SQL
statements to reduce the effect of network latency.

- Renamed relstorage.py to storage.py to overcome import issues.
Also moved the Options class to options.py.

- Updated the patch for ZODB 3.7 and 3.8 to fix an issue with
blobs and subtransactions.

- Divided the implementation of database adapters into many small
objects, making the adapter code more modular. Added interfaces
that describe the duties of each part.

- Oracle: Sped up restore operations by sending short blobs inline.

- Oracle: Use a timeout on commit locks. This requires installation
of a small PL/SQL package that can access DBMS_LOCK. See README.txt.

- Oracle: Used PL/SQL bulk insert operations to improve write
performance.

- PostgreSQL: use the documented ALTER SEQUENCE RESTART WITH
statement instead of ALTER SEQUENCE START WITH.

- Moved MD5 sum computation to the adapters so they can choose not
to use MD5.

- Changed loadSerial to load from the store connection only if the
load connection can not provide the object requested.

- Stopped wrapping database disconnect exceptions. Now the code
catches and handles them directly.

- Use the store connection rather than the load connection for OID
allocation.

- Detect and handle backward time travel, which can happen after
failover to an out-of-date asynchronous slave database. For
simplicity, invalidate the whole ZODB cache when this happens.

- Replaced the speed test script with a separately distributed package,
``zodbshootout``.

- Added the ``zodbpack`` script.

1.3.0b1

Not secure
====================

- Added support for a blob directory. No BlobStorage wrapper is needed.
Cluster nodes will need to use a shared filesystem such as NFS or
SMB/CIFS.

- Added the blob-dir parameter to the ZConfig schema and README.txt.

1.2.0

Not secure
==================

- In Oracle, trim transaction descriptions longer than 2000 bytes.

- When opening the database for the first time, don't issue a warning
about the inevitable POSKeyError on the root OID.

- If RelStorage tries to unpickle a corrupt object state during packing,
it will now report the oid and tid in the log.

1.2.0b2

Not secure
====================

- RelStorage now implements IMVCCStorage, making it compatible with
ZODB 3.9.0b1 and above.

- Removed two-phase commit support from the PostgreSQL adapter. The
feature turned out to be unnecessary.

- Added MySQL 5.1.34 and above to the list of supportable databases.

- Fixed minor test failures under Windows. Windows is now a supportable
platform.

Page 14 of 14

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.