Skip to content

Releases: sqlalchemy/dogpile.cache

0.6.5

20 Sep 19:10
Compare
Choose a tag to compare

0.6.5

Released: Mon Mar 5 2018

  • [bug] Fixed import issue for Python 3.7 where several variables named "async"
    were, leading to syntax errors. Pull request courtesy Brian Sheldon.

    References: #119

0.6.4

20 Sep 19:10
Compare
Choose a tag to compare

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 the 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. 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 plain Exception was thrown. Pull request
    courtesy Jamie Lennox.

0.6.3

20 Sep 19:10
Compare
Choose a tag to compare

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

20 Sep 19:10
Compare
Choose a tag to compare

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

20 Sep 19:10
Compare
Choose a tag to compare

0.6.1

Released: Mon Jun 6 2016

  • [bug] Fixed imports for dogpile.core restoring ReadWriteMutex
    and NameRegistry into the base namespace, in addition to
    dogpile.core.nameregistry and dogpile.core.readwrite_lock.

    References: #99

0.6.0

20 Sep 19:10
Compare
Choose a tag to compare

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 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 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 the NullLock.acquire() method, nor did
    it return a boolean value for "success".

    References: #97

0.5.7

20 Sep 19:10
Compare
Choose a tag to compare

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

20 Sep 19:10
Compare
Choose a tag to compare

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

20 Sep 19:10
Compare
Choose a tag to compare

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 itself is_unittest which has been removed.

0.5.4

20 Sep 19:10
Compare
Choose a tag to compare

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 a redis.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 Redis lock_sleep. Pullreq courtesy
    Jeff Dairiki.

    References: #57, pull request 13