## actix/actix-web — web-v4.12.1…web-v4.13.0

_96 commits._

### Features
- **feat(http,web): expose config for H2 window sizes (#3926)** (5a6c8d2)
- **feat(http,web): add config for `TCP_NODELAY` (#3918)** (d66f89b)
- **feat(web): initial support for route and HTTP method introspection (#3594)** (84ddfe7)
- **feat: ignore unparsable cookies in Cookie header (#3814)** (32cb3b8)
- **Support serving pre-compressed files for static sites (#2615)** (9856a3b)
- **feat: expose PathBufWrap utility for public access (#3694)** (5ee6b59)
- **feat(web): implement `HttpRequest::url_for_iter`/`url_for_map` (#3895)** (69edde9)
- **feat(ci): skip semver-labeling if human added it (#3896)** (cf2b097)
- **feat: implement FieldGroupReader for Option<Vec<T>> in multipart form… (#3577)** (aa8df45)

### Fixes
- **fix(http): drain unread body if chunked and dropped payload (#3936)** (1187210)
- **fix(files,http,web): do not compress 206 at all (#3923)** (6d81907)
- **fix(files): do not panic on pre-EPOCH files (#3922)** (f31f9bc)
- **fix(router,web): fix panic when normalizing and rewriting paths (#3919)** (0fb2527)
- **fix(files): handle `bytes=0-` nicely (#3914)** (5548fad)
- **fix(awc): do not request as chunked if body is empty (#3910)** (41e4863)
- **fix: set error to Payload before dispatcher disconnect (#3068)** (204a3e1)
- **fix: fix labeler config** (7e7c38f)
- **fix: exclude dependencies from doc tests (#3882)** (d796e2b)
- **fix(*): replace rustls-pemfile (#3855)** (41f99b0)

### Backend
- **typo: bytes=bytes=0-9 to bytes=0-9 (#3934)** (36dadc5)
- **PathDeserializer: use `deserialize_str` for `deserialize_any` (#2881)** (4f0912d)
- **Merge commit from fork** (06a354f)
- **Merge commit from fork** (d9b96e6)

### Tests
- **test(http): wrap timeout test with rt::time::timeout (#3915)** (9f67999)
- **test(http-test): set ALPN explicitly (#3902)** (aecc7ad)

### Docs
- **docs(web): document introspection feature (#3937)** (0ffaa78)
- **docs(actix-router): document Resource trait (#3935)** (f120479)
- **docs(files): improve `index_file` docs (#3924)** (b1fb447)
- **docs(web): Add notes for request headers (#3921)** (7d81d7b)
- **docs(web): add note about experimental feature (#3916)** (d98b35d)
- **docs(files): refine docs of `read_mode_threshold` (#3897)** (0eef060)

### Chore
- **chore(web): release v4.13.0 (#3941)** (8b7270a)
- **chore(gha): reduce timeout to 30min. (#3940)** (9cbde13)
- **chore(http): release v3.12.0 (#3939)** (a7a26f1)
- **chore(router): release v0.5.4 (#3938)** (6e4e040)
- **build(deps): bump taiki-e/cache-cargo-install-action from 3.0.1 to 3.0.2 (#3928)** (38dd705)
- **build(deps): bump trybuild from 1.0.115 to 1.0.116 (#3929)** (102cad3)
- **build(deps): bump env_logger from 0.11.8 to 0.11.9 (#3932)** (706097d)
- **build(deps): bump taiki-e/install-action from 2.67.25 to 2.67.30 (#3927)** (4a2246e)
- **build(deps): bump futures-util from 0.3.31 to 0.3.32 (#3930)** (a3722fa)
- **build(deps): bump tempfile from 3.24.0 to 3.25.0 (#3931)** (62caea7)
- **build(deps): bump futures-core from 0.3.31 to 0.3.32 (#3933)** (15e5c5b)
- **build(deps): bump memchr from 2.7.6 to 2.8.0 (#3913)** (747d7c0)
- **build(deps): bump taiki-e/install-action from 2.67.18 to 2.67.25 (#3912)** (b2523fb)
- **chore(awc): address clippy warnings (#3909)** (80d7d9c)
- **chore(files): prepare v0.6.10 release** (bc27fd2)
- **build(deps): bump time from 0.3.46 to 0.3.47 (#3906)** (2c0be64)
- **chore(*): update deps (#3904)** (6efc4bd)
- **build(deps): bump bytes from 1.11.0 to 1.11.1 (#3903)** (ef75c40)
- **build(deps): bump slab from 0.4.11 to 0.4.12 (#3900)** (9021b82)
- **build(deps): bump taiki-e/install-action from 2.67.10 to 2.67.18 (#3899)** (85cc607)
- **build(deps): bump trybuild from 1.0.114 to 1.0.115 (#3901)** (dfff651)
- **chore(ci): pin semver-checks action (#3894)** (2737e88)
- **build(deps): bump time from 0.3.45 to 0.3.46 (#3893)** (e62d849)
- **build(deps): bump taiki-e/install-action from 2.66.6 to 2.67.10 (#3890)** (45203e6)
- **build(deps): bump actions/checkout from 6.0.1 to 6.0.2 (#3888)** (ae77e6b)
- **build(deps): bump socket2 from 0.6.1 to 0.6.2 (#3892)** (f6c1fe3)
- **build(deps): bump proc-macro2 from 1.0.105 to 1.0.106 (#3889)** (3d6e66b)
- **build(deps): bump quote from 1.0.43 to 1.0.44 (#3891)** (3551250)
- **chore: setup labeler (#3887)** (bc4a2a9)
- **build(deps): bump time from 0.3.44 to 0.3.45 (#3885)** (31000ae)
- **build(deps): bump rustls-pki-types from 1.13.2 to 1.14.0 (#3886)** (f1e7280)
- **build(deps): bump flate2 from 1.1.5 to 1.1.8 (#3884)** (f862e1f)
- **build(deps): bump taiki-e/install-action from 2.66.1 to 2.66.6 (#3883)** (e9f47dd)
- **build(deps): bump quote from 1.0.42 to 1.0.43 (#3880)** (4a08371)
- **build(deps): bump serde_json from 1.0.148 to 1.0.149 (#3881)** (a6fb96b)
- **build(deps): bump proc-macro2 from 1.0.104 to 1.0.105 (#3879)** (9fc6f5d)
- **build(deps): bump url from 2.5.7 to 2.5.8 (#3878)** (04d61e2)
- **build(deps): bump taiki-e/install-action from 2.65.12 to 2.66.1 (#3877)** (ea45bf9)
- **build(deps): bump EmbarkStudios/cargo-deny-action from 2.0.14 to 2.0.15 (#3875)** (d439243)
- **build(deps): bump taiki-e/cache-cargo-install-action from 3.0.0 to 3.0.1 (#3876)** (8ee6895)
- **build(deps): bump taiki-e/cache-cargo-install-action from 2.3.1 to 3.0.0 (#3867)** (afd5304)
- **build(deps): bump tokio-util from 0.7.17 to 0.7.18 (#3871)** (d0b9f46)
- **build(deps): bump tokio from 1.48.0 to 1.49.0 (#3872)** (e04b8d5)
- **build(deps): bump tokio-stream from 0.1.17 to 0.1.18 (#3869)** (12db2a4)
- **build(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 (#3856)** (d2a2c15)
- **build(deps): bump proc-macro2 from 1.0.103 to 1.0.104 (#3870)** (9b25a18)
- **build(deps): bump taiki-e/install-action from 2.65.6 to 2.65.12 (#3868)** (564b364)
- **build(deps): bump serde_json from 1.0.145 to 1.0.148 (#3865)** (024addf)
- **build(deps): bump itoa from 1.0.15 to 1.0.17 (#3863)** (06ad930)
- **build(deps): bump tracing from 0.1.43 to 0.1.44 (#3864)** (9f9855d)
- **build(deps): bump derive_more from 2.1.0 to 2.1.1 (#3862)** (4c62e88)
- **build(deps): bump taiki-e/install-action from 2.63.1 to 2.65.6 (#3861)** (2d84d20)
- **build(deps): bump rustls-pki-types from 1.13.1 to 1.13.2 (#3860)** (2b8db90)
- **build(deps): bump taiki-e/install-action from 2.62.63 to 2.63.1 (#3857)** (9c70a88)
- **build(deps): bump actions/checkout from 6.0.0 to 6.0.1 (#3852)** (4058f30)
- **build(deps): bump log from 0.4.28 to 0.4.29 (#3854)** (73f6f5c)
- **build(deps): bump taiki-e/install-action from 2.62.60 to 2.62.63 (#3851)** (883a89b)
- **build(deps): bump derive_more from 2.0.1 to 2.1.0 (#3853)** (1556b10)
- **chore: address clippy lints** (917b5f2)
- **build(deps): bump tracing from 0.1.42 to 0.1.43 (#3846)** (28843c4)
- **build(deps): bump time from 0.3.41 to 0.3.44 (#3848)** (f192357)
- **build(deps): bump taiki-e/install-action from 2.62.56 to 2.62.60 (#3849)** (d9c6767)
- **build(deps): bump EmbarkStudios/cargo-deny-action from 2.0.13 to 2.0.14 (#3847)** (16eba96)
- **build(deps): bump divan from 0.1.15 to 0.1.21 (#3845)** (c771003)
- **chore: upgrade MSRV to 1.82 (#3844)** (ff50dd0)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/actix/actix-web?utm_source=github-action)._