Skip to content

This Week in Effect - 2026-07-17

Hi Effecters!

Welcome back to This Week In Effect (TWIE) - your weekly update of the latest developments in the Effect community and ecosystem.

Effect is a powerful TypeScript library that helps developers build complex, synchronous, and asynchronous programs. One key feature that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.

To get started, below you’ll find links to our documentation and our guide for installing Effect. Enjoy!

Recent major updates:

 

A landmark week for the v4 beta — the effect-smol repository was archived and its full Git history merged into the canonical Effect-TS/effect repository. The main branch of Effect-TS/effect is now officially Effect v4. Here are the most notable changes that landed this week.

  • Repository milestone: Effect v4 has moved to the canonical Effect-TS/effect repository. The main branch is now v4, while v3 lives on the v3 branch. The effect-smol repo is archived and read-only, with all history preserved for reference.

  • Graph module: Added graph set operators (union, intersection, difference), made Graph interfaces opaque for better encapsulation, fixed edge transforms, mutation finalization, Walker iterator receiver, toGraphViz DOT escaping, floydWarshall null edge costs, isAcyclic for parallel undirected edges, and isGraph predicate narrowing. Also documented graph set operation gotchas.

  • CLI: Reintroduced CLI wizard mode, added CLI config for built-in flags, fixed missing flag value handling, fixed Command.withSubcommands losing context type inference, and added general cleanups.

  • HttpApi hardening: Reused response schemas, normalized payload media types, hardened HTML rendering in API docs, fixed client error and authorization decoding, improved type-level performance, kept HttpApi composition immutable, applied transformClient when building individual endpoint clients, rejected duplicate and unknown handler registrations with descriptive errors, rejected duplicate OpenAPI operations and incompatible security scheme names, compiled SSE client decoders once instead of per-request, preserved __proto__ identifiers, and added HttpApiError for status 422.

  • Durable execution: Fixed durable race result replay, ensured PersistedQueue decoding failures count as processing attempts, fixed Redis-backed PersistedQueue script handling, and fixed SQL-backed persisted queues to refresh locks for actively acquired elements.

  • Schema fixes: Fixed JSON Schema tuple allOf intersections, fixed tuple post-rest element indexing, fixed union candidate dispatch ordering, and prevented prototype pollution in bracket-path decoding.

  • AI: Fixed provider-defined tools (tool cloning and Anthropic client tools), and removed the legacy LSP in favor of effect/tsgo.

  • Runtime: Fixed handling of large millisecond values passed to sleep.


To catch up on more updates, check out Effect v4 Beta updates.

 

Other technical changes from the past week.

 

 

 

  • Effect Office Hours 🔥 every Wednesday at 10:00 AM ET / 16:00 CET on our YouTube channel.

Visit our Effect Community Events calendar and subscribe for updates on upcoming Effect events.

 

 

 

 

 

 

 

 

 

 

  • svelte-effect-runtime – a Vite plugin and language server for writing effectful code directly in component scripts, using yield* to handle async operations and side effects. Just hit its v4 release.

 

  • Effect Commander - A game by jjhiggz built to teach Effect’s timing primitives - fibers, scheduling, retries - by strongly encouraging you to use them to solve problems. Watch the demo video or try the platform yourself.

 

  • effect-rpc-workers - A production-ready example of integrating @effect/rpc with Cloudflare Workers. By ksamirdev.

 

Don’t forget to listen to our Cause & Effect podcast hosted by Johannes Schickling and available on YouTube, X(Twitter), and audio platforms like Spotify and Apple Podcast.

Kit Langton joined the podcast to talk about Effect, OpenCode, and what it takes to migrate a large TypeScript codebase to Effect. Enjoy a very Kit episode, technical, funny, opinionated, and full of love for effect systems.

Play

 

  • Effect v4 RC Prep, RPC, and GitDB | Effect Office Hours 37 🔥
Play

 

  • Effect Subtyping
Play

 

  • Optics
Play

 

More and more companies are adopting Effect in their projects. Here’s a list of companies looking for software engineers with Effect experience:

Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.

 

The Effect Merch Store offers a selection of Effect-branded items designed for the community. All orders are processed and fully managed through Printful.

 

That’s all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this format. Feel free to share your thoughts, and we’ll do our best to tailor it to the needs of our community.

Effect Community Team