May 1, 2015
Django 1.8.1 fixes several bugs in 1.8 and includes some optimizations in the migrations framework.
timedeltaobjects in migrations (#24566).
testservercommand's positional arguments (fixture names) (#24571).
TypeErrorin translation functions
get_language_bidi()when translations are deactivated (#24569).
squashmigrationscommand when using
datetimevalues when using an older version of the MySQLdb DB API driver as it does not support fractional seconds (#24584).
QuerySet.update()on foreign keys to one-to-one fields (#24578).
admindocswhen a model has a reverse foreign key relation (#24624).
QuerySet.update()on foreign keys to instances with
uuidprimary keys (#24611).
urlpatternsexamples generated by
startprojectto remove usage of referencing views by dotted path in
django.conf.urls.url()which is deprecated in Django 1.8 (#24635).
order_by(), but wasn't part of the select clause. An example query is
not nullcolumn properties during field alteration of MySQL databases (#24595).
contrib.admin’s related field widget when using alternate static file storages (#24655).
test --keepdb, which prevented apps with data migrations from using the option (#24729).
makemessagescrash in some locales (#23271).
contrib.adminfields that use the
AttributeError: function 'GDALAllRegister' not founderror when initializing
ModelStateto deepcopy fields instead of deconstructing and reconstructing (#24591). This speeds up the rendering of model states and reduces memory usage when running
manage.py migrate(although other changes in this release may negate any performance benefits).