Effect 3.10 has just been shipped 🚀 ◆ effect/schema moved to effect/Schema ◆ HttpApi improvements ◆ TSubscriptionRef ◆ Stream.fromTQueue & Stream.fromTPubSub ◆ Redactable trait effect.website/blog/effect-3.…
This Week in Effect - 2024-10-25
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 key feature 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!
Recent major updates:
- Effect is API stable with the Effect 3.0 release.
- Effect 3.10 has been released.
- The Effect community on Discord reached 3690+ members!
-
Effect 3.10 has been released!
We’re excited to announce that with this release, the effect/schema package has been merged into the Effect core library. By installing the newest version of Effect, all data validation functionalities previously provided by the Schema package will be available without needing to install any other package.
Here are all the technical changes from this week (note that changes included in the 3.10 release will not be listed)
- Fix race condition in Micro tests (Bug Fix)
- Wait for connection in DevTools client with 1s timeout (Bug Fix)
- Simplify Match fail keys types (Improvement)
- Add JSDocs to GlobalValue module (Documentation Update)
- Make MergeRight, MergeLeft and MergeRecord homomorphic (Bug Fix)
- Add more type level tests for Types.MergeRight (Enhancement)
- Ensure undefined JSON values are not coerced to empty string (Bug Fix)
- Add support for Schema.OptionFromUndefinedOr in JSON Schema generation (Feature)
- Config.url constructor (Feature, next-minor)
- Fix cli options repeated order (Bug Fix)
- Add sql-clickhouse & clickhouse dialect (Feature)
- Add HttpServer.layerContext to platform-node/bun (Feature)
- Fix HttpServer.layerContext access before initialization (Bug Fix)
- Ensure HttpMiddleware is only initialized once (Bug Fix)
- Cache OpenApi schema generation (Improvement)
- Add missing bearer format field (Bug Fix)
- OpenApi spec securitySchema keys fix (Bug Fix)
- Allow Request.signal to be missing in .toWebHandler apis (Bug Fix)
- Ensure headers are redacted when inspecting http requests & responses (Bug Fix)
- Ensure parent annotations take precedence over surrogate annotations (Bug Fix)
- Add HttpApiBuilder.handler, for defining a single handler (Feature)
- Eliminate HttpApiEndpoint context in .handle (Bug Fix)
- Add support for Schema.OptionFromUndefinedOr in JSON Schema generation (Feature)
- Add sql-clickhouse & clickhouse dialect (Feature)
- Add getSemigroupUnion, getMonoidUnion and getSemigroupIntersection for Record (Feature)
- Fix since tags (Bug Fix)
- Fix @effect/vitest .prop test (Bug Fix)
-
We had our second Effect Meetup in San Francisco - big thanks to our speakers and everyone who joined! It’s always a pleasure to see our community come together, and we look forward to reconnecting with you all at future events. Here are some highlights of the event:
We're getting started with our first speaker, Maxwell Brown @imax153! 🙌
Elliot Dauber will be talking about his experience in learning Effect from scratch as he started working for @markprompt
Getting ready for our next talk with David Siegel, Founder & CEO @glideapps
Dillon Mulroy @dillon_mulroy talking about his journey as a developer, TypeScript, and Effect!
It’s always so rewarding to see the @EffectTS_ community come together - thanks to everyone who joined us in SF 🌉 yesterday! We're looking forward to the next one already, especially Effect Days ✨ effect.website/events/effect-…
-
Sandro Maglione published a new resource about developing a payment TypeScript app with Paddle and Effect:
@PaddleHQ Billing Payments Full Stack course is out now 🚀 Build a full stack TypeScript app to collect payments (@EffectTS_, React Router v7, XState) Step by step, all for free 👇 typeonce.dev/course/paddle-…
-
Titouan Créac’h wrote the second part of his article about how he replaced tRPC with Effect/RPC in a Next.js app router application.
The part 2 of : How I replaced tRPC with @EffectTS_ rpc in a Next.js app router application is now available 🎉 dev.to/titouancreach/… Focused on streaming data !
-
Chris Tate, developer at Vercel and creator of SpecUI, is working on a new AI assistant, Information Overload, that will allow developers to copy updated docs into the assistant to generate code - and he’s been using Effect in his tech stack.
Shipping soon: Information Overload (IO) Your AI isn't dumb - it just needs better info Especially for dev tools. Instead of hunting down updated docs, imagine a free resource that’s already done the work. Using IO, you can copy & paste AI-optimized docs in one click Watch…
-
The 3rd Effect Paris Meetup is now scheduled on November 5th and will be hosted by Spiko. There’s still time to submit a proposal if you’d like to give a talk - the meetup will be in French.
🇫🇷 @EffectTS_ Paris meetup is now officially scheduled for November 5, hosted by @SamuelBriole and @Spiko_finance 🔥🔥 Already 2 speakers are in the pipe but we’re still waiting for a third Effecter. Paris folks, who wants to be the third one? Don’t leave it to me 🤓 👇🏻 Link
-
A new episode of Reimagining Contentlayer with Effect by Tim Smart was aired on Thursday.
Working on HttpApi & contentlayer with Effect x.com/i/broadcasts/1…
-
Mattia Manzati went live on Thursday with his series about Building a small warehouse app with Effect.
See you live on twitch.tv/mattiamanzati at 18:30 Rome time! We'll continue building our @EffectTS_ logistics app!
-
Part 7 of Reimagining Contentlayer with Effect has already been published on the Effect YouTube Channel.
Play
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