On October 22nd (two days ago) the current LTS release of Node.js was promoted from v10 to v12. Node.js v12.13.0 to be specific. The release blog post can be found here.
This change may affect your projects’ builds if they use our Convenience Image Node variants. These are the images with tags ending in -node or -node-browsers. We’ve temporarily frozen publishing of our Node variants to give a bit of time for users to check out the information below. The Node variants will unfreeze on November 4th, with images then being published with the new LTS release, Node.js v12.
More information on Node.js itself can be found below.
You can get a quick overview of what will be different by reading through the release notes for both Node v11.x and Node v12.x. In terms of compatibility, you will want to pay attention to whether any features/APIs that you use have been deprecated. That will affect your transition to the new version.
Node.js actively maintains two versions of Node at any one time. The “Current” release, which is the latest stable version out there, and the “LTS” release, which gets maintained for two and a half years.
A large number of CircleCI users are using our Docker Convenience Images. A large percentage of those users use a variant image such as circleci/golang:1.13-node. Our Node variant images are based on upstream Docker Library images, with the current Node LTS installed. The image circleci/golang:1.13-node is our normal circleci/golang-1.13 image with Node.js pre-installed. In this example, you can swap out golang for ruby, python, or whatever language image you are using.
If you are using these images, please be prepared for Node.js to jump from v10.x to v12.x on November 4th. You can find out more information on how Node.js manages their current/LTS releases here.
AWS Node Lambda supports v8 and v10. Our builds were using ruby convenience images with node-browsers and assuming that tag wouldn’t move to v12. Now that it has we are required to split our build jobs and have a dedicated job for our AWS Node Lambda that targets Dubnium.
Exactly what is it are you referring to as an issue?
Also, what’s considered “supported” for our legacy images (these images) is whatever Docker tags which are being built by the upstream Docker Library images. The tags listed in the JSON and in CircleCI Docs show which Docker tags are available.
To answer your and @stayman’s question, Ruby v2.6.2 and v2.6.3 are old patch releases of Ruby and are no longer supported by the upstream Docker image. That means CircleCI’s legacy Convenience Image system doesn’t build them so they never got the Node.js v12 update.
Our legacy Ruby image, starting with v2.6.5, did receive the Node.js v12 update. If you can’t use Ruby v2.7.x, my suggestion would be to use circleci/ruby:2.6.6-node.