Apache Beam runtime support

This page shows the runtime environments supported by Apache Beam.

Supported Java versions

The following table shows the Java runtimes supported by each version of the Apache Beam SDK.

Apache Beam releases Supported Java versions
2.52.0-2.61.0 8, 11, 17, 21
2.37.0-2.51.0 8, 11, 17
2.29.0-2.36.0 8, 11
2.28.0 or earlier 8

Supported Python versions

The following table shows the Python runtimes supported by each version of the Apache Beam SDK.

Apache Beam releases Supported Python versions
2.61.0-2.61.0 3.9, 3.10, 3.11, 3.12
2.57.0-2.60.0 3.8, 3.9, 3.10, 3.11, 3.12
2.49.0-2.56.0 3.8, 3.9, 3.10, 3.11
2.47.0-2.48.0 3.7, 3.8, 3.9, 3.10, 3.11
2.43.0-2.46.0 3.7, 3.8, 3.9, 3.10
2.39.0-2.42.0 3.7, 3.8, 3.9
2.37.0-2.38.0 3.6, 3.7, 3.8, 3.9
2.25.0-2.36.0 3.6, 3.7, 3.8
2.23.0-2.24.0 2.7, 3.5, 3.6, 3.7, 3.8
2.16.0-2.22.0 2.7, 3.5, 3.6, 3.7
2.14.0-2.15.0 2.7, 3.5 (beta), 3.6 (beta), 3.7 (beta)
2.12.0-2.13.0 2.7, 3.5 (alpha), 3.6 (alpha), 3.7 (alpha)
2.11.0 2.7, 3.5 (alpha)
2.10.0 or earlier 2.7

Supported Go versions

We recommend that you use the latest version of Go when working with the Apache Beam SDK for Go.

Go is compiled ahead of time to machine code, and doesn't rely on a virtual machine or interpreter. For more information, see Does Go have a runtime?

The following table shows the earliest supported Go version for each version of the Apache Beam SDK.

Apache Beam releases Supported Go versions
2.59.0-2.61.0 1.21 or later
2.50.0-2.58.0 1.20 or later
2.46.0-2.49.0 1.19 or later
2.40.0-2.45.0 1.18 or later
2.39.0 or earlier 1.16 or later

You can also determine the earliest supported Go version for an Apache Beam SDK release by reviewing the SDK's go.mod file:

https://raw.githubusercontent.com/apache/beam/vBEAM_SDK_VERSION/sdks/go.mod

Replace BEAM_SDK_VERSION with the Apache Beam SDK version number, such as 2.61.0.