| 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: 4.2.RC2 |
| Date: December 1, 2022 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2741 Cleanup TransactionDescriptor and deprecate DefaultTransactionDescriptor |
| CAY-2743 Deprecate ROP |
| CAY-2749 Deprecate object clustering transports |
| CAY-2750 Deprecate web module |
| CAY-2775 Change Objectstyle maven repository URL |
| CAY-2776 Upgrade Gradle to 7.6 |
| |
| Bug Fixes: |
| |
| CAY-2732 Exception when creating ObjEntity from a DbEntity |
| 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-2777 Reverse relationship is not set with single table inheritance |
| CAY-2782 Modeler: save button becomes active on DataMap comment field focus |
| |
| ---------------------------------- |
| Release: 4.2.RC1 |
| Date: June 3, 2022 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2711 JDK 17 compatibility |
| CAY-2728 Add ExtendedType to generate user-friendly exceptions for internally used values |
| |
| Bug Fixes: |
| |
| CAY-2630 Prefetched relationships not preserving pending changes |
| CAY-2697 Read-only cgen template creates mutator methods for to-many relationships |
| CAY-2724 Duplicating relationship after editing its name |
| CAY-2727 Modeler: cgen destDir Unix platform path separator |
| CAY-2729 Unable to use custom templates from a folder at upper level then datamap |
| CAY-2730 Duplicating lines in a cgen config saved to datamap.xml |
| CAY-2731 Exception when setting a CLOB on H2 v2.0.202 |
| CAY-2733 Modeler can't use custom templates set in a datamap |
| CAY-2734 Improve support for the DECIMAL type |
| CAY-2736 Can't use function names as a path in a string-based expression |
| |
| ---------------------------------- |
| Release: 4.2.B1 |
| Date: November 25, 2021 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2399 Convert string values to Enum in qualifiers |
| CAY-2637 Allow forcing a custom Connection for a transaction |
| CAY-2718 Use testcontainers for the integration tests |
| |
| Bug Fixes: |
| |
| CAY-2092 Exception for query that uses pagination and sorting on to-many |
| CAY-2694 Precision issues with reverse / forward engineering of time types on MySQL |
| CAY-2699 Modeler: dbimport schema view not working on SQLite |
| CAY-2702 Modeler: Callbacks table has too small default width |
| CAY-2703 Modeler: incorrect active tab style on the MacOS version |
| CAY-2704 Vertical inheritance with Embeddedables looses ObjAttribute information |
| CAY-2705 Performance of callback annotation processing |
| CAY-2706 Modeler: object attribute dialog doesn't properly initialized for the embeddable type |
| CAY-2707 Modeler: code generation is broken in the DataDomain tab |
| CAY-2708 Gradle build plugin fails on Java 16 |
| CAY-2709 Modeler: Cgen fails to generate code for a new unsaved project with all settings set to default |
| CAY-2710 Modeler: modeler throws IllegalArgumentsException when root and rel paths have different root |
| CAY-2712 Shouldn't run batch inserts with generated keys if there is reflexive dependency |
| CAY-2713 ConcurrentModificationException when Inserting |
| CAY-2714 Offset value is not copied to column select metadata |
| CAY-2716 Wrong operator for the bitwise NOT |
| CAY-2720 ConcurrentModificationException in the TypeAwareSQLTreeProcessor |
| CAY-2721 Platform builds of CayenneModeler don't work with Java 17 |
| CAY-2723 Phantom update of a to-dependent-pk relationship |
| |
| ---------------------------------- |
| Release: 4.2.M3 |
| Date: March 13, 2021 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2587 SQLServer Limit Offset translation |
| CAY-2677 Custom Class Generation Templates for Embeddables and DataMaps |
| CAY-2689 ServerRuntime API: missing some variants of the performInTransaction() method |
| CAY-2692 Add entity lifecycle callbacks via annotated methods |
| |
| Bug Fixes: |
| |
| CAY-2658 DataChannelMetaData is null during cgen execution |
| CAY-2661 NPE on DB Import screen |
| CAY-2678 Inheritance warnings caused by unnecessary MappingCache creations during initialization |
| CAY-2683 Don't use DISTINCT for joins on to-one related tables |
| CAY-2685 JsonType should use the actual JDBC type, not OTHER |
| CAY-2686 SQL translator incorrectly quotes fully qualified tables' names |
| CAY-2687 Modeler Migrate Repeatedly Asks to Set Column Type for MySQL |
| 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-2693 Abstract subentities do not have rows materialized correctly |
| CAY-2694 Precision issues with reverse / forward engineering of time types on MySQL |
| CAY-2695 Reverse engineering on SQLite fails due to feature not being supported |
| CAY-2698 EventSubject.getSubject() is not thread safe |
| |
| ---------------------------------- |
| Release: 4.2.M2 |
| Date: October 6, 2020 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2338 Support comments in cgen and default templates |
| CAY-2656 Modeler: option to download required jars directly from maven central |
| CAY-2657 SelectQueryDescriptor should use ObjectSelect |
| CAY-2659 Use new SQLBuilder utility to generate SQL for batch queries |
| CAY-2662 Use custom interface for SQL tree processor instead of a Function<Node, Node> |
| CAY-2663 Support for custom SQL operators |
| CAY-2664 Add methods to EntityProperty to allow direct usage of primary key values |
| CAY-2665 Support for widespread SQL types that falls into Jdbc type OTHER |
| CAY-2668 Experimental graph-based db operations sorter |
| CAY-2670 CommitLog does not include FKs for deleted objects with one-way relationships |
| CAY-2673 Support ordering by aggregate functions |
| CAY-2674 Support in-memory evaluation of aggregate functions |
| |
| Bug Fixes: |
| |
| CAY-2591 Modeler: project becomes dirty after click on dbImport or cgen tab |
| CAY-2671 QualifierTranslator fails to translate expressions with compound PKs/FKs |
| CAY-2675 A one-to-one relationship with meaningful PK can be nullified in the nested context |
| CAY-2676 Degradation: Custom class generation templates are not working anymore |
| 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-2682 Vertical Inheritance: DB-generated PK doesn't propagate from the root to children |
| |
| ---------------------------------- |
| Release: 4.2.M1 |
| Date: April 7, 2020 |
| ---------------------------------- |
| Changes/New Features: |
| |
| CAY-2465 New SelectTranslator implementation |
| CAY-2466 New internal API to build SQL |
| CAY-2467 New type-aware Property API |
| CAY-2468 Support subqueries in Expression API |
| CAY-2507 Property API to use path aliases |
| CAY-2508 Create api to add aliases in expressions |
| CAY-2510 Create builder to load custom modules into plugins and modeler |
| CAY-2511 Contribute custom properties for attributes |
| CAY-2512 Support for custom functions in Expression API and Property API |
| CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false |
| CAY-2517 EventManager: optimization of adding listeners |
| CAY-2518 Add method to append having qualifier expression to ObjectSelect |
| CAY-2520 Split ObjectId into several specialized variants |
| CAY-2522 Make ObjectSelect a direct query |
| CAY-2523 Deprecate SelectQuery |
| CAY-2525 Deprecate OpenBase adapter |
| CAY-2527 API to map Object[] result to POJO |
| CAY-2539 Import procedures with the help of MergerToken |
| CAY-2540 Modeler: redesign dbRelationship editor dialog |
| CAY-2542 Modeler: redesign ObjRelationship editor dialog |
| CAY-2543 Move ResultSetMapping generation from metadata to translator |
| CAY-2549 Modeler: Redesign ObjAttribute editor dialog |
| CAY-2551 Create extended type for abstract Number class |
| CAY-2555 Use explicit ArcId in GraphChangeHandler methods |
| CAY-2557 Add java.time.Duration and java.time.Period to supported types |
| CAY-2562 Make ROPServerModule autoloaded |
| CAY-2563 Deprecate old scalarQuery methods in SQLSelect |
| CAY-2568 Class Generation: Superclass Package setting persistence |
| CAY-2569 Custom 'Naming Strategy' in Cayenne Modeler |
| CAY-2570 Use MySQL adapter for latest versions of MariaDB |
| CAY-2571 DataDomainFlushAction redesign |
| CAY-2579 Review and possibly relax usage of readonly flag of ObjRelationship |
| CAY-2585 Rename scalarQuery and params methods in SQLSelect |
| CAY-2590 Add method to set query timeout to queries |
| CAY-2592 Modeler: make all datamaps selected in global cgen tab |
| CAY-2593 Add tableTypes field to dbImport config in dataMap |
| CAY-2602 Remove RTRIM of char columns in Sybase |
| CAY-2604 Specialization of property API for PK |
| CAY-2610 Align methods in ObjectSelect and SQLSelect |
| CAY-2611 Exclude system catalogs and schemas when run dbImport without config |
| CAY-2612 Modeler: add lazy-loading to dbImport tab |
| CAY-2645 Modeler: DbImport tree highlight improvement |
| CAY-2650 Support using generated primary keys along with batch inserts |
| CAY-2651 Support multiple IDs in the SelectById query |
| |
| Bug Fixes: |
| |
| CAY-2019 Optimistic locking always fails on CRYPTO columns |
| CAY-2332 Property API: unable to use eq() and in() methods for toMany relationships |
| CAY-2417 Modeler: wrong title in attribute context menu |
| CAY-2506 Java class generated for Embeddable object is not serializable |
| CAY-2509 Result of resolving lazily faulted relationships can be out-of-date |
| CAY-2530 Modeler: DB Import and Class Generation from Project is performed for removed datamaps |
| CAY-2531 Modeler: Importing same schema after Import Revert clears all entities in datamap |
| CAY-2533 Modeler: Exception on validating ObjRelationship without db path |
| CAY-2535 Modeler: Impossible to import stored procedure apart from db tables |
| CAY-2537 Modeler: Schema Generation Complete popup window is hidden |
| CAY-2538 Modeler: dbImport configuration unclear behavior |
| CAY-2541 Performing query with expression with ObjectId throws NPE in some cases |
| CAY-2544 Possible name clash of ivar and property name in generated class |
| CAY-2547 CayenneDataObject serialization issue |
| CAY-2553 Wrong disjoint prefetch query qualifier |
| 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-2572 Queries are not sorted by name in data map XML |
| CAY-2573 DI field injection is triggered when creating sql Driver |
| CAY-2575 Select translator: Wrong translation of IN Expression |
| CAY-2576 Ant cgen task is broken |
| CAY-2577 Between property with extended type failure |
| CAY-2578 Wrong bindings in select of related entity by compound FK |
| 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-2588 IdRowReader: ArrayIndexOutOfBoundsException |
| 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 CayenneModeler: NPE when reverse engineering with an auto-adapter DataSource |
| CAY-2609 Modeler: can't close dbImport result dialog window |
| 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 |
| 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 |
| 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-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading |
| 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 |
| CAY-2655 AutoAdapter missing supportsGeneratedKeysForBatchInserts() method |
| |