2.0.0 Примечания к выпуску

Channels 2.0 - это значительная переработка Channels, вносящая большое количество изменений в фундаментальный дизайн и архитектуру Channels. В частности:

  • Данные больше не передаются через канальный уровень между сервером протоколов и приложением; вместо этого приложения выполняются внутри своих серверов протоколов (как в WSGI).

  • Для достижения этой цели все ядро каналов теперь построено на основе фреймворка Python asyncio и выполняется async-native до тех пор, пока не попадет либо в представление Django, либо в синхронный потребитель.

  • Python 2.7 и 3.4 больше не поддерживаются.

Более подробную информацию об изменениях и советы по переносу приложений можно найти в нашей документации /one-to-two.

Обратные несовместимые изменения

К сожалению, Channels 2 не имеет обратной совместимости с приложениями Channels 1 из-за большого объема перепроектирования кода и перехода от синхронного к асинхронному времени выполнения.

Имеется migration guide, и многие основные концепции остались прежними, но основная структура классов и импорты изменились.

Мы приносим свои извинения за то, что нам пришлось внести такое серьезное изменение, но это был единственный способ исправить некоторые фундаментальные проблемы дизайна Channels 1. В обозримом будущем Channels 1 будет продолжать получать исправления, связанные с безопасностью и потерей данных, но никаких новых функций добавлено не будет.

Вернуться на верх