Re: [ANN] Cayenne 5.0 Milestone 2

Andrus Adamchik <[email protected]> Wed, 24 Jun 2026 18:19:20 -0400
Newsgroups gmane.comp.java.cayenne.user
Message-ID <[email protected]>
--Apple-Mail=_FA4049C5-C146-4DCD-A939-B8CC6C914957
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

As you see, this is a very long list of tasks. So let me highlight a few =
important things:

1. Java 21+ is required

2. With the help of Claude Code polished the Modeler. While it generally =
looks the same as before, active users will notice that a number of =
small annoying UI/UX issues were fixed. BTW, if your own pet Modeler bug =
is not yet addressed, please speak up.

3. Native support for AI-assisted development. This includes an MCP =
server bundled with the Modeler that allows your favorite agent to (A) =
open your project in the Modeler, (B) run DB Import, (C) run cgen. MCP =
works with any agent of course. Additionally, there is a plugin for =
Claude Code with a number of typical "skills". See the docs for details: =
https://cayenne.apache.org/docs/5.0/cayenne-guide/agentic-coding/  And =
we'd love feedback on this too.

Andrus


> On Jun 24, 2026, at 4:24=E2=80=AFPM, Michael Gentry =
<[email protected]> wrote:
>=20
> Hi everyone,
>=20
> Cayenne 5.0 M2 has been released and includes a bundle of new features =
and
> bug fixes over 5.0 M1. We encourage 5.0 M1 users to try it out.
>=20
> Thanks,
> mrg
>=20
>=20
> Changes/New Features:
>=20
> CAY-2859 Redesign SelectById factory methods
> CAY-2873 Change Orderings.orderedList() to accept a Collection rather =
than
> a List
> CAY-2884 Upgrade gradle to 8.13
> CAY-2893 Update velocity-engine-core dependency
> CAY-2897 Add no-op default implementations to the GraphChangeHandler
> interface
> CAY-2905 Upgrade Gradle to 8.14
> CAY-2906 In-memory evaluation of `(not) exists` expressions
> CAY-2908 Review and upgrade dependencies
> CAY-2916 SelectById: unify logic for null/empty values
> CAY-2917 Add Qualifier Joins Before Depenent Table Joins
> CAY-2918 Remove OGNL Binding Architecture from CayenneModeler
> CAY-2920 Remove "Reengineer Database Schema" menu
> CAY-2922 Modeler: remove support for upgrading from file-based =
preferences
> CAY-2923 Modeler: Restore table cell editor borders
> CAY-2924 Move MapEvent and subclasses from the core to the Modeler
> CAY-2925 Remove "cayenne-modeler-maven-plugin"
> CAY-2927 Modeler: Better-looking "Update Entity Class Name" dialog
> CAY-2928 Modeler: remove floating log console modality
> CAY-2929 Modeler: Prefrences management UI
> CAY-2930 Modeler: remove "rename" button from DB Import toolbar
> CAY-2932 Remove "Generate Classes" menu
> CAY-2933 Modeler: DB Type Column Unreadable for Selected Rows
> CAY-2935 Upgrade Cayenne 5.0 to Java 21
> CAY-2936 Add a placeholder MCP server to the Modeler distribution
> CAY-2937 Decommission "graph" Support
> CAY-2938 Modeler: prettier DB Import - part 1
> CAY-2940 Upgrade to SLF4J version 2.0.17
> CAY-2942 CayenneModeler MCP: cgen_run tool
> CAY-2943 CayenneModeler MCP: open_project tool
> CAY-2945 CayenneModeler universal "main"
> CAY-2946 Claude Code "plugin" for agentic coding with Cayenne
> CAY-2947 Merge "cayenne-commitlog" into the core
> CAY-2948 Modeler: use native FileDialog on Mac
> CAY-2953 Upgrade Gradle to 9.4.0
> CAY-2955 Get rid of QueryEngine abstraction
>=20
> Bug Fixes:
>=20
> CAY-2701 MySQL DST-related LocalDateTime issues
> CAY-2836 ObjectSelect.selectCount() throws if a query contains =
ordering
> CAY-2860 Translate (not)in expression with empty values
> CAY-2863 DbEntity qualifiers are no longer applied to JOIN conditions
> CAY-2871 QualifierTranslator breaks on a relationship with a compound =
FK
> CAY-2872 CayenneModeler "Documentation" link is broken
> CAY-2876 Memory leak in the ObjectStore
> CAY-2879 Negative number for non parameterized ObjectSelect query not
> processed correctly
> CAY-2883 License and notice templates are not processed by the Gradle =
build
> CAY-2885 Modeler: DbImport fails to load DB schema view
> CAY-2887 Expressions: Incorrect serialization to string of numeric =
literals
> CAY-2889 Make subclassing a PK Generator easier
> CAY-2891 Expressions: incorrect SQL translation of the ASTNegate node =
with
> scalar argument
> CAY-2895 Incorrect Lazy Pagination Comparison for BigInteger PK
> CAY-2896 Inserting two identical objects into two datamaps stores both
> objects in the last used datamap
> CAY-2898 Crypto: NPE in a ColumnQuery
> CAY-2899 CommitLog: missing lifecycle-induced changes in
> `excludeFromTransaction` mode
> CAY-2900 Meaningful generated PKs could lead to the ClassCastException
> CAY-2901 Loosing comments on the existing ObjAttribute after DB import
> CAY-2902 Shared query cache clobbers newer object state
> CAY-2904 Disjoint prefetch returns incorrect data
> CAY-2914 Modeler: DB Import "Table Types" filter change does not =
refresh
> the schema tree
> CAY-2919 Exception in "Generate Database Schema"
> CAY-2921 Modeler: consistent duplicate name handling
> CAY-2926 Modeler: renaming an ObjEntity adds it to cgen =
excludeEntities
> CAY-2931 Modeler: default encoding detected as UTF8, should be UTF-8
> CAY-2934 Modeler: dropdown data trunction
> CAY-2944 MergerTokenFactoryProvider does not resolve adapter =
subclasses
> CAY-2951 Newly reverse-engineered entities are excluded from CGen
> CAY-2952 Unstable project extension ordering


--Apple-Mail=_FA4049C5-C146-4DCD-A939-B8CC6C914957--