==========================
Django 2.1.1 release notes
==========================

*Expected September 1, 2018*

Django 2.1.1 fixes several bugs in 2.1.

Bugfixes
========

* Fixed a race condition in ``QuerySet.update_or_create()`` that could result
  in data loss (:ticket:`29499`).

* Fixed a regression where ``QueryDict.urlencode()`` crashed if the dictionary
  contains a non-string value (:ticket:`29627`).

* Fixed a regression in Django 2.0 where using ``manage.py test --keepdb``
  fails on PostgreSQL if the database exists and the user doesn't have
  permission to create databases (:ticket:`29613`).

* Fixed a regression in Django 2.0 where combining ``Q`` objects with ``__in``
  lookups and lists crashed (:ticket:`29643`).

* Fixed translation failure of ``DurationField``'s "overflow" error message
  (:ticket:`29623`).

* Fixed a regression where the admin change form crashed if the user doesn't
  have the 'add' permission to a model that uses ``TabularInline``
  (:ticket:`29637`).

* Fixed a regression where a ``related_query_name`` reverse accessor wasn't set
  up when a ``GenericRelation`` is declared on an abstract base model
  (:ticket:`29653`).

* Fixed the test client's JSON serialization of a request data dictionary for
  structured content type suffixes (:ticket:`29662`).