add a new signal, qc_skip, which is used in place of qc_miss when the cache is skipped entirely;  also, fix django 1.1.x support and a possible bug in transaction handling where TransactionManager.get() was not passing along the  argument to ;  this change is slightly backwards incompatible in that the semantics of the qc_miss signal have changed and stats relying on it won't work quite the same;  please view the updated docs for more info.
try to skip table invalidations when tables are in the blacklist (or not in the whitelist).  leave  as it is, #9 & #10
Fix for exists() failing, update for passing with django 1.5. Remove 1.1 support.
Remove whitespace
Get rid of 1.1 other stuff
add johnny module __version__ number  (PEP 396)
Adds FailSilentlyMemcachedCache
Merge pull request #24 from pyriku/fail-silently-memcached-backend

Adds FailSilentlyMemcachedCache
Fix breakage in django 1.6

sid happens to be None in one or more cases, just test it's not None before returning it.
Fix double delete by ignoring the problem.
Merge pull request #25 from artscoop/master

Fix transaction breakage in Django 1.6
Merge pull request #22 from dlam26/master

add johnny module __version__ number
Fixed bug in LocalStoreClearMiddleware.process_exception

The 'process_exception' middleware method should not re-rsie exception ever!
Merge pull request #33 from Ashald/patch-1

Fixed bug in LocalStoreClearMiddleware.process_exception
Fixed bug that caused KeyError in johnny.transaction.TransactionManager._commit_savepoint - issue #30 on Github (#69 on Bitbucket)

This patch is fixing cause of the problem, not hiding it as pull requests #26 and #30.

To reproduce cause of the problem you should:
1) Enable QueryCacheMiddleware
2) Work in unmanaged transaction state (it means autocommit mode, i.e. without 'django.middleware.transaction.TransactionMiddleware' and not within 'transaction.enter_transaction_management()' block)
3) Create a savepoint and then try to save some object (it is done by 'django.db.models.query.QuerySet#get_or_create' or by 'django.contrib.sessions.backends.db.SessionStore#save')

The essence of the problem is the fact that Django ORM widely uses a 'django/db/transaction.py#commit_unless_managed' (which is unpatched by Johny Cache) function instead of 'django/db/transaction.py#commit_unless_managed' (which is patched by Johny Cache). So, when we working in unmanaged transaction state Johny Cache will still register savepoints upon creation but will be unable to handle commits and rollbacks that wast performed by 'unless_managed' functions. Since Django is using dumb algorithm for savepoint names generation (they reuse same names within thread once they were commited) it will lead to a situation when Johny Cache will register several savepoints with same name within one transaction and fail when it will try to commit or rollback them.

Proposed solution adds patching to 'django/db/transaction.py#commit_unless_managed' and 'django/db/transaction.py#rollback_unless_managed' functions in the same way as it was done for 'django/db/transaction.py#commit' and 'django/db/transaction.py#rollback' functions with one difference - additional check whether current transaction is unmanaged.
Little update in 'is transaction managed' checking logic
Comment typo fix
Merge pull request #34 from Ashald/patch-2

Fixed bug that caused KeyError in _commit_all_savepoints
Merge pull request #26 from zachsnow/dev/double-delete

Fix double delete by ignoring the problem.
Never cache the South migrations table.

This can be extremely confusing during local development, where the
developer may recreate their database but johnny-cache still has stale
copies of the migrations.

Fixes https://github.com/jmoiron/johnny-cache/issues/47 .