Hi Effecters!
Welcome back to This Week In Effect, your weekly update of the latest developments in the Effect community and ecosystem.
Effect is the TypeScript library for the AI era, helping 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:
- Effect v4 Beta Release! 🚀
- Effect AI SDK Release.
- Durable workflows in TypeScript with
effect/unstable/workflow- currently in alpha. - 6530+ community members on Discord.
Technology
- Effect LSP rules are now available as custom, type-aware OXLint rules. We now also support vite-plus.
And we now support vite-plus as well! :D
Good news everyone! (cit.) The rules you love (and hate) from the @EffectTS_ LSP are now available as custom, type-aware OXLint rules! Bring Effect-aware diagnostics directly into your OXLint setup, learn more here: github.com/Effect-TS/tsgo…
- Effect’s API reference docs, for both v3 and v4, are now available on the website.
We finally brought @EffectTS_’s API reference docs to the Effect website, for both v3 and v4. Also comes with an improved search experience. Just the first step we're taking to improve our documentation as we prepare for a v4 release candidate!
Effect v4 Beta updates
The v4 beta had a focused week, with Schema refinements, MCP improvements, SQL fixes, and continued HTTP and AI work. The team also conducted a deep audit of the entire Effect codebase, systematically reviewing and fixing edge cases across all modules to ensure correctness and reliability ahead of the upcoming RC release.
-
Schema: Renamed Schema error constructors for consistency, fixed deduplication of JSON Schema fallback definitions, and resolved representation identifiers by AST identity.
-
MCP: Fixed MCP conformance issues and added a test suite, and emitted MCP tool output schemas.
-
SQL: Added D1 batch support, ran SQL persistence cleanup in bounded batches to avoid lock contention, and fixed
TMap.remove/removeAllclearing entire buckets on hash collision. -
HTTP & tracing: Added
HttpClienttracer header filter for fine-grained control over which headers are included in traces, and propagated trace context for persisted workflow requests. -
AI: Fixed OpenAI stable web search action parameters.
-
CLI & docs: Added
Doc.sanitizefor stripping unsafe content from CLI output, and fixedKeyValueStorefile backend docs. -
Workflow: Propagated trace context across persisted workflow request boundaries.
You can follow the full changelog in the effect repository.
To catch up on more updates, check out Effect v4 updates.
General Chores
Cause & Effect Podcast | Episode #10
Software Engineering in the Age of AI
John A. De Goes joins Johannes Schickling and Michael Arnaldi to discuss how AI is reshaping software engineering, what developers should still learn, and why Effect’s primitives are especially valuable for coding agents.
John is the creator of ZIO, as well as CEO of Ziverge and Golem Cloud.
The Cause & Effect podcast, hosted by Johannes Schickling, features stories from software engineers and companies that use Effect in production and is available on YouTube, X(Twitter), and audio platforms like Spotify and Apple Podcast.
Effect Adoption Partner
Save your seat for the first Effect Training Workshop by John De Goes!
We're ramping up for the @EffectTS_ Workshop 🚀 Saved your seat? eventbrite.com/e/ziverge-effe… See you there! Thank you @MichaelArnaldi for sitting down with us and having such a fantastic conversation 🙏 More to come! @jdegoes @effectfultech
Meanwhile, enjoy a conversation between John De Goes and Michael Arnaldi on Why TypeScript is a Good Fit for Unemployed Scala Developers.
Why TypeScript is a Good Fit for Unemployed Scala Developers x.com/i/broadcasts/1…
Community Highlights
-
One of the many reasons to use Effect!
One of the many benefits of using `effect` for pretty much all my TS projects: It replaces >50 of the most common packages/use cases (e.g. o11y, cli, http, etc) which means I'm much less exposed to supply chain attacks as effect has (almost) no deps itself.
‼️ BREAKING: An active npm supply chain attack has compromised at least 868 packages carrying over 2 billion monthly installs with a credential-stealing worm. Shai-Hulud is back. It started with the compromise of the GitHub account of the maintainer behind keyv, a library with
-
Many such stories! 😉