I am glad to announce the first milestone release of Agrest 5.0. It is an important milestone in our ongoing evolution towards a dependency-free, integrate-with-anything, fully model-driven framework. There are over 30 new tasks implemented.
5.0 highlights:
* Support for both "javax" and "jakarta" versions of JAX-RS
* Core is completely independent of JAX-RS (e.g. SpringWeb integration is now possible)
* Agrest Protocol v.1.2 [1]
* Java 11 is the minimal version supported
* No more "cayenne-server" dependency in the core (finally!). "cayenne-di" is still in use.
* New documentation [2] is still work in progress, but lots of good parts are already there.
In 5.0 we refactored a lot of things: removed all legacy modules, restructured the remaining ones, introduced a new bootstrap API [3], defined more precise terms for some of the core concepts (e.g. a mysterious AgDataMap was renamed to AgSchema). So make sure to consult the upgrade notes [4] if you have an existing project.
Documentation has a SpringBoot tutorial [5] that shows basic Agrest setup, custom properties and OpenAPI/Swagger integration. More in-depth developer doc [6] is still in progress, and already has chapters on Runtime and Schemas (including annotations and entity overlays that are rather important in Agrest these days).
I hope to post Agrest 5 / Bootique 3.0 integration in a few days. Also there's an ongoing effort to provide an alternative JPA backend for those who can't use Cayenne for one reason or another.
Enjoy!
Andrus
[1]
https://agrest.io/docs/5.x/protocol/
[2]
https://agrest.io/docs/5.x/
[3]
https://agrest.io/docs/5.x/getting-started/#rest-app-class
[4]
https://github.com/agrestio/agrest/blob/master/UPGRADE-NOTES.md
[5]
https://agrest.io/docs/5.x/getting-started/
[6]
https://agrest.io/docs/5.x/framework/