Django 5.1 was released this week, and it's a special release for me because it contains my first contributions to the framework.
Accessibility
Together with the Django Accessibility Team, we made several fixes for the admin and debug error pages that benefit screen readers.
Many of the accessibility fixes in this round are invisible to the eye but are critical nonetheless. For example, screen reader users have additional landmarks to navigate the debug error pages.
When updating the admin UI, we also checked that the affected UI elements remain visible when enabling Windows' contrast themes and that the right-to-left (RTL) styles look good.
We have a long way to go, but I am happy that we enable more people to use Django and the Django Admin with each release.
Highlights and lessons learned
In the release notes, I implemented three features with tickets provided by Thibaud Colas.
My favorite is replacing the Django Admin's collapsible fieldsets with a native HTML details element. The moment you throw out an entire JavaScript file is incredibly satisfying.
The road to merging this PR was bumpy, as I was very stressed about it. I later apologized to Natalia [Bidart, Django Fellow], who took my inexperience and impatience in stride.
With today's knowledge, I would have been more relaxed with a big PR. The Fellows need to be very strict to ensure we don't break the framework for thousands of people, and that's a momentous task.
Looking back, it's remarkable how we completed this complex change in less than four months. This feat wouldn't have been possible without the help of all the people who chimed in. So, thank you to those who joined the PR!
Djangonaut Space shout-out
My contributions wouldn't have been possible without the fantastic Djangonaut Space program, where I participated in 2024 Session 1.
This program powered part of the Django 5.1 release by introducing new contributors and adding fresh knowledge to the pool.
(Coincidentally, I am writing all this the day my team wrapped up 2024 Session 2 of the program. Bittersweet.)
Wrap-up
Django 5.1 is out and ready for use, so update your requirements and blast off!