We follow Semantic Versions starting at the 0.4.0 release.
- Add
domain_extra_datasupport to tenant provisioning utilities (provision_tenant,create_public_tenant) to pass extra fields to domain creation
- Deprecate passing arbitrary
**kwargsas owner fields tocreate_public_tenant; useowner_extra_data={...}instead, with a warning emitted when using the deprecated method (which still works as before for now)
- Fix mypy internal error with generic type inheritance in #871
- Add configurable queryset optimization for tenant permissions via
TENANT_USERS_PERMS_QUERYSETsetting to reduce N+1 queries when accessing related data (profile, groups, etc.) - Add built-in
get_optimized_tenant_perms_queryset()utility function intenant_users.permissions.utilsfor common optimization use cases - Add
created_atandmodified_attimestamp fields toUserTenantPermissionsfor tracking when users join tenants and when their permissions change
- Fix: schema_required decorator connection state restoration in #860
- Fix: resolve UserTenantPermissions caching bug in remove_user in #848
- adds
is_authenticatedproxy property toAbstractBaseUserFacadeby @nikatlas in #755
- added support for primary keys where the field id is missing in #707 by @Jed-Giblin in #708
- Fix: security risk in
tenant_cached_propertywith malicious schema names by @scur-iolus in #709 - Improve data consistency and prevent orphaned records in user/tenant management by @scur-iolus in #732
- Now returning created tenant from provision_tenant utility function by @Wizely99 in Corvia#607
- Remove nargs by @ihfazhillah in Corvia#669
- Allow verbosity to be set when creating public tenant by @Dresdn in Corvia#677
- Create TenantAccessMiddleware to limit TenantUsers accessing Tenants they don't belong to by @Dresdn in #594
- Update using.rst by @jansalvador in #590
- Added management command for simple use of create_public_tenant by @jgentil in #565
- Adds support for Django 5.0 and Python 3.12
- Drops support for Django 3.2 and Python 3.7
- Added support for multi-tenant types by @Wizely99 in #475
- Major redesign of docs
- Adds support for Django 4.2
- Used pk instead of id for universal access by @ysidromdenis #355
- Remove deprecation warning regarding default_app_config for django >= 3.2 #326
- Add Django 4.1 to PyPi Trove classifiers list
- Update downstream dependencies to latest versions
- Adds support for Django 4.2
- Drops support for Django 2.2
- There is now a direct dependency on django-tenants and support versions of Django (2.2, 3.2, 4.0, and 4.1)
- Updates downstream dependencies
- Support for django-tenant-schemas has been removed due to last release being in 2017
- Removed
tenant_users.compatmodule as you can now directly import fromdjango_tenants.utils
- Adds
settings.TENANT_SUBFOLDER_PREFIXsupport fromdjango_tenants#85 - Adds support for Django 4.0 #158
- Drops
django 3.1support - Drops
python 3.6support
- Fixes string representation of
UserTenantPermissionsobject #84
- Testing has been simplified to a single test project
- Moves to Github Actions strategy.matrix
- Replace deprecated
connection.get_schema()withconnection.schema_name - Topic hyperlinks on readme fixed
- Adds
python3.7,python3.8,python3.9support - Adds
django2.2,django3.1,django3.2support - Drops
python3.5support - Drops
django1.11support
- Implemented
tenant_cached_propertyto reduce number of queries for user permissions - Adds CHANGELOG
- Moves to
poetry - Adds initial set of tests
- Use
noxfor testing - Adds
mypysupport - Adds
blackandwemake-python-styleguidesupport - Refactored test project into one project per framework
(Anything before 0.4.0 was not recorded.)