Skip to content

Effect

Version 4.0.0-beta.13

Patch Changes

  • #1454 368f4c3 Thanks @lucas-barake! - Expose NoSuchElementError in the error type of stream-based Atom.make overloads.

  • #1469 db8a579 Thanks @tim-smart! - Update unstable schema variant helpers to use array-based arguments for FieldOnly, FieldExcept, and Union, aligning VariantSchema and Model with other v4 API shapes.

  • #1457 668b703 Thanks @tim-smart! - Run request resolver batch fibers with request services by using Effect.runForkWith, so resolver delay effects and runAll execution see the request service map.

  • #1461 d40e76b Thanks @mikearnaldi! - Fix Schedule.fixed double-executing the effect due to clock jitter.

    The elapsedSincePrevious > window check included sleep time from the previous step, so any timer imprecision (e.g. 1001ms for a 1000ms sleep) triggered an immediate zero-delay re-execution.

  • #1464 6e18cf8 Thanks @gcanti! - Use the identifier annotation as the expected message when available, closes #1458.

  • #1475 86062e8 Thanks @tim-smart! - Add a CI check job that runs pnpm ai-docgen and fails if it produces uncommitted changes.

  • #1448 c27ce75 Thanks @IMax153! - Refactor CLI built-in options to use Effect services with GlobalFlag

    Built-in CLI flags (--help, --version, --completions, --log-level) are now implemented as Effect services using Context.Reference. This provides:

    • Visibility: Built-in flags now appear in help output’s “GLOBAL FLAGS” section
    • Extensibility: Users can register custom global flags via GlobalFlag.add
    • Override capability: Built-in flag behavior can be replaced or disabled
    • Composability: Flags compose via Effect’s service system

    New GlobalFlag module exports:

    • Action<A> and Setting<A> types for different flag behaviors
    • Help, Version, Completions, LogLevel references for built-in flags
    • add, remove, clear functions for managing global flags

    Example:

    const app = Command.make("myapp");
    Command.run(app, { version: "1.0.0" }).pipe(
    GlobalFlag.add(CustomFlag, customFlagValue),
    );
  • #1468 e2d4fbf Thanks @lucas-barake! - Fix Rpc.ExtractProvides to use middleware service ID instead of constructor type.

  • #1465 114ab42 Thanks @lloydrichards! - tighten Schema on _meta fields in McpSchema; closes #1463

  • #1470 484caec Thanks @tim-smart! - Add Command.withAlias for unstable CLI commands, including subcommand parsing by alias and help output that renders aliases as name, alias in subcommand listings.