Eclipse Scout Release Notes

About This Release

The latest version of this release is: 25.1.0-beta.5.

You can see the detailed change log on GitHub.

Coming from an older Scout version? Check out the Migration Guide for instructions on how to obtain the new version and upgrade existing applications.

The here described functionality has not yet been released and is part of an upcoming release.

New Data Object API for Scout JS

Scout JS now supports DataObjects to be written as classes in TypeScript. A new serialization mechanisms takes care of recursively (de)serializing such DataObjects in a way compatible with the Scout Java backends. It supports base types like number, string, boolean, but also more complex types like Array, Date, Map, Set or nested Data Objects. Also, TypeScript specific types like Record or string literal types are supported.

Please read the DO documentation for Scout JS for more details and the advantages of the new API. It is recommended to switch to the new API where ever possible by following the steps from the migration guide. An example implementation can be found in the REST HowTo which might be helpful to understand the new concepts.

Behavior Change of Scout JS Utilities objects.valueCopy, objects.equals And objects.equalsRecursive

In order to support the new class-based Data Objects, these functions had to be improved as follows:

  • Date: is compared by its value (rather than the reference === as before) and copied by value (new instance is created).

  • Map: is deeply compared by its content (rather than the reference === as before) and deeply copied.

  • Set: is deeply compared by its content (rather than the reference === as before) and deeply copied.

  • The function objects.valueCopy uses the function clone if existing to create deep clones (except for Widgets).

  • The function objects.equalsRecursive uses the same equals logic as objects.equals which includes equality for empty arrays and the use of the equals functions of the objects, if available.

IId signature

The mechanism that adds signatures to IId is now available for the service tunnel. For more information see IId signatures in service tunnel.

Migration handler for deletion of data object contributions

The new AbstractRemoveDoEntityContributionValueMigrationHandler can be used when a data object contribution class is completely deleted.
This migration handler will remove the contribution with the given type name and type version from the data objects.