==========
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.
