This Week in Effect - 2024-09-06
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 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.7 has been released.
- The Effect community on Discord reached 3500+ members!
Technology
Here are all the technical changes that occurred last week.
Effect Core
- Support tacit usage of Effect.tapErrorTag and Effect.catchTag (Feature)
- Optimize Array.sortWith to avoid calling the map function excesively (Improvement)
- Fix(Stream): align .empty to behave like .make with no arguments (Bug Fix)
- Fix Micro.forEach for empty iterables (Bug Fix)
- Fix exported Stream types (Bug Fix)
- Remove console.log statements from Micro (Bug Fix)
- FiberRefs perf work (Improvement, next-minor)
- Add number round (Feature, next-minor)
- Add Logger.prettyLoggerDefault, to prevent duplicate pretty loggers (Feature, next-minor)
Effect CLI
- Add number round (Feature, next-minor)
Effect Experimental
Effect Opentelemetry
- FiberRefs perf work (Improvement, next-minor)
Effect Platform
- Refactor /platform HttpClient (Refactor)
- Ensure Socket.toChannel fiber is attached to Scope (Bug Fix)
- Leave node stream listeners attached to prevent unhandled errors (Bug Fix)
- Add Logger.prettyLoggerDefault, to prevent duplicate pretty loggers (Feature, next-minor)
Effect SQL
- Add onnotice option to PgClient (Feature)
Effect Schema
- Condense schema README (Documentation Update)
- Add Zod link to schema README (Documentation Update)
General Chores
- Infra: add python to dev shell
- Update docgen version
- Chore: migrate eslint to flat config
- Allow manual trigger of snapshots
Community highlights
In the last week, we welcomed 30+ new Effecters to our Discord community - we're very excited to have you all on board!
- Warren Sadler, CTO & Co-Founder @ Therify, gave a talk about Functional Programming for Better TypeScript with EffectTS at the NashJS Meetup. You can find the full presentation at the link below:
- Dillon Mulroy, Software Engineer at Vercel, did three live streams about Building a Job Queue with EffectTS:
- Given his experience with Effect, Dillon also shared some feedback with the community about how Effect simplifies concurrency.
Effect content updates
- Michael Arnaldi and Maxwell Brown were live on X(Twitter) and Twitch on Monday with the 5th episode of Effect Cluster - Design Sync Session.
- The third episode of the series is available on the Effect YouTube Channel.
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-30
Aug. 30th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect 3.7 release. 'Reimagining ContentLayer With Effect' by Maxwell Brown and Tim Smart ep.4
Read more
This Week in Effect - 2024-09-13
Sep. 13th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Effect technical updates. Create Effect App Release. Effect Meetup San Francisco on Oct 21. 'Effect Cluster - Design Sync Session ep. 6'.
Read more