Breaking Changes for Power Dashboard Reports & Gadgets
We try really hard to make sure every new version of Power Dashboards Reports & Gadgets will work with your existing scripts and configurations. However, sometimes in order to bring new features to life we need to break a few eggs.
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;
The introduction of the integer type has also the following consequence:
try {
.....
if( ... ) {
throw 1; //integer!
}
if( .... ) {
throw 2; //these are integers literals now
}
} catch integer i {
//you need to add this block in order to deal with the above throws
} catch number n {
//you need to move code from here in the above block!
}
Packages - We added package and the “use“ keyword, please consider “use“ and “package“ keywords as inappropriate for variable names ('package' may be used in the future)