Release Notes

v5.23.8 on the GitHub

New Features

Versioning by folder names

Business dimensional properties can be extracted not only from the file name, but from the containing folder names too.

Rule Services is compatible with Spring Boot

An ability to build Spring Boot Application based on Rule Services code. Now jar artifact can be used as SpringBoot component without additional configurations.


Rule Services:

  • Support inheritance of beans in Swagger and OpenAPI
  • Implemented "@RulesType" annotation that allows to expose Extra Method in webservice which accept OpenL types
  • Rule Services is configured to use random temporary folder for deployments cache


  • Support Java 15
  • An ability to set multiple properties under one pattern for file name processor
  • "toBoolean(a)" function converts String to Boolean is implemented
  • The rule with the newest effectiveDate is selected in case is expirationDate is not defined
  • "yyyyMMdd" date pattern is defined by default for PropertiesFileNameProcessor

Rule Services, Webstudio:

  • File System (local) repository type is supported for Deploy Repository

Fixed Bugs


  • "The element is null" message is presented to user, if array parameter in child datatype is the same as in parent datatype
  • Duplicated errors appear in the log
  • No error message is presented to user, if rule or spreadsheet overloaded by dimensional property has different input parameters name per version
  • A lot of "Skip duplicated message" errors in the log
  • An error message is displayed for empty Decision Tables
  • "Ambiguous dispatch" error is not presented to user the number of business version with different effectiveDate is even
  • Cell type is identified incorrectly for float literal
  • An external return is not matched with SmartRules, if array is defined in merged columns
  • Incorrect date is successfully parsed from the filename by pattern


  • The filename pattern functionality doesn't work properly with the symbol "$", "^", "+" and "."
  • Module loading failure: StackOverflowError: in case of cyclic inheritance
  • Full list of patterns is not displayed on Copy module UI
  • Non-alphabetical sorting of projects in Editor
  • Duplicate of table with different input Alias is not displayed on the UI
  • Error on clicking '+' for input types Collection, Set
  • The field " Current Revision" should be renamed to "Current Revision Id"

Webstudio Repository:

  • Slow performance on repository tab if there are a lot of projects
  • Git merge messages misleading user

Rule Services:

  • Date type serialization and deserialization are not consistent
  • Swagger errors on Demo server

Updated libraries

  • Spring Framework v5.2.10.RELEASE
  • Spring Security v5.4.1
  • Jackson v2.11.3
  • Jetty Server v9.4.33.v20201020
  • Tomcat v9.0.39
  • commons-io v2.8.0
  • commons-codec v1.15
  • JGit v5.9.0.202009080501-r
  • Bouncy Castle v1.67
  • httpclient v4.5.13
  • elasticsearch v6.8.13
  • Kafka v2.5.1
  • cache2k v1.6.0.Final
  • JUnit v4.13.1
  • Awaitility v4.0.3
  • ASM v9.0
  • XStream v1.4.13
  • Joda Time v2.10.7
  • Microsoft JDBC Driver v8.4.1.jre8
  • SnakeYAML v1.27
  • stax-ex v1.8.3

Migration Notes

Rule Services

The following properties were changed

ruleservice.datasource.filesystem.supportVersion Removed.
ruleservice.datasource.deploy.clean.datasource Removed. Use your startup script if it is required to clean files before run RuleServices.
ruleservice.datasource.dir production-repository.uri
ruleservice.tmp.dir Removed. is used instead.

OpenL Rules

The following API was deprecated

org.openl.rules.ruleservice.core.interceptors. AnyType org.openl.rules.ruleservice.core.interceptors. RulesType
org.openl.rules.project.resolving. CWPropertyFileNameProcessor Remove any references from rules.xml files. The default implementation covers this functionality out-of-the-box.
org.openl.rules.project.resolving. PropertiesFileNameProcessor Migrate custom implementation to use new API. Be noted that the default implementation covers multiple scenarios of parsing file names and can be used instead of the custom implementation.

© Copyright OpenL Tablets, 2004-2024