2.3.0 Release Notes¶
Channels 2.3.0 updates the
AsgiHandler HTTP request body handling to use a
spooled temporary file, rather than reading the whole request body into memory.
This significantly reduces the maximum memory requirements when serving Django views, and protects from DoS attacks, whilst still allowing large file uploads — a combination that had previously been difficult.
Many thanks to Ivan Ergunov for his work on the improvements! 🎩
Backwards Incompatible Changes¶
As a result of the reworked body handling,
adjusted to expecte a file-like
stream, rather than the whole
Test cases instantiating requests directly will likely need to be updated to
wrap the provided
body in, e.g.,
We’re looking to address a few issues around
human-power available to help on that, truly appreciated. 🙂