This Week in Effect - 2024-04-05
Hi Effecters!
Welcome back to a This Week In Effect (TWIE), our weekly update that aims to help you keep track of everything that is going on inside our Community and the Effect Ecosystem.
If it’s your first time here, Effect is a powerful TypeScript library designed to help 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.
To begin your Effect journey, take a look at our quick-start guide and documentation below. Enjoy!
Overview of TWIE
If you're new to TWIE, here are a few words on what TWIE is and what it aims for.
We’re happy to see the community growing so fast, with more and more people adopting Effect. At the same time, we understand that it might not be easy keeping up with everything that is going on in the Effect Ecosystem:
- Our Discord server reached 2180+ members a few days ago and the engagement is at an all-time high.
- We just had our very first Effect Days Conference in Vienna on February 23, 2024. It's been an amazing experience connecting with our community in person. If you couldn't join us in Vienna, we've got plenty of exciting updates and content coming your way, so stay tuned!
- All projects around Effect are receiving key updates and there has been a lot of activity on GitHub!
We want to make it easy for you to find all the info you need to fully enjoy your Effect journey and actively engage with our community!
And, that’s why we created TWIE – a weekly update to inform you about key events about Effect in the previous week, both from the community (Discord discussions, X posts, YouTube content, etc.) and from a technical standpoint.
Now, back to business!
Technology
Below you may find the list of all changes that occurred last week.
Effect Core
- Fixed typo (Documentation Update)
- Add Iterable module (Feature)
- Use const type parameter for Config.withDefault (Refactor)
- Improve formatting of Runtime failures (Improvement)
- Remove handled errors from Effect.retryOrElse (Refactor)
- Support Heterogeneous Effects in Effect Iterable apis (Feature)
- Use LazyArg for Effect.if branches (Refactor, next-minor)
- Support variadic arguments in Effect.log (Feature, next-minor)
- Add unique identifier to Tracer.ParentSpan tag (Improvement, next-minor)
- Add Logger.withConsoleLog/withConsoleError apis (Feature)
- Make Logger.structuredLogger default for browser (Refactor)
- Replace use of unit terminology with void (Refactor, next-minor)
- Bump TypeScript min requirement to version 5.4 (Documentation Update, next-minor)
Effect Opentelemetry
- Opentelemetry: export an empty NodeSDK laye (Feature)
- Replace use of unit terminology with void (Refactor, next-minor)
Effect RPC
- Move non-streaming rpc apis to separate module (Refactor)
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Vitest
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Platform
- Auto-instrument HTTP client (Feature)
- Add support for W3C Trace Context propagation (Feature)
- Add force option to FileSystem.remove (Feature)
- Use node fs/promises for readdir, to fix recursive option (Bug Fix)
- Fix exact optional properties type errors (Bug Fix)
- Replace isomorphic-ws with isows (Refactor)
- Move fetch options to a FiberRef(Refactor, next-minor)
- Add PlatformConfigProvider module (Feature)
- Make the file tree provider the fallback in PlatformConfigProvider.layerFileTreeAdd (Improvement)
- Properly handle multiple ports in SharedWorker (Bug Fix, next-minor)
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Experimental
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Typeclass
- Replace use of unit terminology with void (Refactor, next-minor)
Effect CLI
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Printer
- Replace use of unit terminology with void (Refactor, next-minor)
Effect Schema
- Enums are now exposed under an enums property of the schema (Bug Fix)
- Preserve jsdoc and cmd-click (Bug Fix)
- ParseResult: add output field to TupleType and TypeLiteral (Feature)
- Add Schema.BooleanFromUnknown (Feature)
- Add set, setFromSelf, map, mapFromSelf (Feature)
- Comparioson with Zod (Documentation Update)
- Length now allows expressing a range (Feature)
- Class API: Added default title annotation to the encoded side (Improvement)
- Clean up: remove useless internal modules (Refactor)
- Replace use of unit terminology with void (Refactor, next-minor)
- Add ParseIssueTitle annotation (Feature)
General Chores
- Fix typos in Logger.withConsoleLog changeset (Documentation Update)
- Change changeset target to @effect/platform-browser (Documentation Update)
Community
In the last week, we welcomed +55 new Effecters to our Discord server! Thank you to all our new members for joining the Effect community, and we're excited to have you on board!
Content Update
Carrying on with our journey through the Effect Days Conference.
Following the exceptional reception of last week's Opening Keynote, we have published another engaging talk from Tim Smart, one of the Founding Engineers of Effectful Technologies. He uncovers the latest developments in the Effect Ecosystem, including the exciting new VSCode Extension.
We encourage you to stay connected with us on YouTube and X to stay in the loop with upcoming content and to share your feedback with us.
Just a reminder for our French-speaking audience: the first ever Effect Paris Meetup will land in April! Thanks to Evryg team, Jean-Baptiste Musso and Antoine Coulon for organizing the event.
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 new format. Feel free to share your thoughts, and we'll do our best to tailor it to the needs of our community.
The Effect Community Team
Related Posts
This Week in Effect - 2024-03-29
Mar. 29th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical updates in Effect, first conference talk release, how to sign for 'Effect' in sign language, and an upcoming event.
Read more
This Week in Effect - 2024-04-12
Apr. 12th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical updates in Effect, effect/schema talk by Jess Martin, a new video about Effect by Lucas Barake, and Effect Paris Meetup update.
Read more