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.
PropertySet
object 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 (equals
and hashCode
) and at persistence architecture level.Property
architecture was made even more flexible and extensible, providing configuration hooks for custom logic and introducing PathProperty
extensions to easily deal with main property data types in a more consistent way. For example, the StringProperty
interface can be used for String
data type, the NumericProperty
one for numeric types and so on.ExpressionResolver
based architecture through smart caching strategies and a revision of the internal expression resolution logic.Expression
based architecture, which is the foundation, above all, of the Datastore
API 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 Datastore
developments, including asynchronous and reactive implementations.Datastore
, allowing to manage transactions in a platform agnostic way, independently from the underlying persistence technology.Json
Java API to easily deal with JSON serialization and deserialization in a JSON provider independent way, with full Property
and PropertyBox
support. At the moment, the supported JSON provider are Jackson and Gson.java.time.*
Date and Time API data types, including the support within a PropertyBox
.java.time.*
Date and Time API with JSON when a PropertyBox
is used as data transfer object in JAX-RS endpoints.Datastore
artifact. This lead to greater extensibility, a more consistent operation resolution strategy and remarkable performance improvements.PropertySet
identifier properties to detect the persistent entities primary keys avoiding additional database accesses.PropertySet
identifier properties to make more easy and quick to setup data bound UI objects.@PushStateNavigation
strategy for Navigator.Property
based one.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!