Release notes¶
This page mirrors the project changelog. The canonical source is
CHANGELOG.md at the root of the repository.
[1.1.0] - UNDER DEVELOPMENT¶
Summary¶
Adds opt-in IP/hostname access control for individual views via mixins and a decorator, with first-class support for Django REST framework, while remaining backwards compatible.
Added¶
IPAccessMixinindjango_ip_access.mixinsfor protecting specific class-based views:- Works with standard Django CBVs, DRF generic views, and DRF viewsets.
- Supports optional
ip_access_route_configon the view to customize route matching (e.g.startswith,regex). ip_access_requireddecorator indjango_ip_access.decoratorsfor:- Django function-based views.
- DRF
APIViewmethods (e.g.get,post). - New documentation examples demonstrating:
- Usage with Django CBVs.
- Usage with DRF generics, APIViews, and viewsets.
- Test coverage for:
IPAccessMixinwith allowed/denied IPs.ip_access_requiredon Django FBVs and DRF APIViews.
Changed¶
django_ip_access.__init__now re-exports:IPAccessMixinfromdjango_ip_access.mixins.ip_access_requiredfromdjango_ip_access.decorators.- Internal organization: decorators moved into a dedicated
decorators.pymodule (no behavioral change).
Fixed¶
- None.
Notes¶
- This is a backwards-compatible minor release.
- Existing imports like
from django_ip_access import ip_access_requiredcontinue to work. - Recommended usage for new code:
from django_ip_access.mixins import IPAccessMixinfrom django_ip_access.decorators import ip_access_required
[1.0.4] - 2025-12-14¶
Initial public release of django-ip-access-middleware with:
- Middleware-based IP and hostname access control.
- Database-driven
GrantedIPmodel. - Kubernetes same-network detection.
- Route configuration via
IP_ACCESS_MIDDLEWARE_CONFIG.