Browse Source

Advanced deprecation warnings for Django 4.2.

Carlton Gibson 2 years ago
parent
commit
cdb2f7f36c
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

@@ -5,15 +5,16 @@ import warnings
 from asgiref.sync import sync_to_async
 
 
-class RemovedInNextVersionWarning(DeprecationWarning):
+class RemovedInDjango50Warning(DeprecationWarning):
     pass
 
 
-class RemovedInDjango50Warning(PendingDeprecationWarning):
+class RemovedInDjango51Warning(PendingDeprecationWarning):
     pass
 
 
-RemovedAfterNextVersionWarning = RemovedInDjango50Warning
+RemovedInNextVersionWarning = RemovedInDjango50Warning
+RemovedAfterNextVersionWarning = RemovedInDjango51Warning
 
 
 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
 about each item can often be found in the release notes of two versions prior.
 
+.. _deprecation-removed-in-5.1:
+
+5.1
+---
+
+See the :ref:`Django 4.2 release notes <deprecated-features-4.2>` for more
+details on these changes.
+
 .. _deprecation-removed-in-5.0:
 
 5.0

+ 5 - 1
tests/runtests.py

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