55b97c7a2c
- update to 1.4.0: * The pyproject.toml configuration has been amended to use the updated PEP 639 configuration for license, * 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.
Dirk Mueller2025-07-05 15:11:08 +00:00
7572397173
- update to 1.3.4: * [usecase] [valkey] Added backend for valkey server. This is based on valkey-py as the driver. * Fixes to the recently added RedisClusterBackend fixing a runtime typing error that prevented it from running.
Dirk Mueller2025-07-05 15:04:17 +00:00
5e30ba1d32
Accepting request 1264862 from devel:languages:python
Ana Guerrero2025-04-16 18:38:52 +00:00
20634260e1
Accepting request 1172118 from devel:languages:python
Ana Guerrero2024-05-06 15:54:51 +00:00
5b364ec856
- update to 1.3.3: * Added support for an additional pymemcached client parameter PyMemcacheBackend.memcached_expire_time * Fixed the return type for CacheRegion.get(), which was inadvertently hardcoded to use CacheReturnType that only resolved to CachedValue or NoValue. Fixed to return ValuePayload which resolves to Any, as well as a new literal indicating an enum constant for :data:.api.NO_VALUE. The :data:.api.NO_VALUE constant remains available as the single element of this enum.
Dirk Mueller2024-05-06 08:38:55 +00:00
8bc72c2597
Accepting request 1158983 from devel:languages:python
Ana Guerrero2024-03-18 15:47:27 +00:00
258ea59931
- update to 1.3.2: * Added a new backend RedisClusterBackend, allowing support for Redis Cluster. * Added support for additional Redis client parameters RedisBackend.socket_connect_timeout, RedisBackend.socket_keepalive and RedisBackend.socket_keepalive_options.
Dirk Mueller2024-03-18 12:19:27 +00:00
cfefbfd6a9
Accepting request 1145099 from devel:languages:python
Ana Guerrero2024-02-08 18:03:17 +00:00
fc0614148c
- update to 1.3.1: * Added new parameter RedisBackend.username to the Redis backend, and RedisSentinelBackend.username to the Redis Sentinel backend. These parameters allow for username authentication in Redis when RBAC is enabled.
Dirk Mueller2024-02-08 09:35:13 +00:00
bf7e4c4dfb
Accepting request 1137453 from devel:languages:python
Ana Guerrero2024-01-08 22:44:52 +00:00
fc2428d484
Accepting request 1135448 from devel:languages:python
Ana Guerrero2023-12-28 22:03:20 +00:00
735596c327
- update to 1.3.0: * Added new method :meth:.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. The :class:.CachedValue object is returned which features new accessors to retrieve cached time and current age. * Minimum Python version is now Python 3.8; prior versions Python 3.7 and 3.6 are EOL. * Project setup is now based on pep-621 `pyproject.toml` configuration. * rereleae, no changes * rerelease, no changes - fix build for older distributions with old default-pytest - skip building against python 3.6 * supports Unix platforms. - Initial package (0.5.0)
Dirk Mueller2023-12-28 09:12:37 +00:00
f968e03188
- update to 1.2.2: * Made use of pep-673 `Self` type for method chained methods such as .CacheRegion.configure and .ProxyBackend.wrap
Dirk Mueller2023-07-10 13:11:56 +00:00
9a2b855d42
- update to 1.2.1: * Added py.typed file to root so that typing tools such as Mypy recognize dogpile as typed. Pull request courtesy Daverball.
Dirk Mueller2023-05-29 16:39:04 +00:00
ac289140f6
- update to 1.2.0: * Added new construct api.CantDeserializeException which can be raised by user-defined deserializer functions which would be passed to CacheRegion.deserializer, to indicate a cache value that can't be deserialized and therefore should be regenerated.
Dirk Mueller2023-05-09 21:38:27 +00:00
bfa19b8f12
Accepting request 990239 from devel:languages:python
Richard Brown2022-07-21 09:33:13 +00:00
b1798dd30a
- update to 1.1.8: * Moved the MemcacheArgs.dead_retry argument and the MemcacheArgs.socket_timeout argument which were erroneously added to the “set_parameters”, where they have no effect, to be part of the Memcached connection arguments MemcachedBackend.dead_retry, MemcachedBackend.socket_timeout. * Added MemcacheArgs.dead_retry and MemcacheArgs.socket_timeout to the dictionary of additional keyword arguments that will be passed directly to GenericMemcachedBackend(). * Added RedisBackend.connection_kwargs parameter, which is a dictionary of additional keyword arguments that will be passed directly to StrictRedis() or StrictRedis.from_url(), in the same way that this parameter works with the RedisSentinelBackend already
Dirk Mueller2022-07-19 12:15:24 +00:00
1b7c0321d6
- Update to 1.1.4: * [usecase] [memcached] Added support for pymemcache socket keepalive and retrying client. * [bug] [general] Fixed Python 3.10 deprecation warning involving threading. Pull request * [bug] [regression] [tests] Repaired the test suite to work with the 5.x series of the decorator module, which now appears to make use of the __signature__ attribute. * [bug] [regression] Fixed regression where ProxyBackend was missing several methods that were added as part of the 1.1 release. * [feature] [region] Added new region method CacheRegion.key_is_locked(). Returns True if the given key is subject to the dogpile lock, which would indicate that the generator function is running at that time. * [feature] [memcached] Added support for the pymemcache backend, using the "dogpile.cache.pymemcache" backend identifier.
Steve Kowalik2021-09-06 04:34:24 +00:00
058448ea08
- Update to 1.1.1: - Fixed regression where the serialization and deserialization functions could be inadvertently turned into instance methods with an unexpected argument signature, namely when pickle.dumps and pickle.loads are the pure Python version as is the case in pypy. - Reworked the means by which values are serialized and deserialized from backends, and provided for custom serialization of values. Added the CacheRegion.serializer and CacheRegion.deserializer parameters which may be set to any serializer. - Serialization and deserialization now take place within the CacheRegion so that backends may now assume string values in all cases. This simplifies the existing backends and also makes custom backends easier to write and maintain. - Additionally, the serializer is now applied to the user-defined value portion of the CachedValue and not to the metadata or other portions of CachedValue object itself, so the serialized portion is effectively a "payload" within the larger CachedValue structure that is passed as part of the larger string format. The overall format is a separate JSON of the cached value metadata, followed by the serialized form. This allows for end-user serialization schemes that are hardwired to the values themselves without the need to serialize dogpile's internal structures as well. - Existing custom backends should continue to work without issue; they now have the option to forego any separate serialization steps, and can also subclass a new backend BytesBackend that marks them as a backend that only deals with bytes coming in and out; all internal serialization logic from such a backend can be removed.
Matej Cepl2020-11-25 14:12:34 +00:00
d275a9e974
- update to 1.0.2: * Added support for TLS connections to the bmemcached backend. * dogpile.cache 1.0.0 was released with a minimum Python version of 3.5. However, due to a dependency issue, the minimum version is now Python 3.6. * Removed the "universal=1" directive from setup.cfg as this would create py2/py3 wheels. dogpile 1.0.x is Python 3 only so a py3-only wheel is now
Dirk Mueller2020-10-26 11:28:50 +00:00
15c4004701
- update to 0.9.2: Ensured that the "pyproject.toml" file is not included in builds, as the presence of this file indicates to pip that a pep-517 installation process should be used. As this mode of operation appears to be not well supported by current tools / distros, these problems are avoided within the scope of dogpile.cache installation by omitting the file. Added option to the Redis backend :paramref:.RedisBackend.thread_local_lock, which when set to False will disable the use of a threading local by the `redis module in its distributed lock service, which is known to interfere with the lock's behavior when used in an "async" use case, within dogpile this would be when using the :paramref:.CacheRegion.async_creation_runner feature. The default is conservatively being left at True, but it's likely this should be set to False in all cases, so a warning is emitted if this flag is not set to False in conjunction with the distributed lock. Added an optional argument to :class:.RedisBackend` that specifies whether or not a thread-local Redis lock should be used. This is the default, but it breaks asynchronous runner compatibility.
Dirk Mueller2020-06-02 17:05:42 +00:00
77306f64fc
Accepting request 735293 from home:mcalabkova:branches:devel:languages:python
Tomáš Chvátal
2019-10-04 14:24:19 +00:00
b55200b3a5
Accepting request 682880 from devel:languages:python
Stephan Kulow
2019-03-10 08:40:38 +00:00
c66a26ff1d
- Update to 0.7.1: * fix python3 deprecation warnings * Restore the API for async_creation_runner in all cases
Tomáš Chvátal
2019-03-08 14:47:44 +00:00
f06b4a8c53
- Fix fdupes call
Tomáš Chvátal
2019-03-07 10:53:37 +00:00
c22c83feed
- update to 0.6.8: * Project hosting has moved to GitHub, under the SQLAlchemy organization at https://github.com/sqlalchemy/dogpile.cache * Fixed issue in the :meth:.CacheRegion.get_or_create_multi method which was erroneously considering the cached value as the timestamp field if the :meth:.CacheRegion.invalidate method had ben used, usually causing a `TypeError to occur, or in less frequent cases an invalid result for whether or not the cached value was invalid, leading to excessive caching or regeneration. The issue was a regression caused by an implementation issue in the pluggable invalidation feature added in 🎫38`.
Thomas Bechtold2018-12-06 05:55:23 +00:00
2f8cf2c7b0
Remove superfluous devel dependency for noarch package
Matej Cepl2018-12-04 13:24:27 +00:00
9381fb7dd6
- update to 0.6.6: Added method :attr:.CacheRegion.actual_backend which calculates and caches the actual backend for the region, which may be abstracted by the use of one or more :class:.ProxyBackend subclasses.
Dirk Mueller2018-10-11 11:34:30 +00:00
1b16a80f5b
Accepting request 367263 from Cloud:OpenStack:Master
Dirk Mueller2016-03-07 20:38:12 +00:00
0be63aafcf
Accepting request 305655 from devel:languages:python
Stephan Kulow
2015-05-07 07:22:27 +00:00
ebe618a319
Accepting request 305293 from home:benoit_monin:branches:devel:languages:python
Denisart Benjamin
2015-05-06 23:25:02 +00:00
b0d96e43c8
Accepting request 249303 from devel:languages:python
Stephan Kulow
2014-09-17 15:25:19 +00:00
50a78b1221
Accepting request 249216 from Cloud:OpenStack:Master
Jan Matejek
2014-09-15 14:02:43 +00:00
5bc376a76d
Accepting request 213734 from devel:languages:python
Stephan Kulow
2014-01-14 18:52:58 +00:00
22e5df6d14
Accepting request 213711 from Cloud:OpenStack:Master
Dirk Mueller2014-01-13 14:26:30 +00:00
7eb3ddb08f
Accepting request 212464 from devel:languages:python
Stephan Kulow
2013-12-31 09:08:59 +00:00
9015dc39d0
Accepting request 212462 from Cloud:OpenStack:Master
Denisart Benjamin
2013-12-30 14:51:35 +00:00
eddc3e9240
Accepting request 204181 from devel:languages:python
Tomáš Chvátal
2013-10-21 18:01:38 +00:00
35366b2bc1
- update to 0.5.1: * The :meth:.CacheRegion.invalidate method now supports an option `hard=True|False`. * New dogpile-specific exception classes have been added, so that issues like "region already configured", "region unconfigured", raise dogpile-specific exceptions. Other exception classes have
Dirk Mueller2013-10-21 13:22:10 +00:00
4da07de7b7
Accepting request 197412 from devel:languages:python
Stephan Kulow
2013-09-09 17:48:53 +00:00