4 Upcoming Potential Incompatibilities
4.1 Introduction
This document lists planned upcoming potential incompatibilities in Erlang/OTP.
4.2 OTP 25
Distribution flags will become mandatory
In OTP 25, more distribution flags will become mandatory. That is, Erlang nodes will refuse to connect to nodes not implementing all of the mandatory distribution flags. If you implement the Erlang distribution protocol yourself, you will need to implement support for all mandatory distribution flags in order to communicate with Erlang nodes running OTP 25.
The following distribution flags will become mandatory in OTP 25:
- DFLAG_BIT_BINARIES
- Support for bitstrings.
- DFLAG_EXPORT_PTR_TAG
- Support for external funs (fun Module:Name/Arity).
- DFLAG_MAP_TAGS
- Support for maps.
- DFLAG_NEW_FLOATS
- Support for the new encoding of floats.
- DFLAG_FUN_TAGS
- Support for funs, but only in the new format (NEW_FUN_EXT) because DFLAG_NEW_FUN_TAGS is also mandatory.
4.3 OTP 26
The distribution flag DFLAG_V4_NC will become mandatory
As of OTP 26, the distribution flag DFLAG_V4_NC will become mandatory. If you implement the Erlang distribution protocol yourself, you will need to implement support for DFLAG_V4_NC in order to communicate with Erlang nodes running OTP 26.
The new link protocol will become mandatory
As of OTP 26, the new link protocol will become mandatory. That is, Erlang nodes will then refuse to connect to nodes not implementing the new link protocol. If you implement the Erlang distribution yourself, you are, however, encouraged to implement the new link protocol as soon as possible since the old protocol can cause links to enter an inconsistent state.