·
8 commits
to main
since this release
Patch Changes
-
#8633
2c552f2Thanks @IMax153! - Effect 4.0 is the first stable release of Effect v4. It replaces the 4.0.0 beta and release-candidate series, whose per-release notes remain below under the4.0.0-beta.*and4.0.0-rc.*headings. To upgrade from Effect 3, follow the migration guide.Packaging and versioning
- All Effect packages share one version number and are released together. Use the same version of
effectand every@effect/*package. @effect/platform,@effect/rpc,@effect/cluster,@effect/cli,@effect/ai,@effect/sql,@effect/workflow,@effect/experimentaland similar packages are merged intoeffect. Separate packages remain only for platforms (@effect/platform-*), SQL drivers (@effect/sql-*), AI providers (@effect/ai-*), framework bindings (@effect/atom-*), OpenTelemetry, Vitest and tooling.- Modules such as
effect/http,effect/http-api,effect/rpc,effect/cluster,effect/workflow,effect/ai,effect/cli,effect/sqlandeffect/schemaimport fromeffect/<area>. APIs tagged@stability unstablemay have breaking changes in minor releases. APIs without a stability tag follow semver. - APIs that expose a third-party dependency are tagged
@stability unstable, because that dependency's releases can change them. This coversNodeRedis,DenoRedis,BunRedis,@effect/platform-node/Undiciand the undici dispatcher APIs, thewsoptions and re-exports in the platform packages, driver-specific options and clients in@effect/sql-clickhouse,@effect/sql-d1,@effect/sql-libsql,@effect/sql-mssql,@effect/sql-mysql2,@effect/sql-pgliteand@effect/sql-sqlite-do, the provider clients, models and generated schemas in the@effect/ai-*packages,@effect/opentelemetry, and thevitestre-export in@effect/vitest. effecthas no runtime dependencies.- New packages in v4:
@effect/platform-deno,@effect/sql-pglite,@effect/ai-openai-compat,@effect/ai-typesafe,@effect/atom-react,@effect/atom-solid,@effect/atom-vue,@effect/openapi-generatorand@effect/doctest.@effect/docgennow lives in this repository.
Core
- The fiber runtime was rewritten for lower memory use and faster execution, with smaller bundles and better tree-shaking.
- Services are defined with
Context.Service,FiberRefis replaced byContext.Reference,Causehas a flat structure, and many combinators were renamed. See the migration guide for the full list. - Software transactional memory is built into
Effect.tx, withTxRef,TxQueue,TxHashMap,TxPubSub,TxSemaphoreand relatedTx*data types. Clockseparates wall-clock time from monotonic time.- New modules include
Semaphore,Latch,LayerRef,ErrorReporter,ByteSize,NewtypeandCrypto.Arbitraryis now a native property-based testing module and no longer depends on fast-check.
Schema
- Schema v4 is a new implementation with faster parsing, class-based schemas,
makeconstructors on every schema, and effectful decoding with services. SchemaRepresentationpowers JSON Schema (Draft-04, Draft-07, 2020-12 and OpenAPI 3.0/3.1) import and export, TypeScript code generation, and AI structured output.SchemaBinaryprovides a compact binary codec and is the default wire format for cluster transports.- Optional JIT and AOT schema compilers are available as experimental modules.
Platform, HTTP and RPC
HttpApisupports typed response headers, streaming and SSE responses, the HTTPQUERYmethod,HttpApiTestfor in-memory testing, and much faster type checking for large APIs.- The HTTP modules add static file serving, response compression, rate-limited clients and graceful server shutdown.
Sockethas a pull-based reader with backpressure and STARTTLS support. Network addresses are modeled byeffect/net.- RPC serialization is schema-aware and supports server-originated requests and notifications.
@effect/platform-denoadds full Deno support. The Node, Bun, Deno and browser packages all provide the platformCryptoservice, and the browser package adds IndexedDB support.
Cluster and Workflow
- Workflows can be declared with class syntax, and
DurableQueueand an in-memoryWorkflowEngineare available. - Runner memory can be bounded with
ShardingConfiglimits. Shutdown, entity movement and persisted replies are more reliable.
SQL
@effect/sql-pguses a built-in PostgreSQL client with pipelining, prepared statements and binary codecs, and no longer depends onpg.@effect/sql-sqlite-nodeuses Node's built-innode:sqliteand requires Node 22.16 or newer.SqlErrorexposes structured reasons such asUniqueViolation.
AI
effect/aiaddsEmbeddingModel, theDecisionModelclassification and rating API, dynamic tools and tool approvals.- The MCP server supports protocol versions 2024-11-05 through 2026-07-28, including elicitation, sampling with tools, resource subscriptions and typed tool output.
- Provider packages cover Anthropic, OpenAI, OpenAI-compatible APIs and OpenRouter.
CLI, Atom, observability and testing
effect/cliadds global flags, command aliases and examples, an interactive wizard mode, and shell completions for Bash, Zsh and Fish.effect/reactivityand the@effect/atom-*bindings add SSR hydration, stale-while-revalidate atoms and serializable RPC and HttpApi queries.- The OTLP exporters can be configured with standard OpenTelemetry environment variables, and
@effect/opentelemetryaligns logs and spans with the OpenTelemetry specification. @effect/vitestruns property tests with the nativeArbitrarymodule and supports Vitest fixtures.
Requirements
- TypeScript 5.9 or newer. TypeScript 7 is recommended.
@effect/vitestand@effect/doctestrequire Vitest 5.@effect/atom-reactrequires React 19.@effect/platform-denorequires Deno 2.8.3 or newer.
- All Effect packages share one version number and are released together. Use the same version of
-
Updated dependencies [
cbfc7b4,5a81a6f,68b6394,5250ca6,5f9c9d1,3278821,83429b4,0af6d0c,927e01e,10d8524,35ac25a,29e0aa7,8783536,df77fff,ef7d77f,035e369,f72790c,aa19472,988c467,735b77b,e5f7d12,2c552f2]:- effect@4.0.0
- @effect/platform-node@4.0.0