We’re excited to announce that we’re rolling out Node 18 in beta for Actions. Actions is our flagship extensibility product that unites all functionalities with continuous development. We continue to improve on it to ensure it grows alongside our customers’ needs - whether you want to experiment with Node 18 prior to LTS or are in the decision-making process of moving to Actions from Rule and/or Hooks.
As part of this update, we have made improvements to how our back-end runtime for Actions operates and are giving you the opportunity to test out Node 18 in beta with global LTS, which recently launched.
Why Are We Launching Node 18 for Actions?
The Node 18 release allows us to get closer to reaching our mission of supporting all future versions of LTS Node.js through Actions. As part of the release, Node 16 remains active in LTS, and we’ve added Node 18 as an option in beta. This helps keep Actions Node management up to date and current with industry standards, supporting Nodes 12, 16, and 18.
This launch is a part of our commitment to continue to grow our backend runtime engine that lets us provide our developer community with a solution that:
- Scales alongside your business with custom integrations and Actions that keep up with your requests per seconds (RPS) needs
- Grows with your nodes with a product that supports current Node LTS, with minimal disruption from Node deprecations
- Is secure by design with a solution that securely stores tokens that developers can’t inadvertently access.
Benefits beyond Node 16
Node 18 offers a number of benefits compared to previous node versions:
- Integrated global fetch: In previous node versions, the fetch API had to be installed via a third-party package. In Node 18, fetch is available as a feature of Node 18, reducing lines of code and streamlining HTTP requests. In addition to fetch, other global APIs are available by default in Node 18, such as FormData, Headers, Request, and Response.
- Updated JavaScript engine: Older Node iterations executed JavaScript via Google V8. Node 18 executes JavaScript using the updated version 10.1 to help boost the performance of web applications.
- Built-in testing: Previous Node versions lacked built-in test runners. Node 18 instead allows you to create and execute tests without intervention from a third-party package before adding your code to Actions.
What Does Node 18 Mean for Developers?
This launch presents an opportunity for our community of developers to test out Node 18 in beta, with global Node 18 Active LTS released earlier this fall through Actions. While there is no immediate need to migrate to Node 18, we are releasing support in beta to be in line with industry standards and the Node JS developer community.
Developers can access real-time streaming logs for currently executing Actions through Actions Log Beta, which is only available for Node 18 Actions.
From a usability standpoint, all current Actions will remain on Node 16 with the option to switch to Node 18. New Actions created will still default to Node 16, but you will still have the option to test out new and existing Actions in Node 18 upon creation, or for subsequent versions, you can increment your existing Actions to a new version. With this release, we’re making it possible for you to run any version of Node across your Actions. You get to make the choice to migrate when you need to, as you need to, rather than all at once.
Still, using Rules and/or Hooks? Take this opportunity to migrate to Actions to take advantage of the new release. Actions provides both low and pro-code offerings, establishing itself as a universal extensibility toolset designed to replace both Rules and Hooks. Actions has the modern features developers look for, such as version control, code completion, and rollback support — allowing them to write custom code that extends the behavior of authentication flows to meet virtually any use case. Our Actions Limitations documentation will help you determine which Rules and Hooks can be migrated, and we have both blog posts and docs to help you migrate from Rules to Actions and Hooks to Actions.
You will not have access to the latest Node 18 with LTS on Rules and Hooks, and you will have to manually update your code when you update to newer node versions.
Creating New Actions with Node 18
When creating new Actions with Node 18, simply select Node 18 (beta) in the runtime dropdown when you create the Action. Subsequent versions of the Action will continue to run on Node 18.
Upgrading existing Actions to Node 18.
For existing Actions running on Node 16, you can create a new version of the Action and select Node 18. This capability will be released later this fall.
At this time, the Node 18 release does not apply to Rules and Hooks.
What Does This Mean for Marketplace Partners?
For now, Actions Integrations will remain running on Node 16. While we continue to extend support for Node 18, we will work with select partners to upgrade Actions Integrations to Node 18.
Getting Started with Node 18
Ready to make the move to Node 18 and take advantage of the new features like integrated global fetch and updated JavaScript engines? We’ve created technical guidance on docs for how to update Actions on Node 18, and its known limitation between Node 16 and Node 18. Similar to past Node updates, some modules and objects may have been deprecated or require a version update.
There is no immediate need to migrate to Node 18, but we encourage you to start testing out Actions with Node 18. If, for some reason, you need to revert to Node 16, you can easily do so by going to the version management of your Action in the product and returning to a previous version running on Node 16.