Releases: sqlalchemy/dogpile.cache
1.5.0
1.5.0
Released: Sat Oct 11 2025
feature
-
[feature] [redis] Added a new
RedisBackend.lock_prefixparameter to the
RedisBackendandValkeyBackendbackends to allow
customization of the lock key prefix. The prefix must be between 2 and 10
characters long and may contain any alphanumeric character and the symbols
_-.:. This allows for improved visual clarity when inspecting backend
keys, particularly when key names may be ambiguous with the default
_lockprefix. Pull request courtesy Jonathan Vanasco.References: #76
change
-
[change] [tests] The top-level test runner has been changed to use
nox, adding a
noxfile.pyas well as some included modules. Thetox.inifile
remains in place so thattoxruns will continue to function in the near
term, however it will be eventually removed and improvements and
maintenance going forward will be only towardsnoxfile.py. -
[change] [platform] Minimum Python version is now 3.10, as Python 3.9 is EOL.
bug
- [bug] [typing] A wide range of typing improvements and modernizations within the codebase.
Pull request courtesy Stephen Finucane.
1.4.1
1.4.1
Released: Fri Sep 12 2025
usecase
-
[usecase] [redis] Added new parameters
RedisBackend.lock_blocking_timeoutand
RedisBackend.lock_blockingto the Redis backend; and
ValkeyBackend.lock_blocking_timeoutand
ValkeyBackend.lock_blockingto the Valkey backends. These
parameters are then passed onto the redis/valkey client Lock creation
methods and use the same defaults.References: #271
-
[usecase] [redis] Added new parameters for the Redis/Valkey backends. These params are passed
directly to the constructors:- `RedisBackend.ssl` - `ValkeyBackend.ssl`These params default to
None, and are only passed to the constructor if
set. The docstrings instruct users to submit all additionalssl_
prefixed params via the optional
RedisBackend.connection_kwargsor
ValkeyBackend.connection_kwargsparameter.References: #276
bug
-
[bug] [memory] Fixed issue where
MemoryBackend.configure()would unexpectedly
modify the input arguments dictionary by removing its contents. The method
now preserves the original arguments dictionary as expected, consistent
with the behavior of other backend types. Pull request courtesy Nicolas
Simonds.References: #273
1.4.0
1.4.0
Released: Sat Apr 26 2025
bug
- [bug] [general] The pyproject.toml configuration has been amended to use
the updated PEP 639 configuration for license, which eliminates
loud deprecation warnings when building the package. Note this
necessarily bumps setuptools build requirement to 77.0.3 which
forces Python 3.8 support to be dropped.
misc
- [change] [general] Support for Python 3.8 has been dropped, the minimum version is now Python
3.9, as 3.8 is EOL. This change is necessitated by the need to require
setuptools 77.0.3 in order to satisfy PEP 639.
1.3.4
1.3.4
Released: Tue Jan 28 2025
usecase
- [usecase] [valkey] Added backend for valkey server. This is based on valkey-py as the driver.
bug
-
[bug] [redis] Fixes to the recently added
RedisClusterBackendfixing a runtime typing
error that prevented it from running.References: #263
misc
- [change] [general] The pin for
setuptools<69.3inpyproject.tomlhas been removed.
This pin was to prevent a sudden change to PEP 625 in setuptools from
taking place which changes the file name of SQLAlchemy's source
distribution on pypi to be an all lower case name, and the change was
extended to all SQLAlchemy projects to prevent any further surprises.
However, the presence of this pin is now holding back environments that
otherwise want to use a newer setuptools, so we've decided to move forward
with this change, with the assumption that build environments will have
largely accommodated the setuptools change by now.
1.3.3
1.3.3
Released: Sun May 5 2024
usecase
- [usecase] [memcached] Added support for an additional pymemcached client parameter
PyMemcacheBackend.memcached_expire_time. Pull request
courtesy Takashi Kajinami.
bug
-
[bug] [typing] Fixed the return type for
CacheRegion.get(), which was inadvertently
hardcoded to useCacheReturnTypethat only resolved toCachedValue
orNoValue. Fixed to returnValuePayloadwhich resolves to
Any, as well as a new literal indicating an enum constant for
:data:.api.NO_VALUE. The :data:.api.NO_VALUEconstant remains
available as the single element of this enum.Unknown interpreted text role "data".
Unknown interpreted text role "data".
1.3.2
1.3.2
Released: Wed Feb 21 2024
usecase
-
[usecase] [redis] Added a new backend
RedisClusterBackend, allowing support for
Redis Cluster. Pull request courtesy Maël Naccache Tüfekçi.References: #250
-
[usecase] [redis] Added support for additional Redis client parameters
RedisBackend.socket_connect_timeout,
RedisBackend.socket_keepaliveand
RedisBackend.socket_keepalive_options. Pull request courtesy
Takashi Kajinami.References: #252
1.3.1
1.3.1
Released: Wed Feb 7 2024
usecase
- [usecase] [redis] Added new parameter
RedisBackend.usernameto the Redis
backend, andRedisSentinelBackend.usernameto the Redis
Sentinel backend. These parameters allow for username authentication in
Redis when RBAC is enabled. Pull request courtesy Takashi Kajinami.
1.3.0
1.3.0
Released: Wed Dec 20 2023
feature
-
[feature] [region] Added new method
CacheRegion.get_value_metadata()which can be used
to get a value from the cache along with its metadata, including timestamp
of when the value was cached. TheCachedValueobject is returned
which features new accessors to retrieve cached time and current age. Pull
request courtesy Grégoire Deveaux.References: #37
misc
-
[change] [setup] Minimum Python version is now Python 3.8; prior versions Python 3.7 and 3.6
are EOL. -
[change] [setup] Project setup is now based on pep-621
pyproject.tomlconfiguration.