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
