April 1, 2016
Django 1.9.5 fixes several bugs in 1.9.4.
MultiPartParser ignore filenames that normalize to an empty string
to fix crash in MemoryFileUploadHandler on specially crafted user input
(#%s26325).BaseCache.get_or_set() (#%s26332). It
now returns the default value instead of False if there’s an error
when trying to add the value to the cache.DurationField values with fractional
seconds could be saved as None (#%s26324).contrib.auth no longer strip trailing and leading whitespace
from the password fields (#%s26334). 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.collectstatic --clear to fail if the
storage doesn’t implement path() (#%s26297).ForeignKey has a to_field set to something other than the primary key
(#%s26373).CommonMiddleware that caused spurious warnings in
logs on requests missing a trailing slash (#%s26293).raw_id_fields in
list_editable (#%s26387).ForeignKey to 'self' (#%s26384).JSONField inadvertently escaping its contents when displaying values
after failed form validation (#%s25532).Sep 26, 2023