django-stubs
django-stubs copied to clipboard
Django 5.0 Tracking Issue
This is a tracking issue for changes that will be needed for Django 5.0, based on in-development release notes.
EDIT: Please see https://github.com/typeddjango/django-stubs/issues/1493#issuecomment-2105730206 for an up to date progress list.
(Collapsed original list that is now outdated)
- [ ] warnings in
django.utils.deprecation - [ ] admin facets -
ModelAdmin.show_facets,django.contrib.admin.ShowFacetsenum - [ ] form field groups -
BoundField.as_field_group(),django.forms.Field.template_name,django.forms.renderers.BaseRenderer.field_template_name - [ ] Database-computed default values -
db_defaultarg and attr on modelField - [ ]
django.contrib.admin.AdminSite.get_log_entries - [ ]
django.http.HttpRequest.auserfromAuthenticationMiddleware - [ ]
django.contrib.gis.db.models.functions.ClosestPoint - [ ]
django.contrib.postgres.constraints.ExclusionConstraint.violation_error_code - [ ]
choicesargs to formChoiceFieldand modelFieldsupportChoicesclasses directly. - [x]
django.forms.URLFieldnewassume_schemearg - [ ]
QuerySet.update_or_createandaupdate_or_createnewcreate_defaultsarg - [ ] new
violation_error_codearg forBaseConstraint,CheckConstraint, andUniqueConstraint - [ ] new arg
error_messagesfordjango.core.paginator.Paginator.error_messages - [ ] new
Signal.asend()andSignal.asend_robust()methods - [ ] The
instanceargument of the undocumentedBaseModelFormSet.save_existing()method is renamed toobj. - [ ] The undocumented
django.contrib.admin.helpers.checkboxis removed. - [ ] The undocumented
Query.annotation_select_maskattribute is changed from a set of strings to an ordered list of strings. - [ ] Passing positional arguments name and violation_error_message to
BaseConstraintis deprecated in favor of keyword-only arguments. (Let's make them keyword-only in the stubs in 5.0.) - [ ]
requestis added to the signature ofModelAdmin.lookup_allowed(). Support for ModelAdmin subclasses that do not accept this argument is deprecated. - [ ] The
get_joining_columns()method ofForeignObjectandForeignObjectRelis deprecated. Starting with Django 6.0,django.db.models.sql.datastructures.Joinwill no longer fallback toget_joining_columns(). Subclasses should implementget_joining_fields()instead. - [ ] The undocumented
django.utils.baseconvmodule is removed. - [ ] The undocumented
django.utils.datetime_safemodule is removed. - [ ] The
extra_testsargument forDiscoverRunner.build_suite()andDiscoverRunner.run_tests()is removed. - [ ] The
USE_L10Nsetting is removed. - [ ] Support for
pytztimezones is removed. - [ ] The
is_dstargument is removed from:QuerySet.datetimes()django.utils.timezone.make_aware()django.db.models.functions.Trunc()django.db.models.functions.TruncSecond()django.db.models.functions.TruncMinute()django.db.models.functions.TruncHour()django.db.models.functions.TruncDay()django.db.models.functions.TruncWeek()django.db.models.functions.TruncMonth()django.db.models.functions.TruncQuarter()django.db.models.functions.TruncYear()
- [ ] The
django.contrib.gis.admin.GeoModelAdminandOSMGeoAdminclasses are removed. - [ ]The undocumented
BaseForm._html_output()method is removed. - The ability to return a
str, rather than aSafeString, when rendering anErrorDictandErrorListis removed. - [ ] The
SitemapIndexItem.__str__()method is removed. - [ ] The
nameargument ofdjango.utils.functional.cached_property()is removed. - [ ] The
opclassesargument ofdjango.contrib.postgres.constraints.ExclusionConstraintis removed. - [ ] The undocumented ability to pass
errors=NonetoSimpleTestCase.assertFormError()andassertFormsetError()is removed. - [ ]
django.contrib.sessions.serializers.PickleSerializeris removed. - [ ]
created=Trueis required in the signature ofRemoteUserBackend.configure_user()subclasses. - [ ] Support for logging out via GET requests in the
django.contrib.auth.views.LogoutViewanddjango.contrib.auth.views.logout_then_login()is removed. - [ ] The
django.utils.timezone.utcalias todatetime.timezone.utcis removed. - [ ] Passing a response object and a form/formset name to
SimpleTestCase.assertFormError()andassertFormSetError()is no longer allowed. - [ ] The
django.contrib.gis.admin.OpenLayersWidgetis removed. - [x] The
django.contrib.auth.hashers.CryptPasswordHasheris removed. - [ ] Passing
nulls_first=Falseornulls_last=FalsetoExpression.asc()andExpression.desc()methods, and theOrderByexpression is no longer allowed.
I hope that if we have such a list we can run through them after 5.0 is released, rather than have small issues trickle in as users discover what has been missed.
Agreed, this is helpful, thanks!
I think it would be more urgent to compile such a list for Django 4.2 (and we also probably missed some stuff in 4.1 and older even)
I did this one first because it's easier, since I didn't need to find related issues here...
More changes since @adamchainz 's original message:
(Collapsed original list that is now outdated)
- [x]
django.db.models.GeneratedField - [ ]
django.contrib.admin.AdminSite.get_model_admin - [ ]
django.contrib.admin.ModelAdmin.list_displaynow supportsbooleanattribute - [x]
django.contrib.auth.aauthenticate,aget_user,alogin,alogout,aupdate_session_auth_hash - [x]
django.contrib.auth.hashers.acheck_password - [ ]
django.contrib.gis.GEOSGeometry.equals_identical - [ ]
django.contrib.messages.MessagesTestMixin.assertMessages - [ ]
Model.savenow supports tuples passed toforce_insert - [ ]
UniqueConstraint.nulls_distinct - [x]
aget_object_or_404andaget_list_or_404 - [x]
aprefetch_related_objects - [x]
ClientandAsyncClienthaveasession,alogin,aforce_login,alogout - [ ]
AsyncClientnow hasfollowparameter - [x]
StepValueValidatornow hasoffsetparameter - [ ]
DatabaseFeatures.supports_expression_defaults,supports_default_keyword_in_insert,supports_default_keyword_in_bulk_insert - [ ]
django.contrib.sitemaps.ping_googleremoved - [ ]
QuerySet.update_or_createnow hascreate_defaults(if a model has that field name it now usescreate_defaults__exact - [ ]
AlreadyRegistered,NotRegisteredmoved:django.contrib.admin.{sites,exceptions} - [ ]
DjangoDivFormRenderer,Jinja2DivFormRendererdeprecated - [ ]
ForeignObject.get_reverse_joining_columnsdeprecated - [ ]
format_htmlcalled without args or kwargs is deprecated - [ ]
DatabaseOperations.field_cast_sqldeprecated - [x]
django.db.models.enums.ChoicesMetarenamed toChoicesType - [ ]
Prefetch.get_current_querysetdeprecated - [ ]
USE_DEPRECATED_PYTZremoved - [x]
CSRF_COOKIE_MASKEDremoved
I think I got everything, I'll try and tackle everything in the list I just made first since I can click the checkboxes.
Question for maintainers, how big of a PR should I make? Should each line item here be its own commit in one massive PR? How should we handle the version bumps in a separate PR?
I prefer small PRs that can be easily reviewed, each with a link to the relevant commit/source. Happy if they group some related features but not too large.
I’m not sure when we’d aim to support 5.0. It would be more productive right now to whittle down the outstanding todo list per the contributing guide.
I just put up my first PR against this issue: https://github.com/typeddjango/django-stubs/pull/1741
For anyone else working on this, I found the blame view of the release notes on GitHub to be really helpful in tracking down the exact commit for a change: https://github.com/django/django/blame/main/docs/releases/5.0.txt
I'm about to go on a work trip for a few days so I won't be terribly responsive, but I wanted to get the first one of these going to make sure I'm doing everything right before I burn through more of the changes. Hopefully this PR isn't too far off base!
Since 5.0 was officially released, I opened PR #1859 to update to it in our CI. (UPDATE: Merged now)
Also generated a separate stubtest allowlist for Django 5.0:
https://github.com/typeddjango/django-stubs/blob/master/scripts/stubtest/allowlist_todo_django50.txt
Holy thing. Looks like giant work. db_default already affected me.
(venv) ➜ backend git:(main) ✗ mypy server
server/apps/main/models.py:25: error: Unexpected keyword argument "db_default" for "CharField"; did you mean "default"? [call-arg]
Found 1 error in 1 file (checked 25 source files)
Holy thing. Looks like giant work.
Yep. To repeat just in case: if someone's interested in contributing, please keep PRs small and focused on one topic.
please keep PRs small and focused on one topic
If talk about db_default at first look it simple:
class CharField(Field[_ST, _GT]):
def __init__(
self,
...
db_default: Any = ...,
...
) -> None: ...
but I not understand how split .pyi versions between Django <5 and >=5
May you advice how django-stubs control Django version's features?
If talk about db_default at first look it simple:
Great! 🎉
but I not understand how split .pyi versions between Django <5 and >=5 May you advice how django-stubs control Django version's features?
Don't worry about that. When there are differences between Django versions, django-stubs tracks the latest Django version (discussion here: https://github.com/typeddjango/django-stubs/issues/1095#issuecomment-1307066177).
Do we have a sense for which of these TODOs are release blockers? Right now django-stubs is my only dependency blocking a Django 5.0 upgrade, so I'm interested to know what the next steps are to add enough compatibility.
I will have some time this week to work on the 5.0 changes
Do we have a sense for which of these TODOs are release blockers?
I wouldn't consider any of them release blockers. No reason to delay improvements that are ready now, because everything is not yet perfect. But of course additional updates would be great to have.
But the priority for the release should be on getting open PRs reviewed and merged (ones that are close to being ready -- ignore the older messy ones).
The real reason for the lack of releases is that nobody has stepped up to do the release. Usually I was the one handling releases and reviewing PRs that fell through the cracks. But I had a long vacation and after that haven't found the right combination of time and motivation to push the next release forward. In retrospect I should have been more explicit about communicating my absence. But I didn't expect it to take this long.
If someone (preferably a current maintainer) is interested in handling the release, I'd be happy to instruct and help. But if not, I will get to it, but don't want to make promises yet.
Right now
django-stubsis my only dependency blocking a Django 5.0 upgrade
Don't let that block your upgrade. django-stubs 4.2.7 works fine with Django 5.0 too, I've been using it myself. Any new or changed Django APIs may give type errors, but those can be solved with # type: ignore suppression until django-stubs catches up.
We've merged lots of 5.0 PRs, but haven't kept these checklists up to date.
How do you think we should handle this checklist maintenance?
@sobolevn Is it viable to grant privileges to frequent contributors like q0w and ngnpope such that they can edit the checklists themselves?
Is there anybody who is interested in keeping these checklists up to date with merged PRs?
I don't want to take on this additional responsibility myself.
This is the current list of tasks I have organized manually. It may be missing some from version 5.0, or include changes from version 4.2.
I think allowlist_todo_django50.txt can also help fill in the missing changes for version 5.0.
(Collapsed original list that is now outdated)
Django 4.2.8 (compare, release notes)
- [x]
django.db.models.sql.query- [x]
django.db.models.sql.query.Query.resolve_lookup_value'ssummarizeargument was added #2136
- [x]
Django 5.0 (compare, release notes)
django.conf
django.conf- [x]
django.conf.__init__- [x]
django.conf.USE_DEPRECATED_PYTZ_DEPRECATED_MSGwas removed - [x]
django.conf.USE_L10N_DEPRECATED_MSGwas removed - [x]
django.conf.CSRF_COOKIE_MASKED_DEPRECATED_MSGwas removed - [x]
django.conf.FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSGwas added #2008
- [x]
- [x]
django.conf.global_settings- [x]
django.conf.global_settings.USE_DEPRECATED_PYTZwas removed - [x]
django.conf.global_settings.USE_L10Nwas removed #1979 - [x]
django.conf.global_settings.FORMS_URLFIELD_ASSUME_HTTPSwas added #2008 - [x]
django.conf.global_settings.DATA_UPLOAD_MAX_NUMBER_FILESwas added - [x]
django.conf.global_settings.CSRF_COOKIE_MASKEDwas removed #2008
- [x]
django.contrib
- [x]
django.contrib.admin.__init__- [x]
django.contrib.admin.ShowFacetswas added #2004
- [x]
- [x]
django.contrib.admin.exceptions- [x]
django.contrib.admin.exceptions.AlreadyRegisteredwas added #2004 - [x]
django.contrib.admin.exceptions.NotRegisteredwas added #2004
- [x]
- [x]
django.contrib.admin.filters- [x]
django.contrib.admin.filters.ListFilter.requestwas added #2004 - [x]
django.contrib.admin.filters.FacetsMixinwas added #2004 - [x]
django.contrib.admin.filters.SimpleListFilterwas changed #2004 - [x]
django.contrib.admin.filters.FieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.RelatedFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.BooleanFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.ChoicesFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.DateFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.AllValuesFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.RelatedOnlyFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.EmptyFieldListFilterwas changed #2004
- [x]
- [x]
django.contrib.admin.helpers- [x]
django.contrib.admin.helpers.checkboxwas removed #1972
- [x]
- [x]
django.contrib.admin.options- [x]
django.contrib.admin.options.IS_FACETS_VAR#2004 - [x]
django.contrib.admin.options.ShowFacetswas added #1967 - [x]
django.contrib.admin.options.BaseModelAdmin.lookup_allowed'srequestargument was added #1976 - [x]
django.contrib.admin.options.ModelAdmin.show_facetswas added #1967 - [x] ~
django.contrib.admin.options.ModelAdmin._get_preserved_qslwas added~
- [x]
- [x]
django.contrib.admin.sites- [x]
django.contrib.admin.sites.AlreadyRegisteredwas removed #2004 - [x]
django.contrib.admin.sites.NotRegisteredwas removed #2004 - [x]
django.contrib.admin.sites.AdminSite.get_model_adminwas added #2029 - [x]
django.contrib.admin.sites.AdminSite.get_log_entrieswas added #1963
- [x]
- [x]
django.contrib.admin.utils- [x]
django.contrib.admin.utils.get_last_value_from_parameterswas added #2004 - [x]
django.contrib.admin.utils.prepare_lookup_valuewas changed #2004 - [x]
django.contrib.admin.utils.build_q_object_from_lookup_parameterswas added #2004
- [x]
- [x]
django.contrib.admin.views.main- [x]
django.contrib.admin.views.main.ChangeList.add_facetswas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.is_facets_optionalwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.filter_paramswas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.remove_facet_linkwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.add_facet_linkwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.get_queryset'sexclude_parametersargument was added #2004
- [x]
- [x]
django.contrib.admin.widgets- [x]
django.contrib.admin.widgets.BaseAdminDateWidgetwas added #2105 - [x]
django.contrib.admin.widgets.AdminDateWidgetwas changed #2105 - [x]
django.contrib.admin.widgets.BaseAdminTimeWidgetwas added #2105 - [x]
django.contrib.admin.widgets.AdminTimeWidgetwas changed #2105 - [x]
django.contrib.admin.widgets.RelatedFieldWidgetWrapper.choiceswas added #2105
- [x]
- [x]
django.contrib.auth.__init__- [x]
django.contrib.auth.aauthenticatewas added #1741 - [x]
django.contrib.auth.aloginwas added #1741 - [x]
django.contrib.auth.alogoutwas added #1741 - [x]
django.contrib.auth.aget_userwas added #1741 - [x]
django.contrib.auth.aupdate_session_auth_hashwas added #1741
- [x]
- [x]
django.contrib.auth.admin- [x]
django.contrib.auth.admin.django.contrib.auth.admin.lookup_allowed'srequestargument was added #1976
- [x]
- [x]
django.contrib.auth.backends- [x]
django.contrib.auth.backends.RemoteUserBackend.configure_user'screatedargument was added #2111
- [x]
- [x]
django.contrib.auth.base_user- [x]
django.contrib.auth.base_user.AbstractBaseUser.acheck_passwordwas added #1741 - [x]
django.contrib.auth.base_user.AbstractBaseUser.get_session_auth_fallback_hashwas added #2113
- [x]
- [x]
django.contrib.auth.hashers- [x]
django.contrib.auth.hashers.verify_passwordwas added #2009 - [x]
django.contrib.auth.hashers.acheck_passwordwas added #1741 - [x]
django.contrib.auth.hashers.CryptPasswordHasherwas removed #2009
- [x]
- [x]
django.contrib.auth.middleware- [x]
django.contrib.auth.middleware.auserwas added #1966
- [x]
- [x]
django.contrib.contenttypes.fields- [x]
django.contrib.contenttypes.fields.GenericForeignKey.get_content_type'smodelargument was added #2137 - [x]
django.contrib.contenttypes.fields.GenericForeignKey.get_prefetch_querysetswas added #2137
- [x]
- [x]
django.contrib.contenttypes.prefetch- [x]
django.contrib.contenttypes.prefetch.GenericPrefetchwas added #2115
- [x]
- [x]
django.contrib.gis.admin.__init__- [x]
django.contrib.gis.admin.GeoModelAdminwas removed #1981 - [x]
django.contrib.gis.admin.OpenLayersWidgetwas removed #2116 - [x]
django.contrib.gis.admin.OSMGeoAdminwas removed #1981
- [x]
- [x]
django.contrib.gis.admin.options- [x]
django.contrib.gis.admin.options.spherical_mercator_sridwas removed #2116 - [x]
django.contrib.gis.admin.options.GeoModelAdminwas removed #1981 - [x]
django.contrib.gis.admin.options.OSMGeoAdminwas removed #1981
- [x]
- [x]
django.contrib.gis.admin.widgetswas removed #2116 - [ ]
django.contrib.gis.db.backends.postgis.operations- [ ]
django.contrib.gis.db.backends.postgis.operations.PostGISOperator.check_geographywas added #2138
- [ ]
- [x]
django.contrib.gis.db.backends.spatialite.schema- [x]
django.contrib.gis.db.backends.spatialite.schema.SpatialiteSchemaEditor.alter_db_table'sdisable_constraintsargument was removed #2123
- [x]
- [x]
django.contrib.gis.db.models.functions- [x]
django.contrib.gis.db.models.functions.ClosestPointwas added #1968
- [x]
- [x]
django.contrib.gis.geos.geometry- [x]
django.contrib.gis.geos.geometry.GEOSGeometryBase.equals_identicalwas added #2034
- [x]
- [ ]
django.contrib.gis.geos.prototypes.__init__- [ ]
django.contrib.gis.geos.prototypes.geos_equalsidenticalwas added
- [ ]
- [ ]
django.contrib.gis.geos.prototypes.io- [x]
django.contrib.gis.geos.prototypes.io.default_trim_valuewas added #2034 - [ ]
django.contrib.gis.geos.prototypes.io.DEFAULT_TRIM_VALUEwas added
- [x]
- [x]
django.contrib.gis.geos.prototypes.predicates- [x]
django.contrib.gis.geos.prototypes.predicates.geos_equalsidenticalwas added #2034
- [x]
- [ ]
django.contrib.messages.__init__- [ ]
django.contrib.messages.Messagewas added
- [ ]
- [x]
django.contrib.messages.storage.cookie- [x]
django.contrib.messages.storage.cookie.MessagePartSerializerwas added #2106 - [x]
django.contrib.messages.storage.cookie.MessagePartGatherSerializerwas added #2106 - [x]
django.contrib.messages.storage.cookie.MessageSerializerwas changed #2106 - [x]
django.contrib.messages.storage.cookie.CookieStorage.not_finished_jsonwas added #2106 - [x]
django.contrib.messages.storage.cookie.bisect_keep_leftwas added #2106 - [x]
django.contrib.messages.storage.cookie.bisect_keep_rightwas added #2106
- [x]
- [x]
django.contrib.messages.testwas added #2126 - [x]
django.contrib.postgres.aggregates.general- [x]
django.contrib.postgres.aggregates.general.NOT_PROVIDEDwas removed - [x]
django.contrib.postgres.aggregates.general.DeprecatedConvertValueMixinwas removed - [x]
django.contrib.postgres.aggregates.general.DeprecatedConvertValueMixinwas removed
- [x]
- [x]
django.contrib.postgres.constraints- [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sopclassesargument was removed #2078 - [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sviolation_error_codeargument was added #1969
- [x]
- [x]
django.contrib.sessions.serializers- [x]
django.contrib.sessions.serializers.PickleSerializerwas removed #2068
- [x]
- [x]
django.contrib.sitemaps.__init__- [x]
django.contrib.sitemaps.PING_URLwas removed #2076 - [x]
django.contrib.sitemaps.SitemapNotFoundwas removed #2076 - [x]
django.contrib.sitemaps.ping_googlewas removed #2076
- [x]
- [x]
django.contrib.sitemaps.management.commands.ping_googlewas removed #2076 - [x]
django.contrib.sites.requests- [x]
django.contrib.sites.requests.RequestSite.save'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076
- [x]
- [x]
django.contrib.staticfiles.checks- [x]
django.contrib.staticfiles.checks.E005was added #2076 - [x]
django.contrib.staticfiles.checks.check_storageswas added #2076
- [x]
- [x]
django.contrib.staticfiles.storage- [x]
django.contrib.staticfiles.storage.HashedFilesMixin.support_js_module_import_aggregationwas added #1528
- [x]
django.core
django.core- [x]
django.core.cache.backends.base- [x]
django.core.cache.backends.base.memcached_error_chars_rewas added #1948
- [x]
- [x]
django.core.exceptions- [x]
django.core.exceptions.TooManyFilesSentwas added #1774
- [x]
- [x]
django.core.files.base- [x]
django.core.files.base.File.open's signature was changed #1949
- [x]
- [x]
django.core.handlers.asgi- [x]
django.core.handlers.asgi.get_script_prefixwas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.listen_for_disconnectwas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.run_get_responsewas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.get_script_prefixwas removed #2066
- [x]
- [x]
django.core.management.commands.inspectdb- [x]
django.core.management.commands.inspectdb.Command.normalize_table_namewas added #2067
- [x]
- [x]
django.core.management.commands.optimizemigrationwas added #2067 - [x]
django.core.management.commands.runserver- [x]
django.core.management.commands.runserver.Command.on_bindwas added #1829
- [x]
- [x]
django.core.paginator- [x]
django.core.paginator.Paginator.default_error_messageswas added #1946 - [x]
django.core.paginator.Paginator.__init__'serror_messagesargument was added #1946
- [x]
- [x]
django.core.serializers.base- [x]
django.core.serializers.base.PickleSerializerwas removed #2068
- [x]
- [x]
django.core.servers.basehttp- [x] ~
django.core.servers.basehttp.ServerHandler.finish_responsewas added~ - [x]
django.core.servers.basehttp.run'son_bindargument was added #2070
- [x] ~
- [x]
django.core.validators- [x]
django.core.validators.URLValidator.max_lengthwas added #1787 - [x]
django.core.validators.StepValueValidator.__init__was changed #1947 - [x]
django.core.validators.StepValueValidator.offsetwas added #1947
- [x]
django.db
- [x]
django.db.backends.base.base- [x]
django.db.backends.base.base.timezone_constructorwsa removed #1980
- [x]
- [x]
django.db.backends.base.features- [x]
django.db.backends.base.features.BaseDatabaseFeatures.delete_can_self_reference_subquerywas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_nulls_distinct_unique_constraintswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_atomic_references_renamewas removed #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_expression_defaultswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_default_keyword_in_insertwas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_default_keyword_in_bulk_insertwas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_stored_generated_columnswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_virtual_generated_columnswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.insert_test_table_with_defaultswas added #2099
- [x]
- [x]
django.db.backends.base.operations- [x]
django.db.backends.base.operations.BaseDatabaseOperations.prepare_join_on_clausewas added #2100
- [x]
- [x]
django.db.backends.base.schema- [x]
django.db.backends.base.schema.BaseDatabaseSchemaEditor.db_default_sqlwas added #1876
- [x]
- [ ]
django.db.backends.mysql.base- [ ]
django.db.backends.mysql.base.DatabaseWrapper.data_typeswas changed
- [ ]
- [x]
django.db.backends.oracle.base- [x]
django.db.backends.oracle.base.DatabaseWrapper.cx_oracle_versionwas removed #2057
- [x]
- [ ]
django.db.backends.oracle.introspection- [ ]
django.db.backends.oracle.introspection.DatabaseIntrospection.data_types_reversewas changed
- [ ]
- [ ]
django.db.backends.oracle.oracledb_anywas added - [ ]
django.db.backends.postgresql.featureswas added- [ ]
django.db.backends.postgresql.features.uses_server_side_bindingwas added - [ ]
django.db.backends.postgresql.features.is_postgresql_15was added
- [ ]
- [x]
django.db.backends.sqlite3.features- [x]
django.db.backends.sqlite3.features.DatabaseFeatures.can_alter_table_rename_columnwas removed
- [x]
- [x]
django.db.backends.utils- [x]
django.db.backends.utils.CursorWrapper.APPS_NOT_READY_WARNING_MSGwas added #2102
- [x]
- [x]
django.db.migrations.serializer- [x]
django.db.migrations.serializer.BaseUnorderedSequenceSerializerwas added #2109 - [x]
django.db.migrations.serializer.FrozensetSerializerwas changed #2109 - [x]
django.db.migrations.serializer.SetSerializerwas changed #2109
- [x]
- [x]
django.db.models.__init__- [x]
django.db.models.GeneratedFieldwas added #1944
- [x]
- [x]
django.db.models.base- [x]
django.db.models.base.Model.save'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076 - [x]
django.db.models.base.Model.asave'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076 - [x]
django.db.models.base.Model.save_base'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076
- [x]
- [ ]
django.db.models.constraints- [x]
django.db.models.constraints.BaseConstraint.violation_error_codewas added #1969 #1974 - [x]
django.db.models.constraints.BaseConstraint.__init__'sviolation_error_codeargument was added #1975 #1974 - [x]
django.db.models.constraints.CheckConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.db.models.constraints.CheckConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.db.models.constraints.UniqueConstraint.__init__'snulls_distinct,violation_error_codeargument was added #1880 - [ ]
django.db.models.constraints.UniqueConstraint.nulls_distinctwas added
- [x]
- [x]
django.db.models.enums- [x]
django.db.models.enums.ChoicesTypewas added #1942 - [x]
django.db.models.enums.IntegerChoiceswas changed #2148 - [x]
django.db.models.enums.TextChoiceswas changed #2148
- [x]
- [x]
django.db.models.expressions- [x]
django.db.models.expressions.BaseExpression.allowed_defaultwas added #2110 - [x]
django.db.models.expressions.BaseExpression.contains_subquerywas added - [x]
django.db.models.expressions.DatabaseDefaultwas added #2110 - [x]
django.db.models.expressions.Subquery.subquerywas added #2110
- [x]
- [ ]
django.db.models.fields.__init__- [ ]
django.db.models.fields.Field.generatedwas added - [x]
django.db.models.fields.Field.__init__'sdb_defaultargument was added #1876 - [x]
django.db.models.fields.Field.db_defaultwas added #1876
- [ ]
- [x]
django.db.models.fields.generated- [x]
django.db.models.fields.generated.GeneratedFieldwas added #1944
- [x]
- [ ]
django.db.models.fields.related- [ ]
django.db.models.fields.related.ForeignObject.get_joining_fieldswas added - [ ]
django.db.models.fields.related.ForeignObject.get_reverse_joining_fieldswas added
- [ ]
- [ ]
django/db/models/fields/related_descriptors- [ ]
django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor.get_prefetch_querysetswas added - [ ]
django.db.models.fields.related_descriptors.ReverseOneToOneDescriptor.get_prefetch_querysetswas added
- [ ]
- [ ]
django.db.models.fields.reverse_related- [ ]
django.db.models.fields.reverse_related.ForeignObjectRel.get_lookupswas added - [ ]
django.db.models.fields.reverse_related.ForeignObjectRel.get_transformwas added - [ ]
django.db.models.fields.reverse_related.ForeignObjectRel.get_joining_fieldswas added
- [ ]
- [ ]
django.db.models.functions.datetime- [ ]
django.db.models.functions.datetime.TruncBase.__init__'sis_dstargument was removed - [ ]
django.db.models.functions.datetime.TruncBase.is_dstwas removed - [ ]
django.db.models.functions.datetime.Trunc.__init__'sis_dstargument was removed
- [ ]
- [x]
django.db.models.lookups- [x]
django.db.models.lookups.IntegerFieldOverflowwas added #2103 - [x]
django.db.models.lookups.IntegerFieldExactwas added #2103 - [x]
django.db.models.lookups.IntegerGreaterThanwas added #2103 - [x]
django.db.models.lookups.IntegerGreaterThanOrEqualwas changed #2103 - [x]
django.db.models.lookups.IntegerLessThanwas changed #2103 - [x]
django.db.models.lookups.IntegerLessThanOrEqualwas added #2103
- [x]
- [ ]
django.db.models.query- [x]
django.db.models.query.QuerySet.update_or_create'screate_defaultsargument was added #1970 - [x]
django.db.models.query.QuerySet.aupdate_or_create'screate_defaultsargument was added #1970 - [ ]
django.db.models.query.Prefetch.get_current_querysetswas added - [x]
django.db.models.query.aprefetch_related_objectswas added #1741
- [x]
- [ ]
django.db.models.query_utils- [ ]
django.db.models.query_utils.Q.identitywas added - [ ]
django.db.models.query_utils.FilteredRelation.pathwas removed - [ ]
django.db.models.query_utils.FilteredRelation.relabeled_clonewas added - [ ]
django.db.models.query_utils.FilteredRelation.resolve_expressionwas added
- [ ]
- [ ]
django.db.models.sql.compiler- [ ]
django.db.models.sql.compiler.PositionRefwas added
- [ ]
- [ ]
django.db.models.sql.datastructures- [ ]
django.db.models.sql.datastructures.Join.equalswas removed - [ ]
django.db.models.sql.datastructures.BaseTable.equalswas removed
- [ ]
- [ ]
django.db.models.sql.query- [ ]
django.db.models.sql.query.get_paths_from_expressionwas added - [ ]
django.db.models.sql.query.get_child_with_renamed_prefixwas added - [ ]
django.db.models.sql.query.rename_prefix_from_qwas added - [x]
django.db.models.sql.query.Query.annotation_select_mask's signature was changed #1973 - [ ]
django.db.models.sql.query.Query.join'sreuse_with_filtered_relationargument was removed - [ ]
django.db.models.sql.query.Query.resolve_lookup_value'ssummarizeargument was added - [ ]
django.db.models.sql.query.Query.build_filter'sreuse_with_filtered_relationargument was removed - [ ]
django.db.models.sql.query.Query.build_filter'supdate_join_typesargument was added - [ ]
django.db.models.sql.query.Query.build_filtered_relation_qwas removed
- [ ]
- [ ] Passing
nulls_first=Falseornulls_last=FalsetoExpression.asc()andExpression.desc()methods, and theOrderByexpression is no longer allowed.
django.dispatch
django.dispatch- [x]
django.dispatch.dispatcher- [x]
django.dispatch.dispatcher.Signal.asendwas added #1965 - [x]
django.dispatch.dispatcher.Signal.asend_robustwas added #1965
- [x]
django.forms
- [x]
django.forms.boundfield- [x]
django.forms.boundfield.BoundFieldwas changed #2118 - [x]
django.forms.boundfield.BoundField.rendererwas added (might be placed inRenderableMixin) #2118 - [x]
django.forms.boundfield.BoundField.template_namewas added (might be placed inRenderableMixin) #2118 - [x]
django.forms.boundfield.BoundField.get_contextwas added (might be placed inRenderableMixin) #2118
- [x]
- [ ]
django.forms.fields- [x]
django.forms.fields.Field.__init__'stemplate_nameargument was added #2107 - [ ]
django.forms.fields.Field.template_namewas added - [x]
django.forms.fields.URLField.__init__'sassume_schemeargument was added #1929 - [ ]
django.forms.fields.URLField.assume_schemewas added - [x]
django.forms.fields.CallableChoiceIteratorwas removed #2075
- [x]
- [x]
django.forms.forms- [x]
django.forms.forms.BaseForm._html_outputwas removed #2122
- [x]
- [x]
django.forms.formsets- [x]
django.forms.formsets.BaseFormSet.form_rendererwas added #2145 - [x]
django.forms.formsets.BaseFormSet.rendererwas added (might be placed inRenderableMixin) #2145
- [x]
- [x]
django.forms.models- [x]
django.forms.models.fields_for_model'sform_declared_fieldsargument was added #2146 - [x]
django.forms.models.save_existing'sinstanceargument was changed toobj#1971 - [x]
django.forms.models.ModelChoiceIteratorwas changed #2075
- [x]
- [x]
django.forms.renderers- [x]
django.forms.renderers.BaseRenderer.field_template_namewas added #2119
- [x]
- [ ]
django.forms.utils- [x]
django.forms.utils.DEFAULT_TEMPLATE_DEPRECATION_MSGwas removed - [ ]
django.forms.utils.RenderableFieldMixinwas added
- [x]
- [x]
django.forms.widgets- [x]
django.forms.widgets.FileInput.allow_multiple_selectedwas added #2147 - [x]
django.forms.widgets.ClearableFileInput.checkedwas added #2147
- [x]
django.http
django.http- [x]
django.http.multipartparser- [x]
django.http.multipartparser.FIELD_TYPESwas added #2064
- [x]
- [x]
django.http.request- [x]
django.http.request.HttpRequest.auserwas added #2064
- [x]
django.middleware
django.middleware- [x]
django.middleware.locale- [x]
django.middleware.locale.LocaleMiddleware.get_fallback_languagewas removed
- [x]
django.shortcuts
django.shortcuts- [x]
django.shortcuts- [x]
django.shortcuts.aget_object_or_404was added #1741 - [x]
django.shortcuts.aget_list_or_404was added #1741
- [x]
django.template, django.templatetags
django.templatedjango.templatetags- [x]
django.template.base- [x]
django.template.base.Template.__iter__was removed #2063
- [x]
- [x]
django.template.defaultfilters- [x]
django.template.defaultfilters.escapeseqwas added #2063
- [x]
- [x]
django.templatetags.tz- [x]
django.templatetags.tz.UnknownTimezoneExceptionwas removed - [x]
django.templatetags.tz.timezone_constructorwas removed
- [x]
django.test
django.test- [x]
django.test.client- [x]
django.test.client.REDIRECT_STATUS_CODESwas added #2059 - [x]
django.test.client.aclosing_iterator_wrapperwas added #2059 - [x]
django.test.client.ClientMixin.asessionwas added #1741 - [x]
django.test.client.ClientMixin.aloginwas added #1741 - [x]
django.test.client.ClientMixin.aforce_loginwas added #1741 - [x]
django.test.client.ClientMixin.alogoutwas added #1741 - [x]
django.test.client.AsyncClient.getwas added #2005 - [x]
django.test.client.AsyncClient.postwas added #2005 - [x]
django.test.client.AsyncClient.headwas added #2005 - [x]
django.test.client.AsyncClient.optionswas added #2005 - [x]
django.test.client.AsyncClient.putwas added #2005 - [x]
django.test.client.AsyncClient.patchwas added #2005 - [x]
django.test.client.AsyncClient.deletewas added #2005 - [x]
django.test.client.AsyncClient.tracewas added #2005
- [x]
- [x]
django.test.html- [x]
django.test.html.Parser.SELF_CLOSING_TAGSwas removed #2060
- [x]
- [x]
django.test.runner- [x]
django.test.runner.RemoteTestResult.addDurationwas added #2005 - [x]
django.test.runner.ParallelTestSuite.used_aliaseswas added #2061 - [x]
django.test.runner.DiscoverRunner.__init__'sdurationsargument was added #2005 - [x]
django.test.runner.DiscoverRunner.build_suite'sextra_testsargument was removed #1978 - [x]
django.test.runner.DiscoverRunner.run_tests'sextra_testsargument was removed #1978
- [x]
- [x]
django.test.testcases- [x]
django.test.testcases.SimpleTestCase.assertFormError's signature was changed (response and form/formset name) #2062 - [x]
django.test.testcases.SimpleTestCase.assertFormSetError's signature was changed (response and form/formset name) #2062 - [x]
django.test.testcases._AssertTemplateUsedContext.rendered_template_nameswas removed #2062 - [x]
django.test.testcases._AssertFormErrorDeprecationHelperwas removed
- [x]
django.utils
django.utils- [x]
django.utils.baseconvwas removed #1977 - [x]
django.utils.choiceswas added- [x]
django.utils.choices.BaseChoiceIteratorwas added #2075 - [x]
django.utils.choices.BlankChoiceIteratorwas added #2075 - [x]
django.utils.choices.CallableChoiceIteratorwas added #2075 - [x]
django.utils.choices.flatten_choiceswas added #2075 - [x]
django.utils.choices.normalize_choiceswas added #2075
- [x]
- [x]
django.utils.crypto- [x]
django.utils.crypto.md5was removed - [x]
django.utils.crypto.new_hashwas removed
- [x]
- [x]
django.utils.datetime_safewas removed #1977 - [x]
django.utils.deprecation- [x]
django.utils.deprecation.RemovedInDjango50Warningwas removed #2006 - [x]
django.utils.deprecation.RemovedInDjango60Warningwas added #2006 - [x]
django.utils.deprecation.RemovedInNextVersionWarningwas changed #2006 - [x]
django.utils.deprecation.RemovedAfterNextVersionWarningwas changed #2006
- [x]
- [x]
django.utils.html- [x]
django.utils.html.VOID_ELEMENTSwas added #2006
- [x]
- [x]
django.utils.text- [x]
django.utils.text.add_truncation_textwas added #2006 - [x]
django.utils.text.Truncator.MAX_LENGTH_HTMLwas added - [x]
django.utils.text.Truncator.add_truncation_textwas removed
- [x]
- [x]
django.utils.timezone- [x]
django.utils.timezone.NOT_PASSEDwas removed - [x]
django.utils.timezone.utc(alias) was removed - [x]
django.utils.timezone.make_aware's argumentis_dstwas removed #2006 - [x]
django.utils.timezone._is_pytz_zonewas removed #1980
- [x]
- [x]
django.utils.topological_sortwas removed #2006 - [x]
django.utils.translation.trans_real- [x]
django.utils.translation.trans_real.ACCEPT_LANGUAGE_HEADER_MAX_LENGTHwas added
- [x]
- [x]
django.utils.version- [x]
django.utils.version.PY312was added
- [x]
django.views
django.views- [x]
django.views.csrf- [x]
django.views.csrf.CSRF_FAILURE_TEMPLATEwas removed #2007 - [x]
django.views.csrf.builtin_template_pathwas added #2007
- [x]
- [x]
django.views.decorators.debug- [x]
django.views.decorators.debug.coroutine_functions_to_sensitive_variableswas added #2007
- [x]
- [x]
django.views.generic.edit- [x]
django.views.generic.edit.DeleteViewCustomDeleteWarningwas removed #2007 - [x]
django.views.generic.edit.BaseDeleteView.__init__was removed #2007
- [x]
- [x]
django.views.i18n- [x]
django.views.i18n.builtin_template_pathwas added #2007 - [x]
django.views.i18n.js_catalog_templatewas removed #2007
- [x]
- [x]
django.views.static- [x]
django.views.static.builtin_template_pathwas added #2007 - [x]
django.views.static.DEFAULT_DIRECTORY_INDEX_TEMPLATEwas removed #2007
- [x]
Django 5.0.1 (compare, release notes)
- [x]
django.db.backends.oracle.base- [x]
django.db.backends.oracle.base.FormatStylePlaceholderCursor.__init__'sdatabaseargument was added #2057
- [x]
Django 5.0.2 (compare, release notes)
- [ ]
django.db.models.sql.query- [ ]
django.db.models.sql.query.get_child_with_renamed_prefix'schildargument was changed
- [ ]
Django 5.0.3 (compare, release notes)
- [x]
django.utils.text- [x]
django.utils.text.re_notagwas added #1990 - [x]
django.utils.text.re_prtwas added #1990 - [x]
django.utils.text.WordsRegexwas added #1990 - [x]
django.utils.text.FakeMatchwas added #1990 - [x]
django.utils.text.re_wordswas changed #1990
- [x]
Django 5.0.4 (compare, release notes)
No interface changes.
Django 5.0.5 e696331 (compare, release notes)
No interface changes.
@sudosubin I just checked while working on the above answer. Sorry if I worked on what you were working on. I'll help you contribute to the list you made.
We've merged lots of 5.0 PRs, but haven't kept these checklists up to date.
How do you think we should handle this checklist maintenance?
@sobolevn Is it viable to grant privileges to frequent contributors like q0w and ngnpope such that they can edit the checklists themselves?
@sobolevn Could you give me permission to update the checklist temporarily? I need it because I got confused checking while I was working on it.
@saJaeHyukc Feel free to copy & paste the whole checklist to a new comment, and I will edit the previous comment to collapse it.
Here's the Markdown content of the last checklist: https://gist.github.com/intgr/126c9e366170e671e1bc6d12a2bc575a
This is a list created by @sudosubin.
This is the current list of tasks I have organized manually. It may be missing some from version 5.0, or include changes from version 4.2.
I think allowlist_todo_django50.txt can also help fill in the missing changes for version 5.0.
Django 4.2.8 (compare, release notes)
- [x]
django.db.models.sql.query- [x]
django.db.models.sql.query.Query.resolve_lookup_value'ssummarizeargument was added #2136
- [x]
Django 5.0 (compare, release notes)
django.conf
django.conf- [x]
django.conf.__init__- [x]
django.conf.USE_DEPRECATED_PYTZ_DEPRECATED_MSGwas removed - [x]
django.conf.USE_L10N_DEPRECATED_MSGwas removed - [x]
django.conf.CSRF_COOKIE_MASKED_DEPRECATED_MSGwas removed - [x]
django.conf.FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSGwas added #2008
- [x]
- [x]
django.conf.global_settings- [x]
django.conf.global_settings.USE_DEPRECATED_PYTZwas removed - [x]
django.conf.global_settings.USE_L10Nwas removed #1979 - [x]
django.conf.global_settings.FORMS_URLFIELD_ASSUME_HTTPSwas added #2008 - [x]
django.conf.global_settings.DATA_UPLOAD_MAX_NUMBER_FILESwas added - [x]
django.conf.global_settings.CSRF_COOKIE_MASKEDwas removed #2008
- [x]
django.contrib
- [x]
django.contrib.admin.__init__- [x]
django.contrib.admin.ShowFacetswas added #2004
- [x]
- [x]
django.contrib.admin.exceptions- [x]
django.contrib.admin.exceptions.AlreadyRegisteredwas added #2004 - [x]
django.contrib.admin.exceptions.NotRegisteredwas added #2004
- [x]
- [x]
django.contrib.admin.filters- [x]
django.contrib.admin.filters.ListFilter.requestwas added #2004 - [x]
django.contrib.admin.filters.FacetsMixinwas added #2004 - [x]
django.contrib.admin.filters.SimpleListFilterwas changed #2004 - [x]
django.contrib.admin.filters.FieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.RelatedFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.BooleanFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.ChoicesFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.DateFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.AllValuesFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.RelatedOnlyFieldListFilterwas changed #2004 - [x]
django.contrib.admin.filters.EmptyFieldListFilterwas changed #2004
- [x]
- [x]
django.contrib.admin.helpers- [x]
django.contrib.admin.helpers.checkboxwas removed #1972
- [x]
- [x]
django.contrib.admin.options- [x]
django.contrib.admin.options.IS_FACETS_VAR#2004 - [x]
django.contrib.admin.options.ShowFacetswas added #1967 - [x]
django.contrib.admin.options.BaseModelAdmin.lookup_allowed'srequestargument was added #1976 - [x]
django.contrib.admin.options.ModelAdmin.show_facetswas added #1967 - [x] ~
django.contrib.admin.options.ModelAdmin._get_preserved_qslwas added~
- [x]
- [x]
django.contrib.admin.sites- [x]
django.contrib.admin.sites.AlreadyRegisteredwas removed #2004 - [x]
django.contrib.admin.sites.NotRegisteredwas removed #2004 - [x]
django.contrib.admin.sites.AdminSite.get_model_adminwas added #2029 - [x]
django.contrib.admin.sites.AdminSite.get_log_entrieswas added #1963
- [x]
- [x]
django.contrib.admin.utils- [x]
django.contrib.admin.utils.get_last_value_from_parameterswas added #2004 - [x]
django.contrib.admin.utils.prepare_lookup_valuewas changed #2004 - [x]
django.contrib.admin.utils.build_q_object_from_lookup_parameterswas added #2004
- [x]
- [x]
django.contrib.admin.views.main- [x]
django.contrib.admin.views.main.ChangeList.add_facetswas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.is_facets_optionalwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.filter_paramswas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.remove_facet_linkwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.add_facet_linkwas added #2079 - [x]
django.contrib.admin.views.main.ChangeList.get_queryset'sexclude_parametersargument was added #2004
- [x]
- [x]
django.contrib.admin.widgets- [x]
django.contrib.admin.widgets.BaseAdminDateWidgetwas added #2105 - [x]
django.contrib.admin.widgets.AdminDateWidgetwas changed #2105 - [x]
django.contrib.admin.widgets.BaseAdminTimeWidgetwas added #2105 - [x]
django.contrib.admin.widgets.AdminTimeWidgetwas changed #2105 - [x]
django.contrib.admin.widgets.RelatedFieldWidgetWrapper.choiceswas added #2105
- [x]
- [x]
django.contrib.auth.__init__- [x]
django.contrib.auth.aauthenticatewas added #1741 - [x]
django.contrib.auth.aloginwas added #1741 - [x]
django.contrib.auth.alogoutwas added #1741 - [x]
django.contrib.auth.aget_userwas added #1741 - [x]
django.contrib.auth.aupdate_session_auth_hashwas added #1741
- [x]
- [x]
django.contrib.auth.admin- [x]
django.contrib.auth.admin.django.contrib.auth.admin.lookup_allowed'srequestargument was added #1976
- [x]
- [x]
django.contrib.auth.backends- [x]
django.contrib.auth.backends.RemoteUserBackend.configure_user'screatedargument was added #2111
- [x]
- [x]
django.contrib.auth.base_user- [x]
django.contrib.auth.base_user.AbstractBaseUser.acheck_passwordwas added #1741 - [x]
django.contrib.auth.base_user.AbstractBaseUser.get_session_auth_fallback_hashwas added #2113
- [x]
- [x]
django.contrib.auth.hashers- [x]
django.contrib.auth.hashers.verify_passwordwas added #2009 - [x]
django.contrib.auth.hashers.acheck_passwordwas added #1741 - [x]
django.contrib.auth.hashers.CryptPasswordHasherwas removed #2009
- [x]
- [x]
django.contrib.auth.middleware- [x]
django.contrib.auth.middleware.auserwas added #1966
- [x]
- [x]
django.contrib.contenttypes.fields- [x]
django.contrib.contenttypes.fields.GenericForeignKey.get_content_type'smodelargument was added #2137 - [x]
django.contrib.contenttypes.fields.GenericForeignKey.get_prefetch_querysetswas added #2137
- [x]
- [x]
django.contrib.contenttypes.prefetch- [x]
django.contrib.contenttypes.prefetch.GenericPrefetchwas added #2115
- [x]
- [x]
django.contrib.gis.admin.__init__- [x]
django.contrib.gis.admin.GeoModelAdminwas removed #1981 - [x]
django.contrib.gis.admin.OpenLayersWidgetwas removed #2116 - [x]
django.contrib.gis.admin.OSMGeoAdminwas removed #1981
- [x]
- [x]
django.contrib.gis.admin.options- [x]
django.contrib.gis.admin.options.spherical_mercator_sridwas removed #2116 - [x]
django.contrib.gis.admin.options.GeoModelAdminwas removed #1981 - [x]
django.contrib.gis.admin.options.OSMGeoAdminwas removed #1981
- [x]
- [x]
django.contrib.gis.admin.widgetswas removed #2116 - [x]
django.contrib.gis.db.backends.postgis.operations- [x]
django.contrib.gis.db.backends.postgis.operations.PostGISOperator.check_geographywas added #2138
- [x]
- [x]
django.contrib.gis.db.backends.spatialite.schema- [x]
django.contrib.gis.db.backends.spatialite.schema.SpatialiteSchemaEditor.alter_db_table'sdisable_constraintsargument was removed #2123
- [x]
- [x]
django.contrib.gis.db.models.functions- [x]
django.contrib.gis.db.models.functions.ClosestPointwas added #1968
- [x]
- [x]
django.contrib.gis.geos.geometry- [x]
django.contrib.gis.geos.geometry.GEOSGeometryBase.equals_identicalwas added #2034
- [x]
- [x]
django.contrib.gis.geos.prototypes.__init__- [x]
django.contrib.gis.geos.prototypes.geos_equalsidenticalwas added #2034
- [x]
- [ ]
django.contrib.gis.geos.prototypes.io- [x]
django.contrib.gis.geos.prototypes.io.default_trim_valuewas added #2034 - [ ]
django.contrib.gis.geos.prototypes.io.DEFAULT_TRIM_VALUEwas added
- [x]
- [x]
django.contrib.gis.geos.prototypes.predicates- [x]
django.contrib.gis.geos.prototypes.predicates.geos_equalsidenticalwas added #2034
- [x]
- [ ]
django.contrib.messages.__init__- [ ]
django.contrib.messages.Messagewas added
- [ ]
- [x]
django.contrib.messages.storage.cookie- [x]
django.contrib.messages.storage.cookie.MessagePartSerializerwas added #2106 - [x]
django.contrib.messages.storage.cookie.MessagePartGatherSerializerwas added #2106 - [x]
django.contrib.messages.storage.cookie.MessageSerializerwas changed #2106 - [x]
django.contrib.messages.storage.cookie.CookieStorage.not_finished_jsonwas added #2106 - [x]
django.contrib.messages.storage.cookie.bisect_keep_leftwas added #2106 - [x]
django.contrib.messages.storage.cookie.bisect_keep_rightwas added #2106
- [x]
- [x]
django.contrib.messages.testwas added #2126 - [x]
django.contrib.postgres.aggregates.general- [x]
django.contrib.postgres.aggregates.general.NOT_PROVIDEDwas removed - [x]
django.contrib.postgres.aggregates.general.DeprecatedConvertValueMixinwas removed - [x]
django.contrib.postgres.aggregates.general.DeprecatedConvertValueMixinwas removed
- [x]
- [x]
django.contrib.postgres.constraints- [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sopclassesargument was removed #2078 - [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.contrib.postgres.constraints.ExclusionConstraint.__init__'sviolation_error_codeargument was added #1969
- [x]
- [x]
django.contrib.sessions.serializers- [x]
django.contrib.sessions.serializers.PickleSerializerwas removed #2068
- [x]
- [x]
django.contrib.sitemaps.__init__- [x]
django.contrib.sitemaps.PING_URLwas removed #2076 - [x]
django.contrib.sitemaps.SitemapNotFoundwas removed #2076 - [x]
django.contrib.sitemaps.ping_googlewas removed #2076
- [x]
- [x]
django.contrib.sitemaps.management.commands.ping_googlewas removed #2076 - [x]
django.contrib.sites.requests- [x]
django.contrib.sites.requests.RequestSite.save'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076
- [x]
- [x]
django.contrib.staticfiles.checks- [x]
django.contrib.staticfiles.checks.E005was added #2076 - [x]
django.contrib.staticfiles.checks.check_storageswas added #2076
- [x]
- [x]
django.contrib.staticfiles.storage- [x]
django.contrib.staticfiles.storage.HashedFilesMixin.support_js_module_import_aggregationwas added #1528
- [x]
django.core
django.core- [x]
django.core.cache.backends.base- [x]
django.core.cache.backends.base.memcached_error_chars_rewas added #1948
- [x]
- [x]
django.core.exceptions- [x]
django.core.exceptions.TooManyFilesSentwas added #1774
- [x]
- [x]
django.core.files.base- [x]
django.core.files.base.File.open's signature was changed #1949
- [x]
- [x]
django.core.handlers.asgi- [x]
django.core.handlers.asgi.get_script_prefixwas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.listen_for_disconnectwas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.run_get_responsewas added #2066 - [x]
django.core.handlers.asgi.ASGIHandler.get_script_prefixwas removed #2066
- [x]
- [x]
django.core.management.commands.inspectdb- [x]
django.core.management.commands.inspectdb.Command.normalize_table_namewas added #2067
- [x]
- [x]
django.core.management.commands.optimizemigrationwas added #2067 - [x]
django.core.management.commands.runserver- [x]
django.core.management.commands.runserver.Command.on_bindwas added #1829
- [x]
- [x]
django.core.paginator- [x]
django.core.paginator.Paginator.default_error_messageswas added #1946 - [x]
django.core.paginator.Paginator.__init__'serror_messagesargument was added #1946
- [x]
- [x]
django.core.serializers.base- [x]
django.core.serializers.base.PickleSerializerwas removed #2068
- [x]
- [x]
django.core.servers.basehttp- [x] ~
django.core.servers.basehttp.ServerHandler.finish_responsewas added~ - [x]
django.core.servers.basehttp.run'son_bindargument was added #2070
- [x] ~
- [x]
django.core.validators- [x]
django.core.validators.URLValidator.max_lengthwas added #1787 - [x]
django.core.validators.StepValueValidator.__init__was changed #1947 - [x]
django.core.validators.StepValueValidator.offsetwas added #1947
- [x]
django.db
-
[x]
django.db.backends.base.base- [x]
django.db.backends.base.base.timezone_constructorwsa removed #1980
- [x]
-
[x]
django.db.backends.base.features- [x]
django.db.backends.base.features.BaseDatabaseFeatures.delete_can_self_reference_subquerywas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_nulls_distinct_unique_constraintswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_atomic_references_renamewas removed #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_expression_defaultswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_default_keyword_in_insertwas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_default_keyword_in_bulk_insertwas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_stored_generated_columnswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.supports_virtual_generated_columnswas added #2099 - [x]
django.db.backends.base.features.BaseDatabaseFeatures.insert_test_table_with_defaultswas added #2099
- [x]
-
[x]
django.db.backends.base.operations- [x]
django.db.backends.base.operations.BaseDatabaseOperations.prepare_join_on_clausewas added #2100
- [x]
-
[x]
django.db.backends.base.schema- [x]
django.db.backends.base.schema.BaseDatabaseSchemaEditor.db_default_sqlwas added #1876
- [x]
-
[ ]
django.db.backends.mysql.base- [ ]
django.db.backends.mysql.base.DatabaseWrapper.data_typeswas changed #2125
- [ ]
-
[x]
django.db.backends.oracle.base- [x]
django.db.backends.oracle.base.DatabaseWrapper.cx_oracle_versionwas removed #2057
- [x]
-
[ ]
django.db.backends.oracle.introspection- [ ]
django.db.backends.oracle.introspection.DatabaseIntrospection.data_types_reversewas changed
- [ ]
-
[ ]
django.db.backends.oracle.oracledb_anywas added -
[ ]
django.db.backends.postgresql.featureswas added- [ ]
django.db.backends.postgresql.features.uses_server_side_bindingwas added - [ ]
django.db.backends.postgresql.features.is_postgresql_15was added
- [ ]
-
[x]
django.db.backends.sqlite3.features- [x]
django.db.backends.sqlite3.features.DatabaseFeatures.can_alter_table_rename_columnwas removed
- [x]
-
[x]
django.db.backends.utils- [x]
django.db.backends.utils.CursorWrapper.APPS_NOT_READY_WARNING_MSGwas added #2102
- [x]
-
[x]
django.db.migrations.serializer- [x]
django.db.migrations.serializer.BaseUnorderedSequenceSerializerwas added #2109 - [x]
django.db.migrations.serializer.FrozensetSerializerwas changed #2109 - [x]
django.db.migrations.serializer.SetSerializerwas changed #2109
- [x]
-
[x]
django.db.models.__init__- [x]
django.db.models.GeneratedFieldwas added #1944
- [x]
-
[x]
django.db.models.base- [x]
django.db.models.base.Model.save'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076 - [x]
django.db.models.base.Model.asave'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076 - [x]
django.db.models.base.Model.save_base'sfoce_insertargument now acceptUnion[bool, Tuple[ModelBase, ...]]#2076
- [x]
-
[x]
django.db.models.constraints- [x]
django.db.models.constraints.BaseConstraint.violation_error_codewas added #1969 #1974 - [x]
django.db.models.constraints.BaseConstraint.__init__'sviolation_error_codeargument was added #1975 #1974 - [x]
django.db.models.constraints.CheckConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.db.models.constraints.CheckConstraint.__init__'sviolation_error_codeargument was added #1969 - [x]
django.db.models.constraints.UniqueConstraint.__init__'snulls_distinct,violation_error_codeargument was added #1880 - [x]
django.db.models.constraints.UniqueConstraint.nulls_distinctwas added #2175
- [x]
-
[x]
django.db.models.enums- [x]
django.db.models.enums.ChoicesTypewas added #1942 - [x]
django.db.models.enums.IntegerChoiceswas changed #2148 - [x]
django.db.models.enums.TextChoiceswas changed #2148
- [x]
-
[x]
django.db.models.expressions- [x]
django.db.models.expressions.BaseExpression.allowed_defaultwas added #2110 - [x]
django.db.models.expressions.BaseExpression.contains_subquerywas added - [x]
django.db.models.expressions.DatabaseDefaultwas added #2110 - [x]
django.db.models.expressions.Subquery.subquerywas added #2110
- [x]
-
[x]
django.db.models.fields.__init__- [x]
django.db.models.fields.Field.generatedwas added #2152 - [x]
django.db.models.fields.Field.__init__'sdb_defaultargument was added #1876 - [x]
django.db.models.fields.Field.db_defaultwas added #1876
- [x]
-
[x]
django.db.models.fields.generated- [x]
django.db.models.fields.generated.GeneratedFieldwas added #1944
- [x]
-
[x]
django.db.models.fields.related- [x]
django.db.models.fields.related.ForeignObject.get_joining_fieldswas added #2151 - [x]
django.db.models.fields.related.ForeignObject.get_reverse_joining_fieldswas added #2151
- [x]
-
[x]
django.db.models.fields.related_descriptors- [x]
django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor.get_prefetch_querysetswas added #2157 - [x]
django.db.models.fields.related_descriptors.ReverseOneToOneDescriptor.get_prefetch_querysetswas added #2157
- [x]
-
[x]
django.db.models.fields.reverse_related- [x]
django.db.models.fields.reverse_related.ForeignObjectRel.get_lookupswas added #2158 - [x]
django.db.models.fields.reverse_related.ForeignObjectRel.get_transformwas added #2158 - [x]
django.db.models.fields.reverse_related.ForeignObjectRel.get_joining_fieldswas added #2158
- [x]
-
[x]
django.db.models.functions.datetime- [x]
django.db.models.functions.datetime.Now.as_oraclewas added #2173 - [x]
django.db.models.functions.datetime.TruncBase.__init__'sis_dstargument was removed #2167 - [x]
django.db.models.functions.datetime.TruncBase.is_dstwas removed #2167 - [x]
django.db.models.functions.datetime.Trunc.__init__'sis_dstargument was removed #2167
- [x]
-
[x]
django.db.models.lookups- [x]
django.db.models.lookups.IntegerFieldOverflowwas added #2103 - [x]
django.db.models.lookups.IntegerFieldExactwas added #2103 - [x]
django.db.models.lookups.IntegerGreaterThanwas added #2103 - [x]
django.db.models.lookups.IntegerGreaterThanOrEqualwas changed #2103 - [x]
django.db.models.lookups.IntegerLessThanwas changed #2103 - [x]
django.db.models.lookups.IntegerLessThanOrEqualwas added #2103
- [x]
-
[x]
django.db.models.query- [x]
django.db.models.query.QuerySet.update_or_create'screate_defaultsargument was added #1970 - [x]
django.db.models.query.QuerySet.aupdate_or_create'screate_defaultsargument was added #1970 - [x]
django.db.models.query.Prefetch.get_current_querysetswas added #2160 - [x]
django.db.models.query.aprefetch_related_objectswas added #1741
- [x]
-
[x]
django.db.models.query_utils- [x]
django.db.models.query_utils.Q.identitywas added #2165 - [x]
django.db.models.query_utils.FilteredRelation.pathwas removed #2165 - [x]
django.db.models.query_utils.FilteredRelation.relabeled_clonewas added #2165 - [x]
django.db.models.query_utils.FilteredRelation.resolve_expressionwas added #2165
- [x]
-
[x]
django.db.models.sql.compiler- [x]
django.db.models.sql.compiler.PositionRefwas added #2166
- [x]
-
[x]
django.db.models.sql.datastructures- [x]
django.db.models.sql.datastructures.Join.equalswas removed #2159 - [x]
django.db.models.sql.datastructures.BaseTable.equalswas removed #2159
- [x]
-
[ ]
django.db.models.sql.query- [ ]
django.db.models.sql.query.get_paths_from_expressionwas added - [ ]
django.db.models.sql.query.get_child_with_renamed_prefixwas added - [ ]
django.db.models.sql.query.rename_prefix_from_qwas added - [x]
django.db.models.sql.query.Query.annotation_select_mask's signature was changed #1973 - [x]
django.db.models.sql.query.Query.join'sreuse_with_filtered_relationargument was removed #2172 - [x]
django.db.models.sql.query.Query.resolve_lookup_value'ssummarizeargument was added #2136 - [x]
django.db.models.sql.query.Query.build_filter'sreuse_with_filtered_relationargument was removed #2172 - [x]
django.db.models.sql.query.Query.build_filter'supdate_join_typesargument was added #2172 - [x]
django.db.models.sql.query.Query.build_filtered_relation_qwas removed #2172 - [x]
django.db.models.sql.query.Query.setup_joinswas removed #2172
- [ ]
-
[ ] Passing
nulls_first=Falseornulls_last=FalsetoExpression.asc()andExpression.desc()methods, and theOrderByexpression is no longer allowed.
django.dispatch
django.dispatch- [x]
django.dispatch.dispatcher- [x]
django.dispatch.dispatcher.Signal.asendwas added #1965 - [x]
django.dispatch.dispatcher.Signal.asend_robustwas added #1965
- [x]
django.forms
- [x]
django.forms.boundfield- [x]
django.forms.boundfield.BoundFieldwas changed #2118 - [x]
django.forms.boundfield.BoundField.rendererwas added (might be placed inRenderableMixin) #2118 - [x]
django.forms.boundfield.BoundField.template_namewas added (might be placed inRenderableMixin) #2118 - [x]
django.forms.boundfield.BoundField.get_contextwas added (might be placed inRenderableMixin) #2118
- [x]
- [ ]
django.forms.fields- [x]
django.forms.fields.Field.__init__'stemplate_nameargument was added #2107 - [ ]
django.forms.fields.Field.template_namewas added - [x]
django.forms.fields.URLField.__init__'sassume_schemeargument was added #1929 - [ ]
django.forms.fields.URLField.assume_schemewas added - [x]
django.forms.fields.CallableChoiceIteratorwas removed #2075
- [x]
- [x]
django.forms.forms- [x]
django.forms.forms.BaseForm._html_outputwas removed #2122
- [x]
- [x]
django.forms.formsets- [x]
django.forms.formsets.BaseFormSet.form_rendererwas added #2145 - [x]
django.forms.formsets.BaseFormSet.rendererwas added (might be placed inRenderableMixin) #2145
- [x]
- [x]
django.forms.models- [x]
django.forms.models.fields_for_model'sform_declared_fieldsargument was added #2146 - [x]
django.forms.models.save_existing'sinstanceargument was changed toobj#1971 - [x]
django.forms.models.ModelChoiceIteratorwas changed #2075
- [x]
- [x]
django.forms.renderers- [x]
django.forms.renderers.BaseRenderer.field_template_namewas added #2119
- [x]
- [x]
django.forms.utils- [x]
django.forms.utils.DEFAULT_TEMPLATE_DEPRECATION_MSGwas removed - [x]
django.forms.utils.RenderableFieldMixinwas added #2118
- [x]
- [x]
django.forms.widgets- [x]
django.forms.widgets.FileInput.allow_multiple_selectedwas added #2147 - [x]
django.forms.widgets.ClearableFileInput.checkedwas added #2147
- [x]
django.http
django.http- [x]
django.http.multipartparser- [x]
django.http.multipartparser.FIELD_TYPESwas added #2064
- [x]
- [x]
django.http.request- [x]
django.http.request.HttpRequest.auserwas added #2064
- [x]
django.middleware
django.middleware- [x]
django.middleware.locale- [x]
django.middleware.locale.LocaleMiddleware.get_fallback_languagewas removed
- [x]
django.shortcuts
django.shortcuts- [x]
django.shortcuts- [x]
django.shortcuts.aget_object_or_404was added #1741 - [x]
django.shortcuts.aget_list_or_404was added #1741
- [x]
django.template, django.templatetags
django.templatedjango.templatetags- [x]
django.template.base- [x]
django.template.base.Template.__iter__was removed #2063
- [x]
- [x]
django.template.defaultfilters- [x]
django.template.defaultfilters.escapeseqwas added #2063
- [x]
- [x]
django.templatetags.tz- [x]
django.templatetags.tz.UnknownTimezoneExceptionwas removed - [x]
django.templatetags.tz.timezone_constructorwas removed
- [x]
django.test
django.test- [x]
django.test.client- [x]
django.test.client.REDIRECT_STATUS_CODESwas added #2059 - [x]
django.test.client.aclosing_iterator_wrapperwas added #2059 - [x]
django.test.client.ClientMixin.asessionwas added #1741 - [x]
django.test.client.ClientMixin.aloginwas added #1741 - [x]
django.test.client.ClientMixin.aforce_loginwas added #1741 - [x]
django.test.client.ClientMixin.alogoutwas added #1741 - [x]
django.test.client.AsyncClient.getwas added #2005 - [x]
django.test.client.AsyncClient.postwas added #2005 - [x]
django.test.client.AsyncClient.headwas added #2005 - [x]
django.test.client.AsyncClient.optionswas added #2005 - [x]
django.test.client.AsyncClient.putwas added #2005 - [x]
django.test.client.AsyncClient.patchwas added #2005 - [x]
django.test.client.AsyncClient.deletewas added #2005 - [x]
django.test.client.AsyncClient.tracewas added #2005
- [x]
- [x]
django.test.html- [x]
django.test.html.Parser.SELF_CLOSING_TAGSwas removed #2060
- [x]
- [x]
django.test.runner- [x]
django.test.runner.RemoteTestResult.addDurationwas added #2005 - [x]
django.test.runner.ParallelTestSuite.used_aliaseswas added #2061 - [x]
django.test.runner.DiscoverRunner.__init__'sdurationsargument was added #2005 - [x]
django.test.runner.DiscoverRunner.build_suite'sextra_testsargument was removed #1978 - [x]
django.test.runner.DiscoverRunner.run_tests'sextra_testsargument was removed #1978
- [x]
- [x]
django.test.testcases- [x]
django.test.testcases.SimpleTestCase.assertFormError's signature was changed (response and form/formset name) #2062 - [x]
django.test.testcases.SimpleTestCase.assertFormSetError's signature was changed (response and form/formset name) #2062 - [x]
django.test.testcases._AssertTemplateUsedContext.rendered_template_nameswas removed #2062 - [x]
django.test.testcases._AssertFormErrorDeprecationHelperwas removed
- [x]
django.utils
django.utils- [x]
django.utils.baseconvwas removed #1977 - [x]
django.utils.choiceswas added- [x]
django.utils.choices.BaseChoiceIteratorwas added #2075 - [x]
django.utils.choices.BlankChoiceIteratorwas added #2075 - [x]
django.utils.choices.CallableChoiceIteratorwas added #2075 - [x]
django.utils.choices.flatten_choiceswas added #2075 - [x]
django.utils.choices.normalize_choiceswas added #2075
- [x]
- [x]
django.utils.crypto- [x]
django.utils.crypto.md5was removed - [x]
django.utils.crypto.new_hashwas removed
- [x]
- [x]
django.utils.datetime_safewas removed #1977 - [x]
django.utils.deprecation- [x]
django.utils.deprecation.RemovedInDjango50Warningwas removed #2006 - [x]
django.utils.deprecation.RemovedInDjango60Warningwas added #2006 - [x]
django.utils.deprecation.RemovedInNextVersionWarningwas changed #2006 - [x]
django.utils.deprecation.RemovedAfterNextVersionWarningwas changed #2006
- [x]
- [x]
django.utils.html- [x]
django.utils.html.VOID_ELEMENTSwas added #2006
- [x]
- [x]
django.utils.text- [x]
django.utils.text.add_truncation_textwas added #2006 - [x]
django.utils.text.Truncator.MAX_LENGTH_HTMLwas added - [x]
django.utils.text.Truncator.add_truncation_textwas removed
- [x]
- [x]
django.utils.timezone- [x]
django.utils.timezone.NOT_PASSEDwas removed - [x]
django.utils.timezone.utc(alias) was removed - [x]
django.utils.timezone.make_aware's argumentis_dstwas removed #2006 - [x]
django.utils.timezone._is_pytz_zonewas removed #1980
- [x]
- [x]
django.utils.topological_sortwas removed #2006 - [x]
django.utils.translation.trans_real- [x]
django.utils.translation.trans_real.ACCEPT_LANGUAGE_HEADER_MAX_LENGTHwas added
- [x]
- [x]
django.utils.version- [x]
django.utils.version.PY312was added
- [x]
django.views
django.views- [x]
django.views.csrf- [x]
django.views.csrf.CSRF_FAILURE_TEMPLATEwas removed #2007 - [x]
django.views.csrf.builtin_template_pathwas added #2007
- [x]
- [x]
django.views.decorators.debug- [x]
django.views.decorators.debug.coroutine_functions_to_sensitive_variableswas added #2007
- [x]
- [x]
django.views.generic.edit- [x]
django.views.generic.edit.DeleteViewCustomDeleteWarningwas removed #2007 - [x]
django.views.generic.edit.BaseDeleteView.__init__was removed #2007
- [x]
- [x]
django.views.i18n- [x]
django.views.i18n.builtin_template_pathwas added #2007 - [x]
django.views.i18n.js_catalog_templatewas removed #2007
- [x]
- [x]
django.views.static- [x]
django.views.static.builtin_template_pathwas added #2007 - [x]
django.views.static.DEFAULT_DIRECTORY_INDEX_TEMPLATEwas removed #2007
- [x]
Django 5.0.1 (compare, release notes)
- [x]
django.db.backends.oracle.base- [x]
django.db.backends.oracle.base.FormatStylePlaceholderCursor.__init__'sdatabaseargument was added #2057
- [x]
Django 5.0.2 (compare, release notes)
- [ ]
django.db.models.sql.query- [ ]
django.db.models.sql.query.get_child_with_renamed_prefix'schildargument was changed
- [ ]
Django 5.0.3 (compare, release notes)
- [x]
django.utils.text- [x]
django.utils.text.re_notagwas added #1990 - [x]
django.utils.text.re_prtwas added #1990 - [x]
django.utils.text.WordsRegexwas added #1990 - [x]
django.utils.text.FakeMatchwas added #1990 - [x]
django.utils.text.re_wordswas changed #1990
- [x]
Django 5.0.4 (compare, release notes)
No interface changes.
Django 5.0.5 e696331 (compare, release notes)
No interface changes.
Django 5.0.6 (compare, release notes)
No interface changes.