github Effect-TS/effect effect@4.0.0-rc.111

Patch Changes

  • #7311 0ce3b00 Thanks @fubhy! - Reject graph shortest-path calculations that overflow or underflow the finite number range.

  • #7352 d846331 Thanks @nikhilsnayak! - Preserve the Context.mapUnsafe accessor when code is compiled with loose object spread transforms.

  • #7300 f93616f Thanks @fubhy! - Fix graph index exhaustion, A* path consistency, snapshot validation, Mermaid line endings, and topological initials.

  • #7336 16bf1ef Thanks @gcanti! - Compact JSON Schema check constraints when they can be safely merged without keyword collisions.

  • #7360 d568968 Thanks @gcanti! - Add configurable schema representation reference policies and propagate them through JSON Schema and OpenAPI generation. By default, only schemas with resolved identifiers become references. Closes #7357.

  • #7304 bc06292 Thanks @fubhy! - Add graph snapshots, low-link connectivity analysis, bipartite matching, maximum flow, and minimum cut APIs.

  • #7364 e03ea90 Thanks @kitlangton! - Fix Deferred completion skipping waiters when an earlier waiter dies during resume. Completing a Deferred with an interrupt cause kills a suspended waiter synchronously inside its resume; the dying waiter's await cleanup spliced the shared resumes array mid-iteration, so the next waiter was never resumed and hung forever. Completion now clears resumes before resuming waiters.

  • #7347 9b10fc8 Thanks @tim-smart! - Shut down the internal effects queue when ordered concurrent channel mapping closes.

  • #7335 770c6d0 Thanks @tim-smart! - Fix Effect.fn binding the final transform as the generator body when using the { self } overload.

  • #7344 7425bcb Thanks @tim-smart! - Ensure fiber observer cancellation during exit does not skip remaining observers.

  • #7301 563815a Thanks @fubhy! - Preserve depth-first traversal order with finite radii and validate A* heuristics for trivial paths.

  • #7350 1e83ca1 Thanks @tim-smart! - Align in-memory workflow interrupt finalization with the cluster workflow engine.

  • #7316 550a41a Thanks @tim-smart! - Update dependencies across the Effect workspace.

  • #7306 45d79c7 Thanks @fubhy! - Add bulk node and edge removal operations, and disallow graph mutations from callbacks that traverse or transform the same graph.

  • #7317 aac8584 Thanks @tim-smart! - Fix Match.value terminal combinators failing to typecheck when the input
    contains a generic type parameter.

    The fifth type argument of Matcher for value matchers is now ValueFlavor,
    and ValueMatcher has a seventh flavor argument; update hand-written
    annotations accordingly.

  • #7361 7f87022 Thanks @tim-smart! - Merge effect and finalizer failures during cleanup, preserving other failures alongside Cause.Done.

  • #7326 425457c Thanks @tim-smart! - Emit mixed struct and record schema types as intersections, preventing optional
    properties in open OpenAPI objects from conflicting with their index signature.

  • #7324 008c423 Thanks @tim-smart! - Allow path-level common parameters in OpenAPI generator input types.

  • #7359 4f6ae04 Thanks @gcanti! - Add dual standalone functions for reading and updating values through optics, closes #7299.

  • #7250 b6b63e1 Thanks @xianjianlf2! - Preserve JSON.rawJSON values when cloning cached OpenAPI specs.

  • #7351 92922ee Thanks @tim-smart! - Preserve unsafe in-memory workflow interrupts across replay.

  • #7328 859c02f Thanks @fubhy! - Keep graph caches consistent during bulk removals and validate graph kinds at runtime.

  • #7358 ffc8235 Thanks @tim-smart! - Bound framed RPC server HTTP response streams to 16 items by default, with a configurable buffer size or an unbounded opt-out.

  • #6324 a29eb70 Thanks @tim-smart! - Add scoped Redis pub/sub subscriptions that expose received messages through an Effect queue.

  • #7354 0be2303 Thanks @tim-smart! - Add support for server-originated RPC requests and notifications. Buffered
    JSON-RPC HTTP drops notifications until streaming responses are available.

  • #7349 b44636f Thanks @gcanti! - When canonical JSON derivation adds a transformation for a schema without a direct JSON representation, keep source checks and annotations on the source side. This prevents duplicate check execution and ensures generated JSON Schema documents describe only the encoded target, closes #7192.

  • #7337 b19ccc7 Thanks @gcanti! - Add Schema.JsonObject for readonly string-keyed records containing JSON-compatible values. This provides a canonical,
    reusable schema instead of requiring callers to repeatedly compose Schema.Record(Schema.String, Schema.Json).

  • #7330 ff98f0b Thanks @gcanti! - Preserve JSON Schema object keyword scopes when importing allOf intersections, including closed empty objects and required-only keys. Emit intersecting index signatures without weakening their constraints, and reject object scope intersections that cannot be represented faithfully.

  • #7363 a47cbf1 Thanks @tim-smart! - Add Match.fn for reusable matchers that select a value from multiple arguments.

  • #7362 39b55f8 Thanks @tim-smart! - Preserve encoded AI tool call parameters when automatic tool call resolution is disabled, and update
    Toolkit.handle to accept the encoded parameter type it decodes at runtime.

  • #7305 c6c49c9 Thanks @fubhy! - Fix mutable graph cache consistency and guard weighted pathfinding against inconsistent snapshots and numeric overflow.

  • #7342 bf23ba7 Thanks @misterclayt0n! - Forward every worker-runner client disconnect to the RPC server, not just the first one.

Don't miss a new effect release

NewReleases is sending notifications on new releases.