Release Notes
v5.23.9 on the GitHub
New Features
Transient fields for datatypes
An ability to add a transient '~' or non-transient '*' marker as a filed name suffix in datatype tables. This suffix is ignored when referencing a field. Transient fields are not included in OpenAPI/Swagger/WSDL schemas.
Improvements
Core:
- Test Table is matched with an overloaded rule table, if it has the same number of parameters
- Support for Pacific countries is added: Fiji, American Samoa, Cook Islands, Papua New Guinea, Samoa, Solomon Islands, Tonga, Vanuatu
- The "TRUE" condition is now supported in smart lookups
- The "Rule" column is now supported in smart rules
WebStudio:
- User management: national and non-restricted symbols are supported in usernames.
Rule Repository:
- Class.forName() vulnerabilities are removed from repository configuration
- All non-restricted symbols are supported in branch names in the git repository
- Placeholders { 0} { 1} { 2} are replaced with the { project-name} { username} { current-date} placeholders in New Branch Pattern.
- "Invalid login attempts" settings are configurable in WebStudio
Fixed Bugs
WebStudio:
- UI is broken if password on the remote Git server is changed and a user opened the branch management UI
- A spreadsheet using JSONUtils does not work upon refresh
- The list of enumerable properties is not sorted alphabeticaly
- A technical revision is displayed in the Save Changes dialog instead of s business revision
- Illegal symbols " and | are allowed for folders and projects
- Runtime context does not work for the Run JSON feature
- The pencil icon incorrectly navigates a user to the erroneous cell
- JBoss: Templates appear in the wrong order in "Create project from template"
- JBoss: UI is broken after clicking the "Send my updates" button
- "Sorry! Something went wrong" error is displayed on refreshing and clicking errors
- "Run into File" fails if the input parameter is 2d array
- Two directories are created during installation, if a user defined working adirectory other than the default one
- A warning message is displayed on copying the project in the "In Editing" status into a separate project
- WebStudio consumes memory without any user activity
- A non-informative error message is displayed if a datatype in project does not match the generated datatype
- WebSphere: an error is displayed on opening the previous revision of a project
- WebSphere: an error is displayed on clicking on the "Rules deploy configuration" tab of a closed project
- Wrong history is displayed for the 'Filter files by extensions' field
- Empty projects are created on the AWS server during parallel project creation
- An error is displayed if a user deletes the last column of the Run table
- Visual Basic script error is displayed on project opening via WebStudio, if a table is located on the hidden sheet
- "Default value 100" for 'The maximum count of saved changes for each project:' cannot be set after 'Unlimited numbers of copies' was once saved
- Test for tables that contain errors can be run by a user
- Module selection does not work in the Create Test Wizard and module copying UI
- Intermediate calculation results are displayed incorrectly in Trace: instead of intermediate values, final values are displayed
- Incorrect error text is displayed for the wrong project dependency
- An error is displayed for a project with the only "*" dependency
- A wrong error message is displayed for circular dependencies
- An error is displayed on clicking "Circular error" and then refreshing
- A list of projects is not loaded in the "Auto Deploy" screen
Core:
- Expression result type is not identified properly due to array index operation
- Build fails when external application.properties is defined in user's home
- In smart rules input parameter fields are set to wrong return object fields
- Enormous binding errors are displayed in WebStudio
- Wrong array cast happens in ternary operations
- Incorrect error message is dispayed in UI if the test table name is the same as the spreadsheet name
- The symbols "(, ), +" are not supported in the filename pattern
- NPE is presented in the returned result, if no condition matched and one of conditions is a Date condition
- The return type of flatten() operation is incorrect
- The incorrect logic of error identification is applied for Rules tables
- "Method Ambiguous error" is missing for MultyCall functionality
- The "Method not found" error is displayed if an alias datatype and array of custom datatype arguments are passed with a non-array argument, but the method expected an array argument
- "Collect" does not work for the merged conditions in smart rules
- Spreadsheet name in hint is displayed incorrectly if the cell exists in several spreadsheets with different names
- An error is logged if a table contains formulas starting with _xlfn
- A warning message "Ambiguous matching" appears if the table title is merged with the empty column
- NullSafety does not work in the eq() operation (== or !=)
Rule Services:
- The "String" type is generated in OpenAPI for the "List" return type
- An error "Could not resolve reference: undefined undefined" is displayed in Swagger if the AnySpreadsheetResult schema contains a circular reference
- An incorrect field name is generated if the property name has setter/getter in the JAR library
- Performance degradation is detected
Rule Repository:
- WebStudio throws in internal server error and fails to restart if Design repository is connected to a clean remote Git repository
- Git conflict is not resolved if the file is deleted
- The branch currently edited by a user is not protected from synchronization from another branch/user.
Updated libraries
- XStream v1.4.14
- Swagger UI v3.37.0
- CXF v3.3.8
- Jetty Server v9.4.35.v20201120
- Tomcat v9.0.40
- Joda Time v2.10.8
- Spring Framework v5.2.11.RELEASE
Migration Notes
WebStudio
The following properties were changed
Before | After |
---|---|
{ 0} { 1} { 2} in repository.design.new-branch-pattern | { project-name} { username} { current-date} |
repository.design.new-branch-pattern | repository.design.new-branch.pattern |
repository.design.comment-validation-pattern | repository.design.comment-template.comment-validation-pattern |
repository.design.invalid-comment-message | repository.design.comment-template.invalid-comment-message |
repository.deploy-config.comment-validation-pattern | repository.deploy-config.comment-template.comment-validation-pattern |
repository.deploy-config.invalid-comment-message | repository.deploy-config.comment-template.invalid-comment-message |
repository.design.factory = org.openl.rules.repository.git.GitRepository | repository.design.factory = repo-git |
repository.production.factory = org.openl.rules.repository.db.JdbcDBRepositoryFactory | repository.production.factory = repo-jdbc |
org.openl.rules.repository.db.JdbcDBRepositoryFactory | repo-jdbc |
org.openl.rules.repository.db.DatasourceDBRepositoryFactory | repo-jndi |
org.openl.rules.repository.aws.S3Repository | repo-aws-s3 |
org.openl.rules.repository.git.GitRepository | repo-git |
Rules Services
Before | After |
---|---|
production-repository.factory = org.openl.rules.repository.LocalRepositoryFactory | production-repository.factory = repo-file |
org.openl.rules.repository.db.JdbcDBRepositoryFactory | repo-jdbc |
org.openl.rules.repository.db.DatasourceDBRepositoryFactory | repo-jndi |
org.openl.rules.repository.aws.S3Repository | repo-aws-s3 |
org.openl.rules.repository.git.GitRepository | repo-git |
ruleservice.datasource.filesystem.supportDeployments | production-repository.support-deployments |