========== Change Log ========== Pending ======= - New release notes here. v2.0.0 ====== - A number of docs fixes - Fail open when cache is unavailable - Drop support for Django 1.8, 1.9, and 1.10 - Fix Django 2.0 compatibility and update documentation - Test Django 2.1 support v1.1.0 ====== - Test against Django 1.11 and 2.0b - Fix #85, explicitly set cache expiration slightly longer than cache window. - Add Django version classifiers. v1.0.1 ====== - Added Django 1.10 support. v1.0.0 ====== - Allow requests through when cache backend is unavailable. - Add support for Django 1.9, drop support for Django <=1.7. - Fix several small documentation issues. - Fix support for missing headers. v0.6 ==== - Fix CBV inheritance. - Better Django 1.8 support, fixing deprecation warnings and testing. - Clean up some out-of-date docs. - Fix counting behavior around increment and new cache keys. - Correctly pass `group` to callable `key`s. v0.5 ==== - Rates are now counted in fixed—instead of sliding—windows, except for per-second limits. See the Upgrade Notes. - Mixin renamed to `RatelimitMixin` (lowercase `l`) for consistency. - Dramatic rewrite. - `ip`, `field`, and `keys` arguments replaced with `key`. - well-known "key" values support. - Custom callable rate functions. - Support for "not limited" rate. - Replaces ``skip_if`` argument. v0.4 ==== - (Sort of) make @ratelimit decorators stack. - Add RateLimitMixin for CBVs. - Fixes for Python <2.7. - Clean up Travis and tox tests. v0.3 ==== - Drop the 'Backend' concept. - Add settings: RATELIMIT_USE_CACHE and RATELIMIT_CACHE_PREFIX. - Allow custom key functions. - Tests with Django 1.4.x and 1.5.x. - Refactor to simplify tests and development requirements. v0.2 ==== - Added real docs. - Fix unicode field values. - Add real tests. - Use the Ratelimited exception, RatelimitMiddleware, and RATELIMIT_VIEW setting. - Add RATELIMIT_ENABLE setting. - Add the skip_if argument. - Always add request.limited. v0.1 ==== - Initial release.