Hi Everyone, this edition covers a couple of personal milestones for me: being cited by HorseJS and opening up my GitHub sponsor account. We also include several releases ranging from Mercurius Cache to Pino.
My biggest milestone of this week is that… I been “horsed”! I’m so proud about it and it shows my greatest commitment to the JavaScript community in these years.
I decided to open up GitHub Sponsors because while a lot of my OSS is funded by @NearForm, I very often receive requests for bug fixes etc from people/companies that for different reasons cannot hire NearForm and yet they cannot fix bugs themselves.
Do you remember this hall? This was part of a famous film! I took this picture myself!
Mercurius
This week marks a massive milestone for Mercurius. The cache plugin now support invalidations both for local memory and Redis. This feature has been result of the collaboration between Simone Sanfratello and myself
You can read more about it in the long PR that implemented it for the mercurius-cache module.
How does the cache works? The “magic” is all encapsulated in the async-cache-dedupe module. You can use it standalone and add it to your REST APIs too. Check out the PR that implemented invalidations to learn more of our tradeoffs.
We also shipped a new release of Pino to fix a race condition during the start up phase that lead to the loss of a few lines. Specifically we did not close the ThreadStream if it was not ready yet.
Solving this problem (and writing tests for it) was quite a deep dive on the Unix permission system. It’s very important to know what a umask is and this article on Askubuntu was really on the spot:
On January 10th there has been a new release of Node.js core. This release include a few critical fixes to how we validate X509 certificates (TLS). It’s really import that you upgrade your Node.js version.
Have you ever had to solve a performance issue with Node.js? If so you probably had to use one of our diagnostics tool. The Node.js project is trying to model the user journey of a user just like yourself. Could you help us by filling our survey?
This issue aims to track the remaining tutorials under documentation folder. The #439 contains the documents created in the WG Deep Dive and we are working to transpose them into live documents. Abnormal Termination Using exit stack trac…
This is very much work in progress when meeting @ronag at NodeTLV.
This is based on the ongoing standards work in https://github.com/tc39/proposal-iterator-helpers in order to make Node.js more compatible with the language in the future.
In addition, people often really just want to map a stream and this provides a simpler API than compose or pipeline for simple cases.
This is still missing docs, I want to bikeshed the API and see we have consensus first.
This continues the work in #40815 to make streams compatible with upcoming ECMAScript language features. It adds an experimental filter api to streams and tests/docs for it. See https://github.com/tc39/proposal-iterator-helpers/
Logging is a crucial component of software development that can cause bottlenecks when handled incorrectly. Learn more about performant logging with Pino.
With Fusebit, quickly integrate your app to other SaaS applications using flexible code blocks, popular API connectors, and hosts your integrations at scale.
I write about my journey as a core contributor of Node.js, as an author and a maintainer of many modules - including Fastify and Pino. In addition, I speak at conferences, and I will add links to all my talks in case you missed one.