Effect
4.0.0-beta.27
Patch Changes
-
#1621
903a839Thanks @kitlangton! - unstable/http Headers: addremoveManycombinator for removing multiple headers at once -
#1622
91a0168Thanks @tim-smart! - AddModel.BooleanSqlite, a model field schema that uses0 | 1encoding for database variants and plainbooleanencoding for JSON variants. -
#1631
c890f9aThanks @gcanti! - unstable/httpapi HttpApiBuilder: fix void responses producing a non-empty body instead ofResponse.empty, closes #1628. -
#1618
1e985f2Thanks @tim-smart! - DefaultEffect.context()toEffect.context<never>()when no type parameter is provided.
4.0.0-beta.26
Patch Changes
-
#1603
fb21462Thanks @tim-smart! - AddresponseTexttoAiError.StructuredOutputErrorand populate it fromLanguageModel.generateObjectso failed structured output decodes include the full LLM text. -
#1613
2ed26b1Thanks @lucas-barake! - AdddisableFatalDefectstoRpcServer.layerHttp,RpcServer.toHttpEffect, andRpcServer.toHttpEffectWebsocketoption types to match existing runtime support. -
#1599
e832a57Thanks @tim-smart! - add trait for customizing exit codes -
#1611
7f01be7Thanks @WebWalks! - Fixed the Error Type on AtomHttpApiClient (Server errors were being incorrectly reported, and we could not determine _tag to handle) -
#1612
e965143Thanks @tim-smart! - Expose the optionalorElsefallback parameter inEffect.catchTags. -
#1606
b9b80f1Thanks @gcanti! - Schema:toJsonSchemaDocumentnow emits JSON Schemafalsefor unannotatedNeverindex signatures (includingadditionalProperties) instead of{ not: {} }. AnnotatedNeverstill emits a schema object so metadata likedescriptionis preserved. -
#1607
98252aaThanks @gcanti! - Schema: improveSchema.Unknown/Schema.ObjectKeywordhandling intoCodecJsonandtoCodecStringTree -
#1616
56fbd94Thanks @lucas-barake! - AddAtom.swrtoeffect/unstable/reactivityfor staleTime-gated stale-while-revalidate reads, optional mount and window-focus revalidation, and forceful manual refresh. -
#1600
3faa109Thanks @tim-smart! - add args to Stdio service -
#1610
692ecfeThanks @kitlangton! - Refine unstable CLI parent/subcommand flag composition.- Add
Command.withSharedFlagsconflict validation against existing subcommands, including thewithSubcommands(...).withSharedFlags(...)composition order. - Reorder
Commandtype parameters toCommand<Name, Input, ContextInput, E, R>for clearer parent-context modeling. - Make
Command.withSubcommandsinput typing sound for downstream input-based combinators by reflecting that subcommand paths only carry parent context input.
- Add
-
#1604
1e70b72Thanks @lucas-barake! - Fixunstable/sql/SqlSchemarequest input typing sofindAllandfindNonEmptyacceptRequest["Type"]instead ofRequest["Encoded"]. -
#1602
ecf0782Thanks @tim-smart! - Replace the default HttpApi schema-validation error withHttpApiError.BadRequestNoContent.
4.0.0-beta.25
Patch Changes
-
#1597
fa17bb5Thanks @tim-smart! - FixEffect.forkScopeddata-first typings to includeScopein requirements. -
#1598
f46e5b5Thanks @tim-smart! - compare transaction connections by reference -
#1596
ce4767cThanks @tim-smart! - improve HttpClient.withRateLimiter initial state tracking -
#1594
c830a8bThanks @tim-smart! - HttpClient.withRateLimiter adds delay from retry-after headers
4.0.0-beta.24
Patch Changes
-
#1586
a909e1cThanks @gcanti! - Schema: addChunkschema, closes #1585. -
#1588
8814a4eThanks @gcanti! - FixSchema.toTaggedUniondiscriminant detection for class-based schemas, including unique symbol tags, closes #1584. -
#1591
3f942c5Thanks @tim-smart! - AddHttpClient.withRateLimiterfor integrating theRateLimiterservice with HTTP clients, including optional response-header driven limit updates and automatic 429 retry behavior. -
#1583
774ed59Thanks @patroza! - feat: Support Reference classes -
#1592
f54b8d3Thanks @tim-smart! - FixHttpApi.prefixso it updates endpoint path types the same wayHttpApiGroup.prefixdoes.
4.0.0-beta.23
Patch Changes
- #1561
5c73c41Thanks @gcanti! - SchemaRepresentation: only create references for recursive/mutually recursive schemas and schemas with anidentifierannotation, closes #1560.
4.0.0-beta.22
Patch Changes
-
#1578
0874332Thanks @tim-smart! - Proxy function arity fromEffect.fnAPIs so wrapped functions preserve the originallengthvalue. -
#1580
c592dcdThanks @tim-smart! - simplify Filter by removing Args type parameter -
#1575
1dbe28dThanks @tim-smart! - fix Chat constructor types -
#1581
564d730Thanks @tim-smart! - fix Duration.toMillis regression -
#1579
3cfadc4Thanks @tim-smart! - Remove fiber-level keep-alive intervals and keep the process alive fromRuntime.makeRunMaininstead. -
#1571
6634fd0Thanks @tim-smart! - AddHttpApiClient.urlBuilderfor type-safe endpoint URL construction from group + method/path keys. -
#1573
d10dabeThanks @tim-smart! - Expose achunkSizeoption onStream.fromIterableto control emitted chunk boundaries when constructing streams from iterables. -
#1574
f82f549Thanks @tim-smart! - Fix AI tool handler error typing soLanguageModel.generateTextwith a toolkit exposes wrappedAiErrorvalues rather than leaking rawAiErrorReasonin the error channel.
4.0.0-beta.21
Patch Changes
-
#1555
e691909Thanks @tim-smart! - fix Stream.withSpan options -
#1548
d5f413fThanks @effect-bot! - FixTxPubSub.publishandTxPubSub.publishAlloverloads to requireEffect.Transactionin their return environment. -
#1557
139d152Thanks @A386official! - Fix MCP resource template parameter names resolving asparam0,param1instead of actual names by checkingisParamon the original schema beforetoCodecStringTreetransformation. -
#1547
947e3d4Thanks @effect-bot! - FixSchedule.reduceto persist state updates when the combine function returns a synchronous value. -
#1545
84b2cceThanks @effect-bot! - Fix TupleWithRest post-rest validation to check each tail index sequentially. -
#1552
7f5305eThanks @tim-smart! - ConstrainHttpServerRequest.sourcetoobjectand key server-side request weak caches byrequest.sourceso middleware request wrappers share the same cache entries. -
#1556
9e6fd84Thanks @tim-smart! - rename WorkflowEngine.layer -
#1558
fdb8a4bThanks @tim-smart! - FixWorkflow.executionIdto use schemamakeUnsafeinstead of the removed.makeAPI. -
#1553
0f986efThanks @kaylynb! - Fix spans never having parent span -
#1541
9355fc0Thanks @tim-smart! - AddEffect.findFirstandEffect.findFirstFilterfor short-circuiting effectful searches over iterables.
4.0.0-beta.20
Patch Changes
-
#1533
842a624Thanks @tim-smart! - move ChildProcess apis into spawner service -
#1536
4785eefThanks @tim-smart! - add Context.Key type, used a base for Context.Service and Context.Reference -
#1531
8fac95bThanks @gcanti! - RevertConfig.withDefaultto v3 behavior, closes #1530.Make
Config.withDefaultaccept an eager value instead ofLazyArg, aligning with CLI module conventions. -
#1535
12ee8e2Thanks @tim-smart! - change default ErrorReporter severity to Info -
#1529
e542c94Thanks @tim-smart! - Add dedicated AiError metadata interfaces per reason so provider packages can safely augment metadata without conflicting module declarations. -
#1531
8fac95bThanks @gcanti! - FixConfig.withDefaulttype inference, closes #1530. -
#1528
6f4ebd1Thanks @tim-smart! - AddModel.ModelNameand provide it from AI model constructors. -
#1537
989d1ccThanks @tim-smart! - RevertEffect.partitionto Effect v3 behavior by accumulating failures from the effect error channel and never failing.
4.0.0-beta.19
4.0.0-beta.18
Minor Changes
-
#1515
01e31fdThanks @mikearnaldi! - Add transactional STM modules: TxDeferred, TxPriorityQueue, TxPubSub, TxReentrantLock, TxSubscriptionRef.Refactor transaction model: remove
Effect.atomic/Effect.atomicWith, addEffect.withTxState. All Tx operations now returnEffect<A, E, Transaction>requiring explicitEffect.transaction(...)at boundaries.Expose
TxPubSub.acquireSubscriber/releaseSubscriberfor composable transaction boundaries. FixTxSubscriptionRef.changesrace condition ensuring current value is delivered first.Remove
TxRandommodule.
Patch Changes
-
#1518
0890aabThanks @IMax153! - FixCommand.withGlobalFlagstype inference when mixingGlobalFlag.actionandGlobalFlag.setting.Settingservice identifiers are now correctly removed from command requirements in mixed global flag arrays. -
#1520
725260bThanks @IMax153! - Ensure that OpenAI JSON schemas for tool calls and structured outputs are properly transformed