Django 6.0 shipped in December 2025. If you run a business rather than a development team, you almost certainly did not notice, and there is no reason you should have. Framework releases are not news.

But this release, and more importantly the five months that followed it, carries a lesson worth stealing for anyone who commissions software. How a piece of software handles its own flaws tells you more about your future risk than any feature list ever will.

What Django 6 actually shipped

The headline feature is built-in support for Content Security Policy. In plain terms, a Content Security Policy is a set of instructions your application sends to the browser, telling it which scripts and resources are allowed to run on a page. It is one of the strongest practical defences against cross-site scripting, the class of attack where a malicious script gets smuggled into a page your customers trust.

Before version 6, Django developers bolted this on with third-party packages of varying quality. Now it is a first-class part of the framework, protecting against cross-site scripting out of the box. Django 6 also supports Python versions 3.12 through 3.14, which keeps applications aligned with the current language rather than trailing behind it.

Solid, useful, unglamorous. The kind of release that will never trend anywhere. That is rather the point.

The release rhythm is the real story

More telling than the features is what has happened since December.

Version 6.0.1 arrived in early January, fixing a data-loss bug. Version 6.0.2 followed in February, fixing three high-severity and two moderate security issues. Version 6.0.3 landed in March. And the project has not paused to catch its breath: the 6.1 alpha is already out this month, with a beta lined up for June.

Read that cynically and you see a framework shipping bugs, some of them serious. Read it properly and you see something far more valuable. This is what two decades of institutional maturity looks like: bugs found, disclosed responsibly, patched on schedule, with a published support lifecycle you can plan around.

No software is free of security flaws. None. The only meaningful difference between one stack and another is what happens after a flaw is found. Django’s answer is a documented process, a predictable cadence, and dates you can put in a diary.

A framework’s release notes tell you more about your future risk than its marketing site.

Why this matters when you commission software

When a small or medium-sized business commissions a web application, the conversation usually revolves around three things: features, budget and timeline. Almost nobody asks about the patch story.

Yet the application will run for years. Somewhere in year two or year four, a vulnerability will be discovered in something it depends on. That is not pessimism, it is arithmetic. The question that decides whether it becomes a Tuesday afternoon update or a crisis is simple: when a flaw is found in the framework underneath your system, who fixes it, how quickly, and how do you find out?

With Django, the answer is written down. There is a security team, a responsible disclosure process, a public record of what was fixed and when, and a lifecycle document telling you exactly how long each version receives security patches. You can plan a maintenance budget around that. A published support lifecycle is a business planning tool, not a technical detail.

Plenty of alternatives cannot answer the question at all.

The Python neighbourhood

There is a second, quieter argument for Django, and it has nothing to do with security.

Django is Python, and Python is where the bulk of modern data, AI and automation work happens. If your web application will ever need to sit next to a reporting pipeline, a forecasting model or an AI-assisted workflow, a Django application already speaks the same language. There is no second stack to hire for, no translation layer between your product and your data work.

For an SME that expects AI to matter to its operations over the next five years, and at this point that should be most of them, that adjacency is worth real money. The web application and the intelligence around it can share code, share developers and share infrastructure.

The other end of the spectrum

Now consider the contrast. The software landscape is littered with frameworks and platforms that were somebody’s smart choice in their year: clever, fashionable, well-reviewed. Some are now maintained by a single volunteer in their spare evenings. Some belong to a vendor whose runway is a board meeting away from ending. Some are simply abandoned.

When a security flaw appears in one of those, there is no schedule. There may be no fix at all. The risk does not disappear, it just transfers quietly to you, the business running the system. And the eventual cost is not a patch, it is a rewrite, on a timetable set by whoever found the flaw.

The failure is not picking a less common stack. Sometimes there are good reasons to. The failure is picking one without asking who maintains it, how they handle security, and what happens when they stop.

What to do about it

You do not need to become technical to protect yourself here. You need to ask a handful of questions and expect straight answers.

Ask every supplier about the patch story. Who maintains the framework they are proposing? How are security flaws disclosed and fixed? Where is that written down?

Ask for the support lifecycle. Mature projects publish end-of-support dates years in advance. If nobody can tell you when the proposed version stops receiving security fixes, treat that as your answer.

Treat a public record of fixed flaws as a good sign. A framework with a long list of patched vulnerabilities is a framework where people are looking, finding and fixing. Silence is not safety.

Budget for staying current. Minor version upgrades should be routine maintenance, done quarterly or better, not a special project every three years. It is far cheaper to walk up the versions than to leap.

If you are already on a dead stack, plan the exit now. A migration on your own schedule is a project. A migration forced by an unpatched vulnerability is an emergency.

Boring is a strategy

Django 6 will not excite anyone at a conference keynote, and its most important quality cannot be screenshotted: a twenty-year rhythm of found, fixed, shipped, repeated.

That rhythm is what software that lasts actually looks like. When you commission a system your business will depend on, choose the stack with the boring release notes and the published dates. The exciting choice is usually the one that expires.


Flux Dynamics builds and maintains software for SMEs on frameworks with a proven security track record, so the systems you pay for are still safe to run in five years. Start a project and we will help you choose a stack you can plan around.

Flux Dynamics
Software & AI Consultancy

Flux Dynamics is a UK software and AI consultancy: a fractional CTO who also builds, shipping custom web applications and software for businesses.