Repository navigation
Expand file tree
/
Copy pathRELEASE-NOTES.txt
More file actions
326 lines (308 loc) · 16.7 KB
/
Copy pathRELEASE-NOTES.txt
File metadata and controls
326 lines (308 loc) · 16.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
Apache Cayenne Release Notes
============================
For the latest information visit project web site:
https://cayenne.apache.org/
To browse individual bug reports check out project issue tracker:
https://issues.apache.org/jira/browse/CAY
----------------------------------
Release: 5.0-M4
Date:
----------------------------------
Changes/New Features:
CAY-2875 Allow storing UUIDs in binary columns
CAY-2998 Modeler: clickabe "Target" column to navigate relationships
CAY-3000 Modeler: unifying the main views of all model objects
CAY-3004 Modeler: Rework DbEntity PK generation UI to match the XML model
CAY-3007 Deprecate SelectById
CAY-3010 LocalDateTime and friends should be accessed directly via JDBC
CAY-3012 Improve reflection performance
CAY-3013 MySQL: JDBC-level streaming for iterators
CAY-3014 Remove QueryChain
CAY-3015 Get rid of RefreshQuery
CAY-3016 Get rid of RelationshipQuery
CAY-3017 ObjectContext should not be a DataChannel
CAY-3019 Skip noop conditions in generated SQL
CAY-3020 Remove serialization contracts
CAY-3021 Get rid of ObjectIdQuery
CAY-3022 Cleanup ObjectContext / DataContext query API
CAY-3023 Replace QueryResult with a List of redesigned QueryResult items
CAY-3024 Replace QueryResponse with List<QueryResult>
CAY-3025 ObjectContext to require/return Persistent for all object ops
CAY-3026 Parseable ObjectSelect / ColumnSelect
CAY-3027 Replace StringIdQuery with StringIdFetcher
CAY-3028 Im-memory evaluation of ASTSum
CAY-3034 Remove "cayenne-osgi" module
CAY-3035 Remove "cayenne-lifecycle" module
CAY-3036 Auto-upgrade projects in runtime
CAY-3037 Switch ObjectSelect query format in XML to the parsable string
CAY-3038 Remove EJBQLQuery
CAY-3039 Refactor Expressions to be independent from the parser syntax
CAY-3040 Descriptive XML tags for mapped queries
CAY-3041 Unify XML style across XSDs
CAY-3042 Rename "domain" to "project" in the Modeler and XSD
CAY-3043 project.xsd, dataMap.xsd: replace "property" with top tag attributes
CAY-3047 Per-statement "snapshotVersion"
CAY-3048 Per-object locking in the ObjectStore
CAY-3049 Cheap ClockMap to replace ConcurrentLinkedHashMap
CAY-3051 Replace PropertyVisitor with ClassDescriptor property collections
Bug Fixes:
CAY-2779 "Nullify" delete rules is not processed with n:m and inheritance hierarchy
CAY-2832 SelectActionIT is failing on GitHub Actions
CAY-2911 Vertical Inheritance: Column Select Sometimes Null With Vertically Inherited Entity
CAY-2996 Javadocs are missing from the central artifacts
CAY-2999 Modeler: A restricted method in java.lang.System has been called
CAY-3001 Modeler: Auto-increment attribute is not picked up
CAY-3002 Modeler: NPE after clicking path chooser
CAY-3003 Modeler: NPE editing unmapped ObjAttribute
CAY-3005 ResultIterator.allRows() doesn't convert to DataObjects
CAY-3006 Can't match a "self" property of an entity with a compound PK
CAY-3008 Disjoint prefetch returns wrong results when the query matches on a "self" property
CAY-3009 Column select with CLOB attribute and distinct() fails
CAY-3011 PostgreSQL: use transactions on select with fetch size
CAY-3018 EJBQL: broken joins when selecting a vertically inherited entity
CAY-3030 Cayenne stack must be able to start without touching the DataSource
CAY-3031 Expression parameter names may conflict with function names
CAY-3032 ColumnSelect: an entity column over a to-many relationship filters out root rows with no related objects
CAY-3033 Selects with subqueries produce conflicting cache keys
CAY-3044 Paginated query with a joint to-many prefetch returns duplicate ids and unresolved Integer elements
CAY-3045 Race condition: ClassCastException resolving a to-one fault concurrently on a shared DataContext
CAY-3046 Refreshing an object from a snapshot discards to-ones, causing fault resolution on a shared DataContext
----------------------------------
Release: 5.0-M3
Date: Aug 21, 2026
----------------------------------
Changes/New Features:
CAY-2861 Derby version upgrade
CAY-2912 Compact SQL logger
CAY-2954 Don't wrap selecting queries in transactions
CAY-2956 Get rid of a dedicated adapter for Oracle 8
CAY-2957 Get rid of adapter for legacy HSQLDB <= 1.8
CAY-2962 Allow unconstrained VARCHAR
CAY-2963 Replace TypesHandler / types.xml with hardcoded map
CAY-2969 Extender API for "soft" delete
CAY-2970 Tighten deferred value resolution contract on commit
CAY-2971 Remove extra spaces within SQL parenthesis
CAY-2972 Fewer parentheses in generated SQL
CAY-2974 CayenneSqlException with a reference to translated query
CAY-2975 Mnemonic table aliases in generated SQL
CAY-2978 AI skill: "cayenne-model-naming"
CAY-2979 AI skill: "cayenne-full-db-sync"
CAY-2980 Improve model name generation
CAY-2981 Remove DataNode from XML mapping
CAY-2982 Modeler: when upgrading projects allow upgraders to send outcome messages
CAY-2983 CayenneDataSource: Public-facing DataSource builder
CAY-2984 Remove "DataChannel" injectable dependency
CAY-2985 DataDomain init and structure cleanup
CAY-2986 Cgen to run unconditionally
CAY-2987 DataNode to own PkGenerator
CAY-2989 Upgrade MCP SDK to 2.0
CAY-2992 dbimport: support postgres drivers newer than 42.7.4
CAY-2994 cgen: improve path handling
CAY-2995 Migrate Modeler to FlatLaf library
Bug Fixes:
CAY-2892 Modeler: Exception when deleting a callback
CAY-2941 Modeler won't start on Windows on Java 25
CAY-2958 Empty join is saved
CAY-2959 Modeler: DbRelationship dialog "Cancel" doesn't cancel
CAY-2960 Undoing renamed relationship change throws
CAY-2961 PostgreSQL "text" column is reverse-engineered as CLOB
CAY-2964 ClassCastException for non-generated meaningful PKs
CAY-2965 MCP Cgen should not fail on an absent "<cgen>" tag
CAY-2966 "comment" field is lost when upgrading from v10 to v12
CAY-2967 SQLTemplate/SQLSelect broken pagination
CAY-2968 Vertical Inheritance: INSERT instead of UPDATE after updating flattened attribute
CAY-2973 Exception trying to copy/paste a callback
CAY-2976 Exception creating a relationship for an Incomplete ObjEntity
CAY-2977 DbImport confused by multi-key relationships
CAY-2988 Iterated queries commit transactions they don't own
CAY-2990 Gradle plugin tests are failing on Windows
----------------------------------
Release: 5.0-M2
Date: June 23, 2026
----------------------------------
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
----------------------------------
Release: 5.0-M1
Date: Aug 28, 2024
----------------------------------
Changes/New Features:
CAY-2378 Switch usage of SelectQuery to ObjectSelect internally
CAY-2498 Rename packages to prevent crossing package names
CAY-2597 case-when implementation
CAY-2715 Support ANY and ALL expressions for subqueries
CAY-2737 Cayenne 5.0: cleanup deprecated code
CAY-2741 Cleanup TransactionDescriptor and deprecate DefaultTransactionDescriptor
CAY-2742 Switch minimum required Java version to 11
CAY-2744 Remove ROP support
CAY-2746 Cleanup root pom.xml
CAY-2747 Update project XML version to 11
CAY-2751 Simplify DataNode configuration
CAY-2752 Rename queryTemplate to dataMapTemplate in the cgen config
CAY-2753 Remove VPP support in the ant task
CAY-2754 Add SELF property to the cgen templates
CAY-2756 Modeler: simplify cgen UI
CAY-2757 Modeler: Create custom templates from defaults
CAY-2758 Refactoring code for a extended TemplateType class
CAY-2759 Add utility methods to the SELF property
CAY-2760 ObjectContext.userProperties need a way to clear properties
CAY-2761 Modeler: Editor for the cgen templates
CAY-2766 Modeler: Improving the work with velocity templates for class generation
CAY-2767 Modeler: upgrade deprecated code in custom components
CAY-2771 Switch to GitHub actions
CAY-2773 Switch master to "5.0"
CAY-2776 Upgrade Gradle to 7.6
CAY-2780 Modeler: Multiple configurations for classes generation
CAY-2781 Enable 'Create PK properties' by default in the cgen configuration
CAY-2784 Remove 'Use Java primitive types' option from dbimport
CAY-2785 Modeler: improve folder selection for cgen
CAY-2787 Modeler: Ability to sort DB Import rules
CAY-2788 DbImport: Add fallback option for the batch attribute loader
CAY-2795 Add unit tests for the Json type
CAY-2802 Upgrade Gradle to 7.6.1
CAY-2803 Test infrastructure: declarative custom DI modules in ServerCase
CAY-2805 Stop calling exp parser internally
CAY-2807 EntityProperty.inId(..) / ninId(..) - disambiguate method parameters
CAY-2814 Select query iterator() and batchIterator() methods return incorrect results
CAY-2816 (NOT) EXIST usability - provide simple expression syntax
CAY-2817 Pagination flow refactoring
CAY-2818 JDK 21 support
CAY-2819 DataContext.performIteratedQuery() method should be unified with iterator() method
CAY-2820 Remove `server` from the components naming
CAY-2821 Change development versioning schema
CAY-2822 Rename `cayenne-server` module to `cayenne`
CAY-2823 Merge `ServerRuntime` back to `CayenneRuntime` and deprecate it
CAY-2824 Rename CayenneServerModuleProvider to CayenneRuntimeModuleProvider
CAY-2825 Rename package `o.a.c.configuration.server` to `o.a.c.configuration.runtime`
CAY-2826 Rename `ServerModule` to `CoreModule`
CAY-2828 Rename values in `org.apache.cayenne.configuration.Constants`
CAY-2829 Merge `BaseContext` with `DataContext` and deprecate it
CAY-2830 Cleanup `DataContext` code
CAY-2831 Upgrade Gradle to 8.5
CAY-2833 Unify code related to the Cayenne model paths processing
CAY-2834 v11 upgrade handler should update XMLPoolingDataSourceFactory package
CAY-2835 Custom aggregate functions
CAY-2837 Deprecate TraversalHelper and move no-op implementations to TraversalHandler
CAY-2843 Use an IN clause for single field disjoint by ID prefetches
CAY-2845 Deprecate DataObject in favour of Persistent
CAY-2846 Modeler: Allow to disable some validation rules in the project
CAY-2849 Switch documentation to `hugo-asciidoctorj-extension`
CAY-2856 Upgrade Gradle to 8.8
CAY-2857 Java 22 support
CAY-2858 Redesign Collection and Map Property API
CAY-2862 Cleanup and upgrade Maven plugins dependencies
CAY-2865 Upgrade test dependencies
CAY-2867 Tweak GraphBasedDbRowOpSorter logic to allow related updates
CAY-2870 Modeler: Upgrade CayenneDataObject to GenericPersistentObject
Bug Fixes:
CAY-2552 ColumnQuery with flattened attributes bug
CAY-2621 Modeler: project is dirty after a no-change db import
CAY-2667 Fix Issues with Generic Vertical Inheritance
CAY-2732 Exception when creating ObjEntity from a DbEntity
CAY-2748 Mutating the list returned from the local query cache changes the cache
CAY-2755 Modeler: Entities are not sorted by name in the class generation view
CAY-2762 Modeler: Difference in toolbars colors on OSX
CAY-2763 Split expressions do not work with flattened relationships
CAY-2764 Split expressions do not work with DB relationships
CAY-2765 dbimport: check excluded catalogs and schemas for the SQLServer
CAY-2769 Modeler: 'rootPath' attribute is missing
CAY-2772 Bootique-style module "extenders" for smoother configuration
CAY-2774 Overriding service ordering in DI List causes DIRuntimeException
CAY-2777 Reverse relationship is not set with single table inheritance
CAY-2782 Modeler: save button becomes active on DataMap comment field focus
CAY-2783 DbEntity to ObjEntity synchronization should check mandatory flag for primitive java types
CAY-2786 Modeler: field outputDir work incorrect
CAY-2789 MalformedJsonException thrown when reading manually edited JSON data in Postgres
CAY-2790 EOModel import: NPE importing EOFetchSpecification
CAY-2792 Fix Insertion Order For Reflexive DataObjects
CAY-2794 Fix Incorrect JavaType for Vertical-Inheritance Attributes
CAY-2796 Cayenne custom json formatter produces invalid json
CAY-2800 Modeler saves map.xml files with schema ordering error
CAY-2801 Incorrect equals() implementation in IdGenerationMarker could cause data missing in the commit
CAY-2804 LocalTimeValueType potential loss of precision
CAY-2806 Incorrect processing of unicode escape syntax in JSON
CAY-2809 Cayenne Expression grammar doesn't allow custom function as an argument for string functions
CAY-2810 Can't use custom operator expression with aggregate functions
CAY-2811 Incorrect SQL building using ColumnQuery with ASTScalar
CAY-2813 Regression: Constants.CI_PROPERTY flag is no longer working for MySQL
CAY-2815 Incorrect translation of aliased expression
CAY-2827 Saved data-source XML data doesn't correspond to the XSD schema
CAY-2838 Vertical Inheritance: Problem setting db attribute to null via flattened path
CAY-2840 Vertical Inheritance: Missing subclass attributes with joint prefetch
CAY-2841 Multi column ColumnSelect with SHARED_CACHE fails after 1st select
CAY-2844 Joint prefetch doesn't use ObjEntity qualifier
CAY-2842 Prevent duplicate select columns when using distinct with order by
CAY-2847 Improve duplicate select column detection when using order by
CAY-2848 Vertical Inheritance: Updating one-to-many with inverse nullifies other columns
CAY-2850 Query using Clob comparison with empty String fails
CAY-2851 Replace Existing OneToOne From New Object
CAY-2853 Incorrect deletion of entities from flattened attributes
CAY-2854 Improve delete prevention detection of flattened attribute row
CAY-2866 DefaultDataDomainFlushAction breaks on circular relationship update
CAY-2868 Regression: DefaultDbRowOpSorter shouldn't sort update operations
CAY-2869 Upgrade handler v11 removes db import configuration