Fixed #21939 -- Deprecated loading ssi/url tags from future.
diff --git a/django/templatetags/future.py b/django/templatetags/future.py
index 7203f394bf3aa..c8127ac102d9a 100644
--- a/django/templatetags/future.py
+++ b/django/templatetags/future.py
@@ -1,3 +1,5 @@
+import warnings
+
 from django.template import Library
 from django.template import defaulttags
 
@@ -6,13 +8,19 @@
 
 @register.tag
 def ssi(parser, token):
-    # Used for deprecation path during 1.3/1.4, will be removed in 2.0
+    warnings.warn(
+        "Loading the `ssi` tag from the `future` library is deprecated and "
+        "will be removed in Django 1.9. Use the default `ssi` tag instead.",
+        PendingDeprecationWarning)
     return defaulttags.ssi(parser, token)
 
 
 @register.tag
 def url(parser, token):
-    # Used for deprecation path during 1.3/1.4, will be removed in 2.0
+    warnings.warn(
+        "Loading the `url` tag from the `future` library is deprecated and "
+        "will be removed in Django 1.9. Use the default `url` tag instead.",
+        PendingDeprecationWarning)
     return defaulttags.url(parser, token)
 
 
diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt
index 4b79e4696d8ab..057c6dd3fe0b2 100644
--- a/docs/internals/deprecation.txt
+++ b/docs/internals/deprecation.txt
@@ -12,9 +12,6 @@ about each item can often be found in the release notes of two versions prior.
 2.0
 ---
 
-* ``ssi`` and ``url`` template tags will be removed from the ``future`` template
-  tag library (used during the 1.3/1.4 deprecation period).
-
 .. _deprecation-removed-in-1.9:
 
 1.9
@@ -119,6 +116,9 @@ details on these changes.
 * ``django.utils.module_loading.import_by_path`` will be removed in favor of
   ``django.utils.module_loading.import_string``.
 
+* ``ssi`` and ``url`` template tags will be removed from the ``future`` template
+  tag library (used during the 1.3/1.4 deprecation period).
+
 .. _deprecation-removed-in-1.8:
 
 1.8
diff --git a/docs/intro/tutorial03.txt b/docs/intro/tutorial03.txt
index 975480889717c..5b2bee5fe7851 100644
--- a/docs/intro/tutorial03.txt
+++ b/docs/intro/tutorial03.txt
@@ -548,17 +548,6 @@ defined in your url configurations by using the ``{% url %}`` template tag:
 
     <li><a href="{% url 'detail' question.id %}">{{ question.question_text }}</a></li>
 
-.. note::
-
-    If ``{% url 'detail' question.id %}`` (with quotes) doesn't work, but
-    ``{% url detail question.id %}`` (without quotes) does, that means you're
-    using a version of Django < 1.5. In this case, add the following
-    declaration at the top of your template:
-
-    .. code-block:: html+django
-
-        {% load url from future %}
-
 The way this works is by looking up the URL definition as specified in the
 ``polls.urls`` module. You can see exactly where the URL name of 'detail' is
 defined below::
diff --git a/docs/releases/1.7.txt b/docs/releases/1.7.txt
index 8e9ebe72a126a..cd9a9dd225eee 100644
--- a/docs/releases/1.7.txt
+++ b/docs/releases/1.7.txt
@@ -1337,3 +1337,12 @@ The functionality required by ``check_field()`` is the same as that provided
 by ``validate_field()``, but the output format is different. Third-party database
 backends needing this functionality should modify their backends to provide an
 implementation of ``check_field()``.
+
+Loading ``ssi`` and ``url`` template tags from ``future`` library
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Django 1.3 introduced ``{% load ssi from future %}`` and
+``{% load url from future %}`` syntax for forward compatibility of the
+:ttag:`ssi` and :ttag:`url` template tags. This syntax is now deprecated and
+will be removed in Django 1.9. You can simply remove the
+``{% load ... from future %}`` tags.
diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py
index f10d9ea889d6e..5263040212a76 100644
--- a/tests/template_tests/tests.py
+++ b/tests/template_tests/tests.py
@@ -612,8 +612,10 @@ def test_templates(self):
                             try:
                                 try:
                                     with warnings.catch_warnings():
-                                        # Ignore pending deprecations of the old syntax of the 'cycle' and 'firstof' tags.
+                                        # Ignore deprecations of the old syntax of the 'cycle' and 'firstof' tags.
                                         warnings.filterwarnings("ignore", category=DeprecationWarning, module='django.template.base')
+                                        # Ignore pending deprecations of loading 'ssi' and 'url' tags from future.
+                                        warnings.filterwarnings("ignore", category=PendingDeprecationWarning, module='django.templatetags.future')
                                         test_template = loader.get_template(name)
                                 except ShouldNotExecuteException:
                                     failures.append("Template test (Cached='%s', TEMPLATE_STRING_IF_INVALID='%s', TEMPLATE_DEBUG=%s): %s -- FAILED. Template loading invoked method that shouldn't have been invoked." % (is_cached, invalid_str, template_debug, name))
