A belated, but nonetheless exciting announcement. Our team recently released the first milestone of Cayenne 5.0.
There are more than a hundred Jiras in the release notes, so it is easy to get lost 🙃 But the main direction is simplifying the structure of the framework, now that we removed the previously deprecated ROP piece (the multi-tier stack). Suddenly, we could switch to sane module and class naming, flatten inheritance hierarchies of the core classes, and so on. Some examples: - "cayenne-server" is now "cayenne" - CayenneDataObject is PersistentObject (and a generic variant - GenericPersistentObject) - ServerRuntime is CayenneRuntime Other notable changes and new features: * Min Java version supported is 11 (should've probably gone with 21 :)) * SELF property in class generation templates * Unified class generation UI (also a result of ROP removal) * Direct support for "(not) exists" expressions (it was somewhat confusing in 4.2) * ANY, ALL subqueries and "case when" expressions * Per-project disabling of validation rules .. and a number of other smaller things. Enjoy! Andrus https://cayenne.apache.org/download/ https://cayenne.apache.org/2024/09/cayenne-50m1-released/