web-v4.12.0

actix/actix-webweb-v4.12.0Nov 16, 2025by JohnTitor

AI Summary

Modifies streaming response behavior and adds WebSocket support as a default feature.

Key Highlights

  • Streaming responses now default to octet-stream and call no_chunking
  • Adds `ws` crate feature (on-by-default)
  • Adds public export for `EitherExtractError`

Breaking Changes

  • Streaming response behavior changes (Content-Type default, no_chunking call)

New Features

  • ws crate feature
  • EitherExtractError export

Full Release Notes

# Short announcement

We've started GitHub Sponsors: https://github.com/sponsors/actix
Support our development!

## v4.12.0

- `actix_web::response::builder::HttpResponseBuilder::streaming()` now sets `Content-Type` to `application/octet-stream` if `Content-Type` does not exist.
- `actix_web::response::builder::HttpResponseBuilder::streaming()` now calls `actix_web::response::builder::HttpResponseBuilder::no_chunking()` and returns `SizedStream` if `Content-Length` is set by user.
- Add `ws` crate feature (on-by-default) which forwards to `actix-http` and guards some of its `ResponseError` impls.
	- ⚠️ if you use `default-feature = false` and the web scoket feature, please make sure you enable the `ws` feature.
- Add public export for `EitherExtractError` in `error` module.