<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/django/core/files/utils.py, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2025-07-23T13:09:43Z</updated>
<entry>
<title>Removed double spaces after periods and within phrases.</title>
<updated>2025-07-23T13:09:43Z</updated>
<author>
<name>Sarah Boyce</name>
<email>42296566+sarahboyce@users.noreply.github.com</email>
</author>
<published>2025-07-18T13:37:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=1ecf6889cabc9f3f60d3fdd651468cddd8f4da6e'/>
<id>urn:sha1:1ecf6889cabc9f3f60d3fdd651468cddd8f4da6e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save method.</title>
<updated>2024-07-09T12:21:19Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2024-03-20T16:55:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=fe4a0bbe2088d0c2b331216dad21ccd0bb3ee80d'/>
<id>urn:sha1:fe4a0bbe2088d0c2b331216dad21ccd0bb3ee80d</id>
<content type='text'>
Thanks to Josh Schneier for the report, and to Carlton Gibson and Sarah
Boyce for the reviews.
</content>
</entry>
<entry>
<title>Fixed some typos in comments, docstrings, and tests.</title>
<updated>2023-03-20T07:07:23Z</updated>
<author>
<name>Liyang Zhang</name>
<email>sudo.liyang@gmail.com</email>
</author>
<published>2023-03-20T07:07:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f9f9215d3e5500d9a8d0bec0936480ba34d42e88'/>
<id>urn:sha1:f9f9215d3e5500d9a8d0bec0936480ba34d42e88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #33476 -- Reformatted code with Black.</title>
<updated>2022-02-07T19:37:05Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2022-02-03T19:24:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9c19aff7c7561e3a82978a272ecdaad40dda5c00'/>
<id>urn:sha1:9c19aff7c7561e3a82978a272ecdaad40dda5c00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #32718 -- Relaxed file name validation in FileField.</title>
<updated>2021-05-13T06:53:44Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2021-05-13T06:53:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=b55699968fc9ee985384c64e37f6cc74a0a23683'/>
<id>urn:sha1:b55699968fc9ee985384c64e37f6cc74a0a23683</id>
<content type='text'>
- Validate filename returned by FileField.upload_to() not a filename
  passed to the FileField.generate_filename() (upload_to() may
  completely ignored passed filename).
- Allow relative paths (without dot segments) in the generated filename.

Thanks to Jakub Kleň for the report and review.
Thanks to all folks for checking this patch on existing projects.
Thanks Florian Apolloner and Markus Holtermann for the discussion and
implementation idea.

Regression in 0b79eb36915d178aef5c6a7bbce71b1e76d376d3.</content>
</entry>
<entry>
<title>Fixed CVE-2021-31542 -- Tightened path &amp; file name sanitation in file uploads.</title>
<updated>2021-05-04T06:44:42Z</updated>
<author>
<name>Florian Apolloner</name>
<email>florian@apolloner.eu</email>
</author>
<published>2021-04-14T16:23:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=0b79eb36915d178aef5c6a7bbce71b1e76d376d3'/>
<id>urn:sha1:0b79eb36915d178aef5c6a7bbce71b1e76d376d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #23919 -- Removed File's Python 2 proxied methods.</title>
<updated>2017-04-26T18:44:07Z</updated>
<author>
<name>Josh Schneier</name>
<email>josh.schneier@gmail.com</email>
</author>
<published>2017-04-26T18:44:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9b538badb1ae5d1e86779afb8be961ef5880a58a'/>
<id>urn:sha1:9b538badb1ae5d1e86779afb8be961ef5880a58a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #23919 -- Stopped inheriting from object to define new style classes.</title>
<updated>2017-01-19T07:39:46Z</updated>
<author>
<name>Simon Charette</name>
<email>charettes@users.noreply.github.com</email>
</author>
<published>2017-01-19T07:39:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=cecc079168e8669138728d31611ff3a1e7eb3a9f'/>
<id>urn:sha1:cecc079168e8669138728d31611ff3a1e7eb3a9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #26646 -- Added IOBase methods required by TextIOWrapper to File.</title>
<updated>2016-05-28T01:05:58Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2016-05-22T16:43:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=4f474607de9b470f977a734bdd47590ab202e778'/>
<id>urn:sha1:4f474607de9b470f977a734bdd47590ab202e778</id>
<content type='text'>
Thanks Tim for the review.
</content>
</entry>
<entry>
<title>Fixed #24963 -- Added File.seekable() on Python 3.</title>
<updated>2015-06-12T14:17:21Z</updated>
<author>
<name>Carson Gee</name>
<email>x@carsongee.com</email>
</author>
<published>2015-06-10T14:43:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e93e0c03b28137e26f9249e0b7c458b0d667a74e'/>
<id>urn:sha1:e93e0c03b28137e26f9249e0b7c458b0d667a74e</id>
<content type='text'>
</content>
</entry>
</feed>
