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)