Patch Changes
-
#6469
23e019cThanks @coyaSONG! - SerializeCause.Failundererrorinstead offailure, matching itserrorproperty.This changes the output of
toJSON,JSON.stringifyand Node inspection for causes, including nestedSequential/Parallelcauses andExit.Failure, as well as log messages that contain aCauseorExitvalue. Thecausefield of built-in loggers is rendered withCause.prettyand is unaffected. Code that readsfailurefrom serialized causes should readerrorinstead. -
#6316
c2ea45cThanks @xianjianlf2! - Allow interruptingEffect.cachedWithTTLandEffect.cachedInvalidateWithTTLwhile 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
3120364Thanks @chatman-media! - FixDuration.decodeandDuration.timesthrowing on fractional values.Duration.decodethrew on fractionalnanosandmicrosinputs such as"1.5 micros", andDuration.timesthrew when a nanosecond-backedDurationwas multiplied by a non-integer. Both now round to whole nanoseconds, soDuration.decode("1.5 micros")is 1500 nanos andDuration.times(Duration.nanos(2n), 2.5)is 5 nanos. -
#6254
358ac3fThanks @markgdawson! - SupportEffect.fnbodies whose generators were transpiled into functions that return an iterator, such asbabel-preset-expooutput. -
#6279
53f93dbThanks @bweis! - Avoid throwing whenError.stackTraceLimitis non-writable (frozen intrinsics / SES / deterministic sandboxes such as Temporal). -
#4888
19f6f3dThanks @paolopiaggio! -Logger.jsonLoggernow includesnameandmessagewhen logging anError, instead of{}. -
#9658
8c46c75Thanks @effect-bot! - Remove theAbortSignallistener added byEffect.runPromise/Runtime.runPromiseExitonce the fiber completes, fixingMaxListenersExceededWarningwhen a signal is reused across runs (e.g.it.effect.prop). -
#6264
9895b61Thanks @Hoishin! - ReturnselffromBigDecimal.normalizefor already-normalized values