hey all -
I've put out 0.4.0 versions for both dogpile.cache and dogpile.core.
the majority of the change here is in dogpile.core, where I've fixed a
multi-process concurrency issue just reported, and also heavily reworked
the API of this subsystem to be more succinct.
dogpile.cache has only changed in that it uses the newer dogpile.core API
now. Previous versions will also work with the latest dogpile.core as the
old API remains for legacy purposes, but just upgrading your dogpile.cache
will require that the latest dogpile.core is installed also.
For most users, the single thing that's changed is that multiple processes
previously would still "dogpile" up, if they all went to a cache value that
didn't exist yet, even if they were coordinating on a multi-process lock.
The issue was due to a reliance on looking at a memory-local value for the
"creation time" of the new value, which has been fixed.
Changelogs for both libraries are now up:
In related news, the SQLAlchemy caching example in 0.8, which is also ready
for beta releases, now uses dogpile.cache instead of Beaker. So I hope to
see more Beaker caching users switch over to dogpile, now that we've got
some releases and issues found and fixed.