Imported from ../lua-3.0.tar.gz.
[lua.git] / HISTORY
blob1db2df243a0819c6107fc60379870de98776d980
1 This is version 3.0.
3 * Changes since version 2.5 (no versions between 2.5 and 3.0)
4   + NEW CONCEPT: "tag methods".
5     Tag methods replace fallbacks as the meta-mechanism for extending the
6     semantics of Lua. Whereas fallbacks had a global nature, tag methods
7     work on objects having the same tag (e.g., groups of tables).
8     Existing code that uses fallbacks should work without change.
9   + new, general syntax for constructors {[exp] = exp, ... }.
10   + support for handling variable number of arguments in functions (varargs).
11   + support for conditional compilation ($if ... $else ... $end).
12   + cleaner semantics in API simplifies host code.
13   + better support for writing libraries (auxlib.h).
14   + better type checking and error messages in the standard library.
15   + luac can now also undump.
17 * Changes since version 2.4
18   + io and string libraries are now based on pattern matching;
19     the old libraries are still available for compatibility
20   + dofile and dostring can now return values (via return statement)
21   + better support for 16- and 64-bit machines
22   + expanded documentation, with more examples
24 * Changes since version 2.2
25   + external compiler creates portable binary files that can be loaded faster
26   + interface for debugging and profiling
27   + new "getglobal" fallback
28   + new functions for handling references to Lua objects
29   + new functions in standard lib
30   + only one copy of each string is stored
31   + expanded documentation, with more examples
33 * Changes since version 2.1
34   + functions now may be declared with any "lvalue" as a name
35   + garbage collection of functions
36   + support for pipes
38 * Changes since version 1.1
39   + object-oriented support
40   + fallbacks
41   + simplified syntax for tables
42   + many internal improvements