Skip to content

v0.12.0

Latest

Choose a tag to compare

@pi0 pi0 released this 21 Jul 10:11

compare changes

🚀 Enhancements

  • static: ⚠️ Security hardenings and general improvements (#252)
  • static: Add Last-Modified and ETag conditional caching (#269)
  • static: Add opt-in Cache-Control via maxAge/immutable (#273)
  • static: Add byte-range request support (#275)

🔥 Performance

  • middleware: Precompose the middleware chain at construction time (#264)
  • log: Batch stdout writes and cache the timestamp (#266, #274)

💅 Refactors

  • ⚠️ Rename subpath exports to *Middleware / *Plugin (#278)

🩹 Fixes

  • service-worker: Call respondWith synchronously and drop extension bypass (#226)
  • node/web: Correct body handling in toFetchHandler compat layer (#232)
  • Handle file:// entry in loader and node-level TLS in mtls (#231)
  • node: Prevent body-read crashes and wire corruption in the Node adapter (#228)
  • Prevent waitUntil leak and reject NaN ports (#225)
  • cli: Stabilization batch and add CLI test suite (#234)
  • url: Repair FastURL origin-form string and HTTP/2 char normalization (#227)
  • Resolve x-forwarded-* hop-aware, right-to-left (#229)
  • node: Node adapter correctness fixes (statusText, empty body, HEAD streaming, send errors, sync bridge) (#243)
  • node: Make patchGlobalRequest idempotent (#255)
  • node/web: Remove "data" listener from the socket it was added to (#261)
  • node: Guard already-destroyed streamBody cancel against unhandled rejection (#257)
  • node: Enable SO_REUSEPORT for reusePort option (#258)
  • node: Don't permanently cache a missed kNeedDrain symbol lookup (#256)
  • node: Reject body reads after the body is consumed (#254)
  • node/web: Supply next to connect-style middleware on the synthetic bridge path (#259)
  • node: Answer 500 for unhandled handler errors (#251)
  • node: Copy FastResponse init headers instead of adopting them (#263)
  • node: Keep req.headers live and consistent across _request materialization (#265)
  • node/web: Strip explicit Transfer-Encoding to avoid corrupting the bridged body (#268)
  • node/web: Strip hop-by-hop headers from toWebResponse() (#270)
  • node/web: Stream bridged responses instead of buffering until end() (#248, #271)
  • url: Keep searchParams identity and reflect mutations across deopt (#276)
  • Improve edge adapters and tests (#242)

📖 Documentation

  • Improvements (#238)
  • Rename onError option to error (#246)

✅ Tests

  • node-adapters: Run fetch(nodeHandler) suite on Deno and Bun in CI (#272)

🤖 CI

  • Run the full test suite (#224)