View profile

Too many Fastify releases and other Adventures in Nodeland - Issue #28

Matteo Collina
Matteo Collina
Hi Everyone,
What happen in Nodeland last week? Plenty! I’m currently very busy on Pino, NodeConf, a few Node.js improvements and a few Fastify releases as I botched a change a couple of weeks ago. Interested? Read through!

Only 3 weeks to NodeConf! Are you ready? Sign up, it’s going to be amazing!
NodeConf Remote · Europe's largest Node.js conference
Node.js
We recently shipped a new release of Undici to fix a few outstanding issues and introduce support for diagnostics_channel. This new feature will underpin how Application Performance Management (APM) software will instrument Undici without the need of monkeypatching:
Release v4.7.0 · nodejs/undici · GitHub
If you are interested about Node.js streams, read this issue as it clarifies a few interesting points:
Readable event triggers but socket.readableLength returns zero · Issue #40136 · nodejs/node · GitHub
Pino
We keep pursuing the release of [email protected] and we are relatively close to finalize the release. There was some good activity on sonic-boom, making it more solid and easier to control the memory used for buffering.
Add retryEAGAIN callback function by mmarchini · Pull Request #95 · pinojs/sonic-boom · GitHub
On the pino front, there has been an interesting discussion on dropped logs in certain condition when using the new transport features. However without a clear way to reproduce it is hard to know if we ever fix it…
Pino.transport seems to be dropping logs? · Issue #1138 · pinojs/pino · GitHub
…anyway I did my best attempt with the following PR. The problem was quite interesting and due to an old wart of Node.js streams when they are piped into each other. Luckily in this case I could just remove it:
Remove in-between Transform for file.js by mcollina · Pull Request #1140 · pinojs/pino · GitHub
Fastify
My sequence of botched Fastify releases continued. Last week I ended up releasing Fastify v3.21.4, .5 and .6 to finally fix all the regressions introduced by a seemingly innocuous fix. I’m afraid we need to integrate some regression testing on as many official plugins we can muster soon, similar to what Node.js does with its CITGM project.
As you probably know, I’m not a fan of Jest. However many of you are and this blog post is going to be very helpful on how to integrate it with Fastify.
How would you write an OAuth 2.0 authorization server with Fastify? You don’t, because it is already implemented for you by Jason:
Release v2.0.0 Fastify! · jasonraimondi/ts-oauth2-server · GitHub
Articles
Do you think that Rust is the future of JavaScript? The team at Rome bets on this.
Rome will be written in Rust 🦀
As part of my new role of Chief Software Architect I will have to oversee all of the Developer Relations activities that we do at NearForm. How do you measure them? Check out this article by swyx:
Measuring Developer Relations ∊ swyx.io
As you might know, I’m incredibly interested in GraphQL-based architecture for the enterprise. Check out this article about how IMDB implemented theirs:
Building federated GraphQL on AWS Lambda | Amazon Web Services
Last weekend I was scrolling twitter and my eyes stumbled on this article about parenthood: I feel I’m significantly more at the risk of burnout than before. Read up the story of Elena, there is much we could be better at:
I just don’t want to be busy anymore
Did you enjoy this issue? Yes No
Matteo Collina
Matteo Collina @matteocollina

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.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.