DevHeads.net

Fedora 32 Self-Contained Change proposal: Django 3

<a href="https://fedoraproject.org/wiki/Changes/Django3" title="https://fedoraproject.org/wiki/Changes/Django3">https://fedoraproject.org/wiki/Changes/Django3</a>

== Summary ==
This change is about upgrading {{package|python-django}} to
[https://docs.djangoproject.com/en/3.0/releases/3.0/ version 3.0]. A
compatibility package is not planned (but it is part of the
contingency plan).

== Owner ==
* Name: [[User:churchyard| Miro HronĨok]]
* Email: < ... at redhat dot com>

* Name: [[User:mrunge| Matthias Runge]]
* Email: < ... at redhat dot com>

== Detailed Description ==
The {{package|python-django}} package will be updated to 3.0.

Django 3.0 begins the journey to making Django fully async-capable by
providing support for running as an ASGI application.

This is in addition to the existing WSGI support. Django intends to
support both for the foreseeable future. Async features will only be
available to applications that run under ASGI, however.

== Benefit to Fedora ==
Fedora will be able to provide the latest and current release of Django.

== Scope ==
* '''Proposal owners:''' upgrade {{package|python-django}} to 3.0
prerelease as soon as this change is accepted
([https://src.fedoraproject.org/rpms/python-django/pull-request/9 pull
request]).
* '''Django libraries/apps owners:''' Test that your packages work
with Django 3. Update, contact upstream for help. Retire leaf packages
with libraries if not compatible.
* Release engineering: no impact with Release Engineering is anticipated
* Policies and guidelines: N/A
* Trademark approval: N/A (not needed for this Change)

List of packages directly requiring {{package|python3-django}}:

* {{package|graphite-web}}
* {{package|kobo}}
* {{package|python-django-ajax-selects}}
* {{package|python-django-angular}}
* {{package|python-django-annoying}}
* {{package|python-django-appconf}}
* {{package|python-django-authority}}
* {{package|python-django-babel}}
* {{package|python-django-cacheops}}
* {{package|python-django-compressor}}
* {{package|python-django-contact-form}}
* {{package|python-django-cors-headers}}
* {{package|python-django-database-url}}
* {{package|python-django-debreach}}
* {{package|python-django-debug-toolbar}}
* {{package|python-django-filter}}
* {{package|python-django-formtools}}
* {{package|python-django-haystack}}
* {{package|python-django-helpdesk}}
* {{package|python-django-js-asset}}
* {{package|python-django-jsonfield}}
* {{package|python-django-macros}}
* {{package|python-django-markdownx}}
* {{package|python-django-mptt}}
* {{package|python-django-nose}}
* {{package|python-django-pipeline}}
* {{package|python-django-post_office}}
* {{package|python-django-pyscss}}
* {{package|python-django-pytest}}
* {{package|python-django-redis}}
* {{package|python-django-registration}}
* {{package|python-django-rest-framework}}
* {{package|python-django-rest-framework-composed-permissions}}
* {{package|python-django-reversion}}
* {{package|python-django-robots}}
* {{package|python-django-rq}}
* {{package|python-django-simple-captcha}}
* {{package|python-django-tables2}}
* {{package|python-django-tagging}}
* {{package|python-django-taggit}}
* {{package|python-django-tastypie}}
* {{package|python-django-threadedcomments}}
* {{package|python-django-timezone-field}}
* {{package|python-django-tinymce}}
* {{package|python-djangoql}}
* {{package|python-livereload}}
* {{package|python-pelican}}
* {{package|python-whitenoise}}
* {{package|python3-openid}}

== Upgrade/compatibility impact ==
Eventually removed packages need to be obsoleted.

== How To Test ==
# dnf update python3-django

Test that Fedora packaged Django applications still function as
before, open Bugzillas if they don't.

== User Experience ==
Users using RPM installed Django to develop Django apps might be
affected by this change. We shall recommend either using Python venvs
for users who develop Django apps. See the developer portal, we are
already [https://developer.fedoraproject.org/tech/languages/python/django-installation.html
recommending that].

== Contingency Plan ==
* Contingency mechanism: (What to do? Who will do it?) Proposal
owners will introduce a <code>python-django2</code> compatibility
package if everything goes south.
* Contingency deadline: beta freeze

== Documentation ==
<a href="https://docs.djangoproject.com/en/3.0/releases/3.0/" title="https://docs.djangoproject.com/en/3.0/releases/3.0/">https://docs.djangoproject.com/en/3.0/releases/3.0/</a>

== Release Notes ==
TBD