Django 1.10.1 release notes

September 1, 2016

Django 1.10.1 fixes several bugs in 1.10.

Bugfixes

  • Fixed a crash in MySQL connections where SELECT @@SQL_AUTO_IS_NULL doesn't return a result (#26991).
  • Allowed User.is_authenticated and User.is_anonymous properties to be compared using ==, !=, and | (#26988, #27154).
  • Removed the broken BaseCommand.usage() method which was for optparse support (#27000).
  • Fixed a checks framework crash with an empty Meta.default_permissions (#26997).
  • Fixed a regression in the number of queries when using RadioSelect with a ModelChoiceField form field (#27001).
  • Fixed a crash if request.META['CONTENT_LENGTH'] is an empty string (#27005).
  • Fixed the isnull lookup on a ForeignKey with its to_field pointing to a CharField or pointing to a CharField defined with primary_key=True (#26983).
  • Prevented the migrate command from raising InconsistentMigrationHistory in the presence of unapplied squashed migrations (#27004).
  • Fixed a regression in Client.force_login() which required specifying a backend rather than automatically using the first one if multiple backends are configured (#27027).
  • Made QuerySet.bulk_create() properly initialize model instances on backends, such as PostgreSQL, that support returning the IDs of the created records so that many-to-many relationships can be used on the new objects (#27026).
  • Fixed crash of django.views.static.serve() with show_indexes enabled (#26973).
  • Fixed ClearableFileInput to avoid the required HTML attribute when initial data exists (#27037).
  • Fixed annotations with database functions when combined with lookups on PostGIS (#27014).
  • Reallowed the {% for %} tag to unpack any iterable (#27058).
  • Made makemigrations skip inconsistent history checks on non-default databases if database routers aren't in use or if no apps can be migrated to the database (#27054, #27110, #27142).
  • Removed duplicated managers in Model._meta.managers (#27073).
  • Fixed contrib.admindocs crash when a view is in a class, such as some of the admin views (#27018).
  • Reverted a few admin checks that checked field.many_to_many back to isinstance(field, models.ManyToManyField) since it turned out the checks weren't suitable to be generalized like that (#26998).
  • Added the database alias to the InconsistentMigrationHistory message raised by makemigrations and migrate (#27089).
  • Fixed the creation of ContentType and Permission objects for models of applications without migrations when calling the migrate command with no migrations to apply (#27044).
  • Included the already applied migration state changes in the Apps instance provided to the pre_migrate signal receivers to allow ContentType renaming to be performed on model rename (#27100).
  • Reallowed subclassing UserCreationForm without USERNAME_FIELD in Meta.fields (#27111).
  • Fixed a regression in model forms where model fields with a default that didn't appear in POST data no longer used the default (#27039).