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.
- Image-based functions use Function Development Kits (FDKs) and support the languages and versions shown in Languages supported for image-based functions.
- Code-only functions use managed runtimes and support Java, Python, Node.js, and Go. For code-only function runtime and archive requirements, see About Code-only Functions and Packaging Archives for Code-only Functions.
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.
- 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 |
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.