🚀 Enhancements
- proxy: Support client aborts (#1417)
- ws: Allow optional HTTP handling in
defineWebSocketHandler(#1425) - Export
resolveDotSegmentsas a public path utility (#1428, #1430) - readBody: Support
formdatatype (#1164)
🩹 Fixes
- sanitizeStatusCode: Return default for non-numeric input instead of
NaN(#1420) - auth: Reject Basic credentials with no colon separator (#1393)
- sse: Ignore pushes after stream close (#1411)
- proxy: Ignore incoming accept-encoding header (#1423)
- cache:
handleCacheHeadersignores multi-valueIf-None-Matchheader (#1395) - serve-static: Compare if-modified-since at whole-second precision (#1394)
- request: Parse first entry of comma-list
x-forwarded-protoheader (#1413) - serve-static: Check the response (not request) for an existing content-length (#1391)
- cors: Merge Vary headers when both origin and allow-headers emit vary (#1396)
- writeEarlyHints: Normalize Link key to prevent hanging with Node.js (#1385)
- event: Return 400 for malformed percent-encoded request URLs (#1424)
- mount: Restore pathname on error with try/finally (#1319)
- serve-static: Decode the resolved id before lookup (#1431)
- request: Shadow parsed
_urlinrequestWithURLproxy (d21d93c) - event: Clone URL for pathname normalization instead of mutating shared
_url(a1cf066) - adapters: Sync raw node
req.urlwithevent.urlinfromNodeHandler(#1433)
💅 Refactors
- validate: Drop always-true
if (validate.body)guard in body proxy (#1392)
📖 Documentation
- proxy: Add note about reading body (7eb018e)
- Fix decode function name in router param helpers (#1419)
- session: Note secure cookie limitation over local HTTP (#1409)
- Document the session name option for multiple sessions (#1405)
- Add arkstack framework to community section (#1382)
- ws: Use zero-config crossws server plugin (#1427)
🌊 Types
- Expose
.crosswsondefineWebSocketHandlerreturn type (#1435)
✅ Tests
- Cover zod schema query validation types (#1404)
- Cover cloned pipeable node responses (#1414)
- iron-crypto: Accept getRandomValues length error for invalid salt bits (dae12fe)
- event: Cover shared
\_urlnormalization semantics (4a218a8) - event: Assert
req.urlreflects normalization per runtime (8410ec9)
❤️ Contributors
- Pooya Parsa (@pi0)
- Huseeiin (@huseeiin)
- M.M (@momomuchu)
- Wind (@productdevbook)
- Iain Sproat (@iainsproat)
- Frank Johnston
- Mixelburg (@mixelburg)
- Legacy (@3m1n3nc3)
- Shaurya Singh (@LeSingh1)
- Pupuking723
- Harsh Agarwal
- Aimee (@Aimee1608)
- Alan747271363-art
- Greymoth
- Patrick Wehbe (@patrickwehbe)
- Shawn
- Alexander Kireyev (@chatman-media)