Platformatic Papilio Launch and other Adventures in Nodeland
Hi Folks,
As I write those lines, I'm on a short flight between Bologna and Amsterdam for the week. Soon, I'll be keynoting JSNation with my Co-Founder and CEO Luca Maraschi, announcing the whole scale of Platformatic goals to the world. While we have been shipping weekly releases and constant improvement, we seldom presented the tech world with our goal. We are unveiling the new things we worked on in the last few months. On June 1st, we are releasing something new that was not possible before with Node.js.
Register at https://papilio.platformatic.dev/launch-signup to for all details.
Vidoes
A community member (Mateo Nunez) reported a bug on the Platformatic Discord channel, and he created an excellent reproduction: https://github.com/mateonunez/plt-programmatic-rules-error-reproduction. In this video, we worked together to fix that bug, and we made two pull requests:
-
Support encapsulate: false option for individual plugins by mcollina · Pull Request #999 · platformatic/platformatic · GitHub
-
Correctly render all the errors from within the sandbox by mcollina · Pull Request #1002 · platformatic/platformatic · GitHub
Fixes #998
In the next stream, we work on three different problems.
- We enforce all client names to be valid JavaScript identifiers (PR #1014)
- We make sure that enabling authorization can only be done when the user context is present (PR #1015)
- Finally, we make some create-platformatic tests run on Windows (PR #1012)
Releases
- platformatic v0.24.0 adds a new
encapsulate: false
option for loading plugins, it also refactors the loading of the application configuration as well as several bugfixes; v0.25.0 fixes a few regressions introduced in v0.24.0, as well as improving the GitHub actions generator for Platformatic Cloud. - fastify-sandbox v0.12.0 fowards all kind of errors correctly. v0.13.0 adds the error codes. v0.13.1 reverts both fixes and a different one to deal with all kinds of errors.
- @fastify/websocket v8.1.0 imports WebSocket using default import
- fastify-undici-dispatcher v0.1.2 add path to the url. v0.2.0 adds the
destroy()
method; v0.3.0 adds all the missingDispatcher
methods; v0.3.1 drops the connection and transfer-encoding headers, if specified; v0.4.0 adds adomain
option to support fast-fail scenarios. - @fastify/reply-from v9.1.0 adds a
destroyAgent
option to skip destroying the agents when the Fastify instances closes. - @fastify/swagger v8.5.1 fixes a regression that added HEAD routes for all APIs, breaking downstream users; this functionality is now under an option. Sorry for the breakage.
- @fastify/cors v8.3.0 adds
cacheControl
to control caching in CDN. - @fastify/static v6.10.2 add a fallback to
application/octet-stream
ifcontent-type
cannot be determined by file extension. - @fastify/compress v6.4.0 fixes default supported content types.
- @fastify/jwt v7.0.0 updates to fast-jwt v3.0.0.
A critical mention goes to @types/node
to have finally replaced the @deprecated
tag with a new @legacy
one in PR #65506. Legacy functions are not deprecated; we do not plan to remove them, but we do not recommend to be used for new implementations.
Articles
- In the State of Node.js Performance 2023, Node.js TSC member Rafael analyzes Node.js performance evolution. We had quite a few improvements and, sadly, a few regressions. I'm told that the Node.js performance team is working hard to fix those.
- DevEx: What Actually Drives Productivity, read a new article from Nicole Forsgren explaining what to measure when setting up a journey of improving the developer experience in an organization.
- I thought Discord cleverly solved the problem of a finite namespace; they caved in and added global usernames. Read more at Usernames on Discord.