- Resolve bug in
CurrentUserMiddleware
where if an exception was raised, middleware triggers an additional exception - Fix types for all django checks to accept
None
for theapp_configs
argument
- Added
check_duplicated_middleware
system check to ensure no middleware gets included twice in config
is_static_expression
now handles expressions with filters correctly
- Dropped support for django 3.2
-
Add support for django 5.0
-
Add
CurrentRequestMiddleware
-
Add
tox-poetry-installer
middleware to allow better management of tox dependencies in poetry -
Migrate
common_lib.templatetags.common
from template project totemplate.py
with the following functions:resolve
token_kwargs
parse_tag_arguments
build_html_attrs
is_static_expression
-
Migrate
common_lib.tests.util
from template project totests/util.py
with the following decorators:suppress_silk
logging_filter
warning_filter
-
Migrate
permission
from template project with:class NoDefaultPermissionsMeta
class PermissionNotImplementedError
class AmbiguousGlobalPermissionWarning
def identify_global_perms
def reverse_if_probably_allowed
- CI now properly tests for all Django versions, whereas previously Poetry would install the latest Django version and overwrite the tox-managed dependencies
- Dropped support for django 2.2
- Dropped support for python 3.7, 3.6
- Dropped support for django-db-constraints validation (
check_db_constraints()
constraint length & collisions); should use django native constraints instead ProfileModelBackend
has been removed. You should useProfileModelBackendMixin
instead, and implement a case insensitive username field on your User model.GenericUserProfile
now no longer normalizesemail
(or even assumes anemail
field is present)- You should implement email/username normalization in your User model
MultipleFieldCharFilter
removed; themethod
argument on afilter.Field
is simple enough to make this now unnecessary.- see documentation
- Added type information
- Add support for django 4.2
- Add support for python 3.10, 3.11
- New
QueryCountMiddleware
methodsset_threshold
andincrease_threshold
request.QUERY_COUNT_WARNING_THRESHOLD
is still supported but will be removed in future versions
- Resolve bug in
CamelCaseMultiPartJSONParser.parse
where if theHTTP_X_MULTIPART_JSON
header is not set it tries to parse the stream a second time, which returns no data
CheckExplicitTableNames
will now skip unmanaged models to allow for cases where there is no table
- Support new URL pattern adopted by django to resolve [CVE-2021-44420] (https://www.djangoproject.com/weblog/2021/dec/07/security-releases/)
- Add check class for configurable git path, update to handle hooksPath config for newer husky
- Add support for django 3.2
auth/backends
now works withoutauthtools
ProfileModelBackend
will not be available ifauthtools
is not able to be imported (authtools
does not currently work with django 3.2)
-
- Add
add_autoreload_extra_files()
- Add ability for checks to ignore apps/models using a regex instead of just a static string
GenericUserProfile.normalize_email
can now be overridden on child classes and will work as expected
- Drop support for django 1.11
- Drop support for isort 4
INCLUDE_QUERY_HASH
andBASE_URL
options added toWEBPACK_LOADER
config. This allows the content hash query string to be disabled and to load assets that are on a different domain (eg. a CDN).
camelize
now handles django lazy strings (eg.gettext_lazy
) as strings rather than as iterables
get_model
added to GenericDjangoViewsetPermissions allowing model to be substituted
- Fix
method_cache
to not setname
on parent class which would break classes that had an attributename
GenericUserProfile
now forces email to lower case on save to avoid issues with duplicate emails in different case
- SerializerOptInFieldsMixin to control inclusion of expensive serializer fields.
- Camel case JSON DRF renderers and parsers.
- See Legacy Changelog
- First stable 1.0 release