Project Release Information
This is a bugfix release. All known bugs from 5.1.4 have been fixed.
This is the first major version since 2006. It adds yieldable pcall and metamethods, a new lexical scheme for globals, ephemeron tables, a new library for bitwise operations, light C functions, an emergency garbage collector, a goto statement, and finalizers for tables.
Documentation and portability fixes.
Changes since rc4: 'table.pack' returns 'n' too; clarifications between 'deprecated' and 'removed'; a fix for a compilation error in 'luai_apicheck' with LUA_USE_APICHECK; removal of an incorrect assert in lparser.c; and reordering of some defines in lua.h.
All bugs reported against 5.1.2 have been fixed.
Lua is a programming language originally designed for extending applications, but also frequently used as a general-purpose, stand-alone language. It combines simple procedural syntax (similar to Pascal) with powerful data description constructs based on associative arrays and extensible semantics. It is dynamically typed, interpreted from bytecodes, and has automatic memory management, making it ideal for configuration, scripting, and rapid prototyping. It is implemented as a small library of C functions, written in ANSI C, and compiles unmodified in all known platforms. The implementation goals are simplicity, efficiency, portability, and low embedding cost. It has been used on games such as World of Warcraft, FarCry and Angry Birds, among others.