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 PM, Michael Gentry <[email protected]> wrote:
> 
> Hi everyone,
> 
> 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.
> 
> Thanks,
> mrg
> 
> 
> Changes/New Features:
> 
> 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
> 
> Bug Fixes:
> 
> 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

Reply via email to