* Mon Apr 23 2018 firstname.lastname@example.org
- skip lock tests, they fail frequently (bsc#1086987)
* Fri Apr 20 2018 email@example.com
- for testing purposes drop dogpile.cache-tests_more_slow_waiters.patch
* Thu Apr 19 2018 firstname.lastname@example.org
- only run generic tests using pytest (bsc#1089564)
* Mon Mar 26 2018 email@example.com
- update to 0.6.5:
* Fixed import issue for Python 3.7 where several variables named
"async" were, leading to syntax errors.
* drop dogpile-threading.patch (upstreamed)
- add dogpile.cache-tests_more_slow_waiters.patch (bsc#1086987)
increase number of allowed slow waiters in testsuite
otherwise this testsuite seems extremely flaky on non-x86_64
* Sun Feb 18 2018 firstname.lastname@example.org
- add dogpile-threading.patch
* Wed Nov 08 2017 email@example.com
- Fix broken symlinks created by fdupes on the python3-dogpile.cache package
* Mon Aug 21 2017 firstname.lastname@example.org
- update to 0.6.4:
* The method :meth:`.Region.get_or_create_multi` will not pass to the
cache backend if no values are ultimately to be stored, based on
the use of the :paramref:`.Region.get_or_create_multi.should_cache_fn`
function. This empty dictionary is unnecessary and can cause API
problems for backends like that of Redis.
* The :attr:`.api.NO_VALUE` constant now has a fixed ``__repr__()``
output, so that scenarios where this constant's string value
ends up being used as a cache key do not create multiple values.
* A new exception class :class:`.exception.PluginNotFound` is now
raised when a particular cache plugin class cannot be located
either as a setuptools entrypoint or as a registered backend.
Previously, a plain ``Exception`` was thrown.
* Added ``replace_existing_backend`` to
* Sat May 06 2017 email@example.com
- Fix Provides/Obsoletes.
* Wed Mar 01 2017 firstname.lastname@example.org
- Converted to single-spec
* Wed Aug 31 2016 email@example.com
- update to 0.6.2:
* Added a new system to allow custom plugins specific to the issue of
"invalidate the entire region", using a new base class
:class:`.RegionInvalidationStrategy`. As there are many potential
strategies to this (special backend function, storing special keys, etc.)
the mechanism for both soft and hard invalidation is now customizable.
New approaches to region invalidation can be contributed as documented
* Added a new cache key generator :func:`.kwarg_function_key_generator`,
which takes keyword arguments as well as positional arguments into
account when forming the cache key.
* Restored some more util symbols that users may have been relying upon
(although these were not necessarily intended as user-facing):
* Drop 0001-Link-moved-functions-in-dogpile.cache.util.patch
* Mon Jul 04 2016 firstname.lastname@example.org
- Use pypi.io for Source url
* Fri Jul 01 2016 email@example.com
- dogpile.core was merged into dogpile.cache .
So dogpile.core is no longer a Require.
- Add 0001-Link-moved-functions-in-dogpile.cache.util.patch
For backward compat.
* Tue Jun 07 2016 firstname.lastname@example.org
- Update to version 0.6.1
* Fixed imports for dogpile.core restoring ReadWriteMutex
and NameRegistry into the base namespace, in addition to
dogpile.core.nameregistry and dogpile.core.readwrite_lock.
* The dogpile.core library has been rolled in as part of the
dogpile.cache distribution. The configuration of the
dogpile name as a namespace package is also removed from
dogpile.cache. In order to allow existing installations of
dogpile.core as a separate package to remain unaffected,
the .core package has been retired within dogpile.cache
directly; the Lock class is now available directly as
dogpile.Lock and the additional dogpile.core constructs
are under the dogpile.util namespace.
Additionally, the long-deprecated dogpile.core.Dogpile
and dogpile.core.SyncReaderDogpile classes have been
* The Redis backend now creates a copy of the ?arguments?
dictionary passed to it, before popping values out of it.
This prevents the given dictionary from losing its keys.
* Fixed bug in ?null? backend where NullLock did not accept
a flag for the NullLock.acquire() method, nor did it return
a boolean value for ?success?.
* Mon Mar 07 2016 email@example.com
- update to 0.5.7:
* Added new parameter :paramref:`.GenericMemcachedBackend.lock_timeout`,
used in conjunction with :paramref:`.GenericMemcachedBackend.distributed_lock`,
will specify the timeout used when communicating to the ``.add()`` method of
the memcached client.
* Added a new flag :paramref:`.CacheRegion.configure.replace_existing_backend`,
allows a region to have a new backend replace an existing one.
* Test suite now runs using py.test.
* Repaired the :meth:`.CacheRegion.get_multi` method when used with a
list of zero length against the redis backend.
* Mon May 04 2015 firstname.lastname@example.org
- update to version 0.5.6:
* Changed the pickle protocol for the file/DBM backend to
pickle.HIGHEST_PROTOCOL when producing new pickles, to match
that of the redis and memorypickle backends. Pull request
- additional changes from version 0.5.5:
* Added new arguments
which serve as per-decorator replacements for the region-wide
respectively, so that custom key production schemes can be
applied on a per-function basis within one region. Pull request
courtesy Hongbin Lu.
* Fixed bug where sending -1 for the
CacheRegion.get_or_create.expiration_time parameter to
CacheRegion.get_or_create_multi() would fail to honor the
setting as ?no expiration time?. Pull request courtesy Hongbin
* The wrap argument is now propagated when calling
CacheRegion.configure_from_config(). Pull request courtesy
* Fixed tests under py.test, which were importing a symbol from
pytest itself is_unittest which has been removed.
- add fdupes as BuildRequires and call it after install
* Mon Sep 15 2014 email@example.com
- Update to version 0.5.4:
* Added new :class:`.NullBackend`, for testing and cache-disabling
purposes. Pull request courtesy Wichert Akkerman.
* Added missing Mako test dependency to setup.py.
Pull request courtesy Wichert Akkerman.
* Fixed bug where calling :meth:`.CacheRegion.get_multi` or
:meth:`.CacheRegion.set_multi` with an empty list would cause failures
based on backend. Pull request courtesy Wichert Akkerman.
* Added new :paramref:`.RedisBackend.connection_pool` option
on the Redis backend; this can be passed a ``redis.ConnectionPool``
instance directly. Pull request courtesy Masayuko.
* Added new :paramref:`.RedisBackend.socket_timeout` option
on the Redis backend. Pull request courtesy
* Added support for tests to run via py.test.
* Repaired the entry point for Mako templates; the name of the entrypoint
itself was wrong vs. what was in the docs, but beyond that the entrypoint
would load the wrong module name. Pull request courtesy zoomorph.
* The :func:`.coerce_string_conf` function, which is used by
:meth:`.Region.configure_from_config`, will now recognize floating point
values when parsing conf strings and deliver them as such; this supports
non-integer values such as Redis ``lock_sleep``. Pullreq courtesy
* Mon Jan 13 2014 firstname.lastname@example.org
- update to 0.5.3:
* Fixed bug where the key_mangler would get in the way of usage of the
async_creation_runner feature within the :meth:`
* Mon Dec 30 2013 email@example.com
- update to 0.5.2:
* Added a new argument ``lock_factory`` to the :class:`.DBMBackend`
* implementation. This allows for drop-in replacement of the default
* :class:`.FileLock` backend, which builds on ``os.flock()`` and only
* supports Unix platforms.
* Mon Oct 21 2013 firstname.lastname@example.org
- update to 0.5.1:
* The :meth:`.CacheRegion.invalidate` method now supports an option
* 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
* Mon Sep 02 2013 email@example.com
- Initial package (0.5.0)