I am thrilled to announce I've officially joined the team @EffectfulTech, creators of @EffectTS_! Excited to continue building cutting-edge and composable technologies that allow developers to create bulletproof end-to-end applications in TypeScript 💪
This Week in Effect - 2024-06-07
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 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 get started, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy!
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! Here, you’ll find all the significant developments from the previous week, including community activities such as Discord discussions, noteworthy posts, YouTube content, and technical advancements.
Recent major updates
- Effect became API stable with the Effect 3.0 release.
- Effect 3.3 has been released.
- Our community on Discord reached 2950+ members!
- We’re publishing new Effect Days talks every week on the Effect YouTube channel.
Here are all the technical changes that occurred last week (note that changes included in the 3.3 release will not be listed).
- Ensure Equal considers Date by value (Bug Fix)
- Fix id extraction in Context.Tag.Identifier (Bug Fix)
- Remove toJSON from PrettyError and fix message generation (Bug Fix)
- Remove usage of performance.timeOrigin (Bug Fix)
- Only wrap objects with string keys in Config.Wrap (Bug Fix)
- README: update pull requests guidelines (Documentation Update)
- Add documentation for Predicate.implies (Documentation Update)
- Redacted: add JSDocs (Documentation Update)
- Add Either.liftPredicate (Feature, next-minor)
- Remove unnecessary === comparison in getEquivalence functions (Refactor)
- Ensure Chunk.reverse preserves NonEmpty status (Bug Fix)
- Add lastNonEmpty function to Chunk module (Bug Fix, next-minor)
- Make baseUrl more defensive in @effect/platform (Refactor)
- Ensure pre-response handler is checked after running the user-provided http app (Bug Fix)
- Fix print to stdout of cli (Bug Fix)
- Add @effect/sql-drizzle integration package (Feature)
- Update @effect/sql dependencies (Improvement)
- Schema: Add documentation for handling equality in Schema.Class (Documentation Update)
- Add encodedBoundSchema API (Feature)
- Update @since version in schema files to 0.67.0 (Improvement)
- Schema: expose property signature schemas (Improvement)
- Add support for string literals to Schema.TemplateLiteral and TemplateLiteral API interface (Feature)
- EncodedBoundSchema: preserve array stable filters
- Add support for unions to rename (Improvement)
- TemplateLiteral: fix bug related to “number”span (Bug Fix)
- Schema: align constructors arguments (Refactor)
- Add support for AST.Literal in Schema.TemplateLiteral (Feature)
- Add propertyOrder option to ParseOptions to control the order of keys in the output (Feature)
- PropertyOrder: do not add missing optional values (Bug Fix)
- Schema: add Redacted docs (Documentation Update)
- Schema: fix Redacted since tag (Bug Fix)
- Docs(Schema): add more examples for renaming properties in the README (Documentation Update)
In the last week, we welcomed +50 new Effecters to our Discord community - we’re excited to have you on board!
-
Effect reached the milestone of 6000 followers on X. We want to extend our thanks to all the members of our community for their continuous support and trust.
-
Maxwell Brown, long-term Effect-core contributor and Effect Days Advanced Workshop instructor, joined the Effectful Technologies team. We are excited to have him on board and wish him a productive and impactful journey ahead!
- The inato team shared insights on their migration process from fp-ts to Effect and shared their insights on how they could reach this goal in just two months. Congratulations to the team for this outstanding achievement.
The @inatohealth team shared their migration journey from fp-ts to Effect, the helpers they developed, and how they ensured a smooth transition of their codebase in just two months! Check out the article below for more details: dev.to/laurerc/how-we…
- Ethan Niser, an excellent and very young Effect educator, and instructor of the Effect Days Workshop in Vienna, has just graduated and shared this glimpse of his graduation ceremony. We are thrilled to see him continue to achieve outstanding milestones, and it is an honor to have him as part of our community.
We're incredibly proud of you, Ethan, and can't wait to see the bright future ahead of you! 🌟
- The Evryg team has announced the date of the second Effect Paris Meetup: Tuesday, June 25th at 7:00 PM. Now accepting talk submissions—submit yours today! As a reminder, the meetup will be in French.
🇫🇷📣 @EffectTS_ Paris meetup is now opened to all speakers out there, you just need to open a new repo issue to submit a talk 👇🏻 github.com/evryg-org/effe…
- On Monday, we released a new talk from the Effect Days Conference. ‘Building type-safe REST APIs powered by @effect/schema’ by Anna DevMiner. In her presentation, Anna discusses the importance of type-safe REST APIs and shows a solution using Zod and @effect/schema.
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