Django 1.9.5 版本发行说明

2016 年 4 月 1 日

Django 1.9.5 修复了 1.9.4 中的几个错误。

漏洞修复

  • 使 MultiPartParser 忽略将规范化为空字符串的文件名,以修复在特殊构造的用户输入上导致 MemoryFileUploadHandler 崩溃的问题 (#26325)。

  • 修复了 BaseCache.get_or_set() 中的竞争条件(#26332)。如果尝试将值添加到缓存时出现错误,它现在返回 default 值而不是 False

  • 修复了在 SQLite 上的数据丢失问题,其中带有分数秒的 DurationField 值可能会保存为 None (#26324)。

  • contrib.auth 中的表单不再从密码字段中去除尾部和开头的空格(#26334)。这个更改要求在站点升级到 Django 1.9 后,将密码设置为包含这种空格的用户重新设置密码。它提供了对早期版本的 Django 的向后兼容性。

  • 修复了缓存模板加载器中的内存泄漏问题(#26306)。

  • 修复了一个导致 collectstatic --clear 失败的回归问题,如果存储没有实现 path()#26297)。

  • 修复了使用子查询进行反向查找时,当 ForeignKeyto_field 设置为主键之外的其他值时崩溃的问题(#26373)。

  • 修复了 CommonMiddleware 中的一个回归问题,导致在缺少尾部斜杠的请求上记录不必要的警告日志(#26293)。

  • 恢复了管理员中 list_editableraw_id_fields 的功能 (#26387)。

  • 修复了抽象模型继承和显式父链接的一个回归问题(#26413)。

  • 修复了在 SQLite 上重命名包含 ForeignKey'self' 的模型的主键时引发迁移崩溃的问题(#26384)。

  • 修复了在表单验证失败后显示 JSONField 值时不小心转义其内容的问题(#25532)。

Back to Top