Adam Johnson
adamj.eu
Adam Johnson
@adamj.eu
🐴 @djangoproject.com blogger and contributor
✍️ Author of three books on Django and Git
🍕 Django London co-organizer
🇬🇧 London / 🇵🇹 Lisbon
Pinned
🎉 Wahoo, I updated my Git book!

This is a free update for all readers, as always, and a good reason to become one if you’re not.

There’s a new chapter, “init and clone”, many extra sections, and it’s updated for the latest Git. 28 new pages for a total of 391!

#Git

adamj.eu/tech/2025/01...
Boost Your Git DX second update out now - Adam Johnson
Today I have released the second update to Boost Your Git DX, my book of developer experience (DX) recommendations for using Git. Since the last update (2024-04-04), it has grown again by 28 pages, fo...
adamj.eu
htmx v4 is in alpha!
November 4, 2025 at 11:27 AM
Reposted by Adam Johnson
Biome v2.3 is out!

👨‍👨‍👦‍👦 Full support for @vuejs.org, @svelte.dev and @astro.build
‼️ New ignore syntax
🌬️ Tailwind v4 support
⌨️ New CLI flags and reporters

biomejs.dev/blog/biome-v...
October 24, 2025 at 1:02 PM
TIL Django has a collection of old school website badges to show off that you use it!

"POWERED BY DJANGO"

www.djangoproject.com/community/ba...

#Django
Django badges
Building the Django Community. Come join us!
www.djangoproject.com
October 29, 2025 at 11:04 PM
Reposted by Adam Johnson
TLDR; The PSF has made the decision to put our community and our shared diversity, equity, and inclusion values ahead of seeking $1.5M in new revenue. Please read and share. pyfound.blogspot.com/2025/10/NSF-...
🧵
The official home of the Python Programming Language
www.python.org
October 27, 2025 at 2:47 PM
🚀 Yesterday, I released version 1.2.0 of my new package, django-http-compression.

It includes a big change to only apply compression to known-compressible content types, like HTML or JSON, copying the behaviour of servers like Caddy or CloudFlare.

github.com/adamchainz/d...

#Django
django-http-compression/CHANGELOG.rst at main · adamchainz/django-http-compression
Django middleware for compressing HTTP responses with Zstandard, Brotli, or Gzip. - adamchainz/django-http-compression
github.com
October 27, 2025 at 2:51 PM
Reposted by Adam Johnson
MariaDB users – take 10min to share your experience in their annual survey! mariadb.typeform.com/survey-2025...

#Django #MariaDB
State of MariaDB 2025 Survey
Turn data collection into an experience with Typeform. Create beautiful online forms, surveys, quizzes, and so much more. Try it for FREE.
mariadb.typeform.com
October 24, 2025 at 8:13 AM
Reposted by Adam Johnson
ripgrep 15 is out! Mostly a host of bug fixes, particularly around gitignore. Some minor perf improvements. A couple small features. And (partial) Jujutsu support for gitignore.

github.com/BurntSushi/r...
Release 15.0.0 · BurntSushi/ripgrep
Sponsorship is appreciated! ripgrep 15 is a new major version release of ripgrep that mostly has bug fixes, some minor performance improvements and minor new features. In case you haven't heard of...
github.com
October 16, 2025 at 3:33 AM
This is a banger post from Haki Benita, well worth the investment towards improving your Django and PostgreSQL migration skills.

hakibenita.com/django-forei...

#Django
How to Get Foreign Keys Horribly Wrong
Common Pitfalls and Potential Optimizations in Django
hakibenita.com
October 12, 2025 at 9:48 PM
Give this a go to help guide the future of the web!
As an experiment, we (the Firefox team) wanted to try a new way to get feedback on which Interop proposals matter most.

So, here's a web app where you can rank the proposals you care about, giving us data we can use when reviewing which ones to champion.

interop-rank.jakearchibald.com
Interop Feature Ranking
Rank the web platform features you care most about
interop-rank.jakearchibald.com
October 11, 2025 at 6:35 AM
Yay, well done Tim, much deserved!
October 10, 2025 at 4:56 PM
✍️ New post announcing my package django-http-compression.

This is a drop-in replacement for Django's GZipMiddleware, supporting the modern compression algorithms Brotli and Zstandard (Python 3.14+).

adamj.eu/tech/2025/10...

#Django
Django: Introducing django-http-compression - Adam Johnson
HTTP supports response compression, which can significantly reduce the size of responses, thereby decreasing bandwidth usage and load times for users. It’s a cheap and valuable technique for improving...
adamj.eu
October 10, 2025 at 4:11 PM
This afternoon, I opened a ticket on Django and later closed it as "wontfix", all by myself.

What looked like a regression turned out to be extra protection alerting me to some missing foreign key constraints.

code.djangoproject.com/ticket/36645

#Django
#36645 (PostgreSQL migration regression: `InternalError: cannot drop column id of table ... because other objects depend on it`) – Django
code.djangoproject.com
October 7, 2025 at 4:14 PM
Reposted by Adam Johnson
Bringing back hope.

Leader Zack Polanski makes a powerful case for taxing wealth not work in the Green Party's new party political broadcast.
Let's Make Hope Normal Again - Green Party Political Broadcast
YouTube video by Green Party of England & Wales
youtu.be
October 6, 2025 at 6:11 PM
Reposted by Adam Johnson
Just released! 🚀

Please install and enjoy Python 3.14! 🥧

discuss.python.org/t/python-3-1...

#Python #Python314 #release
October 7, 2025 at 2:29 PM
Reposted by Adam Johnson
Python 3.14.0, the first stable release, is out!

And it comes with a spiffy logo! discuss.python.org/t/python-3-1...

I'm probably biased, but many of the features in 3.14 seem huge to the future of the language:

free-threading stable, subinterpreters, zstandard, too many others to list!

#python
Python 3.14.0 (final) is here!
Python 3.14.0 is now available This is the stable release of Python 3.14.0 Python 3.14.0 is the newest major release of the Python programming language, and it contains many new features and optimis...
discuss.python.org
October 7, 2025 at 2:44 PM
Reposted by Adam Johnson
See you this evening! Remember to bring your laptop 😉
October 7, 2025 at 8:00 AM
🚀 django-upgrade 1.29.0 is out!

It ships 4 new fixers for Django 6.0, to help ease the upgrade for this new version expected in December.

Test out Django 6.0 alpha today and use django-upgrade to automatically update some of your code!

django-upgrade.readthedocs.io/en/latest/ch...

#Django
Changelog - django-upgrade 1.29.0 documentation
django-upgrade.readthedocs.io
October 7, 2025 at 10:17 AM
🏁 django-stubs 5.2.6 is out!

Little by little, Django gets easier to type check, thanks to some pretty dedicated and fearless contributors.

github.com/typeddjango/...

#Django
Releases · typeddjango/django-stubs
PEP-484 stubs for Django. Contribute to typeddjango/django-stubs development by creating an account on GitHub.
github.com
October 5, 2025 at 11:05 PM
Reposted by Adam Johnson
Ep186 with Django Fellow Jacob Walls is live!

We talk about his background, transitioning from music to programming, what to expect in Django 6.0 this December, and more.

djangochat.com/episodes/dja...

Also available on YouTube if you prefer: youtu.be/P-D7DtGJqzY?...
October 1, 2025 at 2:44 PM
You can now read and search the Django 6.0 documentation offline with DevDocs!

devdocs.io/django~6.0/

#Django
DevDocs — Django 6.0 documentation
Django 6.0 API documentation with instant search, offline support, keyboard shortcuts, mobile version, and more.
devdocs.io
September 27, 2025 at 6:29 AM
Reposted by Adam Johnson
I'll be giving a talk about Free-threaded Python at the #01 - Python Lisbon Meetup next week (Oct 2)! 🎉

Hope to see you there!

www.meetup.com/python-lisb...
#01 - PyLM Meetup at Técnico 🎓🐍, Thu, Oct 2, 2025, 7:00 PM | Meetup
🇵🇹 Vamos encontrar-nos no dia **2 de outubro às 19:00 no IST, Pavilhão de Matemática, sala 3.10**! Desta vez teremos uma sala com projetor, por isso preparem-se para uma
www.meetup.com
September 24, 2025 at 6:23 PM
✍️ New post introducing django-watchfiles, a package to make Django’s runserver autoreloading more efficient.

adamj.eu/tech/2025/09...

#Django #Python
Django: Introducing django-watchfiles, for more efficient runserver autoreloading - Adam Johnson
Django’s runserver automatically reloads when you change Python files. Without this autoreloading feature, you’d need to manually restart the server every time you made a code change.
adamj.eu
September 22, 2025 at 6:06 PM
🚀 Django 6.0 alpha 1 is out, so let's start testing against it!

I’ve just released versions of these 17 packages with Django 6.0 support:

django-auto-prefetch, django-browser-reload, django-cors-headers, django-harlequin, django-htmx, django-linear-migrations, …

Enjoy!

#Django #Python
September 18, 2025 at 11:48 AM