Skip to main content

Actix 4.14.0

Release Date: June 21, 2026

Actix Web 4.14.0 has been released — the Rust web framework team published version 4.14.0 on June 21, 2026, bringing several new features, important fixes, and dependency updates. This release focuses on improving the developer experience around cookies, networking, and route middleware, while resolving long-standing edge cases in request handling.

Overview

Actix Web 4.14.0 is a minor release that adds new API surfaces, fixes several bugs in request matching and response handling, and updates core dependencies. The MSRV (Minimum Supported Rust Version) remains at 1.88 as previously established in the 4.13.x series. All users running 4.13.x are encouraged to upgrade; there are no breaking changes introduced in this release.

New Features

Raw Cookie Access

The release adds HttpRequest::{cookies_raw,cookie_raw} and ServiceRequest::{cookies_raw,cookie_raw} methods for reading request cookies without percent-decoding their names and values. This is particularly useful for proxying and middleware scenarios where preserving the original cookie encoding is important. The existing cookies() methods remain unchanged and continue to return decoded values.

IPv6 Dual-Stack on Windows

Actix-created listeners bound to [::] now correctly accept IPv4 connections on Windows by enabling dual-stack IPv6 sockets when possible. This brings Windows behavior in line with Linux and macOS, where dual-stack sockets have been the default for years. The change is transparent to existing applications — no configuration changes are required.

HTTP/1 Write Buffer Size

A new configurable option, HttpServer::h1_write_buffer_size(), allows developers to control the write buffer size for HTTP/1 connections. This can be tuned to optimize throughput for applications that serve large responses or operate under constrained memory conditions.

Behavioral Changes

Route middleware safety. Calling Route::to() or Route::service() after Route::wrap() now causes a panic instead of silently dropping the route middleware. This breaking change in behavior is intentional — it prevents a class of bugs where middleware configured via wrap() is unexpectedly lost during route setup. The panic includes a clear error message explaining the ordering constraint.

Bug Fixes

  • Match pattern reporting: Fixed HttpRequest::{match_pattern,match_name} returning path-only matches when route guards disambiguate overlapping resources. Previously, if two routes shared the same path but differed by guard, the wrong match pattern could be reported.
  • Readlines chunk handling: Fixed Readlines handling of lines that split across payload chunks. Combined line limits are now properly enforced, and complete lines are correctly yielded even when payload fragmentation occurs.
  • Graceful shutdown data retention: Fixed app data being retained in memory after graceful shutdown when in-flight request bodies are still being processed. This eliminates a memory leak that could accumulate over repeated restart cycles.

Dependency Updates

The release updates three core dependencies: foldhash to v0.2, rand to v0.10, and impl-more to v0.3. These updates bring bug fixes and performance improvements from the respective libraries. Applications that directly depend on these crates should verify compatibility, though no downstream API changes are expected.

Migration Notes

For most users, upgrading from 4.13.x to 4.14.0 is a drop-in replacement. The only code change you may need to make is if your application calls Route::to() or Route::service() after Route::wrap() — these will now panic, and the fix is to reorder your route configuration so that wrap() is called after to() or service().

Actix Web 4.14.0 is available immediately on crates.io. Update your Cargo.toml dependency to actix-web = "4.14.0" and run cargo update to get the latest release.

What is New?

By continuing to use the site, you agree to the use of cookies.