diff --git a/django/conf/__init__.py b/django/conf/__init__.py
--- a/django/conf/__init__.py
+++ b/django/conf/__init__.py
@@ -181,7 +181,7 @@
             "handler: adding implicit debug-false-only filter. "
             "See http://docs.djangoproject.com/en/dev/releases/1.4/"
             "#request-exceptions-are-now-always-logged",
-            PendingDeprecationWarning)
+            DeprecationWarning)
 
         filter_name = "require_debug_false"
 
diff --git a/django/conf/urls/defaults.py b/django/conf/urls/defaults.py
--- a/django/conf/urls/defaults.py
+++ b/django/conf/urls/defaults.py
@@ -1,6 +1,6 @@
 import warnings
 warnings.warn("django.conf.urls.defaults is deprecated; use django.conf.urls instead",
-              PendingDeprecationWarning)
+              DeprecationWarning)
 
 from django.conf.urls import (handler403, handler404, handler500,
         include, patterns, url)
diff --git a/django/contrib/admin/templatetags/adminmedia.py b/django/contrib/admin/templatetags/adminmedia.py
--- a/django/contrib/admin/templatetags/adminmedia.py
+++ b/django/contrib/admin/templatetags/adminmedia.py
@@ -11,5 +11,5 @@
     """
     warnings.warn(
         "The admin_media_prefix template tag is deprecated. "
-        "Use the static template tag instead.", PendingDeprecationWarning)
+        "Use the static template tag instead.", DeprecationWarning)
     return PrefixNode.handle_simple("ADMIN_MEDIA_PREFIX")
diff --git a/django/contrib/databrowse/__init__.py b/django/contrib/databrowse/__init__.py
--- a/django/contrib/databrowse/__init__.py
+++ b/django/contrib/databrowse/__init__.py
@@ -2,5 +2,4 @@
 from django.contrib.databrowse.sites import DatabrowsePlugin, ModelDatabrowse, DatabrowseSite, site
 
 
-warnings.warn("The Databrowse contrib app is deprecated",
-    PendingDeprecationWarning)
+warnings.warn("The Databrowse contrib app is deprecated", DeprecationWarning)
diff --git a/django/contrib/formtools/tests/__init__.py b/django/contrib/formtools/tests/__init__.py
--- a/django/contrib/formtools/tests/__init__.py
+++ b/django/contrib/formtools/tests/__init__.py
@@ -50,6 +50,8 @@
         self.save_warnings_state()
         warnings.filterwarnings('ignore', category=DeprecationWarning,
                                 module='django.contrib.formtools.utils')
+        warnings.filterwarnings('ignore', category=DeprecationWarning,
+                                module='django.contrib.formtools.wizard.legacy')
 
         # Create a FormPreview instance to share between tests
         self.preview = preview.FormPreview(TestForm)
diff --git a/django/contrib/formtools/wizard/legacy.py b/django/contrib/formtools/wizard/legacy.py
--- a/django/contrib/formtools/wizard/legacy.py
+++ b/django/contrib/formtools/wizard/legacy.py
@@ -39,7 +39,7 @@
         warnings.warn(
             'Old-style form wizards have been deprecated; use the class-based '
             'views in django.contrib.formtools.wizard.views instead.',
-            PendingDeprecationWarning)
+            DeprecationWarning)
 
     def __repr__(self):
         return "step: %d\nform_list: %s\ninitial_data: %s" % (self.step, self.form_list, self.initial)
diff --git a/django/contrib/gis/utils/geoip.py b/django/contrib/gis/utils/geoip.py
--- a/django/contrib/gis/utils/geoip.py
+++ b/django/contrib/gis/utils/geoip.py
@@ -10,5 +10,5 @@
         def __init__(self, *args, **kwargs):
             warnings.warn('GeoIP class has been moved to `django.contrib.gis.geoip`, and '
                           'this shortcut will disappear in Django v1.6.',
-                          PendingDeprecationWarning, stacklevel=2)
+                          DeprecationWarning, stacklevel=2)
             super(GeoIP, self).__init__(*args, **kwargs)
diff --git a/django/contrib/localflavor/uk/forms.py b/django/contrib/localflavor/uk/forms.py
--- a/django/contrib/localflavor/uk/forms.py
+++ b/django/contrib/localflavor/uk/forms.py
@@ -3,7 +3,7 @@
 import warnings
 warnings.warn(
     'The "UK" prefix for United Kingdom has been deprecated in favour of the '
-    'GB code. Please use the new GB-prefixed names.', PendingDeprecationWarning)
+    'GB code. Please use the new GB-prefixed names.', DeprecationWarning)
 
 UKPostcodeField = forms.GBPostcodeField
 UKCountySelect = forms.GBCountySelect
diff --git a/django/contrib/localflavor/uk/uk_regions.py b/django/contrib/localflavor/uk/uk_regions.py
--- a/django/contrib/localflavor/uk/uk_regions.py
+++ b/django/contrib/localflavor/uk/uk_regions.py
@@ -6,7 +6,7 @@
 import warnings
 warnings.warn(
     'The "UK" prefix for United Kingdom has been deprecated in favour of the '
-    'GB code. Please use the new GB-prefixed names.', PendingDeprecationWarning)
+    'GB code. Please use the new GB-prefixed names.', DeprecationWarning)
 
 UK_NATIONS_CHOICES = GB_NATIONS_CHOICES
 UK_REGION_CHOICES  = GB_REGION_CHOICES
diff --git a/django/core/cache/backends/memcached.py b/django/core/cache/backends/memcached.py
--- a/django/core/cache/backends/memcached.py
+++ b/django/core/cache/backends/memcached.py
@@ -130,7 +130,7 @@
         import warnings
         warnings.warn(
             "memcached.CacheClass has been split into memcached.MemcachedCache and memcached.PyLibMCCache. Please update your cache backend setting.",
-            PendingDeprecationWarning
+            DeprecationWarning
         )
         try:
             import memcache
diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py
--- a/django/core/management/__init__.py
+++ b/django/core/management/__init__.py
@@ -395,7 +395,7 @@
         "you likely need to update your 'manage.py'; "
         "please see the Django 1.4 release notes "
         "(https://docs.djangoproject.com/en/dev/releases/1.4/).",
-        PendingDeprecationWarning)
+        DeprecationWarning)
 
     # Add this project to sys.path so that it's importable in the conventional
     # way. For example, if this file (manage.py) lives in a directory
@@ -451,7 +451,7 @@
         "you likely need to update your 'manage.py'; "
         "please see the Django 1.4 release notes "
         "(https://docs.djangoproject.com/en/dev/releases/1.4/).",
-        PendingDeprecationWarning)
+        DeprecationWarning)
 
     setup_environ(settings_mod)
     utility = ManagementUtility(argv)
diff --git a/django/http/__init__.py b/django/http/__init__.py
--- a/django/http/__init__.py
+++ b/django/http/__init__.py
@@ -297,7 +297,7 @@
 
     @property
     def raw_post_data(self):
-        warnings.warn('HttpRequest.raw_post_data has been deprecated. Use HttpRequest.body instead.', PendingDeprecationWarning)
+        warnings.warn('HttpRequest.raw_post_data has been deprecated. Use HttpRequest.body instead.', DeprecationWarning)
         return self.body
 
     def _mark_post_parse_error(self):
diff --git a/django/middleware/common.py b/django/middleware/common.py
--- a/django/middleware/common.py
+++ b/django/middleware/common.py
@@ -130,16 +130,14 @@
     if getattr(settings, 'IGNORABLE_404_STARTS', ()):
         import warnings
         warnings.warn('The IGNORABLE_404_STARTS setting has been deprecated '
-                      'in favor of IGNORABLE_404_URLS.',
-                      PendingDeprecationWarning)
+                      'in favor of IGNORABLE_404_URLS.', DeprecationWarning)
         for start in settings.IGNORABLE_404_STARTS:
             if uri.startswith(start):
                 return True
     if getattr(settings, 'IGNORABLE_404_ENDS', ()):
         import warnings
         warnings.warn('The IGNORABLE_404_ENDS setting has been deprecated '
-                      'in favor of IGNORABLE_404_URLS.',
-                      PendingDeprecationWarning)
+                      'in favor of IGNORABLE_404_URLS.', DeprecationWarning)
         for end in settings.IGNORABLE_404_ENDS:
             if uri.endswith(end):
                 return True
diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py
--- a/django/template/defaultfilters.py
+++ b/django/template/defaultfilters.py
@@ -53,7 +53,7 @@
             warnings.warn("Setting the %s attribute of a template filter "
                           "function is deprecated; use @register.filter(%s=%s) "
                           "instead" % (attr, attr, getattr(func, attr)),
-                          PendingDeprecationWarning)
+                          DeprecationWarning)
             setattr(_dec, attr, getattr(func, attr))
 
     return wraps(func)(_dec)
diff --git a/django/utils/copycompat.py b/django/utils/copycompat.py
--- a/django/utils/copycompat.py
+++ b/django/utils/copycompat.py
@@ -7,7 +7,7 @@
 import warnings
 
 warnings.warn("django.utils.copycompat is deprecated; use the native copy module instead",
-              PendingDeprecationWarning)
+              DeprecationWarning)
 
 # Monkeypatch copy's deepcopy registry to handle functions correctly.
 if (hasattr(copy, '_deepcopy_dispatch') and types.FunctionType not in copy._deepcopy_dispatch):
diff --git a/django/utils/hashcompat.py b/django/utils/hashcompat.py
--- a/django/utils/hashcompat.py
+++ b/django/utils/hashcompat.py
@@ -6,7 +6,7 @@
 
 import warnings
 warnings.warn("django.utils.hashcompat is deprecated; use hashlib instead",
-              PendingDeprecationWarning)
+              DeprecationWarning)
 
 import hashlib
 md5_constructor = hashlib.md5
diff --git a/django/utils/itercompat.py b/django/utils/itercompat.py
--- a/django/utils/itercompat.py
+++ b/django/utils/itercompat.py
@@ -26,10 +26,10 @@
 
 def all(iterable):
     warnings.warn("django.utils.itercompat.all is deprecated; use the native version instead",
-                  PendingDeprecationWarning)
+                  DeprecationWarning)
     return __builtin__.all(iterable)
 
 def any(iterable):
     warnings.warn("django.utils.itercompat.any is deprecated; use the native version instead",
-                  PendingDeprecationWarning)
+                  DeprecationWarning)
     return __builtin__.any(iterable)
diff --git a/django/utils/text.py b/django/utils/text.py
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ -206,14 +206,14 @@
 
 def truncate_words(s, num, end_text='...'):
     warnings.warn('This function has been deprecated. Use the Truncator class '
-        'in django.utils.text instead.', category=PendingDeprecationWarning)
+        'in django.utils.text instead.', category=DeprecationWarning)
     truncate = end_text and ' %s' % end_text or ''
     return Truncator(s).words(num, truncate=truncate)
 truncate_words = allow_lazy(truncate_words, unicode)
 
 def truncate_html_words(s, num, end_text='...'):
     warnings.warn('This function has been deprecated. Use the Truncator class '
-        'in django.utils.text instead.', category=PendingDeprecationWarning)
+        'in django.utils.text instead.', category=DeprecationWarning)
     truncate = end_text and ' %s' % end_text or ''
     return Truncator(s).words(num, truncate=truncate, html=True)
 truncate_html_words = allow_lazy(truncate_html_words, unicode)
diff --git a/django/views/decorators/cache.py b/django/views/decorators/cache.py
--- a/django/views/decorators/cache.py
+++ b/django/views/decorators/cache.py
@@ -44,8 +44,8 @@
         warnings.warn('The cache_page decorator must be called like: '
                       'cache_page(timeout, [cache=cache name], [key_prefix=key prefix]). '
                       'All other ways are deprecated.',
-                      PendingDeprecationWarning,
-                      stacklevel=3)
+                      DeprecationWarning,
+                      stacklevel=2)
 
     if len(args) > 1:
         assert len(args) == 2, "cache_page accepts at most 2 arguments"
diff --git a/django/views/decorators/csrf.py b/django/views/decorators/csrf.py
--- a/django/views/decorators/csrf.py
+++ b/django/views/decorators/csrf.py
@@ -55,7 +55,7 @@
     """
     warnings.warn("csrf_response_exempt is deprecated. It no longer performs a "
                   "function, and calls to it can be removed.",
-                  PendingDeprecationWarning)
+                  DeprecationWarning)
     return view_func
 
 def csrf_view_exempt(view_func):
@@ -63,7 +63,7 @@
     Marks a view function as being exempt from CSRF view protection.
     """
     warnings.warn("csrf_view_exempt is deprecated. Use csrf_exempt instead.",
-                  PendingDeprecationWarning)
+                  DeprecationWarning)
     return csrf_exempt(view_func)
 
 def csrf_exempt(view_func):
diff --git a/tests/regressiontests/cache/tests.py b/tests/regressiontests/cache/tests.py
--- a/tests/regressiontests/cache/tests.py
+++ b/tests/regressiontests/cache/tests.py
@@ -1442,12 +1442,18 @@
 )
 class CacheMiddlewareTest(TestCase):
 
+    # The following tests will need to be modified in Django 1.6 to not use
+    # deprecated ways of using the cache_page decorator that will be removed in
+    # such version
     def setUp(self):
         self.factory = RequestFactory()
         self.default_cache = get_cache('default')
         self.other_cache = get_cache('other')
+        self.save_warnings_state()
+        warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.views.decorators.cache')
 
     def tearDown(self):
+        self.restore_warnings_state()
         self.default_cache.clear()
         self.other_cache.clear()
 
diff --git a/tests/regressiontests/decorators/tests.py b/tests/regressiontests/decorators/tests.py
--- a/tests/regressiontests/decorators/tests.py
+++ b/tests/regressiontests/decorators/tests.py
@@ -70,7 +70,7 @@
 
     def setUp(self):
         self.warning_state = get_warnings_state()
-        warnings.filterwarnings('ignore', category=PendingDeprecationWarning,
+        warnings.filterwarnings('ignore', category=DeprecationWarning,
                                 module='django.views.decorators.cache')
 
     def tearDown(self):
diff --git a/tests/regressiontests/logging_tests/tests.py b/tests/regressiontests/logging_tests/tests.py
--- a/tests/regressiontests/logging_tests/tests.py
+++ b/tests/regressiontests/logging_tests/tests.py
@@ -1,9 +1,10 @@
 import copy
+import warnings
 
 from django.conf import compat_patch_logging_config
 from django.core import mail
 from django.test import TestCase, RequestFactory
-from django.test.utils import override_settings
+from django.test.utils import override_settings, get_warnings_state, restore_warnings_state
 from django.utils.log import CallbackFilter, RequireDebugFalse, getLogger
 
 
@@ -40,7 +41,13 @@
 
         """
         config = copy.deepcopy(OLD_LOGGING)
-        compat_patch_logging_config(config)
+
+        warnings_state = get_warnings_state()
+        warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.conf')
+        try:
+            compat_patch_logging_config(config)
+        finally:
+            restore_warnings_state(warnings_state)
 
         self.assertEqual(
             config["handlers"]["mail_admins"]["filters"],
diff --git a/tests/regressiontests/requests/tests.py b/tests/regressiontests/requests/tests.py
--- a/tests/regressiontests/requests/tests.py
+++ b/tests/regressiontests/requests/tests.py
@@ -420,5 +420,10 @@
                                'CONTENT_LENGTH': len(payload),
                                'wsgi.input': ExplodingStringIO(payload)})
 
-        with self.assertRaises(UnreadablePostError):
-            request.raw_post_data
+        warnings_state = get_warnings_state()
+        warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.http')
+        try:
+            with self.assertRaises(UnreadablePostError):
+                request.raw_post_data
+        finally:
+            restore_warnings_state(warnings_state)
diff --git a/tests/regressiontests/settings_tests/tests.py b/tests/regressiontests/settings_tests/tests.py
--- a/tests/regressiontests/settings_tests/tests.py
+++ b/tests/regressiontests/settings_tests/tests.py
@@ -1,4 +1,5 @@
 import os
+import warnings
 
 from django.conf import settings, global_settings
 from django.core.exceptions import ImproperlyConfigured
@@ -274,10 +275,14 @@
     Ensures proper settings file is used in setup_environ if
     DJANGO_SETTINGS_MODULE is set in the environment.
     """
+    # Decide what to do with these tests when setup_environ() gets removed in Django 1.6
     def setUp(self):
         self.original_value = os.environ.get('DJANGO_SETTINGS_MODULE')
+        self.save_warnings_state()
+        warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.core.management')
 
     def tearDown(self):
+        self.restore_warnings_state()
         if self.original_value:
             os.environ['DJANGO_SETTINGS_MODULE'] = self.original_value
         elif 'DJANGO_SETTINGS_MODULE' in os.environ:
diff --git a/tests/regressiontests/utils/text.py b/tests/regressiontests/utils/text.py
--- a/tests/regressiontests/utils/text.py
+++ b/tests/regressiontests/utils/text.py
@@ -1,9 +1,19 @@
 # -*- coding: utf-8 -*-
-import unittest
+import warnings
 
+from django.test import SimpleTestCase
 from django.utils import text
 
-class TestUtilsText(unittest.TestCase):
+class TestUtilsText(SimpleTestCase):
+
+    # In Django 1.6 truncate_words() and truncate_html_words() will be removed
+    # so these tests will need to be adapted accordingly
+    def setUp(self):
+        self.save_warnings_state()
+        warnings.filterwarnings('ignore', category=DeprecationWarning, module='django.utils.text')
+
+    def tearDown(self):
+        self.restore_warnings_state()
 
     def test_truncate_chars(self):
         truncator = text.Truncator(
diff --git a/tests/runtests.py b/tests/runtests.py
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -10,7 +10,7 @@
 
 # databrowse is deprecated, but we still want to run its tests
 warnings.filterwarnings('ignore', "The Databrowse contrib app is deprecated",
-                        PendingDeprecationWarning, 'django.contrib.databrowse')
+                        DeprecationWarning, 'django.contrib.databrowse')
 
 CONTRIB_DIR_NAME = 'django.contrib'
 MODEL_TESTS_DIR_NAME = 'modeltests'
