Releases: sqlalchemy/dogpile.cache
0.6.5
0.6.4
0.6.4
Released: Mon Jun 26, 2017
-
[bug] The method
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 theRegion.get_or_create_multi.should_cache_fn
function. This empty dictionary is unnecessary and can cause API
problems for backends like that of Redis. Pull request courtesy
Tobias Sauerwein. -
[bug] The
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.
Pull request courtesy Paul Brown. -
[bug] A new exception 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 plainException
was thrown. Pull request
courtesy Jamie Lennox.
0.6.3
0.6.3
Released: Thu May 18, 2017
- [feature] Added
replace_existing_backend
to
CacheRegion.configure_from_config()
.
Pull request courtesy Daniel Kraus.
0.6.2
0.6.2
Released: Tue Aug 16 2016
-
[feature] Added a new system to allow custom plugins specific to the issue of
"invalidate the entire region", using a new base 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
recipes. Pull request courtesy Alexander Makarov.References: #38
-
[feature] Added a new cache key generator
kwarg_function_key_generator()
,
which takes keyword arguments as well as positional arguments into
account when forming the cache key.References: #43
-
[bug] Restored some more util symbols that users may have been relying upon
(although these were not necessarily intended as user-facing):
dogpile.cache.util.coerce_string_conf
,
dogpile.cache.util.KeyReentrantMutex
,
dogpile.cache.util.memoized_property
,
dogpile.cache.util.PluginLoader
,
dogpile.cache.util.to_list
.
0.6.1
0.6.0
0.6.0
Released: Mon Jun 6 2016
-
[feature] The
dogpile.core
library has been rolled in as part of the
dogpile.cache
distribution. The configuration of thedogpile
name as a namespace package is also removed fromdogpile.cache
.
In order to allow existing installations ofdogpile.core
as a separate
package to remain unaffected, the.core
package has been retired
withindogpile.cache
directly; theLock
class is now
available directly asdogpile.Lock
and the additionaldogpile.core
constructs are under thedogpile.util
namespace.Additionally, the long-deprecated
dogpile.core.Dogpile
and
dogpile.core.SyncReaderDogpile
classes have been removed.References: #91
-
[bug] 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. -
[bug] Fixed bug in "null" backend where
NullLock
did not
accept a flag for theNullLock.acquire()
method, nor did
it return a boolean value for "success".References: #97
0.5.7
0.5.7
Released: Mon Oct 19 2015
-
[feature] Added new parameter
GenericMemcachedBackend.lock_timeout
,
used in conjunction with
GenericMemcachedBackend.distributed_lock
, will specify the
timeout used when communicating to the.add()
method of the memcached
client. Pull request courtesy Frits Stegmann and Morgan Fainberg.References: #54, pull request 37
-
[feature] Added a new flag
CacheRegion.configure.replace_existing_backend
,
allows a region to have a new backend replace an existing one.
Pull request courtesy hbccbh.References: #65, pull request 35
-
[feature] [tests] Test suite now runs using py.test. Pull request courtesy
John Anderson.References: pull request 33
-
[bug] [redis] Repaired the
CacheRegion.get_multi()
method when used with a
list of zero length against the redis backend.References: #74
0.5.6
0.5.6
Released: Mon Feb 2 2015
-
[feature] 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 courtesy anentropic.References: pull request 30
0.5.5
0.5.5
Released: Wed Jan 21 2015
-
[feature] Added new arguments
CacheRegion.cache_on_arguments.function_key_generator
and
CacheRegion.cache_multi_on_arguments.function_multi_key_generator
which serve as per-decorator replacements for the region-wide
CacheRegion.function_key_generator
and
CacheRegion.function_multi_key_generator
parameters,
respectively, so that custom key production schemes can be applied
on a per-function basis within one region.
Pull request courtesy Hongbin Lu.References: pull request 26
-
[bug] Fixed bug where sending -1 for the
CacheRegion.get_or_create.expiration_time
parameter to
CacheRegion.get_or_create()
or
CacheRegion.get_or_create_multi()
would fail to honor the setting as "no expiration time". Pull request
courtesy Hongbin Lu.References: #71, pull request 25
-
[bug] The
wrap
argument is now propagated when calling
CacheRegion.configure_from_config()
. Pull request courtesy
Jonathan Vanasco.References: #41, pull request 28
-
[bug] Fixed tests under py.test, which were importing a symbol from
pytest itselfis_unittest
which has been removed.
0.5.4
0.5.4
Released: Sat Jun 14 2014
-
[feature] Added new
NullBackend
, for testing and cache-disabling
purposes. Pull request courtesy Wichert Akkerman.References: pull request 18
-
[bug] Added missing Mako test dependency to setup.py.
Pull request courtesy Wichert Akkerman.References: pull request 19
-
[bug] Fixed bug where calling
CacheRegion.get_multi()
or
CacheRegion.set_multi()
with an empty list would cause failures
based on backend. Pull request courtesy Wichert Akkerman.References: #58, pull request 20
-
[feature] Added new
RedisBackend.connection_pool
option
on the Redis backend; this can be passed aredis.ConnectionPool
instance directly. Pull request courtesy Masayuko.References: pull request 17
-
[feature] Added new
RedisBackend.socket_timeout
option
on the Redis backend. Pull request courtesy
Saulius Menkevičius.References: pull request 16
-
[feature] Added support for tests to run via py.test.
-
[bug] 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.References: pull request 15
-
[bug] The
coerce_string_conf()
function, which is used by
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 Redislock_sleep
. Pullreq courtesy
Jeff Dairiki.References: #57, pull request 13