Adventures in Nodeland

By Matteo Collina

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.

By subscribing, you agree with Revue’s Terms of Service and Privacy Policy and understand that Adventures in Nodeland will receive your email address.






[email protected] is out! - Adventures in Nodeland - Issue #31

I have probably written about how excited I am about the new Pino release since the beginning of this newsletter. The cat is out of the bag now, check it out, open issues and pull requests. There is likely a lot to fix!Last week I championed the October secur…


Security, Security, Security... and other Adventures in Nodeland - Issue #30

I’m starting this edition of Adventures in Nodeland by reminding you to upgrade your Node.js on Wednesday 13th.. as a set of vulnerability fixes will be released for all LTS lines. I’m running point for this release train.. let’s see how it is going!


Log Pipelines, Vite and other Adventures in Nodeland - Issue #29

If you like this newsletter, you should watch NodeConf Remote! Register using the above link, it's free.


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

Only 3 weeks to NodeConf! Are you ready? Sign up, it's going to be amazing!


Adventures in Nodeland - Issue #27

...litterally! Last weekend a few colleagues at NearForm traveled from all over Italy, France, Portugal and Serbia to Milano Marittima for a retreat! It has been an amazing experience. This is probably the part of of NearForm I missed the most: meeting people…


[email protected] and other Adventures in Nodeland - Issue #26

We have worked pretty hard in finishing off [email protected] and we have now reached the 4th release candidate. There is likely some more work to do, but this release looks incredibly solid. The goal is to encourage most people to use the new transport system for most …


Adventures in Nodeland - Issue #25

I have recently found that this version of one of my best talks ever "Stream Into the Future" has almost 30 thousands view on youtube! I'm sincerely impressed, thank you all for watching it. If you have not watched this, it's a really instructive talk on the …


Adventures in Nodeland - Issue #24

The first Pull Request I would like to highlight is the new error handling of [email protected] which will be released in the coming months. We will finally enable you to nest error handler in plugins and support throwing in them to break out of the encapsulation jai…


One million Fastify downloads per month and other Adventures in Nodeland - Issue #23

I'm well aware that monthly downloads number on NPM are a lousy metric and it does not reflect actual end users, however it's a good gauge for the massive activity that we are seeing in the issue tracker or Discord chat. Thanks for trusting us!I'm also proud …


GraphQL Caching with Mercurius, Node.js Security releases and other Adventures in Nodeland - Issue #22

You might have noted that I produced a few modules for caching things in-memory in Node.js. All those effort lead to the mercurius-cache module, a new Fastify plugin that adds in-memory (or external) caching to GraphQL servers built on top of Mercurius. This …


[email protected], [email protected] and many other Adventures in Nodeland - Issue #21

The shoutout release for this week goes to Yarn v3, which you should definitely check out. I'm not involved in the project nor I use it heavily but I trust Maël to have done an amazing job as always:


[email protected] and -rc.2 and other Adventures in Nodeland - Issue #20

We finally released the first (and second) release candidates of Pino v7. It includes a new transport system built on top of worker threads. Check it out!


In-process caching and other Adventures in Nodeland - Issue #19

I'm always surprised when I go back to an old module and see how well engineered something is. In this case, I would like to cover fastify-etag.ETags are a key part of the HTTP/1.1 caching mechanism ETa…


WeakRef, WeakMap and FinalizationRegistry and other Adventures in Nodeland - Issue #18

New week new module: this week I used WeakRef, WeakMap and FinalizationRegistry to build a leak-proof process.on('exit') event listener. Thanks to this new logic I could build some nice and useful developer experience for pino v7, without worrying of leaking …


Adventures in Nodeland - Issue #17

Fastify v3.18.1 shipped without issues with a few bugfixes, doc updates and many little things. In this release we removed the engine field from package.json because it did not match our Long Term Support policy ( we t…


Adventures in Nodeland - Issue #16

EcmaScript 2021 has been approved and it contains a few features I love. WeakRefs and FinalizationRegistry are a fundamental stepping stone to implement old & new APIs in a safe and not memory-leaking way. I can't wait to use them more... and you can now …


Undici v4 and more Adventures in Nodeland - Issue #15

Undici v4 is out! I am so happy we finally shipped the new version. There is a bit of its story in this newsletter: I think you'll like to announcement blog post.


Matteo write TypeScript and other Adventures in Nodeland - Issue #14

I want to start this week by celebrating a pull request that I wrote for Undici. I was reading a bug related to our types.... and I knew how to fix it. It clicked, and I jumped into Vim straight away as I wanted to practice my TypeScript. After a couple of it…


Adventures in Nodeland - Issue #13

My talk at RedisConf 2021 has been finally published on Youtube! I am incredibly proud of this work. I wrote about it in Issue 2 of this Newsletter! If you use ioredis, this is a must-watch as autopipelining could improve your database throughput by 2-3x.


Adventures in Nodeland - Issue #12

In the above Twitter thread, I talk about a day in my life as a maintainer of more than 400 modules... it's quite a different experience in our JavaScript ecosystem than most application developers are used to.