Version 5.8.0.x
Introduction of null constant - Since the concept of a null constant has been introduced in version 5.8.0+, any variables that may have been named ‘null' or ‘nil’ will cause an error since those are now reserved keywords for the language.
Introduction of integer type - Due to the introduction of the integer type some values that were intended as numbers will be automatically interpreted as integers. This could cause the results of a calculation to loose all decimal values or cause the result of the calculation to change due to rounding differences.
return 3/2;
In older SIL, the result would have been 1.5. In the new SIL, the result is 1, because the literals 3 & 2 are now integers. In order to maintain the same results the code must be changed like in the examples below:
return 3.0/2.0; //or, explicity declare the type number x = 3; number y = 2; return x/y;