Upgrade Django

Why upgrade Django?

You should keep your Django version up to date for a few reasons.

Security

While it’s not common for Django to have security issues (because the Django developers and surrounding community take web security very seriously), using the latest version of Django helps ensure you have patched any known security vulnerabilities.

However, this does not ensure your site is without ANY security issues. It simply guarantees your site does not contain any known vulnerabilities due to using Django itself. You could still have a problem with a third-party Django application, your version of Python, or your webserver.

Due to the extended support period, an LTS or long-term support release of Django will have more known vulnerabilities patched than a non-LTS release.

Bug Fixes

Bug fixes are another top reason you will want to keep up with Django releases.

Again, due to the extended support period, an LTS or long-term support release of Django will have more known bugs found and fixed than a non-LTS release.

Performance

Often new releases come with better performance.

Difficulty

It’s frequently easy to upgrade Django. This is because the Django project works hard to keep backwards incompatible changes to a minimum and they heavily document any breaking changes in the release notes.

Keeping Pace

By tackling each small release as it happens, you avoid “big bang” upgrades where you must ahead several versions at once. An upgrade that spans several versions will require you to make far more changes to your codebase and puts your app at greater risk of having defects directly after launching.

Which version should I be using?

Ideally, you should be using the most recent Django LTS or the current Django release.

Using the latest and greatest Django release means you’re probably upgrading more frequently and getting new features when they’re hot off the presses, but it’s more likely you’ll encounter situations that break your code slightly.

Using the most recent Django LTS means you don’t have to upgrade as frequently and the upgrades will be more stable, but you’ll also wait longer to get new features.

Need help upgrading Django? REVSYS can make it easy for your team.