Changelog

0.4.2

Released: Sat Jan 19 2013
  • An “async creator” function can be specified to CacheRegion which allows the “creation” function to be called asynchronously or be subsituted for another asynchronous creation scheme. Courtesy Ralph Bean.(link)

    pull request 10

0.4.1

Released: Sat Dec 15 2012

feature

  • [feature] The function decorated by CacheRegion.cache_on_arguments() now includes a set() method, in addition to the existing invalidate() method. Like invalidate(), it accepts a set of function arguments, but additionally accepts as the first positional argument a new value to place in the cache, to take the place of that key. Courtesy Antoine Bertin.(link)

    pull request 9

  • [feature] Redis backend now accepts optional “url” argument, will be passed to the new StrictRedis.from_url() method to determine connection info. Courtesy Jon Rosebaugh.(link)

  • [feature] Redis backend now accepts optional “password” argument. Courtesy Jon Rosebaugh.(link)

  • [feature] DBM backend has “fallback” when calling dbm.get() to instead use dictionary access + KeyError, in the case that the “gdbm” backend is used which does not include .get(). Courtesy Jon Rosebaugh.(link)

bug

  • [bug] Fixed bug in DBM backend whereby if an error occurred during the “write” operation, the file lock, if enabled, would not be released, thereby deadlocking the app.(link)

    #15

  • [bug] The util.function_key_generator() used by the function decorator no longer coerces non-unicode arguments into a Python unicode object on Python 2.x; this causes failures on backends such as DBM which on Python 2.x apparently require bytestrings. The key_mangler is still needed if actual unicode arguments are being used by the decorated function, however.(link)

    #12

0.4.0

Released: Tue Oct 30 2012

bug

  • [bug] Using dogpile.core 0.4.0 now, fixes a critical bug whereby dogpile pileup could occur on first value get across multiple processes, due to reliance upon a non-shared creation time. This is a dogpile.core issue.(link)

    #1

  • [bug] Fixed missing __future__ with_statement directive in region.py.(link)

0.3.1

Released: Tue Sep 25 2012

bug

  • [bug] Fixed the mako_cache plugin which was not yet covered, and wasn’t implementing the mako plugin API correctly; fixed docs as well. Courtesy Ben Hayden.(link)

  • [bug] Fixed setup so that the tests/* directory isn’t yanked into the install. Courtesy Ben Hayden.(link)

0.3.0

Released: Thu Jun 14 2012

feature

  • [feature] get() method now checks expiration time by default. Use ignore_expiration=True to bypass this.(link)

  • [feature] Added new invalidate() method. Sets the current timestamp as a minimum value that all retrieved values must be created after. Is honored by the get_or_create() and get() methods.(link)

    #7

bug

  • [bug] Fixed bug whereby region.get() didn’t work if the value wasn’t present.(link)

    #8

0.2.4

no release date
  • Fixed py3k issue with config string coerce, courtesy Alexander Fedorov(link)

0.2.3

Released: Wed May 16 2012
  • support “min_compress_len” and “memcached_expire_time” with python-memcached backend. Tests courtesy Justin Azoff(link)

    #3

  • Add support for coercion of string config values to Python objects - ints, “false”, “true”, “None”.(link)

    #4

  • Added support to DBM file lock to allow reentrant access per key within a single thread, so that even though the DBM backend locks for the whole file, a creation function that calls upon a different key in the cache can still proceed.(link)

    #5

  • Fixed DBM glitch where multiple readers could be serialized.(link)

  • Adjust bmemcached backend to work with newly-repaired bmemcached calling API (see bmemcached ef206ed4473fec3b639e).(link)

0.2.2

Released: Thu Apr 19 2012
  • add Redis backend, courtesy Ollie Rutherfurd(link)

0.2.1

Released: Sun Apr 15 2012
  • move tests into tests/cache namespace(link)

  • py3k compatibility is in-place now, no 2to3 needed.(link)

0.2.0

Released: Sat Apr 14 2012
  • Based on dogpile.core now, to get the package namespace thing worked out.(link)

0.1.1

Released: Tue Apr 10 2012
  • Fixed the configure_from_config() method of region and backend which wasn’t working. Courtesy Christian Klinger.(link)

0.1.0

Released: Sun Apr 08 2012
  • Initial release.(link)

  • Includes a pylibmc backend and a plain dictionary backend.(link)

Table Of Contents

Previous topic

API

This Page