---
title: "Node 14 has been released"
publication: "Node Weekly"
issue: 335
published_at: "2020-04-23"
canonical_url: "https://nodeweekly.com/issues/335"
---

This week's Node news, links, and releases.       

#335 — April 23, 2020 

[Read on the Web](https://nodeweekly.com/issues/335)   

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/h2knpfbzsvg99xwfshse.jpg)](https://medium.com/@nodejs/node-js-version-14-available-now-8170d384567e)   

[Node.js 14 Released](https://medium.com/@nodejs/node-js-version-14-available-now-8170d384567e) — Woo-hoo another major release of Node.js is here. v14 now becomes the current ‘release’ line with it becoming a LTS (Long Term Support) release in October.. so production apps would, ideally, remain on v12 for now. So what’s new..? 

- [Diagnostic reports](https://medium.com/the-node-js-collection/easily-identify-problems-in-node-js-applications-with-diagnostic-report-dc82370d8029) are now a stable feature.
- It's based on [V8 8.1.](https://v8.dev/blog/v8-release-81)
- An experimental [Async Local Storage API](https://nodejs.org/api/async_hooks.html#async_hooks_class_asynclocalstorage)
- Improvements to streams.
- An experimental WebAssembly System Interface (WASI) to support future WebAssembly use cases.
- Bye bye to the ESM module ‘experimental’ warning (though it still _is_experimental). 

Michael Dawson and Bethany Griggs   [![\](https://copm.s3.amazonaws.com/5ea93462.jpg)](https://frontendmasters.com/courses/hardcore-js-v2/?utm_source=nodeweekly&utm_medium=email&utm_campaign=javascriptv2) 

[Learn Hardcore Functional Programming in JavaScript](https://frontendmasters.com/courses/hardcore-js-v2/?utm_source=nodeweekly&utm_medium=email&utm_campaign=javascriptv2) — Join Brian Lonsdorf and learn how to apply such concepts as pure functions, currying, composition, functors, monads and more. 

Frontend Masters sponsor   

[Puppeteer 3.0: Say Hello to Firefox](https://github.com/puppeteer/puppeteer/releases/tag/v3.0.0) — Best known as a way to headlessly control Chrome from Node, Puppeteer has recently seen some competition in the form of the cross-browser [Playwright](https://github.com/microsoft/playwright) recently. But competition can be good and Puppeteer now [supports Firefox too](https://github.com/puppeteer/puppeteer/blob/master/examples/cross-browser.js). 

Mathias Bynens   

[ZEIT Is Now Vercel](https://vercel.com/blog/zeit-is-now-vercel) — You probably best know ZEIT as the creators and maintainers of the popular Next.js React framework and their _‘Now’_ deployment and hosting platform. 

Vercel   

[New OpenSSL Security Release To Require Node Updates? Maybe Not..](https://nodejs.org/en/blog/vulnerability/april-2020-openssl-updates/) — A key security update to OpenSSL raised the possibility of widespread Node releases to incorporate the fixes, but initial suggestions are that [Node isn’t affected.](https://github.com/nodejs/node/issues/32846#issuecomment-617386338) Fingers crossed! 

Sam Roberts  

💻 **Jobs**  

[Node.js Developer at X-Team (Remote)](https://x-team.com/remote-nodejs-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=node) — Join the most energizing community for developers. Work from anywhere with the world's leading brands. 

X-Team   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

ℹ️ _If you're interested in running a job listing in this newsletter, there's [more info here.](https://booking.cooperpress.com/jobs)_ 

📚 **Articles & Tutorials**  

[OneTesselAway: Building a Real-Time Public Transit Status Device](https://itnext.io/onetesselaway-public-transit-status-iot-device-70b80ab8475b) — A developer wanted to know when the next bus would arrive.. while using lots of cool tech, including Node, the OneBusAway API, and the [Tessel 2](https://tessel.io/) IoT platform. 

Robert McGuire   

[What is the `toJSON()` Function?](http://thecodebarbarian.com/what-is-the-tojson-function-in-javascript.html) — If an object has a `toJSON` function, `JSON.stringify()` calls `toJSON()` and serializes the return value from `toJSON()` instead. 

Valeri Karpov   

[Top GitHub Best Practices for Developers - Expanded Guide](https://try.datree.io/github-best-practices-guide?utm_source=cooperpress&utm_medium=nodeweekly) — Implementing these best practices could save you time, improve code maintainability, and prevent security risks. 

Datree.io sponsor   

[Refactor Your Node and Express APIs to Serverless with Azure Functions](https://johnpapa.net/refactor-your-node-js-and-express-apis-to-serverless-apis-with-azure-functions/) — John Papa points out [a Microsoft tutorial](https://docs.microsoft.com/en-us/learn/modules/shift-nodejs-express-apis-serverless/) that walks through the process of taking a Node API serverless with Azure’s _Functions_ service. 

John Papa   

[Querying SQL Server from Node with `async`/`await`](https://t.co/Rv6Egf3N1s?amp=1) 

Rob Tomlin   

[Why I Stopped Using Microservices](https://www.robinwieruch.de/microservices-tradeoffs) 

Robin Wieruch  

🛠 **Tools, Resources and Libraries** 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/beyyb7vqqigkwtyfkn0w.jpg)](https://github.com/jesseduffield/lazynpm)   

[lazynpm: A Terminal UI for `npm`](https://github.com/jesseduffield/lazynpm) — One of those sort of things you don’t realize you need until you give it a go. There’s [a four-minute screencast](https://www.youtube.com/watch?v=J-FJdxrESqw) if you want to see how it works without downloading. 

Jesse Duffield   

[node-sqlite3 4.2: Async, Non-blocking SQLite3 Bindings for Node](https://github.com/mapbox/node-sqlite3) — [4.2.0](https://github.com/mapbox/node-sqlite3/releases/tag/v4.2.0) just came out. 

Mapbox   

[ts-gphoto2-driver: A Node Wrapper for libgphoto2](https://github.com/TypedProject/ts-gphoto2-driver) — [libgphoto2](http://www.gphoto.org/proj/libgphoto2/) provides a way to control [a variety](http://www.gphoto.org/proj/libgphoto2/support.php) of digital cameras/DSLRs. 

Lenzotti Romain   

[AppSignal Now Supports Node.js: Roadmap for the Coming Weeks](https://blog.appsignal.com/2020/04/01/appsignal-now-supports-node-roadmap-for-the-coming-weeks.html?utm_source=node-newsletter-sponsored&utm_medium=email&utm_campaign=node-announcement&utm_content=brief-link) 

AppSignal sponsor   

[Rosetta: A General Purpose Internationalization Library in 292 Bytes](https://github.com/lukeed/rosetta) — Less than 300 bytes, but does have a few dependencies. Aims to be very simple and is targeted at basic string use cases. 

Luke Edwards   

[nodejs-dns 2.0: The Google Cloud DNS Client for Node](https://github.com/googleapis/nodejs-dns) 

Google   

[node-osc 5.0: Open Sound Control Protocol Library](https://github.com/MylesBorins/node-osc) — [OSC](http://opensoundcontrol.org/introduction-osc) is a protocol used to communicate between media devices. 

Myles Borins   

[ts-node: TypeScript Execution and REPL for Node](https://github.com/TypeStrong/ts-node) 

TypeStrong  

🕹 **And One for Fun..** 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1587653357/j0g0fsnxxfttx3lq5umr.png)](https://www.npmtrends.com/)  

[npm trends: Compare NPM Package Downloads](https://www.npmtrends.com/) — A site to compare package download counts over time. For example, what about [koa vs restify vs fastify](https://www.npmtrends.com/koa-vs-restify-vs-fastify)? 

John Potter         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
