Migrate Actions from to Node.js 16 to Node.js 18 in Beta

Migrate Actions from to Node.js 16 to Node.js 18 in Beta

As part of our mission to support every future version of LTS Node.js through Actions and to be in line with the Node JS developer community, we are releasing Node 18 in Beta while Node 15 is still in Active LTS. There is no immediate need to migrate to Node 18, as all existing Actions will remain on Node 16 and any new Actions will default to Node 16. You will, however, be able to select the Node 18 Beta Runtime as an option when creating and updating Actions.

Our recommendations

The Node 18 Beta applies to Actions only. If you are using Rules, Hooks, Extensions, or Custom DB Scripts, they will remain on Node 16. We highly encourage customers using Rules and Hooks to migrate to Actions as soon as possible.

Actions is designed to support multiple versions of Node concurrently, and now supports Node 12, Node 16, and Node 18. In addition, no-code Actions Integrations will follow industry-standard "always current" version control with minor versions updated automatically; the underlying code will always remain current to the latest LTS Node.js.

For most use cases, Node 18 will not introduce any breaking changes in the Node.js standard library for Actions. However, we are using the Node 18 release as an opportunity to improve the back-end runtime that executes Actions by observing and collecting community feedback about our updates and the performance of our new execution runtime. Therefore, we recommend keeping your production Actions on Node 16 and testing in Node 18. We also rigorously enforce resource allocation and optimization for Actions running on Node 18 Beta, which allows for better predictability and tenant isolation in performance management and recovery.

Customers Using Should Task
Actions Node 16 Remain on Node 16 or try out new Node 18 on Actions. If you want to try out new Node 18, create new Actions with Node 18 or update existing Actions by creating and deploying a new version.
Legacy Node 16 (Rules/Hooks/Extensions) Begin migrating to Actions Node 16/18. Migrate to Actions Node 16/18 as soon as possible.
Oracle Stop using it. Remove service.
Node.js C# Stop using it. Remove service.
Magic npm Modules Make sure all node modules are added as dependencies on the Actions that use them. Add as dependencies on the Actions that use them.
Miscellaneous system binaries or programs Stop using them. Remove binaries because most of them will become unavailable.
Filesystem write access Stop writing files to /tmp from the different extensibility products. Remove service.

Why the Beta?

Node 18 will remain in Beta until some time following its promotion to LTS status by the Node.js Project. Because we are also using this as an opportunity to move Actions running on Node 18 to an updated execution runtime, we will be observing and collecting feedback, so we can ensure that our customers who have switched to Node 18 Beta will experience a seamless transition from Beta to GA and face no change and service interruption.

Tasks

These task are only required if you want to use the Node 18 Beta version.

Create new Actions with Node 18

Customers can start using Node 18 by creating new Actions with Node 18:

  1. Navigate to Actions > Library, and select Build Custom.

  2. For Runtime, select Node 18.

    Modal that displays when you go to the Auth0 Dashboard, navigate to Actions, navigate to Library, and select Build Custom. For the Runtime field, Node 18 is selected.
  3. Write your custom Action in Node 18, test, and deploy when ready.

    The Actions Code Editor where you can write code. Node 18 is the selected version.

You can also monitor real-time log streaming for Node 18:

  1. Navigate to Actions > Actions Logs.

  2. From the dropdown, select 18.

    Screen that appears in the dashboard when you navigate to Actions and then navigate to Actions Logs. Version 18 has been selected from the dropdown and logs are displaying.

Upgrade existing Actions

Existing Actions built on Node 16 can be upgraded to Node 18 Beta and later reverted to a previous version on Node 16 if needed. Upgrade Actions to Node 18 Beta by creating and deploying a new version set to use Node 18 Beta as the runtime.

Migrate Rules and Hooks to Actions

Wherever possible, migrate Rules and Hooks to Actions. To determine which Rules and Hooks can be migrated, read Actions Limitations. To learn how to migrate your Rules and Hooks to Actions, see our guides available at Migrate to Actions.

Breaking changes

While there should be no significant breaking changes as a part of the Actions Node 18 Beta, please follow our recommendations for using Node 18 Beta.