# Upgrade Django v3.0.x

## Release Highlights
- The main highlight of this release is the [ASGI support](https://asgi.readthedocs.io/en/latest/)
this will help lead the way to a [fully async version of Django](https://docs.djangoproject.com/en/3.0/releases/3.0/#asgi-support) in the near future.

- This release also now supports [MariaDB 10.1](https://docs.djangoproject.com/en/3.0/releases/3.0/#mariadb-support) and higher.

- Note that this version supports [Python versions](https://docs.djangoproject.com/en/3.0/releases/3.0/#python-compatibility) 3.6, 3.7, 3.8 and 3.9 (as of Django 3.0.11).  If you're not
already using one of these versions anyway for other reasons you're missing out!
    - Python 3.5 support has been dropped.

## Upgrade Gotchas
- One gotcha that will bite many people is [this release removes](https://docs.djangoproject.com/en/3.0/releases/3.0/#features-removed-in-3-0) the `django.db.backends.postgresql_psycopg2`
module entirely so you're finally forced to change your backend database setting
to be `django.db.backends.postgresql`.

- Another that might trip you up is that `{% load staticfiles %}` now needs
to be `{% load static %}` previously both were supported, but [this version
removes](https://docs.djangoproject.com/en/3.0/releases/3.0/#features-removed-in-3-0) the `staticfiles` version entirely.

- Support for [PostgreSQL 9.4](https://docs.djangoproject.com/en/3.0/releases/3.0/#dropped-support-for-postgresql-9-4) and [Oracle 12.1](https://docs.djangoproject.com/en/3.0/releases/3.0/#dropped-support-for-oracle-12-1) has been removed.

- Many private [Python 2 compatibility APIs](https://docs.djangoproject.com/en/3.0/releases/3.0/#removed-private-python-2-compatibility-apis) were also removed.

Source: https://upgradedjango.com/3.0/
