This Week in Effect - 2024-07-12
Hi Effecters!
Welcome back to This Week In Effect (TWIE), a weekly update to keep you in the loop with all the latest developments in the Effect community and ecosystem.
Effect is a powerful TypeScript library that helps developers create complex, synchronous, and asynchronous programs. One of the key features 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.
Get started with Effect with our quick-start guide and documentation below:
We want to make it easy for you to find everything you need to fully enjoy your Effect journey and actively engage with the community! In this blog post series, you'll find all the significant developments from the previous week, such as Discord discussions, noteworthy posts, YouTube content, and technical advancements.
Recent major updates
- Effect is now API stable with the Effect 3.0 release.
- Effect 3.5 has been released.
- Our community on Discord reached 3200+ members!
- Published all talks from Effect Days 2024 on the Effect YouTube channel.
Technology
Effect 3.5 has been released.
Here are all the technical changes that occurred last week (note that changes included in the Effect 3.5 release will not be listed).
Effect Core
- Refactor TrimEnd & TrimStart (Refactor)
- Updated the JSDocs for the Stream module by adding examples to key functions (Documentation Update)
- Allow invalidated Pool items to be reclaimed with usage strategy (Feature)
- Improve babel build post-processing (Bug Fix)
- Prevent reclaim of manually invalidated pool items (Bug Fix)
- Reduce chance of race condition in Micro withConcurrency test (Improvement)
- Add example to Random.make (Documentation Update)
- Fix Logger.pretty on bun (Bug Fix)
- Add JSDocs for logger-related functions (Documentation Update)
- Render a more helpful error message in Effect.timeout (Optimization)
- Improve safari support for Logger.pretty (Improvement)
- Set Logger.pretty message color to deepskyblue on browsers (Improvement)
- Fix process .isTTY detection (Bug Fix)
- Align Stream.run public function signatures (Bug Fix)
- Support heterogenous argument in Option.firstSomeOf (Bug Fix)
Effect Platform
- Remove unnecessary build config (Bug Fix)
- Improve babel build post-processing (Bug Fix)
- Simplify /platform http response handling (Improvement)
- Improve /platform/WorkerError messages (Improvement)
- Ensure interrupts are handled in WorkerRunner (Bug Fix)
Effect Experimental
- Improve babel build post-processing (Bug Fix)
- Disable lmdb tests in experimental (Bug Fix)
- Revert PrimaryKey fallback in /experimental Persistence (Bug Fix)
Effect Cluster
- Improve babel build post-processing (Bug Fix)
Effect Schema
- Add reference to filterEffect in the Zod comparison and fix faq section (Documentation Update)
- Zod comparison: Add some links and fix typo (Documentation Update)
- Support Capitalize Uncapitalize filters and schemas (Feature)
- Add example of customizing the type output of TreeFormatter using annotations (Documentation Update)
- Add toString to AST.PropertySignature and AST.IndexSignature and fix type display for IndexSignature (Bug Fix)
- Improve babel build post-processing (Bug Fix)
Effect CLI
- Improve babel build post-processing (Bug Fix)
Effect Vitest
- Improve babel build post-processing (Bug Fix)
Effect Typeclass
- Improve babel build post-processing (Bug Fix)
Effect Opentelemetry
- Improve babel build post-processing (Bug Fix)
Effect Printer
- Improve babel build post-processing (Bug Fix)
Effect RPC
- Improve babel build post-processing (Bug Fix)
- Add basic docs to rpc (Documentation Update)
Effect SQL
- Improve babel build post-processing (Bug Fix)
General Chores
Community highlights
In the last week, we welcomed +40 new Effecters to our Discord community - we're very excited to have you all on board!
- Johannes Schickling, Effect DX & Power User, appeared on a podcast episode for Happy Path Programming where he talked about Effect and local-first development. Happy Path Programming is a podcast run by James Ward and Bruce Eckel.
- Daniel Steigerwald, founder of Evolu, will be giving a talk about the use of Effect in his application at the Frontkon 2024 in Prague on October, the 9th. Evolu is a local-first platform designed for privacy, ease of use, and no vendor lock-in.
Content update
- Michael Arnaldi's talk at the LambdaConf 2024 is now available on LambdaConf YouTube channel: "Effect: A
functionalfoundation for TypeScript". In this talk, Michael delves into how to use Effect and what you can get "out-of-the-box" from its ecosystem with features such as native open-telemetry, schema validation, structured concurrency, and much more.
- Dillon Mulroy, Software Engineer at Vercel, was live streaming again on Building a Twitch overlay with TypeScript and EffectTS. Watch the two episodes below:
Closing notes
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
Related Posts
This Week in Effect - 2024-07-05
Jul. 5th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical updates in Effect. 'Effect, The Missing TypeScript Standard Library' by Tomáš Horáček.
Read more
This Week in Effect - 2024-07-19
Jul. 19th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical Updates in Effect. Reimagining Contentlayer by Michael Arnaldi and Maxwell Brown.
Read more