| Apache Cayenne Release Notes |
| ============================ |
| |
| For the latest information visit project web site: |
| http://cayenne.apache.org/ |
| |
| To browse individual bug reports check out project issue tracker: |
| https://issues.apache.org/jira/browse/CAY |
| |
| ---------------------------------- |
| Release: 4.1.1 |
| Date: |
| ---------------------------------- |
| |
| Bug Fixes: |
| |
| CAY-2670 CommitLog does not include FKs for deleted objects with one-way relationships |
| CAY-2676 Degradation: Custom class generation templates are not working anymore |
| CAY-2677 Modeler: Custom Class Generation Templates for Embeddables and DataMaps |
| CAY-2678 Inheritance warnings caused by unnecessary MappingCache creations during initialization |
| CAY-2679 Unstable ordering of relationships in the .map.xml file |
| CAY-2681 Modeler: All selected checkboxes cause project to become dirty at initialization |
| CAY-2690 dbimport skips length changes for BINARY and VARBINARY columns |
| CAY-2691 MySQL driver 8.0.x stores LocalDateTime differently than 5.1.x |
| CAY-2698 EventSubject.getSubject() is not thread safe |
| CAY-2702 Modeler: Callbacks table has too small default width |
| CAY-2721 Platform builds of CayenneModeler don't work with Java 17 |
| |
| ---------------------------------- |
| Release: 4.1 |
| Date: July 14, 2020 |
| ---------------------------------- |
| |
| Bug Fixes: |
| |
| CAY-2642 EhCache memory leak due to misconfiguration |
| CAY-2643 ObjectSelect.prefetch(name, semantics) method creates a phantom node |
| CAY-2646 Wrong target path selection logic in cgen config |
| CAY-2647 Modeler: project upgrade from 4.0.B2 to 4.1.RC2 failure |
| CAY-2653 No methods for queries with qualifier parameters generated |
| CAY-2654 Exception in dbimport when relationships should be imported, but no explicit configuration exists |
| |
| ---------------------------------- |
| Release: 4.1.RC2 |
| Date: October 25, 2019 |
| ---------------------------------- |
| |
| Bug Fixes: |
| |
| CAY-2627 Modeler: ObjRelationship creation dialog ignores delete rule |
| CAY-2628 dbimport: unable to add several relationships to existing entity |
| CAY-2631 Can no longer use "byte[]" as root of scalar SQLSelect |
| CAY-2632 Modeler: issue saving cgen path for maven project |
| CAY-2633 Modeler: attribute sorting logic in cgen can corrupt model |
| CAY-2634 Minor inconsistencies in Modeler "DB Import" |
| CAY-2635 Lambda expressions break ROP serialization |
| |
| ---------------------------------- |
| Release: 4.1.RC1 |
| Date: October 3, 2019 |
| ---------------------------------- |
| |
| Changes/New Features: |
| CAY-2592 Modeler: make all datamaps selected in global cgen tab |
| CAY-2593 Add tableTypes field to dbImport config in dataMap |
| CAY-2611 Exclude system catalogs and schemas when run dbImport without config |
| |
| Bug Fixes: |
| |
| CAY-2417 Modeler: wrong title in attribute context menu |
| CAY-2553 Wrong disjoint prefetch query qualifier |
| CAY-2565 Can't use new generated PK properties with dot() operator |
| CAY-2573 DI field injection is triggered when creating sql Driver |
| CAY-2580 Cgen: Can't use custom templates for client mode |
| CAY-2582 Double insert of manyToMany relationship mapped to Set |
| CAY-2584 Crypto: can't use ColumnSelect with encrypted columns |
| CAY-2586 Char can't be materialized to EnumType in some cases |
| CAY-2591 Modeler: project becomes dirty after click on dbImport or cgen tab |
| CAY-2594 DbImport: AutoAdapter resolving inside an import operation hangs up the op on Hana DB |
| CAY-2595 ObjAttributes are not sorted in alphabetical ordering on save |
| CAY-2596 DbImport xml config changes after dbImport plugin task execution |
| CAY-2600 Modeler DbImport: Can't retrieve schema for databases with no catalog support |
| CAY-2601 Modeler DbImport: result dialog issues |
| CAY-2603 NPE reloading project in the model |
| CAY-2605 Modeler: Unable to save - java.nio.file.InvalidPathException |
| CAY-2606 Can't resolve obj path with embeddable component |
| CAY-2608 Modeler: NPE when reverse engineering with an auto-adapter DataSource |
| CAY-2609 Modeler: can't close dbImport result dialog window |
| CAY-2614 Modeler: Connection test result window shown under other windows |
| CAY-2616 Modeler: Wrong handling of path with spaces |
| CAY-2618 Unstable property ordering in generated classes |
| CAY-2619 "to-dep PK" related dbimport delta confuses the Modeler |
| CAY-2624 SelectQuery "having" qualifier is not considered when calculating cache key |
| |
| ---------------------------------- |
| Release: 4.1.B2 |
| Date: May 4, 2019 |
| ---------------------------------- |
| |
| Changes: |
| |
| CAY-2570 Use MySQL adapter for latest versions of MariaDB |
| |
| Bug Fixes: |
| |
| CAY-2506 Java class generated for Embeddable object is not serializable |
| CAY-2538 Modeler: dbImport configuration unclear behavior |
| CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute table |
| CAY-2559 Modeler: Warning dialog shows wrong information after changing target entity in dbRelationship |
| CAY-2561 Modeler: cgen type combobox doesn't set templates |
| CAY-2564 No import for Property after generation classes with pk properties |
| CAY-2566 Flush action generates update for PK attribute in case of toDepPK relationship |
| CAY-2568 Class Generation: Superclass Package setting persistence |
| CAY-2569 Custom 'Naming Strategy' in Cayenne Modeler |
| CAY-2572 Queries are not sorted by name in data map XML |
| |
| ---------------------------------- |
| Release: 4.1.B1 |
| Date: March 7, 2019 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2446 Run Disjoint By Id queries outside of synchronized block |
| CAY-2447 Crypto support for LocalDateTime |
| CAY-2471 Support multiple XML project versions |
| CAY-2473 Modeler: cleanup attributes and relationship editors |
| CAY-2474 Modeler: swap buttons in dialog toolbar |
| CAY-2475 Modeler: move inheritance icon to name column in objAttr table and objRel table |
| CAY-2478 cgen: Generate properties for PK |
| CAY-2481 Support for Object[] as return type in SQLTemplate and SQLExec |
| CAY-2485 Compact Slf4j Logger |
| CAY-2487 Removed usage of CayenneException. |
| CAY-2489 Add validation to the case of not to PK relationships |
| CAY-2491 Remaster Db Import View |
| CAY-2493 Save cgen configuration with datamap XML |
| CAY-2494 Rename dbImport tag from 'config' to 'dbImport' |
| CAY-2499 Support for COUNT(DISTINCT(column)) function aggregate |
| CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false |
| CAY-2517 EventManager: optimization of adding listeners |
| |
| Bug Fixes: |
| |
| CAY-2320 Modeler: Limit input into numeric fields to 10 digits |
| CAY-2444 Change URI from http:// to https:// in xsi:schemaLocation |
| CAY-2445 Oracle: Problem with ExpressionFactory.notInExp() |
| CAY-2449 Modeler: Needless scrollbar in Generate DB Schema result menu |
| CAY-2450 Modeler: Impossible to update Attribute title after syncing ObjEntity |
| CAY-2451 Modeler: ObjEntity "Edit" button doesn't open editor for Relationship |
| CAY-2454 Modeler: Unable to read validation message if it's truncated |
| CAY-2455 Modeler: The width of the pop-up window is very large |
| CAY-2459 Modeler: DataMap paste function is not working |
| CAY-2462 Modeler: Clipboard holds old content after application was reloaded |
| CAY-2463 Modeler: DB Schema generation doesn't work |
| CAY-2464 ClassCastException when returning PRUNED_NODE in expression transformer |
| CAY-2470 Can't bind SQLExec parameters in a loop |
| CAY-2472 Clear cached replacement query on mutation in all indirect queries |
| CAY-2476 Modeller: Fixed wrong behaviour of code generation dialog |
| CAY-2480 cayenne:cdbgen and cayenne:cgen have identical text in cayenne-maven-plugin |
| CAY-2484 maven plugins missing in 4.1.M2 release |
| CAY-2490 Added dbEntities from other datamaps in dbRelationship dialog. |
| CAY-2496 Fixed wrong table behavior: focus color, cleanup DBAttribute Path cell on select. |
| CAY-2497 Modeler: SQL Scripts tab isn't scrollable |
| CAY-2501 Modeler: DbImport ui not loading columns for MySQL connector v8.0 |
| CAY-2502 DataMap in DataNode tree view disappears after dbImport |
| CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory |
| CAY-2505 EventBridge providers should be bound without scope |
| CAY-2521 Expression without Object ID disjoint issue |
| CAY-2530 DB Import and Class Generation from Project is performed for removed datamaps |
| CAY-2531 Importing same schema after Import Revert clears all entities in datamap |
| CAY-2533 Modeler: Exception on validating ObjRelationship without db path |
| CAY-2535 Imposible to import stored proceedure apart from db tables |
| CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden |
| CAY-2544 Possible name clash of ivar and property name in generated class |
| CAY-2547 CayenneDataObject serialization issue |
| |
| ---------------------------------- |
| Release: 4.1.M2 |
| Date: July 11, 2018 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-1683 Injectable PkGenerator |
| CAY-2304 Custom ClassLoader for Maven and Gradle plugins that use project dependencies |
| CAY-2334 cgen: option to force run from maven/gradle |
| CAY-2337 Save reverse engineering configuration with datamap XML |
| CAY-2372 Extract new modules from cayenne-server |
| CAY-2377 Cleanup deprecated code. |
| CAY-2391 cdbimport: add option to skip user-defined relationships |
| CAY-2393 Add sqlserver-docker profile to automate tests on SQLServer |
| CAY-2394 Upgrade to Apache Velocity 2.0 |
| CAY-2395 cdbimport: add option to create project file |
| CAY-2396 Upgrade maven-assembly-plugin to 3.1.0 |
| CAY-2398 Deprecate cayenne-joda |
| CAY-2400 Deprecate cayenne-dbcp2 |
| CAY-2403 Extract eventbridges to top level |
| CAY-2404 Move itests to maven-plugins |
| CAY-2406 Add prefetch-related API to SQLSelect |
| CAY-2407 Modeler: add prefetch support for the SQLTemplate query |
| CAY-2410 Add prefetch type support for SQLTemplate query and SelectQuery |
| CAY-2414 Modeler: new icon design |
| CAY-2415 Transaction isolation and propagation support |
| CAY-2416 Change TreeMap for HashMap to store data in Cayenne model classes |
| CAY-2422 Modeler: Open driver setup window on driver load error |
| CAY-2438 Split DataChannel filter into two independent filters |
| CAY-2440 cdbimport: allow cross-schema relationships |
| CAY-2443 Make SqlTemplate and SqlExec possible to return generated keys |
| |
| Bug Fixes: |
| |
| CAY-2282 Various Update Issues With Vertical Inheritance |
| CAY-2370 ValueObjectType for byte[] fails lookup |
| CAY-2380 ReferenceMap should not store or return null values |
| CAY-2381 cgen: meaningful PK with boxed type ends up with primitive type in generated source |
| CAY-2382 Lack of synchronization in DataContext serialization |
| CAY-2387 Can't select byte[] property with ColumnSelect |
| CAY-2388 Modeler: Visualization issues with undo/redo actions for attributes and relationships |
| CAY-2389 DbEntity qualifier with DbPath expression translates into wrong SQL |
| CAY-2392 Modeler: Unable to remove DataNode |
| CAY-2397 Modeler: Unable to set enum:value as Entity qualifier |
| CAY-2401 Modeler: NPE in ObjEntity sync action |
| CAY-2405 Broken prefetch of entity with inheritance and attribute with custom java type |
| CAY-2408 Cayenne JDK 10 compatibility |
| CAY-2411 Wrong resolution of ExtendedType with ValueObjectType for inherited class |
| CAY-2418 Modeler: unable to edit entity selected via Search |
| CAY-2419 Modeler: Not changing highlight on selecting search results within one entity |
| CAY-2420 Modeler: search is not performed for Stored Procedures |
| CAY-2425 Modeler: Migrate DB Direction field is locked if no option was selected in dropdown list |
| CAY-2427 Modeler: Undo throws exception |
| CAY-2429 Generate classes: Invalid template type: EMBEDDABLE_SINGLE_CLASS |
| CAY-2430 Modeler: Redo throws NPE |
| CAY-2435 cdbimport: procedure parameters are not imported |
| CAY-2436 NPE in CayenneRuntimeException constructor |
| CAY-2439 Modeler: Error deleting dbEntity when show only dbEntities filter is set |
| CAY-2442 Broken EventBridge providers implementations |
| |
| ---------------------------------- |
| Release: 4.1.M1 |
| Date: October 14, 2017 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2152 Redesign project file upgrade system |
| CAY-2329 Update project dependencies |
| CAY-2330 Field based data objects |
| CAY-2335 New XML loading/saving mechanics with support of plugable handlers |
| CAY-2336 Support for comments in Modeler |
| CAY-2339 Compatibility module to support old versions of projects at runtime |
| CAY-2344 Modeler: Save ER-Graph and class diagram |
| CAY-2345 Own template renderer as a replacement for Velocity |
| CAY-2346 Field-based data object with Map-based storage fallback |
| CAY-2351 Remove commons-collections usage completely |
| |
| Bug Fixes: |
| |
| CAY-2312 Modeler: Undo does not work for checkboxes |
| CAY-2318 Modeler: Query. Exception after Undo clicking |
| CAY-2319 Modeler: Embeddable > Attributes. Undo does not cancel pasted objects |
| CAY-2321 cdbimport: Reverse relationship is not created after adding and rev engineeering new db table |
| CAY-2323 Modeler: Graph. No warning while saving the image with existing name |
| CAY-2331 cgen: broken templates for data map |
| CAY-2347 cdbimport: can't get all relationships on the first pass |
| CAY-2349 Cache issue: 'SelectQuery' with prefetches loses relationships |
| CAY-2350 Expression: NotIn with empty collection returns empty result |
| CAY-2353 Broken paginated column select with only one entity in the result |
| CAY-2354 DbGenerator.runGenerator must commit its connection |
| CAY-2356 EJBQL: Incorrect COUNT() on outer joined table |
| CAY-2357 Generic select queries silently convert result to nulls if no PK column found |
| CAY-2358 NPE when callbacks invoked on null objects |
| CAY-2359 EJBQL: db path in not supported in ORDER BY |
| CAY-2361 PostgreSQL DbGenerator issues |
| CAY-2362 ColumnSelect: unable to use Property without type |
| CAY-2363 ColumnSelect: unable to use from nested context |
| CAY-2364 Wrong logging in SQLTemplate |
| CAY-2365 SQLExec query tries to convert (unexpected) result set into objects |
| CAY-2366 Incorrect EJBQL COUNT translation |
| CAY-2367 ClassCastException reading object with an attribute of type 'char' |
| CAY-2368 ColumnSelect: Property.self() translates into wrong SQL code |
| |
| ---------------------------------- |
| Release: 4.0.B1 |
| Date: June 12, 2017 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-1873 Move DataDomain cache configuration from the Modeler and into DI |
| CAY-1891 Modeler: Add To-Many Warning |
| CAY-1892 Modeler: Add Relationship Data Type Warning |
| CAY-2057 Modeler: Clean up OS X version |
| CAY-2109 cayenne-crypto: add value authentication (HMAC) |
| CAY-2210 Query cache: incorrect cache key for queries with custom value objects |
| CAY-2255 ObjectSelect improvement: columns as full entities |
| CAY-2258 DI: type-safe binding of List and Map |
| CAY-2259 QueryCache: support for referencing type-safe caches |
| CAY-2261 Replace NamedQuery with MappedXYZ in *datamap.vm |
| CAY-2262 Module auto-loading |
| CAY-2266 Move EventBridge implementations into autoloadable modules |
| CAY-2267 Contribute lifecycle events listeners via DI |
| CAY-2268 DI: Refactor ListBuilder API ambiguities for before() / after() bindings |
| CAY-2269 Add support for date/time components extraction in expression functions |
| CAY-2270 Update function support in expression parser |
| CAY-2271 ColumnSelect: support for prefetch and limit |
| CAY-2272 ColumnSelect: methods to manually control DISTINCT clause |
| CAY-2274 Modeler: Validate case when dependent PK is marked as “generated” |
| CAY-2277 Create ClientRuntime with ClientRuntimeBuilder just like ServerRuntime |
| CAY-2278 Extract cayenne-postcommit module from cayenne-lifecycle |
| CAY-2280 Switch from commons-logging to slf4j |
| CAY-2295 "Sync ObjEntity with DbEntity" and "View related DbEntity" buttons aren't disabled, if DbEntity doesn't have ObjEntity |
| CAY-2296 cayenne-crypto: Get java type for DbAttribute bound to ObjAttributes with the same type |
| CAY-2300 Modeler: New icons and design improvements |
| CAY-2302 Rename postcommit module and its content to commitlog |
| |
| Bug Fixes: |
| |
| CAY-2021 cdbimport: detect when same FK constraint is defined twice |
| CAY-2077 Bug in CayenneRuntimeException using wrong specified string in Formatter |
| CAY-2094 SelectById query doesn't work from ROP client |
| CAY-2161 'Not for Client Use' option is ignored at Class Generation |
| CAY-2171 Modeler: Undo db Entity Sync throws error |
| CAY-2208 SQLTemplate: LEFT JOIN to a subset of a table returns nulls for entries that don't have a match in the subset |
| CAY-2230 Error using connection to postgresql with db schema in DB URL |
| CAY-2240 Modeler: issue with cursor rendering for EJBQL query |
| CAY-2243 ObjectContext.getGraphManager().unregisterObject() inconsistencies |
| CAY-2250 Remove: Incorrect text in Confirm Remove message when cursor is set on attribute row |
| CAY-2256 Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship (see also CAY-2146) |
| CAY-2265 ServerRuntime.builder() fails to set default runtime name when a the project file doesn't follow recognized pattern |
| CAY-2273 Modeler: default suggested cgen location is rooted in subpackage |
| CAY-2275 Documentation: tutorial is out of sync with 4.0.M5 version |
| CAY-2276 PrePersist listener registered as PostPersist in LifecycleCallbackRegistry.addListener(Class<?>, LifecycleListener) |
| CAY-2279 cdbimport: skip PK comparison for VIEWs |
| CAY-2281 ObjEntity attribute overrides are never deleted |
| CAY-2284 Expression likeIgnoreCase can't handle unicode chars in in-memory evaluation |
| CAY-2286 Filter out inherited ObjEntities from sync with DbEntity |
| CAY-2326 DI: can't override List/Map elements from another Module |
| |
| ---------------------------------- |
| Release: 4.0.M5 |
| Date: March 6, 2017 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2139 Upgrade HSQLDB dependency to the most recent version (2.3.4) |
| CAY-2150 Refactoring: ParameterBinding to contain ExtendedType property |
| CAY-2163 Property.path() , ExpressionFactory.pathExp() |
| CAY-2164 Relocate builder bootstrap methods from ServerRuntimeBuilder to ServerRuntime |
| CAY-2165 Explicit "contribution" API for easier expansion of DI collections and maps |
| CAY-2166 Auto-loading of Cayenne modules |
| CAY-2168 Split DbLoader to parts and clean it up |
| CAY-2169 Split DbMerger to parts and clean it up |
| CAY-2170 MergeToken sorting is highly unstable |
| CAY-2172 Cleanup Modeler import and migrate db actions |
| CAY-2176 Java 7 diamond class generation templates |
| CAY-2177 Sync auto generated state of PK between model and DB |
| CAY-2187 Support for the scalar and aggregate SQL functions in ObjectSelect API |
| CAY-2197 Update sqlite version and enable in-memory default config |
| CAY-2212 cdbimport cleanup and configuration schema refactoring |
| CAY-2223 JCacheQueryCache - a query cache provider to plug in JCache implementers |
| CAY-2225 Extensible CacheInvalidationFilter logic |
| CAY-2228 Deprecate multiple cache groups in caching and query API |
| CAY-2231 Support for collections in new functional expressions and old math expressions |
| CAY-2232 Proper conversion to String for new functional expressions |
| CAY-2235 Deprecate Query.getDataMap() method |
| |
| Bug Fixes: |
| |
| CAY-2032 SelectAction: DistinctResultIterator ignores flattened relationships |
| CAY-2137 When generating SQL from EJBQL, use "AND" to separate multiple join conditions |
| CAY-2174 Change FK attribute name cause ObjAttribute appear after Reverse Engineering |
| CAY-2175 AliasName used in EJBQLQuery is not working if it contains mixed case |
| CAY-2183 Newly created DbRelationship is unexpectedly renamed by the Modeler |
| CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" |
| CAY-2207 Modeler: "Java Type" and "DbAttribute Path" are not saved with using TAB to move forward |
| CAY-2221 In-memory expression evaluation gives different result than select query |
| CAY-2236 Modeler Migrate DB Schema: unable to Reverse All Operations |
| CAY-2238 Modeler: Preserve manually set DbRelationship name when syncing with ObjEntity |
| CAY-2242 Vertical Inheritance: Cannot Insert Record For Implementing Class with Attribute And Relationship |
| |
| ---------------------------------- |
| Release: 4.0.M4 |
| Date: December 13, 2016 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2051 Applying new Reverse Engineering to the Modeler |
| CAY-2053 SQLExec fluent query API |
| CAY-2060 Replace Query objects in DataMap with query descriptors |
| CAY-2062 MappedSelect and MappedExec fluent query API |
| CAY-2063 ProcedureCall fluent query API |
| CAY-2065 Pluggable serialization and connectivity layers for ROP |
| CAY-2073 Ordering.orderedList methods |
| CAY-2074 Support for catalogs in stored procedures |
| CAY-2076 Implement Jetty HTTP/1.1 and HTTP/2 Client support for ROP Client |
| CAY-2083 Implement Protostuff as serialization service for Cayenne ROP |
| CAY-2090 Untangle HttpRemoteService from ServiceContext thread local setup |
| CAY-2100 Add supporting generated keys for PostgreSQL |
| CAY-2102 EJBQL: db: path not supported in select columns |
| CAY-2103 cayenne-crypto: support for mapping non-String and non-binary types |
| CAY-2106 cayenne-crypto: allow DI contribution of type converters inside ValueTransformerFactory |
| CAY-2107 cayenne-crypto: Lazy initialization of crypto subsystem |
| CAY-2111 Unbind transaction object from the current thread for iterated queries |
| CAY-2112 Expose callback for "performInTransaction" |
| CAY-2113 cdbimport: Reverse-engineering reinstates previously ignored columns |
| CAY-2114 cdbimport: object layer settings are not respected |
| CAY-2115 DbLoader - allow loading DataMap without Obj layer |
| CAY-2116 Split schema synchronization code in a separate module |
| CAY-2118 cdbimport: drop support for the old style of table filtering |
| CAY-2129 Modeler: reengineer dialog improvements |
| CAY-2130 Stripping common name prefixes on reverse engineering |
| CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in limited queries |
| CAY-2133 ObjectNameGenerator refactoring - unifying relationship name generation |
| CAY-2135 cdbimport: reset DbEntity catalogs / schemas to DataMap defaults |
| CAY-2136 Allow Ordering.orderedList(…) methods to accept a Collection rather than only a List |
| CAY-2160 Modeler: new welcome screen |
| CAY-2222 MySQLAdapter should not create indexes on FK columns |
| |
| Bug Fixes: |
| |
| CAY-2016 cdbimport: Rename table with toMany relationship causes migration error |
| CAY-2064 Issue with BeanAccessor for classes with complex inheritance |
| CAY-2066 Fixes for inner enums handling in ExtendedTypeMap |
| CAY-2067 Cayenne 4.0 connection pool is occasionally running out of connections |
| CAY-2070 Modeler sync function adds extraneous ObjRelationships inside the class hierarchy |
| CAY-2078 Client code gen bug. Unnecessary DataMap class generation setting datamap gen to false. |
| CAY-2080 Cayenne doesn't pick up reverse engineering file changes |
| CAY-2084 ObjectIdQuery - no cache access polymorphism |
| CAY-2086 SelectById.selectFirst stack overflow |
| CAY-2087 PostCommitFilter is confused about changes made by Pre* listeners |
| CAY-2089 HTTP connections aren't always closed in new ROP implementation |
| CAY-2097 NullPointerException while updating relationships for entities with vertical inheritance |
| CAY-2101 DataContext.currentSnapshot() doesn't set snapshot entity name |
| CAY-2105 Add missing elements to the reverseEngineering.xsd |
| CAY-2108 cayenne-di: StackOverflow for decorator that takes Provider of the delegate |
| CAY-2110 Obfuscated exception when processing iterated results |
| CAY-2119 ProjectUpgrader test failure (Windows) |
| CAY-2122 Vertical Inheritance: Cannot Insert Record For Implementing Class with Attribute And Relationship |
| CAY-2125 SchemaUpdateStrategy doesn't work with multiple DataNodes |
| CAY-2126 Modeler cannot upgrade project from v7 to v9 |
| CAY-2128 Modeler stored procedures are not imported |
| CAY-2131 Modeler NullPointerException in reverse engineering when importing different catalogs in one datamap |
| CAY-2138 NVARCHAR, LONGNVARCHAR and NCLOB types are missing from Firebird types.xml |
| CAY-2141 Disjoint-by-id prefetch generates repeating ID conditions |
| CAY-2143 NPE in BaseSchemaUpdateStrategy |
| CAY-2144 cdbimport always fails for databases which don't support catalogs |
| CAY-2146 Vertical inheritance: record still inserted into parent db table when child validation fails |
| CAY-2148 Failure upgrading from 3.1 to M4 |
| CAY-2150 UI bug: PK generation custom sequence is getting reset |
| CAY-2151 Migrate Database Schema: issue when no db is specified |
| CAY-2153 Modeler Exception in save action after reverse engineering some complex DB schema |
| CAY-2154 Migrate db: queries order |
| CAY-2226 PK generation for Frontbase: PK cache size must be ignored |
| |
| ---------------------------------- |
| Release: 4.0.M3 |
| Date: February 12, 2016 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-1626 Add JodaTime DateTime support |
| CAY-1902 Implement resolving Db paths for DataObjects |
| CAY-1991 More control over generated String property names |
| CAY-1992 Allow to exclude DataMap java class from Modeler class generation |
| CAY-1995 Add support for iterators to Select |
| CAY-2001 Saving a display state of Project |
| CAY-2004 EJBQL: Support for ordering on aggregate expressions |
| CAY-2007 Refactoring SelectTranslator for better extensibility |
| CAY-2008 Connection pool refactoring and validation query support in Cayenne DataSource |
| CAY-2009 Non-blocking connection pool |
| CAY-2010 DataSourceBuilder to help users create pooling and non-pooling DataSources |
| CAY-2011 Support for Java 8 date and time types |
| CAY-2012 ObjectSelect, SelectById: eliminating methods that reset query state |
| CAY-2013 In-memory evaluation of DB expressions - non-id attributes |
| CAY-2023 Decouple the use of ResourceLocator |
| CAY-2025 Support for DBCP2 |
| CAY-2026 Java 7 |
| CAY-2027 Support for Expression outer join syntax in EJBQL |
| CAY-2028 Wrap DataChannelFilter calls in the main transaction |
| CAY-2029 Allow out-of-order insertion into DI lists |
| CAY-2030 Capturing a stream of commit changes |
| CAY-2035 Autobind items added to collections (Cayenne DI) |
| CAY-2042 Remove an arbitrary limitation on 1000 runtime DbRelationships |
| CAY-2043 ServerRuntimeBuilder: use DataDomain name for the default DataNode |
| CAY-2044 Collection setter for to-many relationships |
| CAY-2045 Add autosuggestion fields to choose attributes and relationships |
| |
| Bug Fixes: |
| |
| CAY-1977 Cleanup Modeler reverse engineering functionality |
| CAY-1987 Widen types before performing in-memory evaluation of qualifiers using j.l.Number subclasses |
| CAY-1990 Incorrect display of the raw SQL query in Modeler |
| CAY-1993 Reverse Engineering does not work with PostgreSQL database |
| CAY-1994 Modeler Migration Tool Shows No Changes |
| CAY-1997 Difference in NULL handling inside the path between PropertyUtils and DataObject.readNestedProperty |
| CAY-1998 Speeding up PropertyUtils |
| CAY-1999 Unneeded Property import for superclasses with no properties |
| CAY-2003 cdbimport doesn't work properly with several includeTable tags |
| CAY-2015 Joint prefetches combined with DisjointById prefetches return null incorrectly |
| CAY-2020 typo: correction to upper alpha range in Rot13PasswordEncoder |
| CAY-2041 "cayenne.jdbc.max_connections" and "cayenne.jdbc.min_connections" command line options are ignored |
| CAY-2047 Relationship mapping with target inheritance |
| CAY-2049 Changing the Relationship name in ObjRelationship Inspector has no effect |
| |
| ---------------------------------- |
| Release: 4.0.M2 |
| Date: March 18, 2015 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-1267 Some changes to LogDialog |
| CAY-1826 Merge Entity Attributes and Relationships tabs together with one toolbar. |
| CAY-1839 Allow to link DataMaps to DataNodes from DataNode editor. |
| CAY-1841 Filters for Left-hand project navigator |
| CAY-1842 Remove Listeners support from the Modeler |
| CAY-1843 DataMap v7: Stop saving listeners in DataMap, add upgrade handler |
| CAY-1845 Upgrade javadoc plugin to 2.9.1 |
| CAY-1846 Reworking of callback mapping |
| CAY-1847 Make ConverterFactory extensible |
| CAY-1848 New method: ObjectContext.selectOne(Select query) |
| CAY-1851 Generate default serialVersionUID for generated java classes to avoid eclipse warnings |
| CAY-1852 Straighten thread model and synchronization in the Modeler |
| CAY-1855 Iterated and paginated queries must print result counts |
| CAY-1856 Expression.expWithParameters does not work when parameters are placed in the inline collection |
| CAY-1860 In-memory matching of DataObjects against ObjectId or int |
| CAY-1861 Remove runtime relationships |
| CAY-1870 cgen - smarter default for 'superPkg' and 'destDir' |
| CAY-1882 Porting to OSGi environment |
| CAY-1883 Clean up Cayenne maven structure |
| CAY-1886 cayenne-di module reorg, new exceptions |
| CAY-1890 Remove Cayenne-level buffering when retrieving LOBs |
| CAY-1894 Support native PK generation using sequences for H2 databases |
| CAY-1899 ServerRuntimeBuilder |
| CAY-1900 Allow DataNode name to be used as a root of SQLTemplate |
| CAY-1901 Config-free ServerRuntime |
| CAY-1904 Simple injection-friendly constructor for AuditableFilter |
| CAY-1907 RowReaderFactory |
| CAY-1908 Refactor all SQLActions to work with DataNode |
| CAY-1911 BatchQuery refactoring - make Iterable |
| CAY-1912 BatchQueryBuilder refactoring |
| CAY-1913 Refactor org.apache.cayenne.access.trans into query-specific packages |
| CAY-1914 Refactor EJBQL-related translators to a standalone 'org.apache.cayenne.access.translator.ejbql' package |
| CAY-1915 BatchTranslator instead of performing bindings should return binding object whose values can be altered |
| CAY-1916 cayenne-crypto module that enables data encryption for certain model attributes |
| CAY-1918 Replace Oracle LOB hacks with JDBC 4.0 API |
| CAY-1919 Split DataNode creation into a separate DataNodeFactory |
| CAY-1920 DI: add support for decorators |
| CAY-1921 Support for schema selection in 'Migrate Database Schema' |
| CAY-1923 Optimize BatchTranslator - use fixed size array of BatchParameterBinding |
| CAY-1925 cayenne-crypto: add optional compression to the encryption pipeline |
| CAY-1928 Second INNER join generated for OUTER flattended relationships in disjoint prefetches |
| CAY-1929 Property.outer method to build OUTER join properties |
| CAY-1932 Improved Handling for Scalar Parameters Converting Expressions to EJBQL |
| CAY-1933 Problems in Evaluating EJBQL Statements with Integral Literals > Integer.MAX_VALUE |
| CAY-1934 A problem exists where the escape character is not conveyed in the EJBQL when toEJBQL() is invoked on the expression. |
| CAY-1936 ServerRuntime.getDataSource() returning DataSource of a default DataNode |
| CAY-1937 Make Transaction an interface |
| CAY-1938 Create a DI factory for transactions, get rid of TransactionDelegate and modeler config for tx policies |
| CAY-1939 DataDomain must use injectable TransactionManager |
| CAY-1946 CDbimport improvements |
| CAY-1949 Search in configuration fields (Catalog, Schema) in DbEntity |
| CAY-1952 Undeprecate (actually restore) ObjectContext.deleteObject(..) |
| CAY-1953 Redo ResultIteratorCallback to handle single row callback instead of iterator |
| CAY-1954 Make Cayenne class constructor protected |
| CAY-1958 SelectById - a new full-featured select query to get objects by id |
| CAY-1959 ObjectSelect query - a fluent API alternative to SelectQuery |
| CAY-1960 ExpressionFactory.exp(..) , and(..), or(..) |
| CAY-1962 Implement CayenneTable column resize on double-click on the header separator |
| CAY-1965 Change version from 3.2 to 4.0 |
| CAY-1966 SQLTemplate/SQLSelect positional parameter binding |
| CAY-1967 Deprecate SQLTemplate parameter batches |
| CAY-1968 SQLSelect cleanup and omissions |
| CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..) |
| CAY-1972 A property to override DataSources of multi-module projects |
| CAY-1981 Add support of JDBC 4.0 N-types (nchar, nvarchar, longnvarchar, nclob) |
| CAY-1984 cdbimport doesn't flatten many to many relationships |
| |
| Bug Fixes: |
| |
| CAy-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked |
| CAY-1480 Implement cross-db functional expressions |
| CAY-1695 Unexpected null value in bidirectional one-to-one prefetch |
| CAY-1736 IllegalArgumentException when synchronizing entities in the Modeler |
| CAY-1795 "Invisible" ObjAttribute in subclass |
| CAY-1796 ROP: All entity's to-many relationships getting faulted from database when using it as a parameter in qualifier expression |
| CAY-1797 NPE importing DataMap |
| CAY-1798 ROP: Reverse relationships of prefetched entity objects are not filled during server to client objects conversion |
| CAY-1799 ROP: Server can't deserialize LIKE expression with pattern already compiled |
| CAY-1818 Fix copyright year in the Modeler "about" panel |
| CAY-1834 Exception: ToManyList cannot be cast to DataObject |
| CAY-1857 Problem with hotkeys |
| CAY-1859 NullPointerException when importing EOModel |
| CAY-1863 Make determining whether a particular database type supports length adapter-specific not universal |
| CAY-1866 Change in General Modeler Preferences reverts old settings to default value |
| CAY-1868 Select contention with multiple contexts |
| CAY-1869 ResultIterator from cayenne-client dependency is subclassed from org.apache.cayenne.access.ResultIterator which is present only in cayenne-server dependency |
| CAY-1874 DB2 Procedure action ignores the first result set |
| CAY-1877 In-memory evaluation of expression may fail with UnsupportedOpeartionException depending on order of nodes |
| CAY-1880 objectStore snapshots never cleared from RefreshQuery when "use shared cache" unchecked |
| CAY-1881 CayenneModeler (Mac version) doesn't work with Java 7 |
| CAY-1885 Null value in subclass's field. |
| CAY-1905 Multi-step prefetching NPE : 1..N..1 with absent N and root with no qualifier |
| CAY-1943 XML file not deleted when a DataMap is deleted from the project |
| CAY-1961 Fix RemoveAction for DataMaps in ProjectTree |
| CAY-1964 Fix convertAdditionalDataMaps() in CayenneGeneratorMojo.java |
| CAY-1973 error while generating classes |
| CAY-1974 Copy/Paste DbEntiry throws exception |
| CAY-1978 ESCAPE clause should be included in LIKE parenthesis |
| CAY-1979 Prefetches on Many-to-Many Relationships with Longvarchar |
| CAY-1980 'mvn cayenne-modeler:run' seems to be broken in 4.0 |
| |
| ---------------------------------- |
| Release: 3.2M1 |
| Date: July 19, 2013 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-1294 Generify query |
| CAY-1646 Synchronize tabs in Modeler between ObjEntity and DbEntity editor panes |
| CAY-1647 Easily switch to/from ObjEntity and DbEntity in Modeler |
| CAY-1717 [PATCH] Implement JDBC compatibility layer methods |
| CAY-1718 Remove everything deprecated in 3.1 |
| CAY-1724 Add 'Property' class for easier and better Expression creation |
| CAY-1726 Expression parser support for bit operators, support for << and >> |
| CAY-1737 ObjectContexts listening to DataChannel events must be non-blocking |
| CAY-1748 IdCoder/EntityIdCoder improvements to work with ObjectIds, including temp ones |
| CAY-1753 remove light-superclass.vm class template |
| CAY-1754 Modeler suggested URL for SQLServer should start with 'jdbc:sqlserver:' instead of 'jdbc:microsoft:sqlserver:' |
| CAY-1758 cdbimport improvements |
| CAY-1759 cdbimport improvements: add 'catalog', rename 'schemaName' to 'schema' |
| CAY-1760 cdbimport improvements: Default adapter (if none specified) must be AutoAdapter, not JdbcAdapter |
| CAY-1761 cdbimport improvements: DbLoader must reverse engineer PK auto-increment state. |
| CAY-1762 cdbimport improvements: Support for "defaultPackage" parameter, as the new DataMaps ends up placing entities in the root package |
| CAY-1763 cdbimport improvements: specified "schema" should become the default schema of the generated DataMap |
| CAY-1764 cdbimport improvements: "overwrite" flag |
| CAY-1765 cdbimport improvements: add excludeTables/includeTables parameters |
| CAY-1766 Deprecating DataPort ant task |
| CAY-1768 cdbimport improvements: DataMap "project-version" attribute is skipped when DM is saved |
| CAY-1769 cdbimport improvements: meaningfulPk flag must be turned into a pattern |
| CAY-1771 cdbimport improvements: "usePrimitives" flag |
| CAY-1772 Real support for DbEntity catalogs |
| CAY-1778 TransactionManager to simplify user-managed transactions |
| CAY-1779 Flatten object entities for many to many relationships on reverse engineering |
| CAY-1781 Add StatelessContextRequestHandler as an alternative to the Session-based one |
| CAY-1785 SelectQuery<T> for DataRows |
| CAY-1789 Lock-free EntityResolver |
| CAY-1792 [PATCH] Supply additional factory methods for generic SelectQueries |
| CAY-1803 Optimize Expression conversion to String and EJBQL |
| CAY-1809 Remove 'final' modifier from Cayenne, HessianUtil, PropertyComparator, ConversionUtil, and LinkedDeque |
| CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns |
| CAY-1814 Support Property.nin |
| CAY-1819 When adding a filter, auto-register it as a listener |
| CAY-1820 DataDomain.addListener(Object) - a shortcut for adding annotated listeners |
| CAY-1821 AuditableFilter and friends should explicitly work with Persistent instead of Object |
| CAY-1822 Make DataMap editor fields wider |
| CAY-1823 remove ":sync w/DbEntity" button from ObjEntity - it is redundant and already present on the entity toolbar. |
| CAY-1825 Simplify API for setting up query caching |
| CAY-1828 SQLSelect - generics friendly fluent selecting sql query |
| CAY-1829 Make ResultIterator implement Iterable<T>, create ObjectContext.iterate method |
| CAY-1836 Firebird Adapter |
| CAY-1838 Deprecate EntityResolver.indexedByClassProperty |
| CAY-1840 Conditionally log slow / long-running queries |
| CAY-1844 Configuration for maximum time to wait for an available DB connection |
| CAY-1862 MySQL - allow specifying a length for TIMESTAMP and TIME columns |
| |
| Bug Fixes: |
| |
| CAY-957 Deadlock in nested contexts |
| CAY-1522 EJBQL query don't support quotes |
| CAY-1677 Modeler: text fields discard input unless you press enter |
| CAY-1701 Modeler cannot undo pasting of obj (db) entity |
| CAY-1708 Modeler error when pasting datamap with EJBQL query |
| CAY-1714 ROP: Cayenne tries to build a query for non committed object when using more than 2 nested contexts |
| CAY-1721 Writing blobs fails (Oracle) |
| CAY-1725 NullPointerException from call to removeToManyTarget |
| CAY-1719 Modeler - Obj Attribute Java Type editor won't focus sometimes |
| CAY-1727 Modeler thinks entity is using inheritance when it doesn't |
| CAY-1729 PersistentDescriptor must have predictable property iteration order |
| CAY-1738 Tutorial cayenne-rop-server should be packaged as a war |
| CAY-1739 Cayenne ROP server resets session on every request if BASIC auth is used |
| CAY-1742 ObjRelationship inspector says "ObjAttribute Inspector" |
| CAY-1744 Unexpected read-only relationships in vertical inheritance mapping |
| CAY-1749 NPE on simple nested context commit |
| CAY-1755 FaultFailureException resolving relationships to UNIQUE non-PK columns |
| CAY-1757 ROP: Faulting entity relationship resets uncommitted modifications made to its reverse relationship |
| CAY-1774 EhCacheQueryCache.get(QueryMetadata, QueryCacheEntryFactory) returns null if EhCache instance for group is not present |
| CAY-1780 cdbimport do not create xml file in resource folder |
| CAY-1782 Deadlock when performing many concurrent inserts |
| CAY-1783 JdbcPkGenerator.longPkFromDatabase would throw an exception if the PK value exceeds a range of Java int |
| CAY-1794 Duplicate attributes in discriminator columns of PersistentDescriptor |
| CAY-1804 Serialisation of long[] type was not working correctly. |
| CAY-1806 Error importing eomodel |
| CAY-1817 NPE during Validate Project |
| CAY-1827 EhCache region corresponding to a cache group loses its settings after 'removeGroup' |
| CAY-1832 Exception when modifying objects in postLoad callback |