# Django 5.2.16 documentation

# Django 1.9.5 release notes

April 1, 2016

Django 1.9.5 fixes several bugs in 1.9.4.

## Bugfixes

- Made `MultiPartParser` ignore filenames that normalize to an empty string to fix crash in `MemoryFileUploadHandler` on specially crafted user input (#26325).

- Fixed a race condition in `BaseCache.get_or_set()` (#26332). It now returns the `default` value instead of `False` if there’s an error when trying to add the value to the cache.

- Fixed data loss on SQLite where `DurationField` values with fractional seconds could be saved as `None` (#26324).

- The forms in `contrib.auth` no longer strip trailing and leading whitespace from the password fields (#26334). The change requires users who set their password to something with such whitespace after a site updated to Django 1.9 to reset their password. It provides backwards-compatibility for earlier versions of Django.

- Fixed a memory leak in the cached template loader (#26306).

- Fixed a regression that caused `collectstatic --clear` to fail if the storage doesn’t implement `path()` (#26297).

- Fixed a crash when using a reverse lookup with a subquery when a `ForeignKey` has a `to_field` set to something other than the primary key (#26373).

- Fixed a regression in `CommonMiddleware` that caused spurious warnings in logs on requests missing a trailing slash (#26293).

- Restored the functionality of the admin’s `raw_id_fields` in `list_editable` (#26387).

- Fixed a regression with abstract model inheritance and explicit parent links (#26413).

- Fixed a migrations crash on SQLite when renaming the primary key of a model containing a `ForeignKey` to `'self'` (#26384).

- Fixed `JSONField` inadvertently escaping its contents when displaying values after failed form validation (#25532).