Browse Source

Advanced deprecation warnings for Django 5.2.

Natalia 10 months ago
parent
commit
3a748cd0f5
3 changed files with 17 additions and 4 deletions
  1. 4 3
      django/utils/deprecation.py
  2. 8 0
      docs/internals/deprecation.txt
  3. 5 1
      tests/runtests.py

+ 4 - 3
django/utils/deprecation.py

@@ -4,15 +4,16 @@ import warnings
 from asgiref.sync import iscoroutinefunction, markcoroutinefunction, sync_to_async
 from asgiref.sync import iscoroutinefunction, markcoroutinefunction, sync_to_async
 
 
 
 
-class RemovedInNextVersionWarning(DeprecationWarning):
+class RemovedInDjango60Warning(DeprecationWarning):
     pass
     pass
 
 
 
 
-class RemovedInDjango60Warning(PendingDeprecationWarning):
+class RemovedInDjango61Warning(PendingDeprecationWarning):
     pass
     pass
 
 
 
 
-RemovedAfterNextVersionWarning = RemovedInDjango60Warning
+RemovedInNextVersionWarning = RemovedInDjango60Warning
+RemovedAfterNextVersionWarning = RemovedInDjango61Warning
 
 
 
 
 class warn_about_renamed_method:
 class warn_about_renamed_method:

+ 8 - 0
docs/internals/deprecation.txt

@@ -7,6 +7,14 @@ in a backward incompatible way, following their deprecation, as per the
 :ref:`deprecation policy <internal-release-deprecation-policy>`. More details
 :ref:`deprecation policy <internal-release-deprecation-policy>`. More details
 about each item can often be found in the release notes of two versions prior.
 about each item can often be found in the release notes of two versions prior.
 
 
+.. _deprecation-removed-in-6.1:
+
+6.1
+---
+
+See the :ref:`Django 5.2 release notes <deprecated-features-5.2>` for more
+details on these changes.
+
 .. _deprecation-removed-in-6.0:
 .. _deprecation-removed-in-6.0:
 
 
 6.0
 6.0

+ 5 - 1
tests/runtests.py

@@ -28,7 +28,10 @@ else:
     from django.test.runner import get_max_test_processes, parallel_type
     from django.test.runner import get_max_test_processes, parallel_type
     from django.test.selenium import SeleniumTestCase, SeleniumTestCaseBase
     from django.test.selenium import SeleniumTestCase, SeleniumTestCaseBase
     from django.test.utils import NullTimeKeeper, TimeKeeper, get_runner
     from django.test.utils import NullTimeKeeper, TimeKeeper, get_runner
-    from django.utils.deprecation import RemovedInDjango60Warning
+    from django.utils.deprecation import (
+        RemovedInDjango60Warning,
+        RemovedInDjango61Warning,
+    )
     from django.utils.log import DEFAULT_LOGGING
     from django.utils.log import DEFAULT_LOGGING
     from django.utils.version import PY312, PYPY
     from django.utils.version import PY312, PYPY
 
 
@@ -42,6 +45,7 @@ else:
 
 
 # Make deprecation warnings errors to ensure no usage of deprecated features.
 # Make deprecation warnings errors to ensure no usage of deprecated features.
 warnings.simplefilter("error", RemovedInDjango60Warning)
 warnings.simplefilter("error", RemovedInDjango60Warning)
+warnings.simplefilter("error", RemovedInDjango61Warning)
 # Make resource and runtime warning errors to ensure no usage of error prone
 # Make resource and runtime warning errors to ensure no usage of error prone
 # patterns.
 # patterns.
 warnings.simplefilter("error", ResourceWarning)
 warnings.simplefilter("error", ResourceWarning)