- The coercion of strings to numbers in arithmetic and bitwise operations has been removed from the core language. The string library does a similar job for arithmetic (but not for bitwise) operations using the string metamethods. However, unlike in previous versions, the new implementation preserves the implicit type of the numeral in the string. For instance, the result of now is an integer, not a float.
- The use of the metamethod to emulate has been removed. When needed, this metamethod must be explicitly defined.
- A label for a goto cannot be declared where a label with the same name is visible, even if this other label is declared in an enclosing block.