What's Changed
- Add database index to object_pk field in BaseGenericObjectPermission by @dblenkus in #614
- Fix broken Django doc link by @johnthagen in #616
- Fix number of default Django permissions by @johnthagen in #617
- Add PyPI badges by @johnthagen in #619
- Fix grammar typo by @johnthagen in #620
- Link to latest stable docs by @johnthagen in #622
- Update example to be PEP8 compliant by @johnthagen in #623
- Add missing parenthesis by @johnthagen in #624
- Document how to enable django-grappelli integration in example project by @johnthagen in #627
- Fix broken link by @johnthagen in #626
- Link to latest stable docs by @johnthagen in #625
- Use the correct DB in post_migration handler by @AdamZ in #631
- Overly optimistic content type queries by @qeternity in #633
- Auto prefetching for vanilla usecases by @qeternity in #632
- Better cache eviction and testing by @qeternity in #635
- Upgrade to use django.urls.path in routing by @ad-m in #634
- Add migiration check by @ad-m in #613
- Fixed import of FieldDoesNotExist exception. by @felixxm in #645
- Replace deprecated admin_static with static by @OskarPersson in #649
- Fix typos in mixins.py by @Maxr1998 in #652
- Add support for Python 3.8 by @michael-k in #656
- Upgrade syntax to Python 3 by @ad-m in #655
- Don't initialise anonymous user on DB where it's not migrated by @browniebroke in #651
- Feature: Custom generic object permission models by @partimer in #657
- Remove setup_requires from setup.py by @johnthagen in #638
- Allow object permissions with dots. by @jonnyarnold in #641
- Add requirements (specifically, Django >= 2.1) to setup.py by @kdmccormick in #646
- Add BaseObjectPermission and BaseGenericObjectPermission to models/init import by @partimer in #659
- staticfiles is depreceted since 2.1 by @l0rb in #661
- Remove url from all by @davitovmasyan in #662
- Add support for Django 3.0 by @michael-k in #667
- Remove use of deprecated function. by @dmptrluke in #668
- Fix circular dependency by deferring get obj perms model call by @partimer in #664
- Improve performance of get_objects_for_user, removing sets by @woakas in #637
- Fix cache reuse and add tests that invoke backend by @qeternity in #636
- Update get_users_with_perms() to avoid a large join by @aaronmader in #548
- Update Django in example_project by @ad-m in #672
- Fix simple typo: relase -> release by @timgates42 in #674
- Release v2.2.0 by @michael-k in #670
- Fix error with get_objects_for_user on PostgreSQL. by @jonnyarnold in #677
- Fix broken Django docs link by @johnthagen in #687
- removed "easy_install" by @guettli in #689
- Modify 'assign_perm' shortcut to treat lists as a queryset by @DavisRayM in #686
- Update link to current django-authority repository by @pnuckowski in #692
- Cast object_pk to UUIDField when PK is a UUID by @michael-k in #691
- Run migrations check only if required version of django is installed by @michael-k in #690
- Drop support for Django 2.1 by @michael-k in #693
- Fix unittest mock imports that triggered the linter by @lnagel in #700
- Update CHANGES for v2.3.0 by @lnagel in #695
- Run tests against Django 3.1 by @michael-k in #708
- Use chain.from_iterable in core.py by @cool-RR in #706
- Run tests against Python 3.9 by @michael-k in #712
- Let shortcut 'remove_perm' work with global permission objects by @michael-k in #713
- add any_perm parameter for PermissionRequiredMixin by @1vank1n in #697
- Fix function reference in docs: userguide remove section by @pedrorojasg in #715
- Fixed headers test for Django 3.2 by @smithdc1 in #719
- Added djangomaster to tox by @smithdc1 in #722
- Fixed default_app_config deprecation by @smithdc1 in #721
- test: drop python3.6 and python3.7 for django master by @Rainshaw in #733
- Switch to GitHub Actions; also run tests against Django 3.2 and main (instead of master) by @michael-k in #736
- Mention GitHub Actions instead of Travis CI everywhere by @michael-k in #737
- fix autofield in django3.2 by @Rainshaw in #740
- Update tested Django versions to latest patch releases by @johnthagen in #749
- Optimize get_objects_for_* if klass is a queryset by @TauPan in #569
- Security bugfix: GuardedModelAdminMixin did not check for guardian pe… by @areyal in #757
- Revert "Security bugfix: GuardedModelAdminMixin did not check for guardian pe…" by @ad-m in #764
- Add support for Python 3.10 by @johnthagen in #763
- Add Django 4.0 support by @johnthagen in #772
- union users and groups for better perf by @qeternity in #768
- "Fix" performance enhancement related to #811 by @cmaggiulli in #812
- Fix failing checks by @BonaFideIT in #827
- Add security.md by @thclark in #832
- docs: Fix a few typos by @timgates42 in #782
- Upating save() function for better performance by @Muditalbet in #790
- Add support for newer Django versions, up to 5.0 by @ZbigniewRA in #816
- Add workflow for publishing and releasing package by @cortadocodes in #835
- Release flow by @thclark in #840
New Contributors
- @johnthagen made their first contribution in #616
- @AdamZ made their first contribution in #631
- @qeternity made their first contribution in #633
- @felixxm made their first contribution in #645
- @OskarPersson made their first contribution in #649
- @Maxr1998 made their first contribution in #652
- @browniebroke made their first contribution in #651
- @partimer made their first contribution in #657
- @jonnyarnold made their first contribution in #641
- @kdmccormick made their first contribution in #646
- @l0rb made their first contribution in #661
- @davitovmasyan made their first contribution in #662
- @dmptrluke made their first contribution in #668
- @woakas made their first contribution in #637
- @timgates42 made their first contribution in #674
- @guettli made their first contribution in #689
- @DavisRayM made their first contribution in #686
- @pnuckowski made their first contribution in #692
- @lnagel made their first contribution in #700
- @cool-RR made their first contribution in #706
- @1vank1n made their first contribution in #697
- @pedrorojasg made their first contribution in #715
- @smithdc1 made their first contribution in #719
- @Rainshaw made their first contribution in #733
- @TauPan made their first contribution in #569
- @areyal made their first contribution in #757
- @cmaggiulli made their first contribution in #812
- @BonaFideIT made their first contribution in #827
- @thclark made their first contribution in #832
- @Muditalbet made their first contribution in #790
- @ZbigniewRA made their first contribution in #816
- @cortadocodes made their first contribution in #835
Full Changelog: v2.0.0...3.0.0rc1