Cowboy 2.21 is a maintenance release. It updates Cowlib to 2.22.0 to benefit from security and bug fixes. It also adds an HTTP/2 header list limit and removes code archive support from cowboy_static.
Cowboy 2.21 requires Erlang/OTP 27.0 or greater.
max_header_list_size defaults to 32768.
:authority reg-name may now contain percent-encoded octets, for example when clients connect to Unix domain sockets.
cowboy_static no longer reads code archives. {priv_file, App, Path} and {priv_dir, App, Path} always use the filesystem. Application archives were deprecated in Erlang/OTP 27 and removed in Erlang/OTP 30.
HEAD response is properly finished when the headers are sent, including when streaming response bodies.
Content-Range for the bytes that were sent. bytes=3-5 on a 5-byte body is bytes 3-4/5. A range that starts inside the body and ends past it is that partial response, not a 416. A suffix as long as the body, or longer, is the whole body.
CONNECT or TRACE request answered with 501 now resets the stream when the request body is still open.
Support my work on Cowboy, Ranch, Gun and Erlang.mk via GitHub Sponsors. The funds cover domain names and development tools.