This Week in Effect - 2024-08-16
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:
Recent major updates:
- Effect is API stable with the Effect 3.0 release.
- Effect 3.6 has been released.
- Our community on Discord reached 3380+ members!
Technology
Here are all the technical changes that occurred last week.
Effect Core
- Use en-US locale in DateTime tests (Feature)
- Ensure Stream.toReadableStream pulls always result in a enqueue (Bug Fix)
- Fix Cache 'Value' type parameter variance (covariant -> invariant) (Bug Fix)
- Ensure Scheduler tasks are added to a matching priority bucket (Bug Fix)
- Ensure makeZonedFromString supports 00:00 offset (Bug Fix)
- Ensure defects are caught in Effect.tryPromise (Bug Fix)
- Avoid automatic propagation of finalizer concurrency (Bug Fix, next-minor)
Effect Experimental
- Update workspace dependencies (Improvement)
- Add VariantSchema & Model modules (Feature)
Effect Platform
- Add HttpRouter.concatAll + fix HttpRouter.concat mounts (Feature, Bug Fix)
- Update workspace dependencies (Improvement)
- Add HttpRouter.currentRouterConfig fiber ref (Feature)
Effect Cluster
Effect SQL
- Update workspace dependencies (Improvement)
- Add support for obtaining raw SQL query results from the underlying SQL client (Feature)
- Support partial objects in sql helpers (Bug Fix)
- Add VariantSchema & Model modules (Feature)
Effect Schema
- Make json schema output more compatible with Open AI structured output (remove "oneOf" and "const") (Bug Fix)
- Add Schema.ArrayEnsure & Schema.NonEmptyArrayEnsure (Feature)
- Update workspace dependencies (Improvement)
- Fix schema readme (Documentation Update)
Effect Vitest
- Update workspace dependencies (Improvement)
Effect CLI
- Update workspace dependencies (Improvement)
Effect RPC
- Add Rpc prefix to rpc module names (Feature)
General Chores
Community highlights
In the last week, we welcomed +20 new Effecters to our Discord community - we're very excited to have you all on board!
- Unsplash just started using Effect in production! We're thrilled to share this update by Thomas Lefebvre, Senior Production Engineer at Unsplash.
- Sandro Maglione launched his Effect: Beginners Complete Getting Started course this week, which is free to everyone. The course is designed to guide beginners through their initial journey with Effect, providing step-by-step support as they build their first projects.
- Johannes Schickling dropped a teaser about an upcoming podcast titled 'Cause and Effect'.
Effect content update
- Maxwell Brown and Tim Smart were live on Wednesday on Twitch with the fourth episode of 'Reimagining ContentLayer With Effect'. The video will soon be available on the Effect YouTube Channel.
- Ethan Niser, posted a new video about Error Handling in TypeScript. In this video the Effect library is introduced as a powerful tool for managing errors in TypeScript, enhancing code readability and safety, and making error handling more intuitive and effective.
- Following Ethan's video, James - JollyCoding, developer advocate @ Better Stack, made his very first video about Effect, focused on Effect main advantages: making TypeScript more robust, more composable, reusable and testable.
- Milad Vafaeifard, founder of Sign Language Tech published a new video guide in sign language, explaining the difference between andThen and flatMap in Effect.
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-08-09
Aug. 9th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical Updates in Effect. 'Effect Best Practises' by Ethan Niser. 'Reimagining Contentlayer' ep.3 & 'Effect Cluster' ep.1 video releases.
Read more
This Week in Effect - 2024-08-23
Aug. 23rd, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect technical updates. 'From React to Effect' by Michael Arnaldi. Effect Cluster - Design Sync Session (Part 2). Articles from community members about Effect RPC and Effect Schema.
Read more