What's New

IBM Cloud Functions Adds Support for Node.js 10

Share this post:

What’s happening with IBM Cloud Functions and Node.js?

I’m excited to announce that IBM Cloud Functions officially supports the latest version of Node.js. Last week, a new version of Node.js was released that included security updates, new features, and performance improvements. You can see the full release notes for version 10.x before we offered long-term support to view notable addition and deprecation details, or you can see the break down in the blog post: NodeJS 10: The New, The Changed, and the Deprecated.

Temporary limitations

  • The watson-developer-cloud npm package is not embedded into the nodejs:10 runtime . When the major version (4.0.0) is released, the watson-developer-cloud is added. You can track the progress through this GitHub issue.
  • The ibm_db npm package is not available for nodejs:10 at this time and is currently unsupported. You can track the progress through this GitHub issue.

Node.js supports the latest JavaScript specifications, such as arrow functions, async, await, and many others. Check out what’s been updated here: https://node.green/

Ready to try it out?

You can deploy this example action by using the IBM Cloud CLI. Console UI support for Node.js 10 is coming soon.

Here is a simple hello world action:

const main = (params) => {
let body = `Hello ${params.name || 'World'}`
let res = {body}
return res
}

To create a web action with the IBM Cloud Functions CLI plugin, run the following command:
ibmcloud fn action update helloNodejs10 helloNodejs10.js --kind nodejs:10 --web true

Note: As a best practice, when using the CLI, always specify the kind to be sure that you are using the expected version of the language. Example: --kind nodejs:10

To get the URL for the web action and open it in your browser, run the following command:
ibmcloud fn action get helloNodejs10 --url

Node.js version 6: Deprecated, EOL April 2019

As part of this update, version 6 is being deprecated. According to the Node.js Foundation release schedule, end of life for version 6 is April 2019. This means that IBM Cloud Functions can no longer support version 6. Any functions that are tagged with kind nodejs:6 will no longer be invoked. To make the transition as smooth as possible, we recommend that you start migrating as soon as possible and begin using kind nodejs:10 in any new Node.js functions that you create.

Node.js version 8: Decreased maintenance, January 2019

At the start of the new year, version 8 will move from active long-term service to maintenance mode. This means that version 8 will no longer be able to be received by back ports, and the Node.js community will focus their efforts on keeping version 10 up to date. You can follow progress and see updates through GitHub issues. Again, to make this transition as smooth as possible, we recommend that you start migrating as soon as possible and begin using kind nodejs:10 in any new Node.js functions that you create.

How do I learn more?

You can learn more about the service and creating actions in the IBM Cloud Functions documentation.

Senior Technical Staff Member (STSM) - IBM Cloud Functions

More What's New stories
February 15, 2019

Liberty for Java Buildpack Now Contains Two Liberty Production Runtimes

The Liberty runtime is moving from a quarterly to a four-week release cycle. As a result, the buildpack will release new functions and fixes quicker. Users of the Liberty for Java buildpack will notice a few changes to the Liberty versions packaged with the buildpack.

Continue reading

February 8, 2019

IBM Cloud Functions Improves Performance for Python 3.7 Actions

We're happy to announce that IBM Cloud Functions Python 3.7 runtime has been optimized for latency. The updated Python 3.7 runtime leverages a new web proxy built with Go that replaces the previous Python web proxy.

Continue reading

February 7, 2019

IBM Cloud Functions Adds Support for PHP 7.3

IBM Cloud Functions officially supports PHP 7.3, which has been optimized for latency. The new PHP 7.3 runtime leverages a new web proxy built with Go that replaces the previous Python web proxy.

Continue reading