About a week ago, I released Johnny-Cache v0.2, which includes a few important bugfixes over 0.1 and adds a blacklist option called MAN_IN_BLACKLIST, which is a tuple of table names that you don't want Johnny to touch. Note that any query that references that table will also not be touched, so don't use it on tables that you might want to join against.

The most important bugfix was a fix to bulk updates; prior to 0.2, MyModel.objects.filter(foo="bar").update(foo="baz") would not properly invalidate the table for MyModel. The code was there, but didn't work, and there weren't any tests for it.

At this point, it kind of feels like Johnny is actually more or less "finished". It's initial launch was pretty comprehensive and coincided well with the 1.2 branch becoming more or less mature; there won't be new Django features that Johnny can't support in any kind of stable release for some time now. Its behavior is easy to define and to reason about, and I'm not sure that additional cleverness would add to its value.

The most obvious direction to take future development on Johnny is for support tools like memoizing decorators or template tags, or statistics support (which is easily writable as a third party application) to help people when they are evaluating Johnny.

I'm always interested in ideas for enhancements or bug reports. I've moved the "official" project urls to johnny's bitbucket repos, where you can feel free to fork or open issues.

Apr 7 2010