All versions since 4.0.0-beta.85
4.0.0-beta.85
Patch Changes
-
#2436
328d97cThanks @MohanedMashaly! - change default operation in redis from LPUSH TO RPUSH -
#2431
8441836Thanks @gcanti! - Derive template literal arbitraries from encoded parts, closes #2414. -
#2439
074e436Thanks @gcanti! - Allow schema class.extendto accept aStructand preserve checks from the extension schema, closes #2419. -
#2444
c1dfd60Thanks @bweis! - Avoid throwing whenError.stackTraceLimitis non-writable (frozen intrinsics / SES / deterministic sandboxes such as Temporal).Effect manipulates
Error.stackTraceLimitin several internal spots to capture short or empty stack traces cheaply. In hardened environments whereErroris frozen andstackTraceLimitis read-only, assigning to it throws, which broke Effect entirely. Stack-trace-limit manipulation is now best-effort and silently no-ops when the property cannot be modified, mirroring Node’s own internal guard. Behavior in normal (writable) environments is unchanged. -
#2425
2ba316bThanks @tim-smart! - Add Random.choice for selecting a random element from an iterable. -
#2434
7ce7344Thanks @gcanti! - Use semantic matching for TemplateLiteral parsing and index signature keysReplace regex-based TemplateLiteral parsing with backtracking segmentation over template literal parts, applying part checks during matching.
Use schema membership when selecting Record index signature keys, including checked string, number, symbol, and TemplateLiteral parameters. Tighten valid index signature parameters on both type and encoded sides, and preserve key parameter semantics in codec transformations.
4.0.0-beta.92
Patch Changes
- #2501
affdc13Thanks @gcanti! - Fix excess property handling in schema-backed class constructors, closes #2499.
4.0.0-beta.86
Patch Changes
-
#2462
0b5795aThanks @tim-smart! - AddStatement.valuesUnpreparedfor returning unprepared SQL statement rows as arrays. -
#2455
3e3a859Thanks @fubhy! - FixCron.nextskipping earlier matching days when the upcoming day-of-month does not exist in the current month. -
#2454
7dbec24Thanks @StarpTech! - Exclude response metadata from HTTP server span failures after response headers have been sent. -
#2449
d8c00a1Thanks @gcanti! - Fix Schema handling of encoded-side checks for container ASTs.Checks added after
flipare now preserved asencodingChecksacrossDeclaration,Arrays,Objects, andUnion, even when rebuilding the AST does not change child nodes.toTypenow projects those checks consistently, and parsing applies encoded-side checks to the local encoded value when an encoding chain is present without allowing encoded-sideparseOptionsannotations to affect the current parser side. -
#2446
85b6317Thanks @IMax153! - Allow schemas provided to CLI flags / arguments to utilize the environment required by the CLI -
#2452
6d0fda0Thanks @gcanti! - Remove thekeepDeclarationsoption fromSchema.toCodecStringTree. -
#2461
108a933Thanks @tim-smart! - Fail RpcClient HTTP requests with a defect when the response stream closes before the request receives a terminal response. -
#2442
7e1f455Thanks @gcanti! - Improve Schema type-level performance by lazily computing schema views, specializing common struct projections, and using lighter schema constraints at API boundaries that do not need the full schema protocol.This also adds the Schema type-performance benchmark suite, introduces
Schema.toCodecArrayFromSingle, preserves canonical StringTree array codecs, renames the arbitrary-generation annotation constraint for clarity, and updates affected codec, parser, channel, SQL, HTTP API, persistence, RPC, AI, OpenAPI, and workflow typings to match the refined Schema surface. -
#2464
46b3e79Thanks @tim-smart! - do not use performance.timeOrigin and calculate origins lazily
4.0.0-beta.93
Patch Changes
-
#2512
00652feThanks @gcanti! - Preserve content schema identifiers when emitting JSON Schema forSchema.fromJsonString.This keeps user-defined identifiers attached to the decoded JSON payload while giving the generated JSON string wrapper its own derived name, avoiding client codegen outputs where the payload type is renamed behind the transport wrapper.
-
#2492
6c58167Thanks @maxprilutskiy! - Map HttpApi json defects to SchemaError -
#2519
2bc5415Thanks @tim-smart! - Fix structural equality for request-style values when structural hashes collide. -
#2507
e11ccccThanks @tim-smart! - ensure handler errors don’t cause httpapi security middleware to fallback -
#2518
ba7e77eThanks @tim-smart! - MoveUrlParams.makeUrltoUrl.makeand returnUrl.UrlErrorfor URL construction failures. -
#2505
5713ee7Thanks @KhraksMamtsov! - accept UrlParams.Input in some UrlParams apis
4.0.0-beta.87
Patch Changes
-
#2468
5a0c1a4Thanks @gcanti! - Expose the original input schema onSchema.toType,Schema.toEncoded,Schema.toCodecJson, andSchema.toCodecStringTreeresults via theschemaproperty. This aligns these schema wrappers with other wrappers that retain their source schema for type-level and runtime introspection. -
#2466
1eea2eaThanks @gcanti! - UseURL.canParseto validate URL string schema decoding before constructing aURL. This avoids relying on thrown exceptions for routine validation while preserving the same invalid URL issue and successful decode output.
4.0.0-beta.94
Patch Changes
-
#2538
95a0e9bThanks @tim-smart! - fork memo map on nested builds -
#2545
a0a3490Thanks @marbemac! - Use registration context for cluster entities -
#2524
f11ce73Thanks @gcanti! - FixHttpApi.makeso it stores the API identifier and starts with an emptygroupsobject instead of aMap. This makes empty APIs match the shape they have after groups are added. -
#2546
ff30b6eThanks @tim-smart! - Fix ClusterWorkflowEngine partial workflow clients colliding with full workflow clients. -
#2539
c2ae4fcThanks @gcanti! - Schema: addSchema.DecoderandSchema.Encoder, and accept simpler schema types in APIs that only decode, only encode, or only need the basic schema shape, closes #2536 -
#2545
a0a3490Thanks @marbemac! - add Effect.setContext for fully replacing the fiber context
4.0.0-beta.88
Patch Changes
-
#2472
911f1b8Thanks @tim-smart! - Add adaptive consume and feedback operations to the unstable persistent RateLimiterStore API, including in-memory and Redis-backed bounded cooldown, learning, learned pacing, and expiry behavior for 429 Retry-After feedback. -
#2457
8beeeeaThanks @P0lip! - Localize missing rpc method errors to the provided request id -
#2428
c306fcfThanks @MrGovindan! - AddisOpentoLatchto allow querying the latch’s open state
4.0.0-beta.95
Patch Changes
-
#2542
a482442Thanks @IGassmann! - AddSchema.DateFromMillisandSchemaTransformation.dateFromMillisfor decoding millisecond timestamps intoDatevalues. -
#2559
fbefa85Thanks @tim-smart! - fix activity retry policy -
#2547
0b4a32fThanks @fubhy! - Allow cron fields like5/15to expand from the starting value through the field maximum. -
#2557
18a49e1Thanks @fubhy! - FixSchedule.cronwhen the test clock is adjusted to infinity. -
#2560
266cb90Thanks @gcanti! - Treat empty strings as missing values in built-inConfigProviders by default.ConfigProvider.fromEnv,ConfigProvider.fromDotEnvContents,ConfigProvider.fromDotEnv,ConfigProvider.fromUnknown, andConfigProvider.fromDirnow treat literal empty strings as absent values when loaded as values, allowingConfig.withDefaultandConfig.optionto recover. Container discovery still reflects the source structure. PasspreserveEmptyStrings: trueto restore the previous behavior.ConfigProvider.fromDotEnv({ expandVariables: true })now expands variables consistently withConfigProvider.fromDotEnvContents. -
#2554
912f095Thanks @tim-smart! - Add Schedule.upTo options for limiting schedules by duration and/or recurrence count. -
#2556
a6718f9Thanks @fubhy! - Fix cron parsing and scheduling edge cases for whitespace, Sunday7, strict numeric tokens, explicit full day ranges, and month-constrained day-of-month / weekday matching. -
#2551
bef5154Thanks @tim-smart! - Remove theSchedule.bothAPIs and addSchedule.maxfor combining schedules by their slowest delay. -
#2553
18e0564Thanks @tim-smart! - Remove some Schedule APIs:collectInputs,collectOutputs,collectWhile,delays,reduce,satisfiesErrorType,satisfiesInputType,satisfiesOutputType,satisfiesServicesType, andunfold. -
#2558
fb50f14Thanks @tim-smart! - Remove the Schedule.either APIs and add Schedule.min for fastest-duration schedule composition.
4.0.0-beta.89
Patch Changes
-
#2475
b7d46abThanks @tim-smart! - UpdateSchema.Voidto model ignoredvoidreturn values.Runtime parsing now accepts any present value and discards it as
undefined. This matches TypeScriptvoidreturn values, where callers do not observe the returned value. UseSchema.Undefinedwhen the input must be exactlyundefined. -
#2479
7777e15Thanks @tim-smart! - Add custom error callbacks to Effect.fromOption. -
#2480
5376197Thanks @tim-smart! - render causes in OtlpTracer exception events
4.0.0-beta.96
Patch Changes
-
#2566
57fe793Thanks @tim-smart! - change rpc ids to string | number -
#2561
0c2f78fThanks @tim-smart! - RemoveSchedule.tapInputandSchedule.tapOutput. UseSchedule.tapinstead. -
#2561
0c2f78fThanks @tim-smart! - UpdateSchedule.addDelayandSchedule.modifyDelayto receive full schedule metadata instead of separate output and delay arguments. -
#2562
97f29dfThanks @tim-smart! - use Sets to track atom relationships
4.0.0-beta.90
Patch Changes
- #2483
d237fdfThanks @tim-smart! - FixConfig.schemaso missing array values are treated as missing data, allowingConfig.withDefaultto apply.
4.0.0-beta.97
4.0.0-beta.91 Latest
Patch Changes
-
#2498
b135b25Thanks @gcanti! - FixSchedule.andThenResultto emitselfoutputs asFailureandotheroutputs asSuccess, closes #2497. -
#2488
aaa21a3Thanks @fubhy! - FixString.camelCaseandString.pascalCasehandling of numeric word segments, and addString.configCasefor configuration key casing. -
#2485
3475ee6Thanks @tim-smart! - fix RequestResolver interruption