effect@4.0.0-beta.99
Pre-releasePatch Changes
-
#6397
8ce4795Thanks @IMax153! - Add a scopedCliConfigservice for customizing the built-in global flags used by CLI command runners.For example, provide an explicit list that omits
GlobalFlag.LogLevelto remove the built-in--log-levelflag:import { Effect } from "effect"; import { CliConfig, Command, GlobalFlag } from "effect/unstable/cli"; const program = Command.run(command, { version: "1.0.0" }).pipe( Effect.provide( CliConfig.layer({ builtIns: [GlobalFlag.Help, GlobalFlag.Version, GlobalFlag.Completions], }), ), );
-
#6409
80b539fThanks @IMax153! - Reintroduce interactive CLI wizard mode through the--wizardflag andCommand.wizard. -
#6394
88a54ccThanks @lloydrichards! - add aradiusoption toGraphsearch configuration, allowingdfs,bfs, anddfsPostOrdertraversals to limit returned nodes by edge distance from the configured start nodes. Traversals can also usedirection: "undirected"to follow edges in either direction. -
#6457
e6e6dbaThanks @fubhy! - ImproveGraph.dijkstraandGraph.astarpriority queue performance. -
#6468
bfb203eThanks @gcanti! - DistributeHttpApiBuilderhandler requirements per service so request middleware layers can provide them, closes #6464. -
#6389
2e9a34aThanks @IMax153! - Report an error when a CLI flag, including--completions, is provided without its required value. -
#6359
55d4eb3Thanks @evermake! - - FixCommand.withSubcommandscollapsing the inferred requirements type toneverwhen given more than one subcommand- Export a
Command.Servicesutility type to extract the required services from aCommand
- Export a
-
#6462
bddb010Thanks @fubhy! - Fix immutable Graph equality and hashing to include future node and edge identifier allocation. -
#6425
a328835Thanks @fubhy! - FixGraph.bellmanFordto detect reachable negative cycles when the source and target are the same node. -
#6454
5560d05Thanks @fubhy! - Fix standalone data-lastGraph.getNodeandGraph.getEdgeinference. -
#6418
8f6e3adThanks @fubhy! - FixGraph.mapEdgesandGraph.filterMapEdgesto preserveGraph.Edgeinstances when transforming edge data. -
#6426
46997faThanks @fubhy! - RejectNaNand-Infinityedge weights in Graph shortest-path algorithms. -
#6461
9e6e12dThanks @fubhy! - Fix mutable Graph equality and hashing to use reference identity while preserving structural semantics for immutable graphs. -
#6456
3394b93Thanks @fubhy! - Fix topological walkers silently completing with an incomplete order when a mutable graph becomes cyclic after walker creation. -
#6460
febeabcThanks @fubhy! - RestrictGraph.topoto directed graphs at the type level while retaining runtime validation for unsafe undirected inputs. -
#6455
54161c9Thanks @fubhy! - FixGraph.Walkerto create a fresh iterable for each direct iteration. -
#6414
385f7a4Thanks @fubhy! - FixGraph.toGraphVizto quote DOT graph names and escape labels as literal text. -
#6438
7eea4d0Thanks @tim-smart! - Fix one-shot iterable handling in Array.rotate, Iterable.cartesian, and in-memory RunnerStorage acquisition -
#6371
7543afeThanks @polRk! - Tool: preserve the tool kind when cloning provider-defined and dynamic tools.Tool.addDependency,setParameters,setSuccess,setFailure,annotate, andannotateMergepreviously rebuilt the tool as a user-defined tool, which flippedTool.isProviderDefinedtofalse, corrupted the providerid(e.g.anthropic.memory_20250818), and crashedTool.getStrictMode. These operations now clone the tool while preserving its prototype,id, and kind. Provider-defined tools also now carry an empty annotations context soTool.getStrictMode/annotatework on them. Closes #2615. -
#6421
44b9cf3Thanks @fubhy! - Preserve null edge data in Graph.floydWarshall costs. -
#6438
7eea4d0Thanks @tim-smart! - ensure one-shot iterables work with Fiber apis -
#6420
0a8aa6aThanks @fubhy! - FixGraph.isAcyclicto detect cycles formed by parallel undirected edges. -
#6417
c8d9fcfThanks @fubhy! - RejectGraphmutation operations on mutable handles afterGraph.endMutationfinalizes them. -
#6423
9ca7f9aThanks @fubhy! - Fix Graph.isGraph narrowing for mutable and undirected graphs. -
#6459
e7aca89Thanks @fubhy! - Reject asynchronousGraphmutation callbacks and finalize scoped mutable handles when callbacks fail. -
#6458
55d7560Thanks @fubhy! - Fix undirectedGraphequality and hashing to ignore stored edge endpoint orientation. -
#6415
f809189Thanks @fubhy! - FixGraph.Walkeriteration for receiver-sensitive iterables. -
#6394
88a54ccThanks @lloydrichards! - added graph set operations for combining and comparing graphsGraph.make- creates a graph constructor for a dynamically selected graph kindGraph.compose- composition of two graphs, merging nodes by identityGraph.intersection- intersection of two graphs, keeping only common nodes and edgesGraph.difference- difference of two graphs, removing edges present in the second graphGraph.symmetricDifference- symmetric difference of two graphs, keeping edges present in exactly one graph
-
#6395
0ebdbe7Thanks @Chaoran-Huang! - Fix multipart parser limit violations being silently swallowed -
#6419
7517d09Thanks @fubhy! - Make the public Graph interfaces opaque by hiding internal mutable storage fields from their TypeScript surface. -
#6390
212493bThanks @alvarosevilla95! - Fix Redis script evaluation so transientSCRIPT LOADfailures are retried instead of being cached indefinitely. -
#6394
88a54ccThanks @lloydrichards! - add advanced graph set operations for deriving related graph structuresGraph.complement- complement over the existing node set, adding missing edges between distinct nodesGraph.neighborhood- induced subgraph containing nodes within a radius of a nodeGraph.sum- disjoint union of two graphs without merging equal node data
-
#6430
80ea8cbThanks @fubhy! - Fix Graph BFS, topological sort, and DFS postorder iterators to skip nodes removed from a MutableGraph without recursive self-calls. -
#6465
8df19f4Thanks @gcanti! - FixisInt32to apply custom annotations only to its filter group.