- Set
bodytonullin theClient.request()response for null-body statuses (101, 204, 205, 304), matching Fetch API semantics.
- Fix
Handoffframe-boundary parsing to avoid re-accumulating already-processed frames across chunks; incomplete trailing frames are now buffered separately, preventing data from being forwarded twice. - Reject the
Client.request()promise immediately when the HTTP/2 stream closes before a response is received, rather than hanging indefinitely.
- Add
Client.closeLocal()as a delegation method so callers no longer need to reach intoclient.transportdirectly. - Defer closing the local transport until after the GOAWAY write has flushed, ensuring the frame is delivered before outbound writes are dropped.
- Add
Transport.closeLocalandTransport.closeRemotefor more granular control over transport shutdown. - Ensure
Handoffsends a GOAWAY frame and closes the transport when the server initiates shutdown, to prevent hanging connections and prevent incidental writes from interfering with the protocol.
- Streaming requests by default.
- Suppress ordinary writes to
stdoutandstderrwhileServer.openis running so incidental logs don't interfere with HTTY protocol bytes. - Guard against non-TTY
stdininServer.open, which is not supported by interactive HTTY sessions. - Make
Client.requeststreaming-first, with explicitrequestTextandrequestBufferhelpers for buffered responses.
- Current release.