Release Notes

v5.21.0 on the GitHub

New Features

Added ability to save and export test results in MS Excel format

Test results are presented in MS Excel file with a convenient layout and higlighting. Passed test cases are marked green, so it is simple to see regression results. Comments indicate what the expected result was for failed tests. 

Added auto-configuration for various Java versions and memory sizes

OpenL Demo package will automatically adjust settings for platform specifics. There won't be any need to edit Windows system environment settings or define Java configuration parameters in most cases. User will need just to install the latest Java and run start.cmd in the Demo package.

All division operations on numbers became floating point

All division operations return floating point result, so result of integer division like 1/4 became 0.25. This change requires regression testing of existing rules.



  • Added support of arrays as an input in Data and Test tables
  • Added ability to compare arrays by elements
  • Added new functions: toInteger(String), toDouble(String), toString(Number)
  • Added new functions: isNaN(Number), isInfinite(Number)
  • Added new functions: length(array), isEmpty(array)
  • Added new tokens: 'not' - synonym for '!' symbol, and '<>' - synonym for '!='
  • Made constant values in Spreadsheet tables as Double or String if autoType=true


  • Added 'Restored from revision #' comment for the project restored from old revision
  • Redesigned "Revert changes" page to improve user experience


  • Added ability to identify type of exception in RuleService
  • Made cassandra/elasticsearch logging modules plugable

OpenL Maven plugin:

  • Improved message in the case of comparison failure in Spreadsheet

Fixed Bugs

  • Fixed disappearing of "Projects" and "Deploy Configurations" from repository tree
  • Fixed "The element is null" error message for array expressions
  • Fixed sum() function for null values
  • Fixed flatten() function when varargs argument is used
  • Fixed an empty error message which is displayed for empty required cell
  • Fixed validation for Aliase Datatypes between primitive and non-primitive types
  • Fixed an issue with fields in format "lUU" that can't be found
  • Fixed NPE on opening module with 2 duplicated spreadsheets
  • Fixed wrong validation in OpenL tests
  • Fixed conversion from primitives to Object
  • Fixed NPE on loading OpenLWrapper
  • Fixed merged conditions with one common vertical condition
  • Fixed Lookup table with merged cells in body
  • Fixed NPE in DependentParametersOptimizedAlgorithm
  • Fixed method overloading when number types are used
  • Fixed varargs functionality for different types of input arguments
  • Fixed an error 'The width of the table is not a multiple of the RET width' for lookup table
  • Fixed valiadation for wrong table structure
  • 'Template' tab should be opened after 'Create Project from...' window was closed
  • Fixed an exception when user opens the project with errors
  • Fixed uploading of zip files containing national symbols in file names
  • Fixed number validation in creation a new table wizard
  • Fixed date-picker input element
  • Fixed navigation from an error message to a table, containing the error
  • Fixed: Table editor doesn't allow user to change incorrect value in a wrong cell in case cell datatype has been changed
  • Fixed: Values in Date fields displays incorrectly for tables with errors and tables of 'other' type

Updated libraries

  • JavaCC library was updated to v7.0.3

Migration Notes

Rules Service

The following properties were changed

repository.encode.decode.key = This is the key for password secure repository.encode.decode.key =

OpenL Rules

  • All rules calculations should be revised. Because of changed type of division operations, please be aware that 7/4 is equal 1.75, not 1. Returned type became Double instead of Integer. Users who still need to use whole number division logic will need to adjust their rules.
  • Because of more strict table structures, it is possible that some tables would not be compiled/parsed. In this case, please check neighboring rows/columns. All comments (notes) in cells must be started from '//' (two slashes)

© Copyright OpenL Tablets, 2004-2024