Release 4.3.0 extends NEBA's compatibility: NEBA now runs smoothly on Sling 7, 8 and the latest Sling version 9.
This release, like its 4.x predecessors, is compatible with all AEM version 6.1.x - 6.3.x.
With 4.3.0, NEBA introduces the Lazy interface for declaring lazy-loading 1:1 relationships. Using this interface, one can benefit from the well-supported java.util.Optional representation of potentially empty values. In addition, the Lazy interface API itself has all semantics of the java.util.Optional type. This makes possible a rather elegant use of lazy-loading (and thus potentially missing) values:
This interface replaces the previous "Optional" interface. Users of NEBA 4.x < 4.3.0 are encouraged to transition to the Lazy interface. The io.neba.api.Optional interface has been deprecated and will be removed in NEBA 5.x.
Users of 4.2.1 can upgrade to 4.3.0 without code changes. Note, however, that the version of the packages exported by the NEBA API has been updated to 4.3.0, to reflect the addition of the new Lazy Interface to the API. Furthermore, the Optional interface has been deprecated in the process. User of NEBA's Optional are encouraged to transition to Lazy instead.