3 * Changes from version 3.1 to 3.2
4 -------------------------------
5 + redirected all output in Lua's core to _ERRORMESSAGE and _ALERT.
6 + increased limit on the number of constants and globals per function
8 + debugging info (lua_debug and hooks) moved into lua_state and new API
9 functions provided to get and set this info.
10 + new debug lib gives full debugging access within Lua.
11 + new table functions "foreachi", "sort", "tinsert", "tremove", "getn".
12 + new io functions "flush", "seek".
14 * Changes from version 3.0 to 3.1
15 -------------------------------
16 + NEW FEATURE: anonymous functions with closures (via "upvalues").
18 - local variables in chunks.
19 - better scope control with DO block END.
20 - constructors can now be also written: { record-part; list-part }.
21 - more general syntax for function calls and lvalues, e.g.:
24 f"string" is sugar for f("string")
25 + strings may now contain arbitrary binary data (e.g., embedded zeros).
26 + major code re-organization and clean-up; reduced module interdependecies.
27 + no arbitrary limits on the total number of constants and globals.
28 + support for multiple global contexts.
29 + better syntax error messages.
30 + new traversal functions "foreach" and "foreachvar".
31 + the default for numbers is now double.
32 changing it to use floats or longs is easy.
33 + complete debug information stored in pre-compiled chunks.
34 + sample interpreter now prompts user when run interactively, and also
35 handles control-C interruptions gracefully.
37 * Changes from version 2.5 to 3.0
38 -------------------------------
39 + NEW CONCEPT: "tag methods".
40 Tag methods replace fallbacks as the meta-mechanism for extending the
41 semantics of Lua. Whereas fallbacks had a global nature, tag methods
42 work on objects having the same tag (e.g., groups of tables).
43 Existing code that uses fallbacks should work without change.
44 + new, general syntax for constructors {[exp] = exp, ... }.
45 + support for handling variable number of arguments in functions (varargs).
46 + support for conditional compilation ($if ... $else ... $end).
47 + cleaner semantics in API simplifies host code.
48 + better support for writing libraries (auxlib.h).
49 + better type checking and error messages in the standard library.
50 + luac can now also undump.
52 * Changes from version 2.4 to 2.5
53 -------------------------------
54 + io and string libraries are now based on pattern matching;
55 the old libraries are still available for compatibility
56 + dofile and dostring can now return values (via return statement)
57 + better support for 16- and 64-bit machines
58 + expanded documentation, with more examples
60 * Changes from version 2.2 to 2.4
61 -------------------------------
62 + external compiler creates portable binary files that can be loaded faster
63 + interface for debugging and profiling
64 + new "getglobal" fallback
65 + new functions for handling references to Lua objects
66 + new functions in standard lib
67 + only one copy of each string is stored
68 + expanded documentation, with more examples
70 * Changes from version 2.1 to 2.2
71 -------------------------------
72 + functions now may be declared with any "lvalue" as a name
73 + garbage collection of functions
76 * Changes from version 1.1 to 2.1
77 -------------------------------
78 + object-oriented support
80 + simplified syntax for tables
81 + many internal improvements