- Dropped support for Python 2
- Dropped support for Django versions before 2.2
- Added support for Django v3.0
- Added ability to automatically check for permissions in Drango Rest Framework viewsets.
- Added ability to automatically check for permissions in Drango class-based views.
- Added ability to automatically register permissions for models.
- Added shim for "six" in anticipation for Django 3.0 dropping support for Python 2 and removing "six" from its codebase.
- Fixed issue with using
rules
inCreateView
CBV
- Dropped support for Python 2.6 and 3.3
- Dropped support for Django versions before 1.11
- Removed
SkipPredicate
exception andskip
method ofPredicate
- Removed
replace_rule
and related APIs - Added
set_rule
and related APIs to safely replace a rule without having to ensure one already exists - Added compatibility with Django v2.1
- Re-introduced support for PyPy and PyPy 3
- Changed Python and Django supported versions policy to exclude end-of-life
versions. Support for EOL'd versions will be dropped in minor version
updates of
rules
from now on.
- Fixed masking AttributeErrors raised from CBV get_object
- Fixed compatibility with
inspect
in newer Python 3 versions - Added ability to replace rules and permissions
- Added support for Django 2.0
- Added support for Django 1.11 and Python 3.6
- Dropped support for PyPy and PyPy3
- Reverted "Fixed undesired caching in
is_group_member
factory"
- Added logging to predicates
- Added support for Django 1.10
- Fixed undesired caching in
is_group_member
factory
- Improved handling of skipped predicates
- Fixed regression that wouldn't short-circuit boolean expressions
- Added support for Django 1.9 and Python 3.5
- Added support for skipping predicates simply by returning
None
. The previous way of skipping predicates by raisingSkipPredicate
has been deprecated and will not be supported in a future release.
- Initial stable public release
- Dropped support for Python 3.2
- Added Django test suite
- Added function-based view decorator
- Added class-based view mixin
- Added support for creating predicates from partial functions
- Added support for creating predicates from instance methods
- Added predicate invocation context
- Added support for automatically passing
self
to a predicate - Added support for discarding a predicate's result
- Added compatibility with PyPy and PyPy 3
- Added
always_true()
andalways_false()
predicates - Added integration with Tox
- Bug fixes
- Added compatibility with Python 3.4
- Improved admin integration
- Initial public release