You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Michael Gentry <bl...@gmail.com> on 2026/06/24 20:24:47 UTC

[ANN] Cayenne 5.0 Milestone 2

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

Re: [ANN] Cayenne 5.0 Milestone 2

Posted by "giulio.cesare@gmail.com" <gi...@gmail.com>.
🤩

On Thu, Jun 25, 2026 at 12:19 AM Andrus Adamchik <aa...@gmail.com> wrote:
>
> 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 <bl...@gmail.com> 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
>

Re: [ANN] Cayenne 5.0 Milestone 2

Posted by Andrus Adamchik <aa...@gmail.com>.
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 <bl...@gmail.com> 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