---
title: Erlang Version Requirements
displayed_sidebar: docsSidebar
---
# Erlang Version Requirements
## Introduction {#intro}
This guide covers Erlang/OTP version requirements, [Erlang version support policy](#supported-version-policy),
a RabbitMQ/Erlang [compatibility matrix](#compatibility-matrix),
version-specific notes and [ways of provisioning](#erlang-repositories) recent Erlang/OTP releases.
:::warning
Erlang 28 is **only supported for brand new clusters**: upgrades of clusters running RabbitMQ with Khepri on Erlang 27
to Erlang 28 can run into a known issue that affects mixed-version clusters and thus rolling upgrades.
:::
## Supported Erlang Version Policy {#supported-version-policy}
The fully supported series is Erlang `27.x`, with `28.x` partially supported (see below).
### Erlang 29 Support
Erlang 29 is **not supported** by RabbitMQ 4.3.
### Erlang 28 Support
Erlang 28 is **partially supported** by RabbitMQ 4.3.x: upgrades of clusters running Khepri have known issues
directly related to the breaking changes in Erlang 28 that equally affect Erlang 29.
### Erlang 27 Support
Erlang 27 is supported.
### Erlang 26 Support
Erlang 26 has reached end of life and is
**no longer supported**.
## RabbitMQ and Erlang/OTP Compatibility Matrix {#compatibility-matrix}
The table below provides an Erlang compatibility matrix of currently supported RabbitMQ release series.
For RabbitMQ releases that have reached end of life, see [Unsupported Series Compatibility Matrix](#eol-series).
| Unsupported RabbitMQ Series |
Minimum required Erlang/OTP |
Maximum supported Erlang/OTP |
Notes |
- 3.12.13
- 3.12.12
- 3.12.11
- 3.12.10
|
|
|
|
- 3.12.9
- 3.12.8
- 3.12.7
- 3.12.6
- 3.12.5
|
|
|
|
- 3.12.4
- 3.12.3
- 3.12.2
- 3.12.1
- 3.12.0
|
|
|
-
The 3.12 release series is compatible with Erlang 26.
-
OpenSSL 3 support in Erlang is considered to
be mature enough for production.
|
- 3.11.28
- 3.11.27
- 3.11.26
- 3.11.25
- 3.11.24
- 3.11.23
- 3.11.22
- 3.11.21
- 3.11.20
- 3.11.19
- 3.11.18
- 3.11.17
- 3.11.16
- 3.11.15
- 3.11.14
- 3.11.13
- 3.11.12
- 3.11.11
- 3.11.10
- 3.11.9
- 3.11.8
- 3.11.7
- 3.11.6
- 3.11.5
- 3.11.4
- 3.11.3
- 3.11.2
- 3.11.1
- 3.11.0
|
|
|
-
Erlang 26 is supported starting with RabbitMQ 3.12.0.
-
As of Erlang 25.1, OpenSSL 3.0 support in Erlang is considered to
be mature enough for production.
-
Erlang 25 before 25.0.2 is affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
|
- 3.10.25
- 3.10.24
- 3.10.23
- 3.10.22
- 3.10.21
- 3.10.20
- 3.10.19
|
|
|
-
24.3 is the only maintained (updated) series of Erlang 24.
-
As of Erlang 25.1, OpenSSL 3.0 support in Erlang is considered to
be mature enough to consider for production.
-
Erlang 25 before 25.0.2 and 24 before 24.3.4.2 are affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
|
- 3.10.18
- 3.10.17
- 3.10.16
- 3.10.14
|
|
|
-
24.3 is the only maintained (updated) series of Erlang 24.
-
As of Erlang 25.1, OpenSSL 3.0 support in Erlang is considered to
be mature enough to consider for production.
-
Erlang 25 before 25.0.2 and 24 before 24.3.4.2 are affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
|
- 3.10.13
- 3.10.12
- 3.10.11
- 3.10.10
- 3.10.9
- 3.10.8
|
|
|
-
As of Erlang 25.1, OpenSSL 3.0 support in Erlang is considered to
be mature enough to consider for production.
-
Erlang 25 before 25.0.2 and 24 before 24.3.4.2 are affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
|
|
|
|
|
-
Erlang 25 is the recommended series.
-
Erlang 25 before 25.0.2 and 24 before 24.3.4.2 are affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
-
Erlang 23 support was discontinued on July 31st, 2022.
|
- 3.10.4
- 3.10.2
- 3.10.1
- 3.10.0
|
|
|
-
Erlang 24.3 is the recommended series.
-
Erlang 23 support was discontinued on July 31st, 2022.
|
|
|
|
|
-
24.3 is the only maintained (updated) series of Erlang 24.
-
As of Erlang 25.1, OpenSSL 3.0 support in Erlang is considered to
be mature enough to consider for production.
-
Erlang 25 before 25.0.2 and 24 before 24.3.4.2 are affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
|
- 3.9.27
- 3.9.26
- 3.9.25
- 3.9.24
- 3.9.23
- 3.9.22
|
|
|
-
Erlang 24 before 24.3.4.2 is affected by CVE-2022-37026,
a CVE with critical severity (CVSS 3.x Base Score: 9.8)
-
Erlang 23 support was discontinued on July 31st, 2022.
|
- 3.9.21
- 3.9.20
- 3.9.19
- 3.9.18
- 3.9.17
- 3.9.16
- 3.9.15
|
|
|
-
Erlang 24.3 introduces LDAP client changes that are breaking for
projects compiled on earlier releases (including RabbitMQ).
RabbitMQ 3.9.15 is the first release to support Erlang 24.3.
-
Erlang 23 support was discontinued on July 31st, 2022.
|
- 3.9.14
- 3.9.13
- 3.9.12
- 3.9.11
- 3.9.10
- 3.9.9
- 3.9.8
- 3.9.7
- 3.9.6
- 3.9.5
- 3.9.4
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
|
|
|
|
- 3.8.35
- 3.8.34
- 3.8.33
- 3.8.32
- 3.8.31
- 3.8.30
- 3.8.29
|
|
|
- RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use
-
Erlang 24.3 introduces LDAP client changes that are breaking for
projects compiled on earlier releases (including RabbitMQ).
RabbitMQ 3.8.29 is the first release in the 3.8.x-series to support Erlang 24.3.
|
- 3.8.28
- 3.8.27
- 3.8.26
- 3.8.25
- 3.8.24
- 3.8.23
- 3.8.22
- 3.8.21
- 3.8.20
- 3.8.19
- 3.8.18
- 3.8.17
- 3.8.16
|
|
|
- RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use
|
- 3.8.15
- 3.8.14
- 3.8.13
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.9
|
|
|
- RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use
|
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
|
|
|
- RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.8 was released in October 2019, and reached end of life on July 31st, 2022, we strongly discourage its use
|
- 3.7.27
- 3.7.26
- 3.7.25
- 3.7.24
- 3.7.23
- 3.7.22
- 3.7.21
- 3.7.20
- 3.7.19
|
|
|
- RabbitMQ 3.7 was released on 2017-11-28, and reached end of life on 2020-09-30, we strongly discourage its use
|
- 3.7.18
- 3.7.17
- 3.7.16
- 3.7.15
|
|
|
- RabbitMQ 3.7 was released on 2017-11-28, and reached end of life on 2020-09-30, we strongly discourage its use
|
- 3.7.14
- 3.7.13
- 3.7.12
- 3.7.11
|
|
|
- RabbitMQ 3.7 was released on 2017-11-28, and reached end of life on 2020-09-30, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.7 was released on 2017-11-28, and reached end of life on 2020-09-30, we strongly discourage its use
|
- 3.7.6
- 3.7.5
- 3.7.4
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
|
|
|
- RabbitMQ 3.7 was released on 2017-11-28, and reached end of life on 2020-09-30, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.6 was released on 2015-12-22, and reached end of life on 2018-05-31, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.5 was released on 2015-03-11, and reached end of life on 2016-10-31, we strongly discourage its use
|
|
|
|
|
- RabbitMQ 3.4 was released 2014-10-21, and reached end of life 2015-10-31, we strongly discourage its use
|
### Last Version to Support R16B03 {#r16b03}
If you absolutely must use an older version of Erlang, RabbitMQ
3.6.14 is the newest version compatible with R16B03.
### Last Version to Support R13B03 {#r13b03}
If you absolutely must use an older version of Erlang, [RabbitMQ 3.5.8](https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_8)
is the newest version compatible with R13B03.