github Effect-TS/effect effect@3.22.4

latest release: @effect/sql-drizzle@0.51.1
2 hours ago

Patch Changes

  • #6469 23e019c Thanks @coyaSONG! - Serialize Cause.Fail under error instead of failure, matching its error property.

    This changes the output of toJSON, JSON.stringify and Node inspection for causes, including nested Sequential / Parallel causes and Exit.Failure, as well as log messages that contain a Cause or Exit value. The cause field of built-in loggers is rendered with Cause.pretty and is unaffected. Code that reads failure from serialized causes should read error instead.

  • #6316 c2ea45c Thanks @xianjianlf2! - Allow interrupting Effect.cachedWithTTL and Effect.cachedInvalidateWithTTL while the cached effect is running. Interrupting the caller now interrupts that run and leaves nothing cached, so the next call runs the effect again.

  • #6270 3120364 Thanks @chatman-media! - Fix Duration.decode and Duration.times throwing on fractional values.

    Duration.decode threw on fractional nanos and micros inputs such as "1.5 micros", and Duration.times threw when a nanosecond-backed Duration was multiplied by a non-integer. Both now round to whole nanoseconds, so Duration.decode("1.5 micros") is 1500 nanos and Duration.times(Duration.nanos(2n), 2.5) is 5 nanos.

  • #6254 358ac3f Thanks @markgdawson! - Support Effect.fn bodies whose generators were transpiled into functions that return an iterator, such as babel-preset-expo output.

  • #6279 53f93db Thanks @bweis! - Avoid throwing when Error.stackTraceLimit is non-writable (frozen intrinsics / SES / deterministic sandboxes such as Temporal).

  • #4888 19f6f3d Thanks @paolopiaggio! - Logger.jsonLogger now includes name and message when logging an Error, instead of {}.

  • #9658 8c46c75 Thanks @effect-bot! - Remove the AbortSignal listener added by Effect.runPromise / Runtime.runPromiseExit once the fiber completes, fixing MaxListenersExceededWarning when a signal is reused across runs (e.g. it.effect.prop).

  • #6264 9895b61 Thanks @Hoishin! - Return self from BigDecimal.normalize for already-normalized values

Don't miss a new effect release

NewReleases is sending notifications on new releases.