Being three versions behind isn't a style problem — it's a security problem, and it gets more expensive every quarter you wait. But a big-bang upgrade PR that touches four hundred files is unreviewable and terrifying, which is exactly why it never gets merged.
I do these incrementally. Dependency audit first, then a version at a time, each with its own reviewable pull request and a green test suite. If your coverage isn't good enough to make that safe, step zero is adding the tests that make it safe.
This is for you if…
- You're on a Django version that no longer gets security fixes
- A previous upgrade attempt stalled
- A dependency is blocking you and nobody has time to find an alternative
- Compliance is asking questions
Also available
Other ways to work together.
Django Consulting & Development
Senior Django help for the work your team keeps postponing.
Learn more →AI Workflow Engineering
Getting an LLM feature from a demo that works to something you can actually run.
Learn more →Python Deployments & Infrastructure
Getting your deploy process to the point where nobody dreads it.
Learn more →