1. ==========================
    
  2. Django 1.8.1 release notes
    
  3. ==========================
    
  4. 
    
  5. *May 1, 2015*
    
  6. 
    
  7. Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the
    
  8. migrations framework.
    
  9. 
    
  10. Bugfixes
    
  11. ========
    
  12. 
    
  13. * Added support for serializing :class:`~datetime.timedelta` objects in
    
  14.   migrations (:ticket:`24566`).
    
  15. 
    
  16. * Restored proper parsing of the :djadmin:`testserver` command's positional
    
  17.   arguments (fixture names) (:ticket:`24571`).
    
  18. 
    
  19. * Prevented ``TypeError`` in translation functions ``check_for_language()`` and
    
  20.   ``get_language_bidi()`` when translations are deactivated (:ticket:`24569`).
    
  21. 
    
  22. * Fixed :djadmin:`squashmigrations` command when using
    
  23.   :class:`~django.db.migrations.operations.SeparateDatabaseAndState`
    
  24.   (:ticket:`24278`).
    
  25. 
    
  26. * Stripped microseconds from ``datetime`` values when using an older version of
    
  27.   the MySQLdb DB API driver as it does not support fractional seconds
    
  28.   (:ticket:`24584`).
    
  29. 
    
  30. * Fixed a migration crash when altering
    
  31.   :class:`~django.db.models.ManyToManyField`\s (:ticket:`24513`).
    
  32. 
    
  33. * Fixed a crash with ``QuerySet.update()`` on foreign keys to one-to-one fields
    
  34.   (:ticket:`24578`).
    
  35. 
    
  36. * Fixed a regression in the model detail view of
    
  37.   :mod:`~django.contrib.admindocs` when a model has a reverse foreign key
    
  38.   relation (:ticket:`24624`).
    
  39. 
    
  40. * Prevented arbitrary file inclusions in :mod:`~django.contrib.admindocs`
    
  41.   (:ticket:`24625`).
    
  42. 
    
  43. * Fixed a crash with ``QuerySet.update()`` on foreign keys to instances with
    
  44.   ``uuid`` primary keys (:ticket:`24611`).
    
  45. 
    
  46. * Fixed database introspection with SQLite 3.8.9 (released April 8, 2015)
    
  47.   (:ticket:`24637`).
    
  48. 
    
  49. * Updated ``urlpatterns`` examples generated by :djadmin:`startproject` to
    
  50.   remove usage of referencing views by dotted path in
    
  51.   ``django.conf.urls.url()`` which is deprecated in Django 1.8
    
  52.   (:ticket:`24635`).
    
  53. 
    
  54. * Fixed queries where an expression was referenced in ``order_by()``, but wasn't
    
  55.   part of the select clause. An example query is
    
  56.   ``qs.annotate(foo=F('field')).values('pk').order_by('foo'))`` (:ticket:`24615`).
    
  57. 
    
  58. * Fixed a database table name quoting regression (:ticket:`24605`).
    
  59. 
    
  60. * Prevented the loss of ``null``/``not null`` column properties during field
    
  61.   alteration of MySQL databases (:ticket:`24595`).
    
  62. 
    
  63. * Fixed JavaScript path of ``contrib.admin``’s related field widget when using
    
  64.   alternate static file storages (:ticket:`24655`).
    
  65. 
    
  66. * Fixed a migration crash when adding new relations to models
    
  67.   (:ticket:`24573`).
    
  68. 
    
  69. * Fixed a migration crash when applying migrations with model managers on
    
  70.   Python 3 that were generated on Python 2 (:ticket:`24701`).
    
  71. 
    
  72. * Restored the ability to use iterators as queryset filter arguments
    
  73.   (:ticket:`24719`).
    
  74. 
    
  75. * Fixed a migration crash when renaming the target model of a many-to-many
    
  76.   relation (:ticket:`24725`).
    
  77. 
    
  78. * Removed flushing of the test database with :option:`test --keepdb`, which
    
  79.   prevented apps with data migrations from using the option (:ticket:`24729`).
    
  80. 
    
  81. * Fixed ``makemessages`` crash in some locales (:ticket:`23271`).
    
  82. 
    
  83. * Fixed help text positioning of ``contrib.admin`` fields that use the
    
  84.   ``ModelAdmin.filter_horizontal`` and ``filter_vertical`` options
    
  85.   (:ticket:`24676`).
    
  86. 
    
  87. * Fixed ``AttributeError: function 'GDALAllRegister' not found`` error when
    
  88.   initializing ``contrib.gis`` on Windows.
    
  89. 
    
  90. Optimizations
    
  91. =============
    
  92. 
    
  93. * Changed ``ModelState`` to deepcopy fields instead of deconstructing and
    
  94.   reconstructing (:ticket:`24591`). This speeds up the rendering of model
    
  95.   states and reduces memory usage when running :djadmin:`manage.py migrate
    
  96.   <migrate>` (although other changes in this release may negate any performance
    
  97.   benefits).