File: 2.0.0.rst

package info (click to toggle)
python-django-channels 4.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 872 kB
  • sloc: python: 2,394; makefile: 154; sh: 8
file content (35 lines) | stat: -rw-r--r-- 1,464 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2.0.0 Release Notes
===================

Channels 2.0 is a major rewrite of Channels, introducing a large amount of
changes to the fundamental design and architecture of Channels. Notably:

* Data is no longer transported over a channel layer between protocol server
  and application; instead, applications run inside their protocol servers
  (like with WSGI).

* To achieve this, the entire core of channels is now built around Python's
  ``asyncio`` framework and runs async-native down until it hits either a
  Django view or a synchronous consumer.

* Python 2.7 and 3.4 are no longer supported.

More detailed information on the changes and tips on how to port your
applications can be found in our ``/one-to-two`` documentation in the 2.x
docs version.


Backwards Incompatible Changes
------------------------------

Channels 2 is regrettably not backwards-compatible at all with Channels 1
applications due to the large amount of re-architecting done to the code and
the switch from synchronous to asynchronous runtimes.

A migration guide is available in the 2.x docs version, and a lot of the basic
concepts are the same, but the basic class structure and imports have changed.

Our apologies for having to make a breaking change like this, but it was the
only way to fix some of the fundamental design issues in Channels 1. Channels 1
will continue to receive security and data-loss fixes for the foreseeable
future, but no new features will be added.