github Effect-TS/effect effect@4.1.2

Patch Changes

  • #10217 5216684 Thanks @devangpratap! - Fix ByteSize decimal unit constructors such as megabytes(2.01) throwing or returning the wrong byte count, and reject fractional-byte quantities instead of rounding them.

  • #10261 b707ad1 Thanks @effect-bot! - Fix cluster entity defect restart backoff being shared by all entities of a type and never resetting.

  • #10249 46f48af Thanks @effect-bot! - Prevent an interrupted cluster request that keeps defecting from stalling message delivery to other entities.

  • #10218 92201bc Thanks @sbking! - Defer the runner notification for a discarded persisted send made inside a ClusterSchema.WithTransaction handler until the transaction commits. The message was invisible to the runner before the commit, so delivery waited for the next storage poll.

  • #10260 cf329f3 Thanks @effect-bot! - Fix ClusterWorkflowEngine turning transient storage failures while saving durable clocks or deferred completions into workflow defects; they are now retried.

  • #10262 1d25d78 Thanks @effect-bot! - Fix ClusterWorkflowEngine blocking shard reacquisition indefinitely after a forced shard release interrupted a workflow resume waiting on its active run.

  • #10226 d190d97 Thanks @tim-smart! - Fix ClusterWorkflowEngine letting a runner that lost its shard delete a newer activity result, which could run the activity again and change the workflow's history.

  • #10241 d7b3b6b Thanks @Marve10s! - Fix HttpClient.withCookiesRef not sending cookies when the request URL is completed after it, for example by the baseUrl of HttpApiClient. Cookies are now selected for the final URL of each request, including redirect hops.

  • #10211 a478745 Thanks @effect-bot! - Keep EventLogServer session auth challenges on their RPC connection, so a challenge is released when its client disconnects instead of being retained by the server after an unauthenticated disconnect.

  • #10221 69eaa29 Thanks @clean99! - Fix Iterable.filterMapWhile iterators yielding values or pulling from the source after they have returned done.

  • #10233 3711ba6 Thanks @clean99! - Fix Iterable.unfold iterators calling the generating function again after they have returned done.

  • #9972 715c5e4 Thanks @eugene1g! - Add Json5.parse and Jsonc.parse to effect/encoding, returning a Result that fails with an EncodingError on invalid input.

  • #10257 b0a1cee Thanks @tim-smart! - Use a ClientCapabilities instance for the fallback MCP client profile in McpServer.

  • #10242 2a10622 Thanks @Marve10s! - Fix McpServer running middleware provided outside a combined middleware inside it.

  • #10243 6bccdd5 Thanks @Marve10s! - Encode declared McpServer tool failures with their JSON codec, so values such as bigint, Map and Option no longer cause an internal error or lossy output

  • #10244 60be011 Thanks @Marve10s! - Fix 2026-07-28 MCP listings failing for resources, resource templates and prompts registered as plain objects.

  • #10235 e1edcdc Thanks @schutzelaars! - Stop OTLP log and trace exporters from keeping a timer pending while idle. A Node program kept alive only by an idle exporter now exits.

  • #10210 ef81e9d Thanks @effect-bot! - Fix RateLimiter.layerStoreRedis sharing state between different keys. A key ending in :refill or :adaptive no longer reads or writes another key's token-bucket refill time or adaptive state.

  • #10223 013fb34 Thanks @effect-bot! - Fix RpcServer returning an empty HTTP 500 for requests with malformed headers; such requests now fail with a defect Exit, and malformed notifications are dropped.

  • #10251 113dbc7 Thanks @wmaurer! - Fix Schedule.fixed, Schedule.windowed and Schedule.cron returning a zero delay when the clock is a fraction of a nanosecond before the next run.

  • #10230 519d66e Thanks @effect-bot! - Add SchemaBinary.int32, uint32, int64 and uint64, opt-in schemas that write integers as fixed-width little-endian payloads. The 32-bit schemas decode to number and the 64-bit schemas to bigint. Out-of-range and non-integer values are rejected instead of wrapped.

  • #10213 e7a6ea4 Thanks @effect-bot! - SQL transactions now trace BEGIN, COMMIT, ROLLBACK and savepoint statements as child spans of sql.transaction, replacing its effect.sql.transaction.commit, savepoint and rollback events; with Statement.SpanPropagationEnabled, the transaction also parents connection spans and records its connection wait time.

  • #10240 019f35e Thanks @clean99! - Fix Stream.groupAdjacentBy dropping its last group when the stream fails. The group is now emitted before the error.

  • #10278 2a0d16c Thanks @tim-smart! - Fix AnthropicStructuredOutput.toCodecAnthropic, OpenAiStructuredOutput.toCodecOpenAI, and MCP tool schemas returning or rejecting a root $ref when the schema is an identified alias of another identified schema.

  • #10236 e5570c9 Thanks @clean99! - Fix DateTime.startOf, endOf and nearest moving a zoned DateTime to the other occurrence of a repeated DST hour, and calendar-unit endOf returning an instant an hour early when the period ends in a repeated hour.

Don't miss a new effect release

NewReleases is sending notifications on new releases.