Languages Supported by OCI Functions

Find out which languages and language versions are currently supported by OCI Functions for image-based functions and code-only functions.

Function Development Kits (FDKs) are specific to particular versions of a given language. FDK updates are regularly published for supported languages (for example, to issue a patch, or to support a newly released version of the language).

Supported languages and language versions depend on the function source type.

Languages supported for image-based functions

Existing image-based functions built using old FDK base images will continue to work. However, Oracle recommends you upgrade image-based functions to a supported language version wherever possible.

The following table shows FDK language support for image-based functions:
  • FDK Language: The languages for which FDKs are currently available.
  • Default: The default language version for an FDK (usually the latest language version).
  • Supported: The language versions for which FDK updates are regularly published.
  • Deprecated: Language versions for which FDK updates are no longer published.
FDK Language Default Supported Deprecated
Java 21 21, 17, 11, 8 n/a
Python 3.12 3.12, 3.11 3.9, 3.8, 3.7, 3.6
Ruby 3.3 3.3 3.1, 2.7, 2.5
Go 1.24 1.24, 1.23 1.20, 1.19, 1.18, 1.15, 1.11
Node.js 24 24, 22 20, 18, 16, 14, 11
C# (.NET) 9.0 9.0, 8.0see Note 1 6.0, 3.1

Note 1: The dotnet FDK version determines the architectures on which C# (.NET) version 8.0 is supported, as follows:

  • For dotnet FDK versions 1.0.49 and earlier, C# (.NET) version 8.0 is only supported on x86 architectures.
  • For dotnet FDK versions 1.0.50 and later, C# (.NET) version 8.0 is supported on both x86 and Arm architectures.

Languages supported for code-only functions

Code-only functions use managed runtimes. Runtime versions for code-only functions are managed by OCI Functions. You control when a code-only function moves to a newer compatible runtime version by setting the runtime update mode. See About Code-only Functions and Updating Code-only Functions.

The following table shows the managed runtimes and runtime names supported for code-only functions:

Runtime Supported version Runtime name Deprecation date
Java 21 java21.ol9 2029-12-31
Python 3.12 python312.ol9 2027-04-30
Node.js 24 node24.ol9 2028-04-30
OL9-slim Oracle Linux 9 ol9 2032-06-30
Note

Go code-only functions use the ol9 runtime because the function archive contains a statically linked, self-contained Linux executable binary. OCI Functions does not provide a Go language runtime, Go compiler, or Go FDK base image at invocation time. You choose the Go version when building the executable. The ol9 runtime provides the supported Oracle Linux runtime environment and receives operating system runtime updates.

For Java, Python, and Node.js runtime lifecycle dates, see the retirement dates in Oracle Linux 9 Application Streams. For Oracle Linux 9 lifecycle dates, see the Oracle Linux support lifecycle information.

You are responsible for the dependencies that you include in function archives. Scan your function code and packaged dependencies according to your organization's security policies. OCI Functions manages the execution environment for the code-only function according to the selected runtime update mode.