Skip to content

@effect/docgen@4.1.0

Choose a tag to compare

@effect-bot effect-bot released this 29 Oct 03:47
· 1 commit to main since this release
9a91b19

Minor Changes

  • #10087 472c469 Thanks @effect-bot! - Node.js 22.19.0 (required by undici 8) is now the minimum for @effect/platform-node, @effect/platform-node-shared, @effect/opentelemetry and @effect/docgen, up from 18.

    NodeSocket WebSocket clients now use Node's global WebSocket instead of ws, so client-only usage no longer bundles ws.

    Breaking: ws moved to a new NodeWS module.

    • NodeSocket.NodeWS and BunSocket.NodeWS are removed. Import NodeWS from @effect/platform-node or @effect/platform-node-shared (on Bun, import ws directly). Use NodeWS.WebSocket in place of NodeSocket.NodeWS.default.
    • NodeSocket.layerWebSocketConstructorWS is removed. Use NodeWS.layerWebSocketConstructor.

    Behaviour changes for clients that pass handshake headers, which previously used ws. Use NodeWS.layerWebSocketConstructor to keep the old behaviour:

    • Reads cannot be paused. Incoming frames are buffered without limit, and a configured highWaterMark fails the socket with a SocketReadError.
    • Connection errors are a generic ErrorEvent, so SocketOpenError causes lack the underlying error code.
    • The Socket.WebSocket service is a global WebSocket, so ws instanceof checks and ws-only methods such as terminate() and ping() no longer apply.
    • A custom Host header is ignored.
    • Outgoing messages are not compressed. Incoming permessage-deflate messages are still decompressed.
    • Connections use undici's global dispatcher instead of http.globalAgent / https.globalAgent.
  • #8829 3d88452 Thanks @fubhy! - Add CommandLine to effect/process for quoting and joining command lines, and support Redacted arguments and env values in ChildProcess.

    Migration:

    • ChildProcess.make templates keep quoted words together and throw a CommandLineError for shell syntax such as |, $HOME or *. Quote such characters or pass them with ${}.
    • With the shell option, templates cannot contain ${} values and extra arguments fail with BadArgument. Pass the whole script as the command, built with CommandLine.join.
    • StandardCommand.args and env values can be Redacted strings.
    • ChildProcess.TemplateExpression and ChildProcess.TemplateExpressionItem are removed. Use the CommandLine types of the same name.

Patch Changes