We're working on next minor release of the Holon Platform, that is expected to be stable and generally available by the end of March.
The release date was moved to April 20 to spend more time reviewing the documentation and providing more support material, such as tutorials and examples.
Along with all the latest bug fixes, there is also a lot of useful features that made it to this milestone.
As a minor release, the public Java API is fully compatible with the previous version, for a seamless migration with a minimal effort from version 5.0.0.
Below is a list of the of the new and noteworthy features, listed by module.
PropertySetobject now supports identifier properties declaration, which can be used to provide a virtual primary key to distinguish a PropertyBox instance from another, both at Java object level (
hashCode) and at persistence architecture level.
Propertyarchitecture was made even more flexible and extensible, providing configuration hooks for custom logic and introducing
PathPropertyextensions to easily deal with main property data types in a more consistent way. For example, the
StringPropertyinterface can be used for
Stringdata type, the
NumericPropertyone for numeric types and so on.
ExpressionResolverbased architecture through smart caching strategies and a revision of the internal expression resolution logic.
Expressionbased architecture, which is the foundation, above all, of the
DatastoreAPI and the abstract query engine. This lead to a more consistent and extensible architecture, along with considerable performance improvements and a better foundation for future
Datastoredevelopments, including asynchronous and reactive implementations.
Datastore, allowing to manage transactions in a platform agnostic way, independently from the underlying persistence technology.
JsonJava API to easily deal with JSON serialization and deserialization in a JSON provider independent way, with full
PropertyBoxsupport. At the moment, the supported JSON provider are Jackson and Gson.
java.time.*Date and Time API data types, including the support within a
java.time.*Date and Time API with JSON when a
PropertyBoxis used as data transfer object in JAX-RS endpoints.
Datastoreartifact. This lead to greater extensibility, a more consistent operation resolution strategy and remarkable performance improvements.
PropertySetidentifier properties to detect the persistent entities primary keys avoiding additional database accesses.
PropertySetidentifier properties to make more easy and quick to setup data bound UI objects.
@PushStateNavigationstrategy for Navigator.
The reference manual will be updated to reflect the API changes and to document all new features. Detailed release notes and changelog will be provided when new release will be made available and published.
So stay tuned!