What do Erlang release numbers mean?

I noticed that Erlang releases version numbers like R13B04 , R14B , R15A , etc. What does each of the components of the release number mean? Is there anything you can do about API changes based on version numbers? For example, are incompatible API changes updated from R13 to R14 ?

+7
source share
2 answers

For example, R14B04. R stands for Erlang / OPT release. 14 - major version number. B means stable release (A is developmental / unstable). 04 is the fourth minor version, that is, the fourth version of the bug fix in this major version. BEAM files and the Erlang Distribution Protocol ( ei ) must always be compatible with the two major version numbers. That is, with the current installation of R14B04, you should be able to run .beam files compiled in versions of R12, and the R12 nodes should be able to communicate with your new R14 nodes. API changes are much more conservative, so you can usually compile and run the source code from R7 ;-) In any case, the experimental API modules can change even in the small version, which happens in R13 with a binary module if the memory suits me, but it really can only happen for experimental, unsupported, or undocumented functions.

+7
source

Each RX, such as R14, is a major release, so yes, the code may be backwards incompatible. The incremental version, which usually contains fixes and performance improvements, looks like R14B04 , R14B05 , etc.

+2
source

All Articles