What's Changed
- Improve file handling and metadata retrieval in NamedFileBuilder by @chrislearn in #1378
- Optimize file handling and metadata retrieval for performance by @chrislearn in #1380
- feat: add WebSocket protocol selection by @18o in #1381
- perf(core): optimize allocations and minimize Arc clones in hot path by @chrislearn in #1382
- perf(core): cache SALVO_STATUS_ERROR env var parsing by @chrislearn in #1383
- perf(core): optimize encode_url_path and fix redirect panic by @chrislearn in #1384
- fix(core): strip response body for HEAD requests per RFC 9110 by @chrislearn in #1385
- perf(core): simplify Response::is_stamped with is_some_and by @chrislearn in #1386
- perf(core): avoid String allocation in is_windows_reserved_name by @chrislearn in #1387
- perf(core): use async metadata check in Response::send_file by @chrislearn in #1388
- perf(csrf): use matches! macro in default_skipper by @chrislearn in #1389
- fix(cache): call ctrl.call_next() when skipper triggers by @chrislearn in #1390
- perf(cache): pre-allocate String in RequestIssuer::issue by @chrislearn in #1391
- perf(rate-limiter): use HeaderValue::from for numeric headers by @chrislearn in #1392
- perf(serve-static): cache metadata, fix list_text, reduce allocs by @chrislearn in #1394
- perf(compression): optimize negotiate, add Vary header, fix bugs by @chrislearn in #1393
Full Changelog: v0.90.1...v0.91.1