diff --git a/docs/howto/custom-management-commands.txt b/docs/howto/custom-management-commands.txt
--- a/docs/howto/custom-management-commands.txt
+++ b/docs/howto/custom-management-commands.txt
@@ -2,8 +2,6 @@
 Writing custom django-admin commands
 ====================================
 
-.. versionadded:: 1.0
-
 Applications can register their own actions with ``manage.py``. For example,
 you might want to add a ``manage.py`` action for a Django app that you're
 distributing. In this document, we will be building a custom ``closepoll``
diff --git a/docs/howto/custom-model-fields.txt b/docs/howto/custom-model-fields.txt
--- a/docs/howto/custom-model-fields.txt
+++ b/docs/howto/custom-model-fields.txt
@@ -2,7 +2,6 @@
 Writing custom model fields
 ===========================
 
-.. versionadded:: 1.0
 .. currentmodule:: django.db.models
 
 Introduction
diff --git a/docs/howto/custom-template-tags.txt b/docs/howto/custom-template-tags.txt
--- a/docs/howto/custom-template-tags.txt
+++ b/docs/howto/custom-template-tags.txt
@@ -155,8 +155,6 @@
 Filters and auto-escaping
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 When writing a custom filter, give some thought to how the filter will interact
 with Django's auto-escaping behavior. Note that three types of strings can be
 passed around inside the template code:
@@ -426,8 +424,6 @@
 Auto-escaping considerations
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 The output from template tags is **not** automatically run through the
 auto-escaping filters. However, there are still a couple of things you should
 keep in mind when writing a template tag.
@@ -605,10 +601,6 @@
             raise template.TemplateSyntaxError, "%r tag's argument should be in quotes" % tag_name
         return FormatTimeNode(date_to_be_formatted, format_string[1:-1])
 
-.. versionchanged:: 1.0
-    Variable resolution has changed in the 1.0 release of Django. ``template.resolve_variable()``
-    has been deprecated in favor of a new ``template.Variable`` class.
-
 You also have to change the renderer to retrieve the actual contents of the
 ``date_updated`` property of the ``blog_entry`` object.  This can be
 accomplished by using the ``Variable()`` class in ``django.template``.
diff --git a/docs/howto/deployment/modpython.txt b/docs/howto/deployment/modpython.txt
--- a/docs/howto/deployment/modpython.txt
+++ b/docs/howto/deployment/modpython.txt
@@ -63,9 +63,6 @@
 Django mod_python handler." It passes the value of :ref:`DJANGO_SETTINGS_MODULE
 <django-settings-module>` so mod_python knows which settings to use.
 
-.. versionadded:: 1.0
-    The ``PythonOption django.root ...`` is new in this version.
-
 Because mod_python does not know we are serving this site from underneath the
 ``/mysite/`` prefix, this value needs to be passed through to the mod_python
 handler in Django, via the ``PythonOption django.root ...`` line. The value set
diff --git a/docs/intro/tutorial02.txt b/docs/intro/tutorial02.txt
--- a/docs/intro/tutorial02.txt
+++ b/docs/intro/tutorial02.txt
@@ -38,9 +38,6 @@
       need to know is that it maps URL roots to applications. In the end, you
       should have a ``urls.py`` file that looks like this:
 
-    .. versionchanged:: 1.1
-        The method for adding admin urls has changed in Django 1.1.
-
       .. parsed-literal::
 
           from django.conf.urls.defaults import *
diff --git a/docs/ref/authbackends.txt b/docs/ref/authbackends.txt
--- a/docs/ref/authbackends.txt
+++ b/docs/ref/authbackends.txt
@@ -26,8 +26,6 @@
 
 .. class:: RemoteUserBackend
 
-    .. versionadded:: 1.1
-
     Use this backend to take advantage of external-to-Django-handled
     authentication.  It authenticates using usernames passed in
     :attr:`request.META['REMOTE_USER'] <django.http.HttpRequest.META>`.  See
diff --git a/docs/ref/contrib/admin/actions.txt b/docs/ref/contrib/admin/actions.txt
--- a/docs/ref/contrib/admin/actions.txt
+++ b/docs/ref/contrib/admin/actions.txt
@@ -2,8 +2,6 @@
 Admin actions
 =============
 
-.. versionadded:: 1.1
-
 .. currentmodule:: django.contrib.admin
 
 The basic workflow of Django's admin is, in a nutshell, "select an object,
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -423,8 +423,6 @@
 
 .. attribute:: ModelAdmin.list_editable
 
-.. versionadded:: 1.1
-
 Set ``list_editable`` to a list of field names on the model which will allow
 editing on the change list page. That is, fields listed in ``list_editable``
 will be displayed as form widgets on the change list page, allowing users to
@@ -647,8 +645,6 @@
 
 .. attribute:: ModelAdmin.formfield_overrides
 
-.. versionadded:: 1.1
-
 This provides a quick-and-dirty way to override some of the
 :class:`~django.forms.Field` options for use in the admin.
 ``formfield_overrides`` is a dictionary mapping a field class to a dict of
@@ -689,16 +685,12 @@
 
 .. attribute:: ModelAdmin.actions
 
-.. versionadded:: 1.1
-
 A list of actions to make available on the change list page. See
 :doc:`/ref/contrib/admin/actions` for details.
 
 .. attribute:: ModelAdmin.actions_on_top
 .. attribute:: ModelAdmin.actions_on_bottom
 
-.. versionadded:: 1.1
-
 Controls where on the page the actions bar appears. By default, the admin
 changelist displays actions at the top of the page (``actions_on_top = True;
 actions_on_bottom = False``).
@@ -797,8 +789,6 @@
 
 .. method:: ModelAdmin.get_urls(self)
 
-.. versionadded:: 1.1
-
 The ``get_urls`` method on a ``ModelAdmin`` returns the URLs to be used for
 that ModelAdmin in the same way as a URLconf.  Therefore you can extend them as
 documented in :doc:`/topics/http/urls`::
@@ -855,8 +845,6 @@
 
 .. method:: ModelAdmin.formfield_for_foreignkey(self, db_field, request, **kwargs)
 
-.. versionadded:: 1.1
-
 The ``formfield_for_foreignkey`` method on a ``ModelAdmin`` allows you to
 override the default formfield for a foreign key field. For example, to
 return a subset of objects for this foreign key field based on the user::
@@ -872,8 +860,6 @@
 
 .. method:: ModelAdmin.formfield_for_manytomany(self, db_field, request, **kwargs)
 
-.. versionadded:: 1.1
-
 Like the ``formfield_for_foreignkey`` method, the ``formfield_for_manytomany``
 method can be overridden to change the default formfield for a many to many
 field. For example, if an owner can own multiple cars and cars can belong
@@ -1418,8 +1404,6 @@
 Python class), and register your models and ``ModelAdmin`` subclasses
 with it instead of using the default.
 
-.. versionadded:: 1.1
-
 When constructing an instance of an ``AdminSite``, you are able to provide
 a unique instance name using the ``name`` argument to the constructor. This
 instance name is used to identify the instance, especially when
@@ -1505,10 +1489,6 @@
 Django-powered Web site. Just create multiple instances of ``AdminSite`` and
 root each one at a different URL.
 
-.. versionchanged:: 1.1
-    The method for hooking ``AdminSite`` instances into urls has changed in
-    Django 1.1.
-
 In this example, the URLs ``/basic-admin/`` and ``/advanced-admin/`` feature
 separate versions of the admin site -- using the ``AdminSite`` instances
 ``myproject.admin.basic_site`` and ``myproject.admin.advanced_site``,
@@ -1531,8 +1511,6 @@
 Adding views to admin sites
 ---------------------------
 
-.. versionadded:: 1.1
-
 Just like :class:`ModelAdmin`, :class:`AdminSite` provides a
 :meth:`~django.contrib.admin.ModelAdmin.get_urls()` method
 that can be overridden to define additional views for the site. To add
@@ -1552,8 +1530,6 @@
 Reversing Admin URLs
 ====================
 
-.. versionadded:: 1.1
-
 When an :class:`AdminSite` is deployed, the views provided by that site are
 accessible using Django's :ref:`URL reversing system <naming-url-patterns>`.
 
diff --git a/docs/ref/contrib/csrf.txt b/docs/ref/contrib/csrf.txt
--- a/docs/ref/contrib/csrf.txt
+++ b/docs/ref/contrib/csrf.txt
@@ -241,7 +241,6 @@
 Exceptions
 ----------
 
-.. versionadded:: 1.1
 .. versionchanged:: 1.2
     Import paths for the decorators below were changed.
 
diff --git a/docs/ref/contrib/flatpages.txt b/docs/ref/contrib/flatpages.txt
--- a/docs/ref/contrib/flatpages.txt
+++ b/docs/ref/contrib/flatpages.txt
@@ -17,8 +17,6 @@
 A flatpage can use a custom template or a default, systemwide flatpage
 template. It can be associated with one, or multiple, sites.
 
-.. versionadded:: 1.0
-
 The content field may optionally be left blank if you prefer to put your
 content in a custom template.
 
diff --git a/docs/ref/contrib/formtools/form-wizard.txt b/docs/ref/contrib/formtools/form-wizard.txt
--- a/docs/ref/contrib/formtools/form-wizard.txt
+++ b/docs/ref/contrib/formtools/form-wizard.txt
@@ -5,8 +5,6 @@
 .. module:: django.contrib.formtools.wizard
     :synopsis: Splits forms across multiple Web pages.
 
-.. versionadded:: 1.0
-
 Django comes with an optional "form wizard" application that splits
 :doc:`forms </topics/forms/index>` across multiple Web pages. It maintains
 state in hashed HTML :samp:`<input type="hidden">` fields, and the data isn't
diff --git a/docs/ref/contrib/gis/gdal.txt b/docs/ref/contrib/gis/gdal.txt
--- a/docs/ref/contrib/gis/gdal.txt
+++ b/docs/ref/contrib/gis/gdal.txt
@@ -459,8 +459,6 @@
 
    .. classmethod:: from_bbox(bbox)
 
-   .. versionadded:: 1.1
-
    Constructs a :class:`Polygon` from the given bounding-box (a 4-tuple).
 
    .. method:: __len__
@@ -601,8 +599,6 @@
 
    .. attribute:: kml
 
-   .. versionadded:: 1.1
-
    Returns a string representation of this geometry in KML format.
 
    .. attribute:: wkb_size
@@ -889,8 +885,6 @@
 
    .. method:: expand_to_include(self, *args)
 
-   .. versionadded:: 1.1
-
 Coordinate System Objects
 =========================
 
@@ -992,8 +986,6 @@
    Import spatial reference from PROJ.4 string.
 
    .. method:: import_user_input(user_input)
-  
-   .. versionadded:: 1.1
 
    .. method:: import_wkt(wkt)
 
diff --git a/docs/ref/contrib/gis/geoquerysets.txt b/docs/ref/contrib/gis/geoquerysets.txt
--- a/docs/ref/contrib/gis/geoquerysets.txt
+++ b/docs/ref/contrib/gis/geoquerysets.txt
@@ -835,8 +835,6 @@
 
 .. method:: GeoQuerySet.snap_to_grid(*args, **kwargs)
 
-.. versionadded:: 1.1
-
 Snap all points of the input geometry to the grid.  How the
 geometry is snapped to the grid depends on how many numeric
 (either float, integer, or long) arguments are given.
@@ -957,8 +955,6 @@
 
 .. method:: GeoQuerySet.geojson(**kwargs)
 
-.. versionadded:: 1.1
-
 *Availability*: PostGIS
 
 Attaches a ``geojson`` attribute to every model in the queryset that contains the
@@ -1102,7 +1098,6 @@
 
 Spatial Aggregates
 ==================
-.. versionadded:: 1.1
 
 Aggregate Methods
 -----------------
@@ -1112,8 +1107,6 @@
 
 .. method:: GeoQuerySet.collect(**kwargs)
 
-.. versionadded:: 1.1
-
 *Availability*: PostGIS
 
 Returns a ``GEOMETRYCOLLECTION`` or a ``MULTI`` geometry object from the geometry
diff --git a/docs/ref/contrib/gis/geos.txt b/docs/ref/contrib/gis/geos.txt
--- a/docs/ref/contrib/gis/geos.txt
+++ b/docs/ref/contrib/gis/geos.txt
@@ -497,8 +497,6 @@
 
 .. attribute:: GEOSGeometry.prepared
 
-.. versionadded:: 1.1
-
 .. note::
 
     Support for prepared geometries requires GEOS 3.1.
@@ -593,8 +591,6 @@
 
    .. classmethod:: from_bbox(bbox)
 
-   .. versionadded:: 1.1
-
    Returns a polygon object from the given bounding-box, a 4-tuple
    comprising (xmin, ymin, xmax, ymax).
 
@@ -633,8 +629,6 @@
 
    .. attribute:: merged
 
-   .. versionadded:: 1.1
-
    Returns a :class:`LineString` representing the line merge of
    all the components in this ``MultiLineString``.
        
@@ -655,8 +649,6 @@
 
    .. attribute:: cascaded_union
 
-   .. versionadded:: 1.1
-
    Returns a :class:`Polygon` that is the union of all of the component
    polygons in this collection.  The algorithm employed is significantly
    more efficient (faster) than trying to union the geometries together
diff --git a/docs/ref/contrib/gis/index.txt b/docs/ref/contrib/gis/index.txt
--- a/docs/ref/contrib/gis/index.txt
+++ b/docs/ref/contrib/gis/index.txt
@@ -4,8 +4,6 @@
 GeoDjango
 =========
 
-.. versionadded:: 1.0
-
 .. module:: django.contrib.gis
    :synopsis: Geographic Information System (GIS) extensions for Django
 
diff --git a/docs/ref/contrib/gis/install.txt b/docs/ref/contrib/gis/install.txt
--- a/docs/ref/contrib/gis/install.txt
+++ b/docs/ref/contrib/gis/install.txt
@@ -356,7 +356,6 @@
 
 SpatiaLite
 ----------
-.. versionadded:: 1.1
 
 .. note::
 
diff --git a/docs/ref/contrib/gis/testing.txt b/docs/ref/contrib/gis/testing.txt
--- a/docs/ref/contrib/gis/testing.txt
+++ b/docs/ref/contrib/gis/testing.txt
@@ -33,8 +33,6 @@
 ``POSTGIS_TEMPLATE``
 ^^^^^^^^^^^^^^^^^^^^
 
-.. versionadded:: 1.1
-
 .. versionchanged:: 1.2
 
 This setting may be used to customize the name of the PostGIS template
@@ -53,7 +51,6 @@
 
 ``POSTGIS_VERSION``
 ^^^^^^^^^^^^^^^^^^^
-.. versionadded:: 1.1
 
 When GeoDjango's spatial backend initializes on PostGIS, it has to perform
 a SQL query to determine the version.  Setting the version manually
@@ -123,8 +120,6 @@
 SpatiaLite
 ==========
 
-.. versionadded:: 1.1
-
 You will need to download the `initialization SQL`__ script for SpatiaLite::
 
     $ wget http://www.gaia-gis.it/spatialite/init_spatialite-2.3.zip
@@ -142,7 +137,6 @@
 
 ``SPATIALITE_SQL``
 ^^^^^^^^^^^^^^^^^^
-.. versionadded:: 1.1
 
 By default, the GeoDjango test runner looks for the SpatiaLite SQL in the
 same directory where it was invoked (by default the same directory where
diff --git a/docs/ref/contrib/humanize.txt b/docs/ref/contrib/humanize.txt
--- a/docs/ref/contrib/humanize.txt
+++ b/docs/ref/contrib/humanize.txt
@@ -72,8 +72,6 @@
 naturalday
 ----------
 
-.. versionadded:: 1.0
-
 For dates that are the current day or within one day, return "today",
 "tomorrow" or "yesterday", as appropriate. Otherwise, format the date using
 the passed in format string.
diff --git a/docs/ref/contrib/index.txt b/docs/ref/contrib/index.txt
--- a/docs/ref/contrib/index.txt
+++ b/docs/ref/contrib/index.txt
@@ -60,10 +60,6 @@
 comments
 ========
 
-.. versionchanged:: 1.0
-   The comments application has been rewriten. See :doc:`/ref/contrib/comments/upgrade`
-   for information on howto upgrade.
-
 A simple yet flexible comments system. See :doc:`/ref/contrib/comments/index`.
 
 contenttypes
diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt
--- a/docs/ref/contrib/sitemaps.txt
+++ b/docs/ref/contrib/sitemaps.txt
@@ -340,8 +340,6 @@
 Pinging Google via `manage.py`
 ------------------------------
 
-.. versionadded:: 1.0
-
 Once the sitemaps application is added to your project, you may also
 ping the Google server's through the command line manage.py interface::
 
diff --git a/docs/ref/contrib/sites.txt b/docs/ref/contrib/sites.txt
--- a/docs/ref/contrib/sites.txt
+++ b/docs/ref/contrib/sites.txt
@@ -230,8 +230,6 @@
 Caching the current ``Site`` object
 ===================================
 
-.. versionadded:: 1.0
-
 As the current site is stored in the database, each call to
 ``Site.objects.get_current()`` could result in a database query. But Django is a
 little cleverer than that: on the first request, the current site is cached, and
@@ -385,8 +383,6 @@
 
 .. _requestsite-objects:
 
-.. versionadded:: 1.0
-
 Some :doc:`django.contrib </ref/contrib/index>` applications take advantage of
 the sites framework but are architected in a way that doesn't *require* the
 sites framework to be installed in your database. (Some people don't want to, or
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -58,8 +58,6 @@
 Autocommit mode
 ~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.1
-
 If your application is particularly read-heavy and doesn't make many
 database writes, the overhead of a constantly open transaction can
 sometimes be noticeable. For those situations, if you're using the
@@ -101,8 +99,6 @@
 Indexes for ``varchar`` and ``text`` columns
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.1.2
-
 When specifying ``db_index=True`` on your model fields, Django typically
 outputs a single ``CREATE INDEX`` statement.  However, if the database type
 for the field is either ``varchar`` or ``text`` (e.g., used by ``CharField``,
@@ -452,8 +448,6 @@
 Using newer versions of the SQLite DB-API 2.0 driver
 ----------------------------------------------------
 
-.. versionadded:: 1.1
-
 For versions of Python 2.5 or newer that include ``sqlite3`` in the standard
 library Django will now use a ``pysqlite2`` interface in preference to
 ``sqlite3`` if it finds one is available.
@@ -605,8 +599,6 @@
 field would also generate an index, but no tablespace for it is specified, so
 it would be stored in the model tablespace ``tables`` by default.
 
-.. versionadded:: 1.0
-
 Use the :setting:`DEFAULT_TABLESPACE` and :setting:`DEFAULT_INDEX_TABLESPACE`
 settings to specify default values for the db_tablespace options.
 These are useful for setting a tablespace for the built-in Django apps and
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -88,8 +88,6 @@
 
 .. django-admin:: cleanup
 
-.. versionadded:: 1.0
-
 Can be run as a cronjob or directly to clean out old data from the database
 (only expired sessions at the moment).
 
@@ -98,9 +96,6 @@
 
 .. django-admin:: compilemessages
 
-.. versionchanged:: 1.0
-   Before 1.0 this was the "bin/compile-messages.py" command.
-
 Compiles .po files created with ``makemessages`` to .mo files for use with
 the builtin gettext support. See :doc:`/topics/i18n/index`.
 
@@ -129,8 +124,6 @@
 
 .. django-admin:: createsuperuser
 
-.. versionadded:: 1.0
-
 Creates a superuser account (a user who has all permissions). This is
 useful if you need to create an initial superuser account but did not
 do so during ``syncdb``, or if you need to programmatically generate
@@ -226,8 +219,6 @@
 easy for humans to read, so you can use the ``--indent`` option to
 pretty-print the output with a number of indentation spaces.
 
-.. versionadded:: 1.0
-
 The :djadminopt:`--exclude` option may be provided to prevent specific
 applications from being dumped.
 
@@ -236,8 +227,6 @@
 The :djadminopt:`--exclude` option may also be provided to prevent specific
 models (specified as in the form of ``appname.ModelName``) from being dumped.
 
-.. versionadded:: 1.1
-
 In addition to specifying application names, you can provide a list of
 individual models, in the form of ``appname.Model``. If you specify a model
 name to ``dumpdata``, the dumped output will be restricted to that model,
@@ -436,9 +425,6 @@
 
 .. django-admin:: makemessages
 
-.. versionchanged:: 1.0
-   Before 1.0 this was the ``bin/make-messages.py`` command.
-
 Runs over the entire source tree of the current directory and pulls out all
 strings marked for translation. It creates (or updates) a message file in the
 conf/locale (in the django tree) or locale (for project and application)
@@ -839,8 +825,6 @@
 
 .. django-admin:: testserver
 
-.. versionadded:: 1.0
-
 Runs a Django development server (as in ``runserver``) using data from the
 given fixture(s).
 
diff --git a/docs/ref/forms/api.txt b/docs/ref/forms/api.txt
--- a/docs/ref/forms/api.txt
+++ b/docs/ref/forms/api.txt
@@ -195,9 +195,6 @@
     >>> f.cleaned_data
     {'cc_myself': True, 'message': u'Hi there', 'sender': u'foo@example.com', 'subject': u'hello'}
 
-.. versionchanged:: 1.0
-    The ``cleaned_data`` attribute was called ``clean_data`` in earlier releases.
-
 Note that any text-based field -- such as ``CharField`` or ``EmailField`` --
 always cleans the input into a Unicode string. We'll cover the encoding
 implications later in this document.
@@ -667,8 +664,6 @@
 Binding uploaded files to a form
 --------------------------------
 
-.. versionadded:: 1.0
-
 Dealing with forms that have ``FileField`` and ``ImageField`` fields
 is a little more complicated than a normal form.
 
diff --git a/docs/ref/forms/fields.txt b/docs/ref/forms/fields.txt
--- a/docs/ref/forms/fields.txt
+++ b/docs/ref/forms/fields.txt
@@ -230,8 +230,6 @@
 ``error_messages``
 ~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. attribute:: Field.error_messages
 
 The ``error_messages`` argument lets you override the default messages that the
@@ -303,11 +301,6 @@
       the field has ``required=True``.
     * Error message keys: ``required``
 
-.. versionchanged:: 1.0
-   The empty value for a ``CheckboxInput`` (and hence the standard
-   ``BooleanField``) has changed to return ``False`` instead of ``None`` in
-   the Django 1.0.
-
 .. note::
 
     Since all ``Field`` subclasses have ``required=True`` by default, the
@@ -408,10 +401,6 @@
     '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
     '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
 
-.. versionchanged:: 1.1
-   The ``DateField`` previously used a ``TextInput`` widget by default. It now
-   uses a ``DateInput`` widget.
-
 ``DateTimeField``
 ~~~~~~~~~~~~~~~~~
 
@@ -443,14 +432,9 @@
     '%m/%d/%y %H:%M',        # '10/25/06 14:30'
     '%m/%d/%y',              # '10/25/06'
 
-.. versionchanged:: 1.0
-   The ``DateTimeField`` used to use a ``TextInput`` widget by default. This has now changed.
-
 ``DecimalField``
 ~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. class:: DecimalField(**kwargs)
 
     * Default widget: ``TextInput``
@@ -503,8 +487,6 @@
 ``FileField``
 ~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. class:: FileField(**kwargs)
 
     * Default widget: ``FileInput``
@@ -523,8 +505,6 @@
 ``FilePathField``
 ~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. class:: FilePathField(**kwargs)
 
     * Default widget: ``Select``
@@ -569,8 +549,6 @@
 ``ImageField``
 ~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. class:: ImageField(**kwargs)
 
     * Default widget: ``FileInput``
@@ -834,11 +812,6 @@
 If no ``input_time_formats`` argument is provided, the default input formats
 for ``TimeField`` are used.
 
-.. versionchanged:: 1.1
-   The ``SplitDateTimeField`` previously used two ``TextInput`` widgets by
-   default. The ``input_date_formats`` and ``input_time_formats`` arguments
-   are also new.
-
 Fields which handle relationships
 ---------------------------------
 
diff --git a/docs/ref/forms/widgets.txt b/docs/ref/forms/widgets.txt
--- a/docs/ref/forms/widgets.txt
+++ b/docs/ref/forms/widgets.txt
@@ -48,8 +48,6 @@
 
 .. class:: DateInput
 
-    .. versionadded:: 1.1
-
     Date input as a simple text box: ``<input type='text' ...>``
 
     Takes one optional argument:
@@ -62,8 +60,6 @@
 
 .. class:: DateTimeInput
 
-    .. versionadded:: 1.0
-
     Date/time input as a simple text box: ``<input type='text' ...>``
 
     Takes one optional argument:
@@ -87,9 +83,6 @@
 
     If no ``format`` argument is provided, the default format is ``'%H:%M:%S'``.
 
-    .. versionchanged:: 1.1
-       The ``format`` argument was not supported in Django 1.0.
-
 .. class:: Textarea
 
     Text area: ``<textarea>...</textarea>``
@@ -159,9 +152,6 @@
     Takes two optional arguments, ``date_format`` and ``time_format``, which
     work just like the ``format`` argument for ``DateInput`` and ``TimeInput``.
 
-    .. versionchanged:: 1.1
-       The ``date_format`` and ``time_format`` arguments were not supported in Django 1.0.
-
 .. class:: SelectDateWidget
 
     Wrapper around three select widgets: one each for month, day, and year.
diff --git a/docs/ref/generic-views.txt b/docs/ref/generic-views.txt
--- a/docs/ref/generic-views.txt
+++ b/docs/ref/generic-views.txt
@@ -93,10 +93,6 @@
       to the URL. If ``False``, then the query string is discarded. By
       default, ``query_string`` is ``False``.
 
-.. versionadded:: 1.1
-    The ``permanent`` keyword argument is new in Django 1.1.
-
-
 **Example:**
 
 This example issues a permanent redirect (HTTP status code 301) from
@@ -182,8 +178,6 @@
       specified in ``date_field`` is greater than the current date/time. By
       default, this is ``False``.
 
-    .. versionadded:: 1.0
-
     * ``template_object_name``: Designates the name of the template variable
       to use in the template context. By default, this is ``'latest'``.
 
@@ -208,9 +202,6 @@
       ordered in reverse. This is equivalent to
       ``queryset.dates(date_field, 'year')[::-1]``.
 
-    .. versionchanged:: 1.0
-       The behaviour depending on ``template_object_name`` is new in this version.
-
     * ``latest``: The ``num_latest`` objects in the system, ordered descending
       by ``date_field``. For example, if ``num_latest`` is ``10``, then
       ``latest`` will be a list of the latest 10 objects in ``queryset``.
@@ -380,7 +371,7 @@
 
     * ``date_list``: A list of ``datetime.date`` objects representing all
       days that have objects available in the given month, according to
-      ``queryset``, in ascending order.    
+      ``queryset``, in ascending order.
 
     * ``month``: A ``datetime.date`` object representing the given month.
 
@@ -727,9 +718,6 @@
 
 **Template context:**
 
-.. versionadded:: 1.0
-   The ``paginator`` and ``page_obj`` context variables are new.
-
 In addition to ``extra_context``, the template's context will be:
 
     * ``object_list``: The list of objects. This variable's name depends on the
@@ -773,8 +761,6 @@
 For more on pagination, read the :doc:`pagination documentation
 </topics/pagination>`.
 
-.. versionadded:: 1.0
-
 As a special case, you are also permitted to use ``last`` as a value for
 ``page``::
 
@@ -859,8 +845,6 @@
 The ``django.views.generic.create_update`` module contains a set of functions
 for creating, editing and deleting objects.
 
-.. versionchanged:: 1.0
-
 ``django.views.generic.create_update.create_object`` and
 ``django.views.generic.create_update.update_object`` now use the new :doc:`forms
 library </topics/forms/index>` to build and display the form.
diff --git a/docs/ref/middleware.txt b/docs/ref/middleware.txt
--- a/docs/ref/middleware.txt
+++ b/docs/ref/middleware.txt
@@ -52,11 +52,6 @@
       you don't have a valid URL pattern for ``foo.com/bar`` but *do* have a
       valid pattern for ``foo.com/bar/``.
 
-      .. versionchanged:: 1.0
-         The behavior of :setting:`APPEND_SLASH` has changed slightly in this
-         version. It didn't used to check whether the pattern was matched in
-         the URLconf.
-
       If :setting:`PREPEND_WWW` is ``True``, URLs that lack a leading "www."
       will be redirected to the same URL with a leading "www."
 
@@ -120,8 +115,6 @@
 
 .. class:: django.middleware.http.SetRemoteAddrFromForwardedFor
 
-.. versionchanged:: 1.1
-
 This middleware was removed in Django 1.1. See :ref:`the release notes
 <removed-setremoteaddrfromforwardedfor-middleware>` for details.
 
@@ -183,8 +176,6 @@
 
 .. class:: django.middleware.csrf.CsrfMiddleware
 
-.. versionadded:: 1.0
-
 Adds protection against Cross Site Request Forgeries by adding hidden form
 fields to POST forms and checking requests for the correct value. See the
 :doc:`Cross Site Request Forgery protection documentation </ref/contrib/csrf>`.
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -171,8 +171,6 @@
 
 .. attribute:: Field.db_tablespace
 
-.. versionadded:: 1.0
-
 The name of the database tablespace to use for this field's index, if this field
 is indexed. The default is the project's :setting:`DEFAULT_INDEX_TABLESPACE`
 setting, if set, or the :attr:`~Field.db_tablespace` of the model, if any. If
@@ -425,8 +423,6 @@
 ``DecimalField``
 ----------------
 
-.. versionadded:: 1.0
-
 .. class:: DecimalField(max_digits=None, decimal_places=None, [**options])
 
 A fixed-precision decimal number, represented in Python by a
@@ -482,8 +478,6 @@
     date/time of the file upload (so that uploaded files don't fill up the given
     directory).
 
-    .. versionchanged:: 1.0
-
     This may also be a callable, such as a function, which will be called to
     obtain the upload path, including the filename. This callable must be able
     to accept two arguments, and return a Unix-style path (with forward slashes)
@@ -512,8 +506,6 @@
 
 .. attribute:: FileField.storage
 
-    .. versionadded:: 1.0
-
     Optional. A storage object, which handles the storage and retrieval of your
     files. See :doc:`/topics/files` for details on how to provide this object.
 
@@ -560,9 +552,6 @@
 root, then somebody could upload a CGI or PHP script and execute that script by
 visiting its URL on your site. Don't allow that.
 
-.. versionadded:: 1.0
-   The ``max_length`` argument was added in this version.
-
 By default, :class:`FileField` instances are
 created as ``varchar(100)`` columns in your database. As with other fields, you
 can change the maximum length using the :attr:`~CharField.max_length` argument.
@@ -645,9 +634,6 @@
 because the :attr:`~FilePathField.match` applies to the base filename
 (``foo.gif`` and ``bar.gif``).
 
-.. versionadded:: 1.0
-   The ``max_length`` argument was added in this version.
-
 By default, :class:`FilePathField` instances are
 created as ``varchar(100)`` columns in your database. As with other fields, you
 can change the maximum length using the :attr:`~CharField.max_length` argument.
@@ -657,8 +643,6 @@
 
 .. class:: FloatField([**options])
 
-.. versionchanged:: 1.0
-
 A floating-point number represented in Python by a ``float`` instance.
 
 The admin represents this as an ``<input type="text">`` (a single-line input).
@@ -692,9 +676,6 @@
 
 .. _Python Imaging Library: http://www.pythonware.com/products/pil/
 
-.. versionadded:: 1.0
-   The ``max_length`` argument was added in this version.
-
 By default, :class:`ImageField` instances are created as ``varchar(100)``
 columns in your database. As with other fields, you can change the maximum
 length using the :attr:`~CharField.max_length` argument.
@@ -867,8 +848,6 @@
     class Manufacturer(models.Model):
         # ...
 
-.. versionadded:: 1.0
-
 To refer to models defined in another application, you can explicitly specify
 a model with the full application label. For example, if the ``Manufacturer``
 model above is defined in another application called ``production``, you'd
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -133,9 +133,6 @@
 
 .. method:: Model.save([force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS])
 
-.. versionadded:: 1.0
-   The ``force_insert`` and ``force_update`` arguments were added.
-
 .. versionadded:: 1.2
    The ``using`` argument was added.
 
@@ -168,8 +165,6 @@
 The ``pk`` property
 ~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. attribute:: Model.pk
 
 Regardless of whether you define a primary key field yourself, or let Django
@@ -278,8 +273,6 @@
 Forcing an INSERT or UPDATE
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 In some rare circumstances, it's necessary to be able to force the ``save()``
 method to perform an SQL ``INSERT`` and not fall back to doing an ``UPDATE``.
 Or vice-versa: update, if possible, but not insert a new row. In these cases
diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
--- a/docs/ref/models/options.txt
+++ b/docs/ref/models/options.txt
@@ -65,8 +65,6 @@
 
 .. attribute:: Options.db_tablespace
 
-.. versionadded:: 1.0
-
 The name of the database tablespace to use for the model. If the backend doesn't
 support tablespaces, this option is ignored.
 
@@ -90,8 +88,6 @@
 
 .. attribute:: Options.managed
 
-.. versionadded:: 1.1
-
 Defaults to ``True``, meaning Django will create the appropriate database
 tables in :djadmin:`syncdb` and remove them as part of a :djadmin:`reset`
 management command. That is, Django *manages* the database tables' lifecycles.
@@ -193,8 +189,6 @@
 
 .. attribute:: Options.proxy
 
-.. versionadded:: 1.1
-
 If set to ``True``, a model which subclasses another model will be treated as
 a :ref:`proxy model <proxy-models>`.
 
@@ -212,8 +206,6 @@
 appropriate ``UNIQUE`` statements are included in the ``CREATE TABLE``
 statement).
 
-.. versionadded:: 1.0
-
 For convenience, unique_together can be a single list when dealing with a single
 set of fields::
 
diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt
--- a/docs/ref/models/querysets.txt
+++ b/docs/ref/models/querysets.txt
@@ -185,8 +185,6 @@
 
 .. method:: annotate(*args, **kwargs)
 
-.. versionadded:: 1.1
-
 Annotates each object in the ``QuerySet`` with the provided list of
 aggregate values (averages, sums, etc) that have been computed over
 the objects that are related to the objects in the ``QuerySet``.
@@ -278,24 +276,13 @@
 ordering may well be exactly what you want to do. Use ordering on multi-valued
 fields with care and make sure the results are what you expect.
 
-.. versionadded:: 1.0
-
 If you don't want any ordering to be applied to a query, not even the default
 ordering, call ``order_by()`` with no parameters.
 
-.. versionadded:: 1.0
-
-The syntax for ordering across related models has changed. See the `Django 0.96
-documentation`_ for the old behaviour.
-
-.. _Django 0.96 documentation: http://www.djangoproject.com/documentation/0.96/model-api/#floatfield
-
 There's no way to specify whether ordering should be case sensitive. With
 respect to case-sensitivity, Django will order results however your database
 backend normally orders them.
 
-.. versionadded:: 1.1
-
 You can tell if a query is ordered or not by checking the
 :attr:`QuerySet.ordered` attribute, which will be ``True`` if the
 ``QuerySet`` has been ordered in any way.
@@ -305,8 +292,6 @@
 
 .. method:: reverse()
 
-.. versionadded:: 1.0
-
 Use the ``reverse()`` method to reverse the order in which a queryset's
 elements are returned. Calling ``reverse()`` a second time restores the
 ordering back to the normal direction.
@@ -431,11 +416,6 @@
       if the ``extra()`` clause is used after the ``values()``, the
       fields added by the select will be included automatically.
 
-.. versionadded:: 1.0
-
-Previously, it was not possible to pass ``blog_id`` to ``values()`` in the above
-example, only ``blog``.
-
 A ``ValuesQuerySet`` is useful when you know you're only going to need values
 from a small number of the available fields and you won't need the
 functionality of a model instance object. It's more efficient to select only
@@ -458,8 +438,6 @@
 
 .. method:: values_list(*fields)
 
-.. versionadded:: 1.0
-
 This is similar to ``values()`` except that instead of returning dictionaries,
 it returns tuples when iterated over. Each tuple contains the value from the
 respective field passed into the ``values_list()`` call -- so the first item is
@@ -524,8 +502,6 @@
 
 .. method:: none()
 
-.. versionadded:: 1.0
-
 Returns an ``EmptyQuerySet`` -- a ``QuerySet`` that always evaluates to
 an empty list. This can be used in cases where you know that you should
 return an empty result set and your caller is expecting a ``QuerySet``
@@ -541,8 +517,6 @@
 
 .. method:: all()
 
-.. versionadded:: 1.0
-
 Returns a ''copy'' of the current ``QuerySet`` (or ``QuerySet`` subclass you
 pass in). This can be useful in some situations where you might want to pass
 in either a model manager or a ``QuerySet`` and do further filtering on the
@@ -656,11 +630,6 @@
 parameter in the same ``select_related()`` call, since they are
 conflicting options.
 
-.. versionadded:: 1.0
-
-Both the ``depth`` argument and the ability to specify field names in the call
-to ``select_related()`` are new in Django version 1.0.
-
 .. versionchanged:: 1.2
 
 You can also refer to the reverse direction of a ``OneToOneFields`` in
@@ -733,8 +702,6 @@
     some database backends, such as some MySQL versions, don't support
     subqueries.
 
-    .. versionadded:: 1.0
-
     In some rare cases, you might wish to pass parameters to the SQL fragments
     in ``extra(select=...)``. For this purpose, use the ``select_params``
     parameter. Since ``select_params`` is a sequence and the ``select``
@@ -840,8 +807,6 @@
 
 .. method:: defer(*fields)
 
-.. versionadded:: 1.1
-
 In some complex data-modeling situations, your models might contain a lot of
 fields, some of which could contain a lot of data (for example, text fields),
 or require expensive processing to convert them to Python objects. If you are
@@ -900,8 +865,6 @@
 
 .. method:: only(*fields)
 
-.. versionadded:: 1.1
-
 The ``only()`` method is more or less the opposite of ``defer()``. You
 call it with the fields that should *not* be deferred when retrieving a model.
 If you have a model where almost all the fields need to be deferred, using
@@ -1176,8 +1139,6 @@
 
 .. method:: aggregate(*args, **kwargs)
 
-.. versionadded:: 1.1
-
 Returns a dictionary of aggregate values (averages, sums, etc) calculated
 over the ``QuerySet``. Each argument to ``aggregate()`` specifies
 a value that will be included in the dictionary that is returned.
@@ -1250,12 +1211,6 @@
     SELECT ... WHERE id = 14;
     SELECT ... WHERE id IS NULL;
 
-.. versionchanged:: 1.0
-   The semantics of ``id__exact=None`` have changed in Django 1.0. Previously,
-   it was (intentionally) converted to ``WHERE id = NULL`` at the SQL level,
-   which would never match anything. It has now been changed to behave the
-   same as ``id__isnull=True``.
-
 .. admonition:: MySQL comparisons
 
     In MySQL, a database table's "collation" setting determines whether
@@ -1362,10 +1317,6 @@
     inner_q = Blog.objects.filter(name__contains='Cheddar').values('pk').query
     entries = Entry.objects.filter(blog__in=inner_q)
 
-
-.. versionchanged:: 1.1
-    In Django 1.0, only the latter piece of code is valid.
-
 This second form is a bit less readable and unnatural to write, since it
 accesses the internal ``query`` attribute and requires a ``ValuesQuerySet``.
 If your code doesn't require compatibility with Django 1.0, use the first
@@ -1603,8 +1554,6 @@
 week_day
 ~~~~~~~~
 
-.. versionadded:: 1.1
-
 For date/datetime fields, a 'day of the week' match.
 
 Takes an integer value representing the day of week from 1 (Sunday) to 7
@@ -1663,8 +1612,6 @@
 regex
 ~~~~~
 
-.. versionadded:: 1.0
-
 Case-sensitive regular expression match.
 
 The regular expression syntax is that of the database backend in use.
@@ -1694,8 +1641,6 @@
 iregex
 ~~~~~~
 
-.. versionadded:: 1.0
-
 Case-insensitive regular expression match.
 
 Example::
@@ -1717,8 +1662,6 @@
 Aggregation Functions
 ---------------------
 
-.. versionadded:: 1.1
-
 Django provides the following aggregation functions in the
 ``django.db.models`` module. For details on how to use these
 aggregate functions, see
diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt
--- a/docs/ref/request-response.txt
+++ b/docs/ref/request-response.txt
@@ -47,8 +47,6 @@
 
 .. attribute:: HttpRequest.encoding
 
-    .. versionadded:: 1.0
-
     A string representing the current encoding used to decode form submission
     data (or ``None``, which means the ``DEFAULT_CHARSET`` setting is used).
     You can write to this attribute to change the encoding used when accessing
@@ -111,12 +109,6 @@
     ``enctype="multipart/form-data"``. Otherwise, ``FILES`` will be a blank
     dictionary-like object.
 
-    .. versionchanged:: 1.0
-
-    In previous versions of Django, ``request.FILES`` contained simple ``dict``
-    objects representing uploaded files. This is no longer true -- files are
-    represented by ``UploadedFile`` objects as described below.
-
     These ``UploadedFile`` objects will emulate the old-style ``dict``
     interface, but this is deprecated and will be removed in the next release of
     Django.
@@ -189,8 +181,6 @@
 
 .. method:: HttpRequest.get_host()
 
-   .. versionadded:: 1.0
-
    Returns the originating host of the request using information from the
    ``HTTP_X_FORWARDED_HOST`` and ``HTTP_HOST`` headers (in that order). If
    they don't provide a value, the method uses a combination of
@@ -208,8 +198,6 @@
 
 .. method:: HttpRequest.build_absolute_uri(location)
 
-   .. versionadded:: 1.0
-
    Returns the absolute URI form of ``location``. If no location is provided,
    the location will be set to ``request.get_full_path()``.
 
@@ -226,8 +214,6 @@
 
 .. method:: HttpRequest.is_ajax()
 
-   .. versionadded:: 1.0
-
    Returns ``True`` if the request was made via an ``XMLHttpRequest``, by
    checking the ``HTTP_X_REQUESTED_WITH`` header for the string
    ``'XMLHttpRequest'``. Most modern JavaScript libraries send this header.
@@ -434,8 +420,6 @@
     >>> response = HttpResponse()
     >>> response['Cache-Control'] = 'no-cache'
 
-.. versionadded:: 1.1
-
 HTTP headers cannot contain newlines. An attempt to set a header containing a
 newline character (CR or LF) will raise ``BadHeaderError``
 
@@ -478,8 +462,6 @@
 
     ``status`` is the `HTTP Status code`_ for the response.
 
-    .. versionadded:: 1.0
-
     ``content_type`` is an alias for ``mimetype``. Historically, this parameter
     was only called ``mimetype``, but since this is actually the value included
     in the HTTP ``Content-Type`` header, it can also include the character set
@@ -576,8 +558,6 @@
 
 .. class:: HttpResponseBadRequest
 
-    .. versionadded:: 1.0
-
     Acts just like :class:`HttpResponse` but uses a 400 status code.
 
 .. class:: HttpResponseNotFound
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -538,8 +538,6 @@
 DEBUG_PROPAGATE_EXCEPTIONS
 --------------------------
 
-.. versionadded:: 1.0
-
 Default: ``False``
 
 If set to True, Django's normal exception handling of view functions
@@ -605,8 +603,6 @@
 DEFAULT_INDEX_TABLESPACE
 ------------------------
 
-.. versionadded:: 1.0
-
 Default: ``''`` (Empty string)
 
 Default tablespace to use for indexes on fields that don't specify
@@ -617,8 +613,6 @@
 DEFAULT_TABLESPACE
 ------------------
 
-.. versionadded:: 1.0
-
 Default: ``''`` (Empty string)
 
 Default tablespace to use for models that don't specify one, if the
@@ -721,8 +715,6 @@
 EMAIL_USE_TLS
 -------------
 
-.. versionadded:: 1.0
-
 Default: ``False``
 
 Whether to use a TLS (secure) connection when talking to the SMTP server.
@@ -732,8 +724,6 @@
 FILE_CHARSET
 ------------
 
-.. versionadded:: 1.0
-
 Default: ``'utf-8'``
 
 The character encoding used to decode any files read from disk. This includes
@@ -744,8 +734,6 @@
 FILE_UPLOAD_HANDLERS
 --------------------
 
-.. versionadded:: 1.0
-
 Default::
 
     ("django.core.files.uploadhandler.MemoryFileUploadHandler",
@@ -758,8 +746,6 @@
 FILE_UPLOAD_MAX_MEMORY_SIZE
 ---------------------------
 
-.. versionadded:: 1.0
-
 Default: ``2621440`` (i.e. 2.5 MB).
 
 The maximum size (in bytes) that an upload will be before it gets streamed to
@@ -798,8 +784,6 @@
 FILE_UPLOAD_TEMP_DIR
 --------------------
 
-.. versionadded:: 1.0
-
 Default: ``None``
 
 The directory to store data temporarily while uploading files. If ``None``,
@@ -945,8 +929,6 @@
 LANGUAGE_COOKIE_NAME
 --------------------
 
-.. versionadded:: 1.0
-
 Default: ``'django_language'``
 
 The name of the cookie to use for the language cookie. This can be whatever you
@@ -1011,8 +993,6 @@
 LOGIN_REDIRECT_URL
 ------------------
 
-.. versionadded:: 1.0
-
 Default: ``'/accounts/profile/'``
 
 The URL where requests are redirected after login when the
@@ -1026,8 +1006,6 @@
 LOGIN_URL
 ---------
 
-.. versionadded:: 1.0
-
 Default: ``'/accounts/login/'``
 
 The URL where requests are redirected for login, especially when using the
@@ -1038,8 +1016,6 @@
 LOGOUT_URL
 ----------
 
-.. versionadded:: 1.0
-
 Default: ``'/accounts/logout/'``
 
 LOGIN_URL counterpart.
@@ -1304,8 +1280,6 @@
 SESSION_COOKIE_PATH
 -------------------
 
-.. versionadded:: 1.0
-
 Default: ``'/'``
 
 The path set on the session cookie. This should either match the URL path of your
@@ -1332,11 +1306,6 @@
 SESSION_ENGINE
 --------------
 
-.. versionadded:: 1.0
-
-.. versionchanged:: 1.1
-   The ``cached_db`` backend was added
-
 Default: ``django.contrib.sessions.backends.db``
 
 Controls where Django stores session data. Valid values are:
@@ -1363,8 +1332,6 @@
 SESSION_FILE_PATH
 -----------------
 
-.. versionadded:: 1.0
-
 Default: ``None``
 
 If you're using file-based session storage, this sets the directory in
diff --git a/docs/ref/signals.txt b/docs/ref/signals.txt
--- a/docs/ref/signals.txt
+++ b/docs/ref/signals.txt
@@ -470,8 +470,6 @@
 .. data:: django.db.backends.signals.connection_created
    :module:
 
-.. versionadded:: 1.1
-
 .. versionchanged:: 1.2
    The connection argument was added
 
diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt
--- a/docs/ref/templates/api.txt
+++ b/docs/ref/templates/api.txt
@@ -426,8 +426,6 @@
 django.core.context_processors.media
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 If :setting:`TEMPLATE_CONTEXT_PROCESSORS` contains this processor, every
 ``RequestContext`` will contain a variable ``MEDIA_URL``, providing the
 value of the :setting:`MEDIA_URL` setting.
diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
--- a/docs/ref/templates/builtins.txt
+++ b/docs/ref/templates/builtins.txt
@@ -19,8 +19,6 @@
 autoescape
 ~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 Control the current auto-escaping behavior. This tag takes either ``on`` or
 ``off`` as an argument and that determines whether auto-escaping is in effect
 inside the block. The block is closed with an ``endautoescape`` ending tag.
@@ -72,8 +70,7 @@
 cycle
 ~~~~~
 
-.. versionchanged:: 1.0
-    Cycle among the given strings or variables each time this tag is encountered.
+Cycle among the given strings or variables each time this tag is encountered.
 
 Within a loop, cycles among the given strings each time through the
 loop::
@@ -239,8 +236,6 @@
 
 You can loop over a list in reverse by using ``{% for obj in list reversed %}``.
 
-.. versionadded:: 1.0
-
 If you need to loop over a list of lists, you can unpack the values
 in each sub-list into individual variables. For example, if your context
 contains a list of (x,y) coordinates called ``points``, you could use the
@@ -278,8 +273,6 @@
 for ... empty
 ^^^^^^^^^^^^^
 
-.. versionadded:: 1.1
-
 The ``for`` tag can take an optional ``{% empty %}`` clause that will be
 displayed if the given array is empty or could not be found::
 
@@ -953,8 +946,6 @@
 
 The template tag will output the string ``/clients/client/123/``.
 
-.. versionadded:: 1.0
-
 If you're using :ref:`named URL patterns <naming-url-patterns>`, you can
 refer to the name of the pattern in the ``url`` tag instead of using the
 path to the view.
@@ -963,8 +954,6 @@
 :exc:`NoReverseMatch` exception raised, which will cause your site to display an
 error page.
 
-.. versionadded:: 1.0
-
 If you'd like to retrieve a URL without displaying it, you can use a slightly
 different call::
 
@@ -981,8 +970,6 @@
       <a href="{{ the_url }}">Link to optional stuff</a>
     {% endif %}
 
-.. versionadded:: 1.1
-
 If you'd like to retrieve a namespaced URL, specify the fully qualified name::
 
     {% url myapp:view-name %}
@@ -1026,8 +1013,6 @@
 with
 ~~~~
 
-.. versionadded:: 1.0
-
 Caches a complex variable under a simpler name. This is useful when accessing
 an "expensive" method (e.g., one that hits the database) multiple times.
 
@@ -1278,18 +1263,11 @@
 it is safe to use this function even in auto-escaping environments. If you want
 multiple escaping passes to be applied, use the ``force_escape`` filter.
 
-.. versionchanged:: 1.0
-    Due to auto-escaping, the behavior of this filter has changed slightly.
-    The replacements are only made once, after
-    all other filters are applied -- including filters before and after it.
-
 .. templatefilter:: escapejs
 
 escapejs
 ~~~~~~~~
 
-.. versionadded:: 1.0
-
 Escapes characters for use in JavaScript strings. This does *not* make the
 string safe for use in HTML, but does protect you from syntax errors when using
 templates to generate JavaScript/JSON.
@@ -1333,8 +1311,9 @@
 fix_ampersands
 ~~~~~~~~~~~~~~
 
-.. versionchanged:: 1.0
-    This is rarely useful as ampersands are now automatically escaped. See escape_ for more information.
+..note::
+
+    This is rarely useful as ampersands are automatically escaped. See escape_ for more information.
 
 Replaces ampersands with ``&amp;`` entities.
 
@@ -1391,8 +1370,6 @@
 force_escape
 ~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 Applies HTML escaping to a string (see the ``escape`` filter for details).
 This filter is applied *immediately* and returns a new, escaped string. This
 is useful in the rare cases where you need multiple escaping or want to apply
@@ -1452,8 +1429,6 @@
 last
 ~~~~
 
-.. versionadded:: 1.0
-
 Returns the last item in a list.
 
 For example::
@@ -1918,9 +1893,6 @@
 Recursively takes a self-nested list and returns an HTML unordered list --
 WITHOUT opening and closing <ul> tags.
 
-.. versionchanged:: 1.0
-   The format accepted by ``unordered_list`` has changed to be easier to understand.
-
 The list is assumed to be in the proper format. For example, if ``var`` contains
 ``['States', ['Kansas', ['Lawrence', 'Topeka'], 'Illinois']]``, then
 ``{{ var|unordered_list }}`` would return::
@@ -1937,7 +1909,7 @@
     </ul>
     </li>
 
-Note: the previous more restrictive and verbose format is still supported:
+Note: An older, more restrictive and verbose input format is also supported:
 ``['States', [['Kansas', [['Lawrence', []], ['Topeka', []]]], ['Illinois', []]]]``,
 
 .. templatefilter:: upper
diff --git a/docs/ref/unicode.txt b/docs/ref/unicode.txt
--- a/docs/ref/unicode.txt
+++ b/docs/ref/unicode.txt
@@ -2,8 +2,6 @@
 Unicode data
 ============
 
-.. versionadded:: 1.0
-
 Django natively supports Unicode data everywhere. Providing your database can
 somehow store the data, you can safely pass around Unicode strings to
 templates, models and the database.
diff --git a/docs/topics/auth.txt b/docs/topics/auth.txt
--- a/docs/topics/auth.txt
+++ b/docs/topics/auth.txt
@@ -190,8 +190,6 @@
 
     .. method:: models.User.set_unusable_password()
 
-        .. versionadded:: 1.0
-
         Marks the user as having no password set.  This isn't the same as
         having a blank string for a password.
         :meth:`~django.contrib.auth.models.User.check_password()` for this user
@@ -203,8 +201,6 @@
 
     .. method:: models.User.has_usable_password()
 
-        .. versionadded:: 1.0
-
         Returns ``False`` if
         :meth:`~django.contrib.auth.models.User.set_unusable_password()` has
         been called for this user.
@@ -395,9 +391,6 @@
 only supported on platforms that have the standard Python ``crypt`` module
 available.
 
-.. versionadded:: 1.0
-    Support for the ``crypt`` module is new in Django 1.0.
-
 For example::
 
     sha1$a1976$a36cc8cbf81742a8fb52e221aaeab48ed7f58ab4
@@ -450,9 +443,6 @@
 Creating superusers
 -------------------
 
-.. versionadded:: 1.0
-   The ``manage.py createsuperuser`` command is new.
-
 :djadmin:`manage.py syncdb <syncdb>` prompts you to create a superuser the
 first time you run it after adding ``'django.contrib.auth'`` to your
 :setting:`INSTALLED_APPS`. If you need to create a superuser at a later date,
@@ -653,9 +643,6 @@
     Note that :func:`~django.contrib.auth.logout()` doesn't throw any errors if
     the user wasn't logged in.
 
-    .. versionchanged:: 1.0
-       Calling ``logout()`` now cleans session data.
-
     When you call :func:`~django.contrib.auth.logout()`, the session data for
     the current request is completely cleaned out. All existing data is
     removed. This is to prevent another person from using the same web browser
diff --git a/docs/topics/cache.txt b/docs/topics/cache.txt
--- a/docs/topics/cache.txt
+++ b/docs/topics/cache.txt
@@ -238,8 +238,6 @@
 Using a custom cache backend
 ----------------------------
 
-.. versionadded:: 1.0
-
 While Django includes support for a number of cache backends out-of-the-box,
 sometimes you might want to use a customized cache backend. To use an external
 cache backend with Django, use a Python import path as the scheme portion (the
@@ -291,10 +289,6 @@
 The per-site cache
 ==================
 
-.. versionchanged:: 1.0
-    (previous versions of Django only provided a single ``CacheMiddleware`` instead
-    of the two pieces described below).
-
 Once the cache is set up, the simplest way to use caching is to cache your
 entire site. You'll need to add
 ``'django.middleware.cache.UpdateCacheMiddleware'`` and
@@ -344,8 +338,6 @@
 
 See :doc:`/topics/http/middleware` for more on middleware.
 
-.. versionadded:: 1.0
-
 If a view sets its own cache expiry time (i.e. it has a ``max-age`` section in
 its ``Cache-Control`` header) then the page will be cached until the expiry
 time, rather than ``CACHE_MIDDLEWARE_SECONDS``. Using the decorators in
@@ -441,8 +433,6 @@
 Template fragment caching
 =========================
 
-.. versionadded:: 1.0
-
 If you're after even more control, you can also cache template fragments using
 the ``cache`` template tag. To give your template access to this tag, put
 ``{% load cache %}`` near the top of your template.
@@ -558,8 +548,6 @@
     >>> cache.get('my_key', 'has expired')
     'has expired'
 
-.. versionadded:: 1.0
-
 To add a key only if it doesn't already exist, use the ``add()`` method.
 It takes the same parameters as ``set()``, but it will not attempt to
 update the cache if the key specified is already present::
@@ -614,8 +602,6 @@
 
     >>> cache.clear()
 
-.. versionadded:: 1.1
-
 You can also increment or decrement a key that already exists using the
 ``incr()`` or ``decr()`` methods, respectively. By default, the existing cache
 value will incremented or decremented by 1. Other increment/decrement values
diff --git a/docs/topics/conditional-view-processing.txt b/docs/topics/conditional-view-processing.txt
--- a/docs/topics/conditional-view-processing.txt
+++ b/docs/topics/conditional-view-processing.txt
@@ -2,8 +2,6 @@
 Conditional View Processing
 ===========================
 
-.. versionadded:: 1.1
-
 HTTP clients can send a number of headers to tell the server about copies of a
 resource that they have already seen. This is commonly used when retrieving a
 web page (using an HTTP ``GET`` request) to avoid sending all the data for
diff --git a/docs/topics/db/aggregation.txt b/docs/topics/db/aggregation.txt
--- a/docs/topics/db/aggregation.txt
+++ b/docs/topics/db/aggregation.txt
@@ -2,8 +2,6 @@
 Aggregation
 ===========
 
-.. versionadded:: 1.1
-
 .. currentmodule:: django.db.models
 
 The topic guide on :doc:`Django's database-abstraction API </topics/db/queries>`
diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt
--- a/docs/topics/db/models.txt
+++ b/docs/topics/db/models.txt
@@ -387,8 +387,6 @@
 Extra fields on many-to-many relationships
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 When you're only dealing with simple many-to-many relationships such as
 mixing and matching pizzas and toppings, a standard :class:`~django.db.models.ManyToManyField` is all you need. However, sometimes
 you may need to associate data with the relationship between two models.
@@ -552,8 +550,6 @@
 
 .. _One-to-one relationship model example: http://www.djangoproject.com/documentation/models/one_to_one/
 
-.. versionadded:: 1.0
-
 :class:`~django.db.models.OneToOneField` fields also accept one optional argument
 described in the :ref:`model field reference <ref-onetoone>`.
 
@@ -605,8 +601,6 @@
 Custom field types
 ------------------
 
-.. versionadded:: 1.0
-
 If one of the existing model fields cannot be used to fit your purposes, or if
 you wish to take advantage of some less common database column types, you can
 create your own field class. Full coverage of creating your own fields is
@@ -768,8 +762,6 @@
 Model inheritance
 =================
 
-.. versionadded:: 1.0
-
 Model inheritance in Django works almost identically to the way normal
 class inheritance works in Python. The only decision you have to make
 is whether you want the parent models to be models in their own right
@@ -1025,8 +1017,6 @@
 Proxy models
 ------------
 
-.. versionadded:: 1.1
-
 When using :ref:`multi-table inheritance <multi-table-inheritance>`, a new
 database table is created for each subclass of a model. This is usually the
 desired behavior, since the subclass needs a place to store any additional
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -437,8 +437,6 @@
 Spanning multi-valued relationships
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 When you are filtering an object based on a ``ManyToManyField`` or a reverse
 ``ForeignKey``, there are two different sorts of filter you may be
 interested in. Consider the ``Blog``/``Entry`` relationship (``Blog`` to
@@ -494,8 +492,6 @@
 Filters can reference fields on the model
 -----------------------------------------
 
-.. versionadded:: 1.1
-
 In the examples given so far, we have constructed filters that compare
 the value of a model field with a constant. But what if you want to compare
 the value of a model field with another field on the same model?
@@ -766,8 +762,6 @@
 Updating multiple objects at once
 =================================
 
-.. versionadded:: 1.0
-
 Sometimes you want to set a field to a particular value for all the objects in
 a ``QuerySet``. You can do this with the ``update()`` method. For example::
 
@@ -806,8 +800,6 @@
     for item in my_queryset:
         item.save()
 
-.. versionadded:: 1.1
-
 Calls to update can also use :ref:`F() objects <query-expressions>` to update
 one field based on the value of another field in the model. This is especially
 useful for incrementing counters based upon their current value. For example, to
diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt
--- a/docs/topics/db/transactions.txt
+++ b/docs/topics/db/transactions.txt
@@ -301,8 +301,6 @@
 Database-level autocommit
 -------------------------
 
-.. versionadded:: 1.1
-
 With PostgreSQL 8.2 or later, there is an advanced option to run PostgreSQL
 with :doc:`database-level autocommit </ref/databases>`. If you use this option,
 there is no constantly open transaction, so it is always possible to continue
diff --git a/docs/topics/email.txt b/docs/topics/email.txt
--- a/docs/topics/email.txt
+++ b/docs/topics/email.txt
@@ -196,8 +196,6 @@
 The EmailMessage class
 ======================
 
-.. versionadded:: 1.0
-
 Django's :meth:`~django.core.mail.send_mail()` and
 :meth:`~django.core.mail.send_mass_mail()` functions are actually thin
 wrappers that make use of the :class:`~django.core.mail.EmailMessage` class.
diff --git a/docs/topics/files.txt b/docs/topics/files.txt
--- a/docs/topics/files.txt
+++ b/docs/topics/files.txt
@@ -2,8 +2,6 @@
 Managing files
 ==============
 
-.. versionadded:: 1.0
-
 This document describes Django's file access APIs.
 
 By default, Django stores files locally, using the :setting:`MEDIA_ROOT` and
diff --git a/docs/topics/forms/formsets.txt b/docs/topics/forms/formsets.txt
--- a/docs/topics/forms/formsets.txt
+++ b/docs/topics/forms/formsets.txt
@@ -157,8 +157,6 @@
 the management data by rendering ``{{ my_formset.management_form }}``
 (substituting the name of your formset as appropriate).
 
-.. versionadded:: 1.1
-
 ``total_form_count`` and ``initial_form_count``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/docs/topics/forms/index.txt b/docs/topics/forms/index.txt
--- a/docs/topics/forms/index.txt
+++ b/docs/topics/forms/index.txt
@@ -113,9 +113,6 @@
     3. If the form has been submitted but is invalid, the bound form instance is
        passed on to the template.
 
-.. versionchanged:: 1.0
-    The ``cleaned_data`` attribute was called ``clean_data`` in earlier releases.
-
 The distinction between **bound** and **unbound** forms is important. An unbound
 form does not have any data associated with it; when rendered to the user, it
 will be empty or will contain default values. A bound form does have submitted
@@ -343,10 +340,6 @@
 interaction won't alter them. However, you could easily insert some error
 displays for those form errors, as well.
 
-.. versionadded:: 1.1
-    The ``hidden_fields`` and ``visible_fields`` methods are new in Django
-    1.1.
-
 Reusable form templates
 -----------------------
 
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt
--- a/docs/topics/forms/modelforms.txt
+++ b/docs/topics/forms/modelforms.txt
@@ -105,11 +105,6 @@
                                      ``widget=forms.Textarea``
     ===============================  ========================================
 
-
-.. versionadded:: 1.0
-    The ``FloatField`` form field and ``DecimalField`` model and form fields
-    are new in Django 1.0.
-
 .. versionadded:: 1.2
     The ``BigIntegerField`` is new in Django 1.2.
 
@@ -305,12 +300,8 @@
 
 2. Use the ``fields`` attribute of the ``ModelForm``'s inner ``Meta``
    class.  This attribute, if given, should be a list of field names
-   to include in the form.
-
-   .. versionchanged:: 1.1
-
-   The form will render the fields in the same order they are specified in the
-   ``fields`` attribute.
+   to include in the form. The order in which the fields names are specified
+   in that list is respected when the form renders them.
 
 3. Use the ``exclude`` attribute of the ``ModelForm``'s inner ``Meta``
    class.  This attribute, if given, should be a list of field names
@@ -450,8 +441,6 @@
 Changing the order of fields
 ----------------------------
 
-.. versionadded:: 1.1
-
 By default, a ``ModelForm`` will render fields in the same order that they are
 defined on the model, with ``ManyToManyField`` instances appearing last. If
 you want to change the order in which fields are rendered, you can use the
diff --git a/docs/topics/http/file-uploads.txt b/docs/topics/http/file-uploads.txt
--- a/docs/topics/http/file-uploads.txt
+++ b/docs/topics/http/file-uploads.txt
@@ -4,8 +4,6 @@
 
 .. currentmodule:: django.core.files
 
-.. versionadded:: 1.0
-
 When Django handles a file upload, the file data ends up placed in
 :attr:`request.FILES <django.http.HttpRequest.FILES>` (for more on the
 ``request`` object see the documentation for :doc:`request and response objects
diff --git a/docs/topics/http/sessions.txt b/docs/topics/http/sessions.txt
--- a/docs/topics/http/sessions.txt
+++ b/docs/topics/http/sessions.txt
@@ -29,8 +29,6 @@
 Configuring the session engine
 ==============================
 
-.. versionadded:: 1.0
-
 By default, Django stores sessions in your database (using the model
 ``django.contrib.sessions.models.Session``). Though this is convenient, in
 some setups it's faster to store session data elsewhere, so Django can be
@@ -50,9 +48,6 @@
 
 For better performance, you may want to use a cache-based session backend.
 
-.. versionchanged:: 1.1
-   Django 1.0 did not include the ``cached_db`` session backend.
-
 To store session data using Django's cache system, you'll first need to make
 sure you've configured your cache; see the :doc:`cache documentation
 </topics/cache>` for details.
@@ -138,15 +133,10 @@
 
     * ``clear()``
 
-.. versionadded:: 1.0
-   ``setdefault()`` and ``clear()`` are new in this version.
-
 It also has these methods:
 
     * ``flush()``
 
-      .. versionadded:: 1.0
-
       Delete the current session data from the session and regenerate the
       session key value that is sent back to the user in the cookie. This is
       used if you want to ensure that the previous session data can't be
@@ -173,8 +163,6 @@
 
     * ``set_expiry(value)``
 
-      .. versionadded:: 1.0
-
       Sets the expiration time for the session. You can pass a number of
       different values:
 
@@ -198,24 +186,18 @@
 
     * ``get_expiry_age()``
 
-      .. versionadded:: 1.0
-
       Returns the number of seconds until this session expires. For sessions
       with no custom expiration (or those set to expire at browser close), this
       will equal ``settings.SESSION_COOKIE_AGE``.
 
     * ``get_expiry_date()``
 
-      .. versionadded:: 1.0
-
       Returns the date this session will expire. For sessions with no custom
       expiration (or those set to expire at browser close), this will equal the
       date ``settings.SESSION_COOKIE_AGE`` seconds from now.
 
     * ``get_expire_at_browser_close()``
 
-      .. versionadded:: 1.0
-
       Returns either ``True`` or ``False``, depending on whether the user's
       session cookie will expire when the user's Web browser is closed.
 
@@ -302,8 +284,6 @@
 Using sessions out of views
 ===========================
 
-.. versionadded:: 1.0
-
 An API is available to manipulate session data outside of a view::
 
     >>> from django.contrib.sessions.backends.db import SessionStore
@@ -384,8 +364,6 @@
 her browser. Use this if you want people to have to log in every time they open
 a browser.
 
-.. versionadded:: 1.0
-
 This setting is a global default and can be overwritten at a per-session level
 by explicitly calling ``request.session.set_expiry()`` as described above in
 `using sessions in views`_.
@@ -415,11 +393,6 @@
 SESSION_ENGINE
 --------------
 
-.. versionadded:: 1.0
-
-.. versionchanged:: 1.1
-   The ``cached_db`` backend was added
-
 Default: ``django.contrib.sessions.backends.db``
 
 Controls where Django stores session data. Valid values are:
@@ -434,8 +407,6 @@
 SESSION_FILE_PATH
 -----------------
 
-.. versionadded:: 1.0
-
 Default: ``/tmp/``
 
 If you're using file-based session storage, this sets the directory in
@@ -467,8 +438,6 @@
 SESSION_COOKIE_PATH
 -------------------
 
-.. versionadded:: 1.0
-
 Default: ``'/'``
 
 The path set on the session cookie. This should either match the URL path of
diff --git a/docs/topics/http/shortcuts.txt b/docs/topics/http/shortcuts.txt
--- a/docs/topics/http/shortcuts.txt
+++ b/docs/topics/http/shortcuts.txt
@@ -48,8 +48,6 @@
 
 ``mimetype``
 
-    .. versionadded:: 1.0
-
     The MIME type to use for the resulting document. Defaults to the value of
     the :setting:`DEFAULT_CONTENT_TYPE` setting.
 
@@ -83,8 +81,6 @@
 
 .. function:: redirect(to[, permanent=False], *args, **kwargs)
 
-   .. versionadded:: 1.1
-
    Returns an HttpResponseRedirect to the apropriate URL for the arguments
    passed.
 
diff --git a/docs/topics/http/urls.txt b/docs/topics/http/urls.txt
--- a/docs/topics/http/urls.txt
+++ b/docs/topics/http/urls.txt
@@ -223,8 +223,6 @@
 url
 ---
 
-.. versionadded:: 1.0
-
 .. function:: url(regex, view, kwargs=None, name=None, prefix='')
 
 You can use the ``url()`` function, instead of a tuple, as an argument to
@@ -283,8 +281,6 @@
 A function that takes a full Python import path to another URLconf module that
 should be "included" in this place.
 
-.. versionadded:: 1.1
-
 :func:`include` also accepts as an argument an iterable that returns URL
 patterns.
 
@@ -415,8 +411,6 @@
 up to that point and sends the remaining string to the included URLconf for
 further processing.
 
-.. versionadded:: 1.1
-
 Another possibility is to include additional URL patterns not by specifying the
 URLconf Python module defining them as the `include`_ argument but by using
 directly the pattern list as returned by `patterns`_ instead. For example::
@@ -634,8 +628,6 @@
 Naming URL patterns
 ===================
 
-.. versionadded:: 1.0
-
 It's fairly common to use the same view function in multiple URL patterns in
 your URLconf. For example, these two URL patterns both point to the ``archive``
 view::
@@ -694,8 +686,6 @@
 URL namespaces
 --------------
 
-.. versionadded:: 1.1
-
 Namespaced URLs are specified using the ``:`` operator. For example, the main
 index page of the admin application is referenced using ``admin:index``. This
 indicates a namespace of ``admin``, and a named URL of ``index``.
@@ -801,8 +791,6 @@
 matching against incoming URLs and sending them off to views, but you cannot
 reverse such patterns.
 
-.. versionadded:: 1.1
-
 The ``current_app`` argument allows you to provide a hint to the resolver
 indicating the application to which the currently executing view belongs.
 This ``current_app`` argument is used as a hint to resolve application
diff --git a/docs/topics/i18n/deployment.txt b/docs/topics/i18n/deployment.txt
--- a/docs/topics/i18n/deployment.txt
+++ b/docs/topics/i18n/deployment.txt
@@ -81,12 +81,8 @@
 
     * Failing that, it looks for a cookie.
 
-      .. versionchanged:: 1.0
-
-      In Django version 0.96 and before, the cookie's name is hard-coded to
-      ``django_language``. In Django 1,0, The cookie name is set by the
-      ``LANGUAGE_COOKIE_NAME`` setting. (The default name is
-      ``django_language``.)
+      The name of the cookie used is set by the ``LANGUAGE_COOKIE_NAME``
+      setting. (The default name is ``django_language``.)
 
     * Failing that, it looks at the ``Accept-Language`` HTTP header. This
       header is sent by your browser and tells the server which language(s) you
diff --git a/docs/topics/pagination.txt b/docs/topics/pagination.txt
--- a/docs/topics/pagination.txt
+++ b/docs/topics/pagination.txt
@@ -5,9 +5,6 @@
 .. module:: django.core.paginator
    :synopsis: Classes to help you easily manage paginated data.
 
-.. versionchanged:: 1.0
-   Pagination facilities have been almost fully reworked.
-
 Django provides a few classes that help you manage paginated data -- that is,
 data that's split across several pages, with "Previous/Next" links. These
 classes live in :file:`django/core/paginator.py`.
diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt
--- a/docs/topics/templates.txt
+++ b/docs/topics/templates.txt
@@ -390,8 +390,6 @@
 Automatic HTML escaping
 =======================
 
-.. versionadded:: 1.0
-
 When generating HTML from templates, there's always a risk that a variable will
 include characters that affect the resulting HTML. For example, consider this
 template fragment::
diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt
--- a/docs/topics/testing.txt
+++ b/docs/topics/testing.txt
@@ -256,9 +256,6 @@
 
 Note that we used ``animals``, not ``myproject.animals``.
 
-.. versionadded:: 1.0
-   You can now choose which test to run.
-
 You can be even *more* specific by naming an individual test case. To
 run a single test case in an application (for example, the
 ``AnimalTestCase`` described in the "Writing unit tests" section), add
@@ -352,8 +349,6 @@
 to make sure that the given user account has sufficient privileges to
 create a new database on the system.
 
-.. versionadded:: 1.0
-
 For fine-grained control over the character encoding of your test
 database, use the :setting:`TEST_CHARSET` option. If you're using
 MySQL, you can also use the :setting:`TEST_COLLATION` option to
@@ -626,8 +621,6 @@
         details	view, which is a good way to test code paths that use the
         :meth:`django.http.HttpRequest.is_ajax()` method.
 
-        .. versionadded:: 1.1
-
         If you already have the GET arguments in URL-encoded form, you can
         use that encoding instead of using the data argument. For example,
         the previous GET request could also be posed as::
@@ -710,8 +703,6 @@
 
         The ``extra`` argument acts the same as for :meth:`Client.get`.
 
-        .. versionchanged:: 1.1
-
         If the URL you request with a POST contains encoded parameters, these
         parameters will be made available in the request.GET data. For example,
         if you were to make the request::
@@ -728,8 +719,6 @@
 
     .. method:: Client.head(path, data={}, follow=False, **extra)
 
-        .. versionadded:: 1.1
-
         Makes a HEAD request on the provided ``path`` and returns a ``Response``
         object. Useful for testing RESTful interfaces. Acts just like
         :meth:`Client.get` except it does not return a message body.
@@ -740,8 +729,6 @@
 
     .. method:: Client.options(path, data={}, follow=False, **extra)
 
-        .. versionadded:: 1.1
-
         Makes an OPTIONS request on the provided ``path`` and returns a
         ``Response`` object. Useful for testing RESTful interfaces.
 
@@ -753,8 +740,6 @@
 
     .. method:: Client.put(path, data={}, content_type=MULTIPART_CONTENT, follow=False, **extra)
 
-        .. versionadded:: 1.1
-
         Makes a PUT request on the provided ``path`` and returns a
         ``Response`` object. Useful for testing RESTful interfaces. Acts just
         like :meth:`Client.post` except with the PUT request method.
@@ -765,8 +750,6 @@
 
     .. method:: Client.delete(path, follow=False, **extra)
 
-        .. versionadded:: 1.1
-
         Makes an DELETE request on the provided ``path`` and returns a
         ``Response`` object. Useful for testing RESTful interfaces.
 
@@ -778,8 +761,6 @@
 
     .. method:: Client.login(**credentials)
 
-        .. versionadded:: 1.0
-
         If your site uses Django's :doc:`authentication system</topics/auth>`
         and you deal with logging in users, you can use the test client's
         ``login()`` method to simulate the effect of a user logging into the
@@ -824,8 +805,6 @@
 
     .. method:: Client.logout()
 
-        .. versionadded:: 1.0
-
         If your site uses Django's :doc:`authentication system</topics/auth>`,
         the ``logout()`` method can be used to simulate the effect of a user
         logging out of your site.
@@ -864,8 +843,6 @@
         If the rendered page used multiple templates, then ``context`` will be a
         list of ``Context`` objects, in the order in which they were rendered.
 
-        .. versionadded:: 1.1
-
         Regardless of the number of templates used during rendering, you can
         retrieve context values using the ``[]`` operator. For example, the
         context variable ``name`` could be retrieved using::
@@ -988,8 +965,6 @@
 will continue to be available, but it will be augmented with some useful
 additions.
 
-.. versionadded:: 1.1
-
 .. class:: TransactionTestCase()
 
 Django ``TestCase`` classes make use of database transaction facilities, if
@@ -1037,8 +1012,6 @@
 Default test client
 ~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. attribute:: TestCase.client
 
 Every test case in a ``django.test.TestCase`` instance has access to an
@@ -1143,8 +1116,6 @@
 URLconf configuration
 ~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. attribute:: TestCase.urls
 
 If your application provides views, you may want to include tests that use the
@@ -1212,8 +1183,6 @@
 Emptying the test outbox
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 If you use Django's custom ``TestCase`` class, the test runner will clear the
 contents of the test e-mail outbox at the start of each test case.
 
@@ -1222,8 +1191,6 @@
 Assertions
 ~~~~~~~~~~
 
-.. versionadded:: 1.0
-
 .. versionchanged:: 1.2
     Addded ``msg_prefix`` argument.
 
@@ -1282,8 +1249,6 @@
     redirected to ``expected_url`` (including any GET data), and the final
     page was received with ``target_status_code``.
 
-    .. versionadded:: 1.1
-
     If your request used the ``follow`` argument, the ``expected_url`` and
     ``target_status_code`` will be the url and status code for the final
     point of the redirect chain.
@@ -1308,8 +1273,6 @@
 E-mail services
 ---------------
 
-.. versionadded:: 1.0
-
 If any of your Django views send e-mail using :doc:`Django's e-mail
 functionality </topics/email>`, you probably don't want to send e-mail each time
 you run a test using that view. For this reason, Django's test runner
@@ -1558,9 +1521,6 @@
     :setting:`NAME` in :setting:`DATABASES` to match the name of the test
     database.
 
-    .. versionchanged:: 1.0
-       ``create_test_db()`` now returns the name of the test database.
-
 .. function:: destroy_test_db(old_database_name, verbosity=1)
 
     Destroys the database whose name is in stored in :setting:`NAME` in the
