| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-03-03 | Fixed CVE-2026-25674 -- Prevented potentially incorrect permissions on file ↵ | Natalia | |
| system object creation. This fix introduces `safe_makedirs()` in the `os` utils as a safer alternative to `os.makedirs()` that avoids umask-related race conditions in multi-threaded environments. This is a workaround for https://github.com/python/cpython/issues/86533 and the solution is based on the fix being proposed for CPython. Co-authored-by: Gregory P. Smith <68491+gpshead@users.noreply.github.com> Co-authored-by: Zackery Spytz <zspytz@gmail.com> Refs CVE-2020-24583 and #31921. Thanks Tarek Nakkouch for the report, and Jake Howard, Jacob Walls, and Shai Berger for reviews. | |||
| 2025-09-14 | Fixed typo in django/core/files/storage/base.py docstring. | Siyabonga Dlikilili | |
| 2025-07-23 | Refs #36500 -- Rewrapped long docstrings and block comments via a script. | django-bot | |
| Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505. | |||
| 2025-02-18 | Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. | Mariusz Felisiak | |
| datetime.UTC was added in Python 3.11. | |||
| 2025-02-17 | Fixed #36191 -- Truncated the overwritten file content in FileSystemStorage. | Gaël Utard | |
| 2025-01-15 | Refs #35326 -- Removed FileSystemStorage.OS_OPEN_FLAGS per deprecation timeline. | Sarah Boyce | |
| 2024-08-28 | Refs #35326 -- Adjusted deprecation warning stacklevel in ↵ | Simon Charette | |
| FileSystemStorage.OS_OPEN_FLAGS. | |||
| 2024-08-09 | Fixed #35658 -- Initialized InMemoryFileNode instances with a name. | lucasesposito | |
| 2024-07-24 | Fixed #35604, Refs #35326 -- Made FileSystemStorage.exists() behaviour ↵ | Sarah Boyce | |
| independent from allow_overwrite. Partially reverts 0b33a3abc2ca7d68a24f6d0772bc2b9fa603744e. Storage.exists(name) was documented to "return False if the name is available for a new file." but return True if the file exists. This is ambiguous in the overwrite file case. It will now always return whether the file exists. Thank you to Natalia Bidart and Josh Schneier for the review. | |||
| 2024-07-09 | Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save ↵ | Natalia | |
| method. Thanks to Josh Schneier for the report, and to Carlton Gibson and Sarah Boyce for the reviews. | |||
| 2024-05-21 | Fixed #35326 -- Added allow_overwrite parameter to FileSystemStorage. | Ben Cail | |
| 2024-02-20 | Fixed #23759 -- Preserved all file extensions in Storage.get_available_name(). | Adam Zapletal | |
| 2023-09-18 | Refs #26029 -- Removed DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings. | Mariusz Felisiak | |
| This also removes django.core.files.storage.get_storage_class(). Per deprecation timeline. | |||
| 2023-01-12 | Refs #26029 -- Deprecated DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings. | Jarosław Wygoda | |
| 2023-01-12 | Fixed #26029 -- Allowed configuring custom file storage backends. | Jarosław Wygoda | |
| 2023-01-10 | Fixed #34110 -- Added in-memory file storage. | Francesco Panico | |
| Thanks Paolo Melchiorre, Carlton Gibson, and Mariusz Felisiak for reviews. | |||
| 2022-11-11 | Refs #34110 -- Added StorageSettingsMixin. | Francesco Panico | |
| 2022-11-11 | Refs #34110 -- Reorganized django.core.files.storage into a separate module. | Francesco Panico | |
