Week ending 2026-10-11 (Week 41)
A busy week with security work taking a good chunk of my time!
Resulting from lots of report triage, I confirmed a vulnerability and developed the solution, and filed a couple of hardening improvements to follow up on
. We also made an important change to Django’s security reporting process by pausing
new HackerOne submissions and announcing the update publicly. Alongside that, I kept pushing
documentation improvements forward, and started removing some vendored code for recursively create directories with a given mode
.
Triaged
- #36424 (Extend documentation related to handling of model name collisions in shell auto-imports) – Django - Extend documentation related to handling of model name collisions in shell auto-imports (re-engaged after further feedback)
Reviewed
- Fixed #36424 -- Documented model name collisions in shell auto-imports. by Sohail342 · Pull Request #19542 · django/django · GitHub - Fixed #36424 – Documented model name collisions in shell auto-imports.
- Fixed #37051 -- Improved organisation of documentation home page. by evildmp · Pull Request #21138 · django/django · GitHub - Fixed #37051 – Improved organisation of documentation home page.
- Improved translation fetching guidance in docs/internals/howto-release-django.txt. by jacobtylerwalls · Pull Request #21734 · django/django · GitHub - Improved translation fetching guidance in docs/internals/howto-release-django.txt.
- Fixed #37272 -- Documented the annual release cycle within the release process docs. by sarahboyce · Pull Request #21764 · django/django · GitHub - Fixed #37272 – Documented the annual release cycle within the release process docs.
- Fixed #36424 -- Clarified precedence of shell auto-imports with isort. by HatfieldAlex · Pull Request #22034 · django/django · GitHub -Fixed #36424 – Clarified precedence of shell auto-imports with isort.
- Fixed #37386 -- Observed delete_confirmation_max_display=0 for inlines. by jacobtylerwalls · Pull Request #22055 · django/django · GitHub - Fixed #37386 – Observed delete_confirmation_max_display=0 for inlines.
- Refs #37212 -- Added tests and additional cleanup in djangodocs Sphinx extension. by medmunds · Pull Request #22073 · django/django · GitHub - Refs #37212 – Added tests and additional cleanup in djangodocs Sphinx extension.
- Refs #37271 -- Updated docs/conf.py for calendar versioning. by medmunds · Pull Request #22113 · django/django · GitHub - Refs #37271 – Updated docs/conf.py for calendar versioning.
- https://github.com/django/django/pull/22122 - Removed new contributor welcome message action.
Authored
- #37401 (Made `FILE_UPLOAD_DIRECTORY_PERMISSIONS` respect the process umask to remove vendored `makedirs`) – Django - Made `FILE_UPLOAD_DIRECTORY_PERMISSIONS` respect the process umask to remove vendored `makedirs`
- Fixed #37401 -- Used os.makedirs() for safe_makedirs() on Python 3.15+. by nessita · Pull Request #22095 · django/django · GitHub - Fixed #37401 – Used os.makedirs() for safe_makedirs() on Python 3.15+.
- #37409 (Ambiguous "Overview" link text on the documentation home page) – Django - Ambiguous “Overview” link text on the documentation home page
- Fixed #37409 -- Removed ambiguous "Overview" link text from the docs home page. by nessita · Pull Request #22109 · django/django · GitHub - Fixed #37409 – Removed ambiguous “Overview” link text from the docs home page.
- #37410 (Groups in the documentation home page table of contents are not exposed to assistive technology) – Django - Groups in the documentation home page table of contents are not exposed to assistive technology
- PR in progress.
Security
- Lots of new reports triage, resulting in
- a confirmed vulnerability (Low) for which I assigned a CVE and prepared the patch with a fix and release notes
- creation of 2 public hardening tickets
- #37413 (MultiPartParser treats boundary tokens not preceded by CRLF as delimiters) – Django - MultiPartParser treats boundary tokens not preceded by CRLF as delimiters
- #37414 (Reject invalid characters in response header names and values) – Django - Reject invalid characters in response header names and values
- a ping in a Python old issue which resulted in a super fast merging and backporting, thanks @medmunds!
- New submissions in HackerOne were disabled, and I posted a blogpost about it:
Other/Misc
- Weekly Fellows meeting.
- Biweekly meeting with Fellows and Board Liaison (Jeff Triplett).
- Biweekly meeting with Fellows and Line Manager (Andrew Godwin).
- Monthly CoC WG meeting.
- Monthly Ops Team meeting.
- Monthly Steering Council meeting.