版本号说明:
* 版本号由 "主版本号.次版本号.修正版本号"组成。修正版本号为0时可以忽略。
* 主版本号与次版本号统称为版本号,相同版本号的版本它们的参考手册是相同的,虚拟机、字节码及相关的库是兼容,即ABI(Application Binary Interface)兼容的。
* 如果只是修复一些bug,则只增加修正版本号。
* 如果增加了一些功能,则增加次版本号,同时修正版本号复0。
* 如果进行了重大修改,或累积修改过多,则主版本号加1,同时次版本号和修正版本号复0。
* alpha版本是指内部测试版,bug比较多,一般不对外发布。
* beta版本是指公开测试版,bug比较少,根据反馈意见进行一些修改。
* RC(Release Candidate)版本:不增加新功能,主要是修复bug。
* work版本是指实验版本,很多功能是实验性的,不一定会出现在最终的发行版中。
历史版本及时间点:
* 1.0:1993-07-28。第一版,没有公开发行过。table,gc这些元素都有了。
* 1.1:1994-07-08。第一个公开发行的版本。主要用于数据描述,提供了简单的语法,还没有for语句;可以执行lua字节码的基于栈的虚拟机。此版本主要用于学术交流。
* 2.1:1995-02-07。提供了面向对象编程的支持。提供了fallback语义(tagmethod、metamethod的前身)。此版本可用于任何目的,包括商业使用。
* 2.2:1995-11-28。支持long strings(估计是指多行长字符串)的定义,提供了调试接口,更好的stack tracebacks,扩展了函数定义的语法,提供了gc函数,提供了管道的支持。
* 2.3:没有发行过,只有一个beta版本,难产了。
* 2.4:1996-05-14。提供了luac这个外部编译器。提供了hooks相关的调试接口,增加了getglobal这个fallback。
* 2.5:1996-11-01。提供了字符串的模式匹配机制和支持可变参数的函数。
* 3.0:1997-07-01。以tagmethod替代了fallbacks。