Release Notes

v5.26.0 on the GitHub

New Features

OAuth2 Authorization Support in OpenL Tablets WebStudio

The OAuth2 protocol for authorization is now supported in OpenL Tablets WebStudio. The OAuth2 settings are configured via installation wizard and properties.

OAuth2 Token Support for OpenL Tablets Rule Services

A security filter that is executed on every request to OpenL Tablets Rule Services and validates the signed JWT is now available.

Storing and Editing the User Email Address and Display Name

The user display name and email are removed from the repository settings and can be set for each OpenL Tablets WebStudio user in the “Add New User”, “Edit User”, and “User Details” forms.

Submitting the Current User Display Name and Email Address when Commiting to Git

“display_name <email>” is displayed in the “Author” line of the Git commit.

If a display name or email values are missing, upon creating, saving, or deleting a project in the Git repository, a pop-up window is displayed asking to provide the required data.

User Information Synchronization with the External User Management Service

When users are managed by a third-party service, such as Active Directory, SSO, SAML, or CAS, the following information is synchronized with the third-party service:

-First name

-Last name

-Display name

-Email address

User Email Address Validation

The email address verification feature allows verifying email addresses added manually. By default, email verification is disabled and it can be enabled in the Admin tab.

When a user email address is added or modified, a user receives an email with the verification link. Upon following the link, the email address verification indicator is set to true.

If the verification link is lost or expired, the verification email can be re-requested by clicking the "Resend" button.

Git Large File Storage Support

The Git repository must be configured to support the large file storage before it is cloned by OpenL Tablets WebStudio.

If the "git-lfs-migrate" command was used to migrate the history, stop OpenL Tablets WebStudio, drop the local folder storing the Git repository, and then start OpenL Tablets WebStudio.

Azure BLOB Storage Support

Azure BLOB storage is now supported in the same manner as Amazon AWS S3.

Automatically Adding or Updating an OpenAPI file in the Reconciliation Mode

When an OpenAPI file is generated for a project in OpenL Tablets WebStudio Editor, the project is validated against the generated OpenAPI file.

Support of Several Modules with the Same Name

The modules with the same name located in different projects with dependency are supported.

Rule Dependency Support

Tables from another project now can be used when a dependency to the project is specified without included modules. The following formats are supported:

`Project`.tableName()

`Project/module`.tableName()

Arm64 Docker Images Usage

Multi-platform build for OpenL Docker images is now introduced.

Improvements

Core:

  • New Combined SpreadsheetResult Type
  • A new combined SpreadsheetResult type can be now used when the rules table returns different SpreadsheetResults to prevent the cell type loss. The new combined SpreadsheetResult type unites all cells from returned SpreadsheetResults into one SpreadsheetResult and upcasts cell data types where needed.

  • OpenLClassLoader performance is improved.
  • *Value types are replaced with Java natives.
  • The ROUND function syntax is modified: round(number,int,String), round(number,String).
  • The equals() operation can be used for SpreadsheetResults.
  • A combined SpreadsheetResult type is supported in method signatures and in OpenL Tablets expressions.

WebStudio:

  • The "compare" functionality now has an option to display only the rows that were modified.
  • Upon each user authentication, the OpenL Tablets WebStudio groups are pulled from the external authentication system, such as LDAP or SAML.
  • New actions are available on the Repository Projects tab: "open", "close", and "deploy".
  • Unified user experience is introduced for management of AD, SAML, and CAS.
  • The security.saml.forceAuthN=true property is supported for SAML. This feature is experimental.

Rule Services:

  • Swagger v2 schema generation is removed.
  • Support of SOAP/WSDL web services is removed.
  • Apache Tomcat is replaced with Eclipse Jetty in docker images.
  • WADL schema generation is removed.
  • Project deploying as a web service can now be skipped in OpenL Tablets Rule Services.
  • The Git, AWS, and Azure repositories are supported by the ws-all artifact.

Security:

  • SSL in the proxy server and load balancer is supported for SSO SAML/CAS.

Repository:

  • Third party alternatives of the AWS S3 repository are supported.

Fixed Bugs

Core:

  • The "String index out of range" error is displayed when a two-dimentional array is defined in the data table.
  • Incorrect type is displayed for datatypes with packages.
  • Issues are detected for the spreadsheet referencing the cell of another spreadsheet stored in another module.
  • SpreadsheetResult type is not identified for the method that returns an array of the custom SpreadsheetResult.
  • "The element is null" error is displayed if the datatype table contains an error.
  • Incorrect errors are displayed if the rule table contains an error in the return expression.
  • The build occasionally fails because of WorkspaceCompileServiceTest.

WebStudio:

  • The "ProjectVersionCacheMonitor exception" erros are logged: java.io.IOException: Unable to delete directory
  • The internal server error is displayed if the SAML server metadata is not accessible by URL.
  • The "NullPointer Exception" error is displayed on module opening if the formula is copied from one Excel file to another one.
  • When security is configured as Active Directory, it is still possible to log in using the old password stored in the database.
  • Access is denied for the first logon to SAML after modifying the settings in webstudio.properties.
  • Performance is slow in the Repository tab if there are many projects and deploy configurations in the Git non-flat repository.
  • The informational pop-up window about the dependent project is not displayed if the structure of projects has a nested dependency.
  • User groups with administrative privileges are not highlighted with red font in the "Add new user" window.
  • When user infomation recieved from the third party identity provider is manually erased from the database, it cannot be restored.
  • Incorrect comparison result is displaed in the Compare window if there are two equal rows in the table and the top row is edited.

Rule Services:

  • Default paths for the REST service and the path defined in rules-deploy.xml are different.
  • NullPointerException is received in response in OpenL Tablets Rule Services if the Custom or non-custom spreadsheet is created via the constructor.

Docker images:

  • Vulnerabilities in the OpenL Tablets WebStudio docker image are detected.
  • User ID (uid) is not constant between releases in the docker images.
  • A server error appears in the docker log if the table contains non-latin symbols.
  • A docker container with OpenL Tablets Rule Services fails to start if JAVA_OPTS is passed as a parameter.

Core, Rule Services:

  • The project on which another project depends has access to the module of that another project.

Updated Libraries

  • OpenSaml v. 4.2.0
  • POI 5.2.2
  • JGit 6.1.0.202203080745-r
  • XMLSec 2.3.0
  • Servlet API 3.1.0
  • HikariCP 5.0.1
  • Hibernate 5.6.9.Final
  • MSSQL JDBC 10.2.1.jre11
  • Velocity engine 2.3
  • H2 v2.1.212
  • Jaeger 1.8.0

Known Issues

  • A placeholder {username} doesn't work in commit messages

Migration Notes

WebStudio SAML

If the SSO:SAML user mode was used in 5.25, for successful migration to 5.26, add the "Entity ID" parameter to webstudio.properties (entity ID = Client saml name) before the migration. Example: security.saml.entity-id=webstudio. This parameter can also be added in the "Entity ID" field in the installation wizard/Step3. Note that in 5.25, if the entity ID is not provided, the default value is http://localhost:8080/webstudio/saml/metadata is used by the system. In 5.26, the default value is "webstudio".

The link for downloading WebStudio SAML metadada XML is http://localhost:8080/webstudio/saml2/service-provider-metadata/webstudio .

Note that a private certificate is now generating per WebStudio instance and stores in the properties file. Previous hardcoded private key was removed from the Java KeyStore. It means, that public key for the IdP must be updated from the WebStudio SAML metadata XML.

On the Identity Provider side it needs to define:
Single sign-on URL = http://localhost:8080/webstudio/login/saml2/sso/webstudio
Audience URI (Entity ID) = webstudio

Webstudio, Rule Services

Java 8 is not supported any more. Java 11 is supported only!

Due to MSSQL driver upgrade, use encrypt=false;trustServerCertificate=true; in the connection string if your server does not support encryption. For more information, see:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/ssl-certificate-rotation-sqlserver.html and
https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#changes-in-102

Upgrading H2 DB requires migrate according to the migration guide are described in https://www.h2database.com/html/migration-to-v2.html

Starting from OpenL Tablets 5.26.0, Groovy Scripts have an access to all Java types of a project and its dependency projects generated from their Datatype tables. It was the most requested feature after Groovy Scripts support had been introduced. To support the feature we had to change a module compilation algorithm to use the same classloader for each project. Before the change, each module in the project had used its own classloader. The change may break backward compatibility if multiple projects use Datatypes with the same name even if the modules don’t have a relationship, but a relationship between projects exists. To migrate your projects in this case, you should define unique package names there (refer to Ref Guide, Dev Properties - > Dev Properties List section).

© Copyright OpenL Tablets, 2004-2024