==========================
Django 1.0.1 release notes
==========================

Welcome to Django 1.0.1!

This is the first "bugfix" release in the Django 1.0 series, improving
the stability and performance of the Django 1.0 codebase. As such,
Django 1.0.1 contains no new features (and, pursuant to :doc:`our
compatibility policy </misc/api-stability/>`, maintains backwards
compatibility with Django 1.0), but does contain a number of fixes
and other improvements. Django 1.0.1 is a recommended upgrade for any
development or deployment currently using or targeting Django 1.0.


Fixes and improvements in Django 1.0.1
======================================

Django 1.0.1 contains over two hundred fixes to the original Django
1.0 codebase; full details of every fix are available in `the
history of the 1.0.X branch`_, but here are some of the
highlights:

* Several fixes in ``django.contrib.comments``, pertaining to RSS
  feeds of comments, default ordering of comments and the XHTML and
  internationalization of the default templates for comments.

* Multiple fixes for Django's support of Oracle databases, including
  pagination support for GIS QuerySets, more efficient slicing of
  results and improved introspection of existing databases.

* Several fixes for query support in the Django object-relational
  mapper, including repeated setting and resetting of ordering and
  fixes for working with ``INSERT``-only queries.

* Multiple fixes for inline forms in formsets.

* Multiple fixes for ``unique`` and ``unique_together`` model
  constraints in automatically-generated forms.

* Fixed support for custom callable ``upload_to`` declarations when
  handling file uploads through automatically-generated forms.

* Fixed support for sorting an admin change list based on a callable
  attributes in ``list_display``.

* A fix to the application of autoescaping for literal strings passed
  to the ``join`` template filter. Previously, literal strings passed
  to ``join`` were automatically escaped, contrary to :ref:`the
  documented behavior for autoescaping and literal strings
  <string-literals-and-automatic-escaping>`. Literal strings
  passed to ``join`` are no longer automatically escaped, meaning you
  must now manually escape them; this is an incompatibility if you
  were relying on this bug, but not if you were relying on escaping
  behaving as documented.

* Improved and expanded translation files for many of the languages
  Django supports by default.

* And as always, a large number of improvements to Django's
  documentation, including both corrections to existing documents and
  expanded and new documentation.

.. _the history of the 1.0.X branch: https://github.com/django/django/commits/stable/1.0.x
