Back to Explore

Effect-TS/effect

GitHub
179 updates · last 90 days2 watchersOpen source

Last release:

Effect is a TypeScript framework for building robust, production-ready applications using a functional effect system with a standard library. It provides primitives for side effects, type-safe concurrency and error-handling, and includes ecosystem packages for CLI tooling, observability (OpenTelemetry), distributed computing, workflows, and multiple SQL integrations.

Project status

  • Effect-TS/effect appears actively maintained, with an upstream push on 2026-09-10 and multiple package updates dated 2026-09-09, including real bug fixes (not just dependency bumps).
  • The update cadence is currently frequent (days apart, within the last week), suggesting an ongoing release train rather than maintenance mode.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • @effect/vitest@4.0.0-rc.113

    This release makes a major shift in @effect/vitest property testing by removing the fast-check bridge and moving to a native, Schema-first Arbitrary system (experimental). It also includes upstream Vitest integration breaking changes (concurrency and benchmark/assertion APIs) plus a test runner fix around timeouts and finalizers. Overall, native Arbitrary generation is reported to be faster than fast-check for many scenarios, with no classified runtime regressions in the provided benchmark matrix.

    BreakingFeatures
  • @effect/sql-sqlite-wasm@4.0.0-rc.113

    This RC includes several SQLite WASM worker-related fixes: MessagePort queues now start automatically after the SQLite WASM client and OPFS worker listeners are registered, and query results preserve statement-specific column names. It also improves error classification in OPFS worker replies by preserving native SQLite error codes, but this changes the shape of coded error details exposed to the client.

    Breaking
  • @effect/sql-sqlite-react-native@4.0.0-rc.113

    This release adds support for returning the selected rows from OP-SQLite value queries, for both synchronous and asynchronous execution modes. It is described as a patch change and primarily affects how query results are produced.

    Features
  • @effect/sql-sqlite-node@4.0.0-rc.113

    This release improves SQLite transaction handling for read-only clients when SQLite is configured with PRAGMA query_only. It also improves error reporting by converting unprepared statement preparation failures into typed SqlError values.

  • @effect/sql-sqlite-do@4.0.0-rc.113

    This release improves error handling for Durable Object SQL streaming by reporting synchronous streaming failures as recoverable `SqlError` values. This should make downstream error handling more consistent and avoid unexpected hard failures during SQL streaming workflows.

  • @effect/sql-sqlite-bun@4.0.0-rc.113

    This release refines SQLite transaction behavior in @effect/sql-sqlite-bun. It enables read-only SQLite clients (with PRAGMA query_only) to use withTransaction, and fixes a deadlock-like situation where database exports performed inside withTransaction could wait indefinitely.

    Features
  • @effect/sql-pglite@4.0.0-rc.113

    This release focuses on improving PGlite compatibility with PostgreSQL client behavior and fixing data handling edge cases. The most developer-relevant change is an update to `PGlite.listen` behavior, introducing an explicit readiness boundary via a scoped dequeue returned after the listener is installed.

    Breaking
  • @effect/sql-pg@4.0.0-rc.113

    This release replaces @effect/sql-pg's pg runtime with a native PostgreSQL client, significantly changing connection behavior, query handling, and the shapes/types of returned results and notifications. It also removes legacy PgClient/PgPool constructors and updates PgClient.listen semantics and PgTypes configuration, so upgrading will likely require code changes.

    BreakingFeatures
  • @effect/sql-mysql2@4.0.0-rc.113

    This @effect/sql-mysql2 release candidate (4.0.0-rc.113) contains only patch-level work, specifically updating dependencies to their latest compatible versions. No API, behavior, or other functional changes are described in the release notes.

  • effect@4.0.0-rc.113

    effect@4.0.0-rc.113 focuses on fixing several correctness issues across tools/Chat behavior, caching, RPC typing, and schema-based generation. It also introduces notable breaking API cleanups (Config and CLI constructor renames, removal of Channel.runDone) and a major experimental shift toward the native Schema-first Arbitrary runner, removing the fast-check bridge.

    BreakingFeatures
  • @effect/platform-node@0.108.2

    This patch release fixes a NodeHttpServer issue where, after a request is upgraded to a WebSocket, the server could still write the HTTP route response bytes. Stricter WebSocket clients may then see those bytes as WebSocket frames, triggering "Invalid frame header" and a 1006 failure instead of the server-sent close code. It also updates internal dependencies to newer effect and @effect/platform versions.

  • effect@3.22.2

    This patch release fixes two correctness issues. It corrects TMap removal behavior when hash collisions occur, and it fixes a schema helper so it behaves properly when used with strings.

  • @effect/platform@0.97.2

    This patch release fixes an issue where multipart limit failures were being silently ignored, improving correctness of upload handling. It also updates the underlying Effect dependency to version 3.22.2.

  • @effect/cli@0.77.1

    Release @effect/cli@0.77.1 is described as a patch that improves generated shell completion text by escaping quotes for zsh and fish, and it also updates a couple of dependencies. The actual diff for this release shows additional, not-mentioned changes, including stricter validation for CLI config file names and several behavior changes across the cluster and effect packages (error handling, tracing propagation, shard locking, and SQL message storage keying).

    Features
  • @effect/opentelemetry@0.64.1

    This patch improves OpenTelemetry trace propagation behavior when using `Effect.fn` without a name and when spans are disabled. It also adjusts `Tracer.currentOtelSpan` to skip these disabled spans so the current span resolution matches the nearest propagated parent.

  • @effect/vitest@4.0.0-rc.112

    This is a vitest pre-release patch update (@effect/vitest 4.0.0-rc.112) with no documented user-facing changes in the release notes. The only stated change is an internal dependency update, specifically aligning with effect@4.0.0-rc.112.

  • @effect/sql-sqlite-wasm@4.0.0-rc.112

    This release (@effect/sql-sqlite-wasm 4.0.0-rc.112) contains no documented API or behavior changes in the release notes. It is primarily a dependency update, pulling in effect@4.0.0-rc.112.

  • @effect/sql-sqlite-react-native@4.0.0-rc.112

    This @effect/sql-sqlite-react-native@4.0.0-rc.112 release contains no explicitly documented user-facing changes. The release notes only mention an updated dependency on effect@4.0.0-rc.112, which may bring transitive behavioral changes from the Effect ecosystem.

  • @effect/sql-sqlite-node@4.0.0-rc.112

    This release of @effect/sql-sqlite-node@4.0.0-rc.112 only updates dependencies, with no additional features, fixes, or behavioral notes described in the release notes. The only explicitly mentioned change is updating the underlying effect dependency to effect@4.0.0-rc.112.

  • @effect/sql-sqlite-do@4.0.0-rc.112

    This is a patch release of @effect/sql-sqlite-do. The release notes only mention updating the @effect/effect dependency to 4.0.0-rc.112, with no additional documented API, behavior, or bug fix changes.