Functions: Node 14 will be the new default runtime

As of December 13, all new Netlify Functions will use the Node 14 runtime by default. This will affect all new deploys, unless the runtime has been manually set using the AWS_LAMBDA_JS_RUNTIME environment variable. This will provide better support out of the box for frameworks such as Gatsby, SvelteKit and Nuxt 3, plus improved performance and access to modern Javascript features without needing to transpile your code (I recommend optional chaining!).

If for any reason your functions rely on Node 12, you can manually set the runtime to that version. Please bear in mind though that Node 12 reaches end-of-life in April 2022, and AWS will disable new Node 12 function deploys around that time. Now would be a good time to update your code to support newer versions.

If you are currently building your site using Node 12, it is a good idea to update it to also use Node 14 or later for builds. This is particularly the case if you experience new runtime errors after the upgrade. See the docs on setting your build’s Node version. This is already the default for new sites, but existing sites are not automatically updated.

In future, we plan to update the default Node runtime shortly after it becomes available from AWS. This means that we are likely to update to Node 16 in early 2022, with further updates coming roughly annually.

For more information see the following docs: