What's Changed
- 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
- Bugfix/custom user doc fix by @zesameri in #795
- get_groups_with_perms bug by @okaluk in #838
- Update shortcuts.py by @idiomaticrefactoring in #769
- Add cache for ContentType by @sevdog in #806
- Use shortcuts.assign_perm in example by @ad-m in #767
- feat: added message for PermissionRequiredMixin by @Rainshaw in #731
- Respect GUARDIAN_GET_CONTENT_TYPE during ctype match check in guardian.shortcuts.get_objects_for_user by @markedwards in #728
- Add GuardianGroupMixin to support custom group models by @BonaFideIT in #825
- Support Python 3.13 and Django 5.1 by @johnthagen in #844
- Replace Restructured Text with Markdown by @dpgraham4401 in #845
- Remove EOL python 3.8 by @thclark in #850
- Fix readthedocs search text contrast by @dpgraham4401 in #849
- Move to uv and pyproject.toml by @thclark in #846
- Add initial static type annotations by @dpgraham4401 in #858
- Release 3.0.0 by @thclark in #841
New Contributors
- @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
- @Muditalbet made their first contribution in #790
- @ZbigniewRA made their first contribution in #816
- @cortadocodes made their first contribution in #835
- @zesameri made their first contribution in #795
- @okaluk made their first contribution in #838
- @idiomaticrefactoring made their first contribution in #769
- @sevdog made their first contribution in #806
- @markedwards made their first contribution in #728
- @dpgraham4401 made their first contribution in #845 and #851
Full Changelog: v2.4.0...3.0.0