Repository navigation
Releases: django-commons/django-rest-knox
Release list
Packaging improvements and cleanups
- Drop support for Python 3.8 and 3.9
- Migrate packaging to
pyproject.toml(PEP 621); dropsetup.py - Require
djangorestframework>=3.14 - Fold coverage config into
pyproject.toml - Update test matrix: Django 4.2 / 5.2 / 6.0 on Python 3.10–3.14
- Python 3.8 and 3.9 are no longer supported.
setup.py is removed; build/install now relies on pyproject.toml. Most
installers (pip, uv, pipx, etc.) handle this transparently — no action
needed unless you pin via setup.py directly.
Minor release: Django version upgrades and fix n+1 query
- Fix for Potential n+1 query detected on AuthToken.user
- Add support for Django 6.0 and Python 3.13, 3.14
Implement AUTO_REFRESH_MAX_TTL to limit total token lifetime when AUTO_REFRESH = True
Merge pull request #369 from jazzband/giovanni/changelog-and-release chore: Update changelogs and release
Fix issue with migration
- Fix migration when not overriding AuthToken model
First Jazzband release! Fixes and improvements.
This is the first Jazzband release of django-rest-knox, and it comes with an extensive list of fixes and improvements from the last version.
Thanks to everyone in the community that contributed to help get this through! 🚀
Warnings ⚠️
- Tokens created prior to this release will no longer work
Changelist
- Fix migration reverse flow, enable migrate 0
- Various documentation fixes and improvements
- Drop
cryptographyin favor of hashlib - Make custom AuthModel work
- Token prefix can be set in the setttings
- Drop support for Django 4.0
- Add support for Dango 4.2, 5.0 and Python 3.11 and 3.12
- Cleanup legacy Python 2.0 code
- Fix isort, flake8 usage for Python 3.10 in the test suite
- Update Github actions version
- Upgrade markdown dependency
- Get rid of the
sixlibrary - Add custom login / logout response support
- Join the jazzband organization
- Add pre-commit hooks
- Add tracking of tests code coverage
- Fix migrations when used in condition with a custom DB
- Improve typing
- Use
self.authenticate_header()inauthenticate()method to get auth header prefix
Compatibility with Python up to 3.10 and Django up to 4.0
- compatibility with Python up to 3.10 and Django up to 4.0
- integration with github CI instead of travis
- Migration: "salt" field of model "AuthToken" is removed
More options to customize: expiry datetime, response payload
- Expiry format now defaults to whatever is used Django REST framework
- The behavior can be overriden via EXPIRY_DATETIME_FORMAT setting
- Fully customizable expiry format via format_expiry_datetime
- Fully customizable response payload via get_post_response_data
Bug fix for tox CI
Fix for tox config to build Django 2.2 on python 3.6
Major release (breaking changes!)
BREAKING This is a major release version because it breaks the existing API. Changes have been made to the create() method on the AuthToken model. It now returns the model instance and the raw token instead of just the token to allow the expiry field to be included in the success response.
Model field of AuthToken has been renamed from expires to expiry to remain consistent across the code base.
This patch requires you to run a migration and depending on your usage you might also have to adjust your code.