我注意到Erlang版本的版本号如R13B04
,R14B
,R15A
等。每个版本号组件的含义是什么?可以根据版本号推断有关API更改的任何内容吗?例如,从R13
升级到R14
是否意味着向后兼容不兼容的API更改?
答案 0 :(得分:7)
例如R14B04。 R代表Erlang / OPT Release。 14是主要版本号。 B代表稳定释放(A是发育/不稳定)。 04是第四个次要版本,即给定主要版本中的第四个错误修正版本。 BEAM文件和Erlang分发协议(ei
)应始终兼容两个主要版本号。即使用当前的R14B04安装程序,您应该能够运行在R12版本中编译的.beam文件,并且R12节点应该能够与您的新R14节点进行通信。 API更改更加保守,因此您通常可以从R7编译和运行源代码;-)无论如何,实验模块API即使在次要版本中也可以更改R13中使用二进制模块发生的事情,如果内存为我提供了正确的,但这确实会发生仅适用于实验性,不受支持或未记录的功能。
答案 1 :(得分:2)
每个 RX ,例如R14是一个主要版本,所以是的,代码可以向后兼容。通常包含错误修正和性能增强的增量版本看起来像R14B04
,R14B05
等。