🚀 actix/actix-web - Release Notes
actix-web: v4.10.2 (2025-03-10)
- No significant changes since `4.10.1`.
actix-web: v4.10.1 (2025-03-10)
- No significant changes since `4.10.0`.
actix-web: v4.10.0 (2025-03-10)
### Added
- Implement `Responder` for `Result<(), E: Into>`. Returning `Ok(())` responds with HTTP 204 No Content.
### Changed
- On Windows, an error is now returned from `HttpServer::bind()` (or TLS variants) when binding to a socket that's already in use.
- Update `brotli` dependency to `7`.
- Minimum supported Rust version (MSRV) is now 1.75.
actix-http: v3.10.0 (2025-03-10)
### Added
- Add `header::CLEAR_SITE_DATA` constant.
- Add `Extensions::get_or_insert[_with]()` methods.
- Implement `From` for `Payload`.
- Implement `From>` for `Payload`.
### Changed
- Update `brotli` dependency to `7`.
- Minimum supported Rust version (MSRV) is now 1.75.
awc: v3.6.0 (2025-03-10)
- Prevent panics on connection pool drop when Tokio runtime is shutdown early.
- Do not send `Host` header on HTTP/2 requests, as it is not required, and some web servers may reject it.
- Update `brotli` dependency to `7`.
- Minimum supported Rust version (MSRV) is now 1.75.
actix-web: v4.9.0 (2024-08-10)
### Added
- Add `middleware::from_fn()` helper.
- Add `web::ThinData` extractor.
actix-http: v3.9.0 (2024-08-10)
### Added
- Implement `FromIterator<(HeaderName, HeaderValue)>` for `HeaderMap`.
awc: v3.5.1 (2024-08-10)
- Fix WebSocket `Host` request header value when using a non-default port.
actix-web-actors: v4.3.1 (2024-08-07)
- Reduce memory usage by `take`-ing (rather than `split`-ing) the encoded buffer when yielding bytes in the response stream.
- Mark crate as deprecated.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-multipart: v0.7.2 (2024-07-06)
- Fix re-exported version of `actix-multipart-derive`.
actix-multipart: v0.7.1 (2024-07-06)
- Expose `LimitExceeded` error type.
actix-multipart: v0.7.0 (2024-07-06)
- Add `MultipartError::ContentTypeIncompatible` variant.
- Add `MultipartError::ContentDispositionNameMissing` variant.
- Add `Field::bytes()` method.
- Rename `MultipartError::{NoContentDisposition => ContentDispositionMissing}` variant.
- Rename `MultipartError::{NoContentType => ContentTypeMissing}` variant.
- Rename `MultipartError::{ParseContentType => ContentTypeParse}` variant.
- Rename `MultipartError::{Boundary => BoundaryMissing}` variant.
- Rename `MultipartError::{UnsupportedField => UnknownField}` variant.
- Remove top-level re-exports of `test` utilities.
actix-multipart-derive: v0.7.0 (2024-07-06)
- Minimum supported Rust version (MSRV) is now 1.72.
actix-web: v4.8.0 (2024-06-19)
### Added
- Add `web::Html` responder.
- Add `HttpRequest::full_url()` method to get the complete URL of the request.
### Fixed
- Always remove port from return value of `ConnectionInfo::realip_remote_addr()` when handling IPv6 addresses. from the `Forwarded` header.
- The `UrlencodedError::ContentType` variant (relevant to the `Form` extractor) now uses the 415 (Media Type Unsupported) status code in it's `ResponseError` implementation.
- Apply `HttpServer::max_connection_rate()` setting when using rustls v0.22 or v0.23.
actix-http: v3.8.0 (2024-06-19)
### Added
- Add `error::InvalidStatusCode` re-export.
actix-test: v0.1.5 (2024-06-09)
- Add `TestServerConfig::listen_address()` method.
actix-files: v0.6.6 (2024-06-09)
- Update `tokio-uring` dependency to `0.4`.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-web: v4.7.0 (2024-06-08)
### Added
- Add `#[scope]` macro.
- Add `middleware::Identity` type.
- Add `CustomizeResponder::add_cookie()` method.
- Add `guard::GuardContext::app_data()` method.
- Add `compat-routing-macros-force-pub` crate feature which (on-by-default) which, when disabled, causes handlers to inherit their attached function's visibility.
- Add `compat` crate feature group (on-by-default) which, when disabled, helps with transitioning to some planned v5.0 breaking changes, starting only with `compat-routing-macros-force-pub`.
- Implement `From>` for `Error`.
actix-test: v0.1.4 (2024-06-08)
- Add `TestServerConfig::rustls_0_23()` method for Rustls v0.23 support behind new `rustls-0_23` crate feature.
- Add `TestServerConfig::disable_redirects()` method.
- Various types from `awc`, such as `ClientRequest` and `ClientResponse`, are now re-exported.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-multipart: v0.6.2 (2024-06-08)
- Add testing utilities under new module `test`.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-web-codegen: v4.3.0 (2024-06-08)
- Add `#[scope]` macro.
- Add `compat-routing-macros-force-pub` crate feature which, on-by-default, which when disabled causes handlers to inherit their attached function's visibility.
- Prevent inclusion of default `actix-router` features.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-web: v4.6.0 (2024-05-19)
### Added
- Add `unicode` crate feature (on-by-default) to switch between `regex` and `regex-lite` as a trade-off between full unicode support and binary size.
- Add `rustls-0_23` crate feature.
- Add `HttpServer::{bind_rustls_0_23, listen_rustls_0_23}()` builder methods.
- Add `HttpServer::tls_handshake_timeout()` builder method for `rustls-0_22` and `rustls-0_23`.
### Changed
- Update `brotli` dependency to `6`.
- Minimum supported Rust version (MSRV) is now 1.72.
### Fixed
- Avoid type confusion with `rustls` in some circumstances.
actix-router: v0.5.3 (2024-05-19)
- Add `unicode` crate feature (on-by-default) to switch between `regex` and `regex-lite` as a trade-off between full unicode support and binary size.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-http: v3.7.0 (2024-05-19)
### Added
- Add `rustls-0_23` crate feature
- Add `{h1::H1Service, h2::H2Service, HttpService}::rustls_0_23()` and `HttpService::rustls_0_23_with_config()` service constructors.
### Changed
- Update `brotli` dependency to `6`.
- Minimum supported Rust version (MSRV) is now 1.72.
awc: v3.5.0 (2024-05-19)
- Add `rustls-0_23`, `rustls-0_23-webpki-roots`, and `rustls-0_23-native-roots` crate features.
- Add `awc::Connector::rustls_0_23()` constructor.
- Fix `rustls-0_22-native-roots` root store lookup
- Update `brotli` dependency to `6`.
- Minimum supported Rust version (MSRV) is now 1.72.
actix-web: v4.5.1 (2024-02-04)
### Fixed
- Fix missing import when using enabling Rustls v0.22 support.
actix-web: v4.5.0 (2024-02-04)
### Added
- Add `rustls-0_22` crate feature.
- Add `HttpServer::{bind_rustls_0_22, listen_rustls_0_22}()` builder methods.
actix-test: v0.1.3 (2024-02-04)
- Add `TestServerConfig::rustls_0_22()` method for Rustls v0.22 support behind new `rustls-0_22` crate feature.
actix-http: v3.6.0 (2024-02-04)
### Added
- Add `rustls-0_22` crate feature.
- Add `{h1::H1Service, h2::H2Service, HttpService}::rustls_0_22()` and `HttpService::rustls_0_22_with_config()` service constructors.
- Implement `From<&HeaderMap>` for `http::HeaderMap`.
actix-http-test: v3.2.0 (2024-02-04)
- Minimum supported Rust version (MSRV) is now 1.68 due to transitive `time` dependency.