Language Runtime Support Policy

Catalyst functions are built on Java, Node.js, or Python and their runtimes rely on the runtime of the specific versions of the programming environments. Catalyst implements a phased reduction in its support of a language’s runtime, and therefore provides you with plenty of time to plan, implement, and test upgrades in your functions.

Catalyst will begin implementing an end of support for a language version as soon as an end-of-life announcement is made for it by the community. It is always advisable to build and maintain your Catalyst functions in the latest stable release of a programming environment. This ensures that high security and stability are retained in your Catalyst application performance. You must make appropriate changes in your function libraries and code to make them compatible with the version you upgrade them to.

Note: Catalyst's language runtime support policy currently applies to the Node.js programming environment alone.

Catalyst will end support for a runtime in four phases as explained in this document.

Phase 1: Deprecation Announcement

The deprecation announcement marks the start of the end of support of a language version. Catalyst will announce the deprecation of a runtime six months before the official end-of-life of the runtime.

For example, if the official end-of-life of the runtime as announced by the community is on April 1, 2022, then we will make the deprecation announcement on October 1, 2021.

The deprecation announcement will contain the details of the official retirement of the version and Catalyst’s end of support for it. This provides you enough time to plan and prepare to upgrade your Catalyst functions to the latest stable version.

Phase 2: Deprecation Period

The deprecation period of Catalyst’s support for a language version begins right after the deprecation announcement is made. The deprecation period of a runtime in Catalyst will last for one year. For example, if the deprecation announcement was made on October 1, 2021, the deprecation period will last until October 1, 2022.

You will be able to create and update functions in the deprecation period, and work with your existing Catalyst functions of that version unhindered. However, you must use this period to upgrade all your functions in your Catalyst applications to the latest stable version of the programming environment.

Phase 3: Retirement Period

The retirement period of a deprecated runtime begins right after the one year of the deprecated period. The retirement period will last for three months. For example, if the deprecation period ends on October 1, 2022, the retirement period lasts until January 1, 2023.

You will not be able to create new functions targeting the deprecated runtime of a language in the retirement period. You can still continue to run and make updates to the existing functions of the deprecated version in your Catalyst applications.

We strongly recommend you to make sure all your functions are fully updated and functional in the latest runtime during this period.

Phase 4: End of support

The end of support for a deprecated runtime begins right after the three months of the retirement period. For example, if the retirement period ends on January 1, 2023, Catalyst will end its support for the runtime from then on.

You will no longer be able to create or update functions of the deprecated version after it reaches the end of support phase. We also do not guarantee function invocations or application stability, if you continue to maintain deprecated runtimes in your application.

Catalyst will not apply the latest security patches and updates of a language runtime to a deprecated runtime. The functions of a deprecated build may or may not continue to execute. However, we provide you the convenience of upgrading the version of the functions alone at any time, after the end of support is reached.

Note: Catalyst retains the ability to make changes to the deprecation or retirement policies of a language runtime at any time, based on exceptions in rare cases. In case we decide to implement any changes to a prior announcement, we will communicate all the necessary details pertaining to these changes. These changes might include, but are not limited to, changes in the end-of-life as announced by a language community, or runtimes that reach their end of life but will continue to be supported on the platform until further notice.

You can refer to the Functions Implementation help page to learn about updating an existing function from the remote console.

Language Version Support Policies and Timeline

You can always keep a track of a language release status, and their current or active versions from their official websites:

Node.js: Node.js Releases document

Retirement Exceptions

Catalyst has initiated the process of deprecating the older versions of Node.js- versions 10 and 12. However, we have implemented certain one-time exceptions with the deprecation process of these versions.

  • Node.js v10: The deprecation phase of Node.js v10 has been ongoing since April 2021. The retirement date was announced as July 31, 2022 for the version. However, we have planned to extend the deprecation period of the version until October 31, 2022. Following the deprecation period, Node.js v10 will be retired on January 31, 2023, and Catalyst will end its support for the runtime.
  • Node.js v12: Node.js v12 is currently in the deprecation phase. Following the deprecation period of one year until April 30, 2023, Node.js v12 will be retired on July 31, 2023, three months after the end of the deprecation period. Catalyst will then end its support for the runtime.

Please ensure you upgrade the functions in your Catalyst projects to the latest stable version of Node.js.

Note: Catalyst now provides support for Node.js v16 version. You can upgrade your existing functions to the latest supported version from the remote console. You can now also select this latest runtime when you create Node.js functions, or initialize them from the CLI.

Last Updated 2023-11-14 13:20:49 +0530 +0530