| 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: |
| http://issues.apache.org/cayenne/ |
| |
| ---------------------------------- |
| Release: 3.1 M3 |
| Date: |
| ---------------------------------- |
| Changes/New Features Since 3.1M2: |
| |
| CAY-943 Support multiple cayenne.xml files in the project |
| CAY-1266 Joint prefetches with fetch limit and offset do not work on Oracle |
| CAY-1461 CayenneModeler: remove ScopeMVC dependency - ObjRelationshipInfoDialog |
| CAY-1556 Add path construction feature to make constructing paths from constants easier for queries and orderings |
| CAY-1525 CharType: don't trim spaces on the left |
| CAY-1537 Implement ObjectContext local caches as NestedQueryCache over the shared cache |
| CAY-1544 Remove jdk1.6 module from Cayenne sources |
| CAY-1545 cayenne-lifecycle Referenceable handler refactoring |
| CAY-1547 cayenne-lifecycle: support for setting UuidRelationships |
| CAY-1549 Migrate BatchQueryBuilderFactory to DI |
| CAY-1553 cayenne-lifecycle: @SortWeight annotation |
| CAY-1573 QueryLogger to DI JdbcEventLogger migration |
| CAY-1584 Improve Cayenne modeler re-ordering named query in the cayenne map xml |
| CAY-1586 New extension point: a strategy for retaining objects in the ObjectStore |
| CAY-1590 DDL generation without a live datasource |
| CAY-1594 DI extension point: turning on/off cross-ObjectContext synchronization |
| CAY-1595 EHCache implementation of Provider<QueryCache> |
| CAY-1598 Per DataMap listeners are called for all entities in DataDomain |
| CAY-1599 Annotation-based global listeners registration |
| CAY-1605 Switch Cayenne to use unified Maven repository |
| CAY-1606 Change CayenneModeler new object naming strategy |
| CAY-1610 ObjectContext API to use varargs |
| CAY-1611 ObjectContext API improvement - better 'localObect' method |
| |
| Bug Fixes Since 3.1M2: |
| |
| CAY-1469 Modeler: dbRelationships renaming problem |
| CAY-1526 Preferences: java.lang.IllegalArgumentException: Key too long |
| CAY-1539 Incorrect offset handling on some queries against database with supported LIMIT/OFFSET clauses |
| CAY-1546 cayenne-lifecycle: UuidBatchFault concurrency issues |
| CAY-1555 Unpublished dependencies of Maven plugins |
| CAY-1575 Error generating Embeddable classes in Cayenne Modeler |
| CAY-1577 SQL queries for LIKE expressions with escape character generated with syntax errors |
| CAY-1581 Not-Escaping <> during serialization to *.map.xml |
| CAY-1583 context.getObjectStore() returning null causing NullpointerException in DataMergeHandler |
| CAY-1585 SelectQuery automatic cache key needs FetchOffset |
| CAY-1591 CayenneModeler: keyboard shortcuts causing havoc in SQLTemplate SQL editor |
| CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit |
| CAY-1602 OSCache clustering should be shared per JVM - @CacheGroup annotation causes creation of too many cluster listeners |
| |
| ---------------------------------- |
| Release: 3.1 M2 |
| Date: |
| ---------------------------------- |
| Changes/New Features Since 3.1M1: |
| |
| CAY-1445 Initialize QueryCache via dependency injection |
| CAY-1508 Support for DataChannel filters |
| CAY-1509 Lifecycle event annotations support |
| CAY-1532 Import cayenne-lifecycle from sandbox |
| CAY-1533 Deprecate org.apache.cayenne.xml |
| CAY-1534 cayenne-lifecycle: implement AuditableFilter |
| CAY-1536 Expand deserialization context to provide Injector object instead of just a DataChannel. |
| |
| Bug Fixes Since 3.1M1: |
| |
| CAY-1511 Problem in db2: comparison operators are not supported on Clob object values. |
| CAY-1515 runtime relationships are not initialized |
| CAY-1516 CayenneModeler - DataMap deletion doesn't delete DataMap XML |
| CAY-1517 CayenneModeler - recent projects ordering is random |
| CAY-1519 Application deadlock trying to guess static constant fields |
| CAY-1528 Undo CAY-1213 |
| CAY-1529 Cayenne should support enum types in qualifier statements/expression handling |
| CAY-1542 DI container is not shutting down Cayenne-managed connection pool |
| |
| ---------------------------------- |
| Release: 3.1 M1 |
| Date: |
| ---------------------------------- |
| Changes/New Features Since 3.0: |
| |
| CAY-952 Generate OUTER joins for flattened attributes in a SelectQuery |
| CAY-1213 Cayenne should support enum types in qualifier statements/expression handling |
| CAY-1251 Memorize user-selected column widths in preferences |
| CAY-1310 Remove everything deprecated in 3.0 |
| CAY-1314 Migrate Modeler Preferences to Java Preferences API: migrate org.apache.cayenne.modeler.ModelerPreferences |
| CAY-1315 Formattable exceptions |
| CAY-1316 Deprecate DataObjectUtils and move its methods to new utility class org.apache.cayenne.Cayenne |
| CAY-1318 Cayenne configuration to support a single DataDomain |
| CAY-1319 Minimal DI container-based configuration to run Cayenne |
| CAY-1323 oracle.sql.TIMESTAMP in Result of query |
| CAY-1327 Migrate HSQLDB modeler preferences to Java preferences API |
| CAY-1329 DI-based cayenne-project module |
| CAY-1331 hessian upgrade stops rop |
| CAY-1336 Oracle specific type support (oracle.sql.*), add handlers. |
| CAY-1338 Move CayenneUserDir to the Modeler |
| CAY-1339 Remove org.apache.cayenne.project package from runtime |
| CAY-1340 Implement ConfigurationNode / ConfigurationNodeVisitor for the Cayenne project tree, including DataMap objects. |
| CAY-1342 Remove wocompat package from Cayenne core |
| CAY-1350 Implement memorized sorting of modeler columns |
| CAY-1374 Add parent dataMap property to Query interface |
| CAY-1393 Update velocity to 1.6.3 |
| CAY-1394 DI-based replacement for JNDI hack |
| CAY-1414 Remove org.apache.cayenne.conf package |
| CAY-1415 Replace WebApplicationContextFilter with a DI-enabled filter |
| CAY-1419 File-based ResourceLocator to replace legacy FileConfiguration |
| CAY-1420 Migrate ROP server-side components to DI-based stack |
| CAY-1421 CayenneRuntime shutdown functionality |
| CAY-1422 Convert EventManager to an interface, make it injectable |
| CAY-1424 DI: support for named service injection and flexible map/list binding |
| CAY-1425 Remove Configuration sharedConfiguration singleton affecting DataContext deserialization, CayenneDataObject XML deserialization, DataContext static factory method. |
| CAY-1433 Change #chunk behaviour to skipe only null arguments (don't skip 0 or false) |
| CAY-1438 refactoring EntityInheritanceTree lookups |
| CAY-1439 ClassDescriptor refactoring - replacing returned iterators with collections |
| CAY-1446 Remove DataContextFactory, replace it with DI-enabled ObjectContextFactory |
| CAY-1447 Switch ROP client to dependency injection |
| CAY-1474 Straightening CayenneModeler platform-specific builds |
| CAY-1475 Move cayenne-modeler module out of framework/ and out of the assembly binary |
| CAY-1476 Preferences exception on domain renaming |
| CAY-1479 EntitySorter refactoring: make it DI-based, internalize Ashowood lib |
| CAY-1486 Switch QueryLogger to a DI-managed object |
| CAY-1491 Add AUTO_INCREMENT primary key support for H2. |
| CAY-1497 Cayenne tools integration tests |
| CAY-1499 Deprecate DataContext.objectFromDataRow methods with unused "refresh" parameters. |
| |
| Bug Fixes Since 3.0: |
| |
| CAY-1304 Fix some failures in tests on SQLite |
| CAY-1328 SQLTemplate for DataMap is not working |
| CAY-1363 Postgress don't support notations float(a, b) |
| CAY-1364 SQL server don't support notations float(a, b) |
| CAY-1430 Problems with TINYINT type mapping |
| |
| ---------------------------------- |
| Release: 3.0.3 |
| Date: |
| ---------------------------------- |
| Changes/New Features Since 3.0.2: |
| |
| CAY-1584 Improve Cayenne modeler re-ordering named query in the cayenne map xml |
| CAY-1590 DDL generation without a live datasource |
| CAY-1605 Switch Cayenne to use unified Maven repository |
| |
| Bug Fixes Since 3.0.2: |
| |
| CAY-1469 Modeler: dbRelationships renaming problem |
| CAY-1514 ClassCastException when EJQLQuery parameters is null. |
| CAY-1577 SQL queries for LIKE expressions with escape character generated with syntax errors |
| CAY-1581 Not-Escaping <> during serialization to *.map.xml |
| CAY-1583 context.getObjectStore() returning null causing NullpointerException in DataMergeHandler |
| CAY-1585 SelectQuery automatic cache key needs FetchOffset |
| CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit |
| |
| ---------------------------------- |
| Release: 3.0.2 |
| Date: |
| ---------------------------------- |
| |
| Improvements Since 3.0.1 |
| |
| CAY-1500 MySQL JDBC Batching |
| |
| Bug Fixes Since 3.0.1: |
| |
| CAY-1403 Method "readNestedProperty" Should Resolve Through Iterative Invocations onto DataObject and Not Complete Within Cayenne.readNestedProperty |
| CAY-1432 java.io.NotSerializableException when using OSCache for query cache with prefetches and persitent cache. |
| CAY-1444 NPE when persisting a newly instatiated object |
| CAY-1456 Investigate auto-increment columns on DB2 and switch the adapter policy to support them |
| CAY-1484 Flattened attribute queries are incorrectly generated |
| CAY-1485 Memory information for about dialog |
| CAY-1488 OutOfMemory when selecting "Remove Foreign Keys Mapped as Object Attributes" |
| CAY-1489 NPE using DataContext.objectFromDataRow for a nested context |
| CAY-1490 Maven cgen: all and datamap modes can not be activated |
| CAY-1496 Problem in derby: comparison operators are not supported on Clob object values. |
| CAY-1503 POST_LOAD is not called on prefetched objects |
| CAY-1505 Callbacks: POST_UPDATE is called on updated removed object, instead of POST_REMOVE |
| CAY-1506 Reserverd words mapping in WHERE clause |
| CAY-1518 cgen: duplicate callback methods |
| CAY-1557 Vertical inheritance is broken for subclasses with more than one flattened attribute |
| CAY-1561 Modeler trivial bug NullPointerException on remove |
| CAY-1567 BaseQueryMetadata.setPrefetches() causes a shared lock |
| CAY-1578 unicode character types on MS SQL 2008 server aren't recognized. |
| |
| ---------------------------------- |
| Release: 3.0.1 |
| Date: |
| ---------------------------------- |
| |
| Bug Fixes Since 3.0-final: |
| |
| CAY-1354 Wrong Types mapping for selected values in Row Queries |
| CAY-1380 Support for Escaped LIKE Clauses in Expressions |
| CAY-1402 Ability to use Terminating "@size" in Nested Properties Against Collections |
| CAY-1416 ExpressionFactory.noMatchExp.toEJBQL() produces incorrect output |
| CAY-1417 EJBQL doesn't support null numeric parameters |
| CAY-1426 EJBQL: ESCAPE fails after positional parameter |
| CAY-1452 EJBQL query scalar result is not supported on ROP client |
| CAY-1455 "NULL" JDBC type is shown for DbAttribute data types in the Modeler |
| CAY-1458 Document Vertical Inheritance |
| CAY-1467 Shut down EventManager in WebApplicationContextFilter.destroy() |
| CAY-1468 Commit performance degradation |
| CAY-1471 Create a source cayenne assembly |
| CAY-1473 Ensure DataRow version increment is atomic |
| |
| ---------------------------------- |
| Release: 3.0 (final) |
| Date: |
| ---------------------------------- |
| |
| (no changes since 3.0RC3) |
| |
| ---------------------------------- |
| Release: 3.0 RC 3 |
| Date: 5 April 2010 |
| ---------------------------------- |
| |
| Bug Fixes Since 3.0RC2: |
| |
| CAY-1111 Expression.toEJBQL() support for single-column PK Persistent objects |
| CAY-1378 Error unsetting to-many DataObject property |
| (this also reverts CAY-1009) |
| CAY-1379 Error resolving fault, no matching row exists in the database |
| CAY-1382 org.apache.cayenne.reflect.EnumConverter not handling null values for ExtendedEnumerations |
| CAY-1383 unneeded target in modeler attributes inspection |
| CAY-1385 Modeler: error dialog doesn't show the correct version |
| CAY-1390 DataRowStore.processRemoteEvent processInvalidatedIDs typo |
| CAY-1396 merge: unneeded cast to SQLServerAdapter |
| CAY-1397 ROP: Missing the COMMIT state when deleting HOLLOW object |
| CAY-1400 lazyInitParentDomainName will become null when using Child Context |
| CAY-1401 Cache group removed from modeler query |
| CAY-1404 ClassCastException during ObjectDetachOperation |
| CAY-1405 Exception when attempting to "Infer Relationships" |
| CAY-1409 Pkgenerator is accessed needlessly for join tables with own database generated PK |
| |
| ---------------------------------- |
| Release: 3.0 RC 2 |
| Date: 5 February 2010 |
| ---------------------------------- |
| |
| Changes/New Features Since 3.0RC1: |
| |
| CAY-1069 EJBQL: support paths across flattened relationships |
| CAY-1216 Improve the Remote-Object-Persistence-Tutorial for 3.0 |
| CAY-1326 Document Cayenne Embeddables Feature |
| CAY-1352 in "code generation" dialog add generation embeddables |
| CAY-1366 EJBQL: Support for fetch joins |
| |
| Bug Fixes Since 3.0RC1: |
| CAY-1298 String no longer works in query when column type is Integer |
| CAY-1313 EJBQL: Implement support for relationship-ending paths in WHERE clause |
| CAY-1349 SelectQuery 'fetchSize' setting is not propagated to disjoint prefetches |
| CAY-1351 EntityResolver.getEmbeddable(...) always returns null |
| CAY-1353 warning "attribute.name" contains invalid character: . in Code generation dialog |
| CAY-1355 Warning if rename Embeddable. |
| CAY-1361 SelectQuery.aliasPathSplits does nothing |
| CAY-1365 "= NULL" being used instead of "IS NULL" on an EJBQL expression.. |
| CAY-1367 EJBQL: Implement support for relationship-ending paths in GROUP BY clause |
| CAY-1368 Left Join and Prefetches do not work together |
| CAY-1369 EJBQL: Fix likeIgnoreCase issues |
| CAY-1371 EJBQL query doesn't preserve grouping by brackets |
| CAY-1376 Certain EJBQL queries have mismatched table aliases |
| CAY-1377 EJBQLQuery: when using relationships in the SELECT clause, must generate INNER, not OUTER JOINS |
| |
| ---------------------------------- |
| Release: 3.0 RC 1 |
| Date: 5 January 2010 |
| ---------------------------------- |
| |
| Changes/New Features Since beta1 |
| CAY-1191 Undo/Redo support in modeler |
| |
| Bug Fixes Since beta1: |
| |
| CAY-1345 Enum construction requires string name of enum |
| CAY-1247 Query SQL syntax with join and OR on Oracle8 (and maybe OpenBase) |
| CAY-1305 EJBQL doesn't support null parameters |
| CAY-1307 Error committing CLOB on Oracle8 |
| CAY-1309 many validation errors when we remove dbEntity |
| CAY-1325 Stop bundling cayenne-agent.jar with the distro |
| CAY-1332 Embeddable validation error in CM on custom Java types |
| CAY-1333 Entering a custom Java Type in CM for an ObjEntity blanks out DB fields |
| CAY-1334 Modeler is trying to load data object classes when selecting a query |
| CAY-1335 Modeler cannot unset inheritance |
| CAY-1341 EJBQL: joins on joined table not added to generated SQL |
| CAY-1343 Exclude asm jars from compile maven dependencies |
| CAY-1344 CreateIfNoSchemaStrategy runs too late - pk generation happens before |
| CAY-1346 Fail to create new listener for the DataMap |
| |
| ---------------------------------- |
| Release: 3.0 beta 1 |
| Date: 3 November 2009 |
| ---------------------------------- |
| |
| Changes/New Features Since M6: |
| |
| CAY-132 Intelligent lazy fault detection |
| CAY-419 Collections aren't supported with in-memory filtering |
| CAY-1116 Add generated PK support to SQLite |
| CAY-1145 EJBQL: Implement support for relationship-ending paths in SELECT clause |
| CAY-1220 A function to auto-map the DB relationships |
| CAY-1225 Controlling JDBC Driver setting "fetchSize" in a SelectQuery |
| CAY-1227 Modeler support for flattened attributes |
| CAY-1235 Implement qualifiers for DBEntities |
| CAY-1236 Allow providing custom INSERT, UPDATE, DELETE query builders |
| CAY-1241 Add method to ExpressionFactory to match against the primary key of an object or list of objects |
| CAY-1254 filtering an inExp(a, b) does not work when the path (a) refers to a collection of objects |
| CAY-1260 (Experimental) Modeler support for embeddables and embedded attributes |
| CAY-1261 Auto-inject values in NEW objects with declared qualifiers |
| CAY-1263 Cayenne Oracle adapter should automatically strip IN clauses with more than 1000 elements |
| CAY-1268 Implement 'setStatementFetchSize' for RelationshipQuery |
| CAY-1270 Merge primary key changes |
| CAY-1273 Replace DefaultType with dedicated types |
| CAY-1276 CreateIfNoSchemaStrategy create no PK support |
| CAY-1281 Lifecycle callbacks reorganization |
| CAY-1282 Use #result as optional directive for only few columns (not all) |
| CAY-1283 Update Ordering to take enums instead of boolean flags. |
| CAY-1288 Add deleteObjects() to ObjectContext |
| |
| Bug Fixes Since M6: |
| |
| CAY-1009 Bogus runtime relationships can mess up commit |
| CAY-1067 likeIgnoreCase is not supported for CLOBs in MS SQL adapter |
| CAY-1169 Weird behavior when adding entity via merging |
| CAY-1177 Outer join syntax causes exception with Expression.filterObjects() |
| CAY-1224 reverse engineering partially changed schema shows empty error messge window |
| CAY-1229 Fixing DB2 Tests |
| CAY-1232 Unit tests failing on Sybase |
| CAY-1240 Schema generation dialog has "uncheck all tables" checkbox incorrectly checked by default |
| CAY-1245 Merging to-model fails |
| CAY-1246 Naming strategy getting stuck in (incorrect) preferences location |
| CAY-1248 ClassCastException with OracleLOBBatchAction |
| CAY-1250 Prefetching doesn't work with prefetched subentity |
| CAY-1252 Bad XML generated when saving DBEntity qualifiers |
| CAY-1257 NullPointerException in Class Qualifier when using "field = null" |
| CAY-1259 Wrong Mapping for NUMERIC Type |
| CAY-1265 error while search inheritance relationship |
| CAY-1274 CreateTableToDb should not create existing AUTO_PK_SUPPORT |
| CAY-1275 Merge set-not-null to Oracle through modeler fails if auto adapter is set |
| CAY-1277 Prefetching may cause a root object to got from COMMITTED to MODIFIED state |
| CAY-1278 Project with cross-datamap flattenned relationships fails to load |
| CAY-1279 Passing null values in query parameters |
| CAY-1285 Update Cayenne Modeler's code generation panel to resize correctly. |
| CAY-1286 Update Cayenne Modeler's validation errors panel to resize correctly. |
| CAY-1292 Modeler does not allow to unset/change entity inheritance |
| CAY-1293 Beta 1 Test Failures |
| |
| ---------------------------------- |
| Release: 3.0M6 |
| Date: 25 May 2009 |
| ---------------------------------- |
| |
| Changes/New Features Since M5: |
| |
| CAY-289 Implement Quoting of identifiers |
| CAY-816 Improve readNestedProperty() to handle to-many relationships in the path. |
| CAY-1021 adding a callback method should result in focus on method name |
| CAY-1025 Do something about to-many prefetch limitations |
| CAY-1029 maven2 plugin to reverse engineer database |
| CAY-1047 Aligning query capabilities |
| CAY-1119 Nested contexts on ROP |
| CAY-1140 Store ObjEntity name in the DataRow |
| CAY-1142 (Single table) Inheritance and Paginated lists |
| CAY-1146 Move User properties API to ObjectContext & BaseContext |
| CAY-1147 Remove id reading functionality from ResultIterator |
| CAY-1150 Generated DataMap classes should contain public constants for all query names |
| CAY-1151 Update web app tutorial - JettyLauncher plugin does not work with Eclipse Ganymede release or newer |
| CAY-1153 MySQL : Enable views during reverse engineering |
| CAY-1154 Rename .access.reveng package to .map.naming |
| CAY-1156 Modeler search improvement |
| CAY-1158 cayenne-modeler:run plugin should open a (configured) project file, with suitable defaults |
| CAY-1161 Deprecate SelectQuery custom columns feature |
| CAY-1164 Implement EJBQL query support in the Modeler |
| CAY-1167 Create model schema XSD |
| CAY-1174 Modeler: support optional meaningful PK mapping during reverse engineering |
| CAY-1175 Replace String column name capitalization property with an enum |
| CAY-1184 Callback methods should default to usable names |
| CAY-1185 Expression API: boolean support in string representation |
| CAY-1193 Auto load schema on startup |
| CAY-1197 ANT task for reverse engineering |
| CAY-1211 Modeler: blown out warning dialogs |
| CAY-1214 Class generation should create abstract callback methods in the superclass and stub methods in the subclass |
| CAY-1215 Move tool-like items into new cayenne-tools module |
| CAY-1218 Query caching loose ends |
| CAY-1221 Exclude JPA from releases |
| CAY-1250 Prefetching doesn't work with prefetched subentity |
| CAY-1269 Remove SelectQuery custom columns feature |
| |
| Bug Fixes Since M5: |
| |
| CAY-940 CayenneModeler fails on load of existing project file or upon creation of new project on IBM's Java 1.6.0 SDK on 32-bit ppc |
| CAY-947 Database Schema Migration should sort tokens |
| CAY-979 ROP client serialization mechanism dependencies |
| CAY-1139 EJBQL condition translation - must track the type of condition |
| CAY-1143 CayenneModeler 'Import DataMap' function error |
| CAY-1144 EJBQL mixed GROUP BY clause is generated incorrectly |
| CAY-1155 Modeler template for SQLServer driver has a typo in the driver name |
| CAY-1157 Modeler: Concurrent mod exception on removing DbRelationship |
| CAY-1160 Default delete rule is not used when migrating schema (to model) |
| CAY-1166 Type checking in the modeler |
| CAY-1170 cdbgen task fails due to NPE when instantiating TypesHandler |
| CAY-1176 missing classes in ROP cayenne-client render nested contexts unusable |
| CAY-1180 Model marked as dirty when leaving DataMap name field |
| CAY-1181 Default class generation folder is wrong |
| CAY-1183 commitToParent() makes object persistence state committed, produces exception when using object in parent context (ROP) |
| CAY-1194 problems with relationships when using nested contexts and ROP |
| CAY-1196 CayenneRuntimeException in modeler due to ClassNotFoundException when java type is invalid and db attribute is null |
| CAY-1204 Incorrect relationship syncing in nested CayenneContext's |
| CAY-1205 Renaming DbRelationships breaks different ObjRelationships |
| CAY-1207 Oracle8 does not like new join syntax |
| CAY-1217 Project tree loses focus when traversing a list of entities with the keyboard |
| CAY-1219 Modeler - clicking on query "select properties" fields changes project status to "dirty" |
| CAY-1222 Row index out of range exception when selecting a relationship |
| |
| ---------------------------------- |
| Release: 3.0M5 |
| Date: 15 Dec 2008 |
| ---------------------------------- |
| |
| Changes/New Features Since M4: |
| |
| CAY-366 Add progress/log view |
| CAY-402 Entity/Attribute/Relationship naming improvements on reverse-engineering |
| CAY-436 In modeler, change default object relationship delete rule |
| CAY-671 custom exception class for ROP missing session |
| CAY-794 Abstract object entities |
| CAY-888 CM Usability: Object Select Query Improvements |
| CAY-890 CM Cosmetics: Use the Cayenne Icon. |
| CAY-892 CM Usability: JEdit Syntax to all TextAreas |
| CAY-894 CM Usability: Welcome screen |
| CAY-911 CM Usability: JComboBox Autocompletion |
| CAY-1055 Right-click contextual menu for entities/attributes/relationships that would include common operations, like "delete". |
| CAY-1056 Detection of the project file changes on disk. |
| CAY-1058 Add a maven plugin for starting up the modeler. |
| CAY-1060 CM: Allow multiple item selections |
| CAY-1061 ResourceFinder: abstract API for looking up resources, including multiple resources for a given name |
| CAY-1067 likeIgnoreCase is not supported for CLOBs in MS SQL adapter |
| CAY-1068 Add support for start index/offset of queries |
| CAY-1070 Generating SelectQuery Access Code |
| CAY-1077 ObjRelationship Mapping Dialog Improvements |
| CAY-1080 Support for copy/paste of entities/attributes/relationships |
| CAY-1085 Use standard JDBC API for writing Oracle LOBs |
| CAY-1091 Upgrade to Hessian 3.1.6 |
| CAY-1094 CM DataNode panel reorg - pull the password encoding options into a tab |
| CAY-1096 CayenneContext should support ThreadLocal operations |
| CAY-1100 merge: public access to columnOriginal and so on |
| CAY-1113 Primitives in ROP support |
| CAY-1127 Stop using query NAME as a cache key |
| CAY-1128 Switch JOINT prefetches to generate OUTER Joins. |
| CAY-1131 Add LIMIT / OFFSET clause generation method to SelectTranslator lifecycle |
| CAY-1132 DataMap class generator mechanism for the ROP client |
| CAY-1133 Split Maven cayenne:modeler goal into a separate plugin from cgen and others |
| CAY-1137 Deprecate and start ignoring QueryMetadata.isResolvingInherited() |
| CAY-1138 Stop using Query.isRefreshingObjects() |
| |
| Bug fixes since M4: |
| |
| CAY-1062 Code Generation line ending consistency: ImportUtils |
| CAY-1063 Derby adapter is not able to remove NOT NULL relationship |
| CAY-1072 EJBQLQuery non-serializable exception when run via ROP |
| CAY-1073 Bug in Expression.toEJBQL with inExp/notInExp |
| CAY-1074 Derby: Wrong SQL Generated for select items -- DESC follows column name |
| CAY-1081 DataObjectUtils.objectForPk broken in ROP |
| CAY-1082 ROP: RefreshQuery fails to refresh to-many relationships |
| CAY-1083 General Preferences Panel - items misaligned |
| CAY-1095 Cayenne attempts to append precision information to DOUBLE types when creating tables in hsqldb which results in a sql exception. |
| CAY-1097 Attribute types are not generated for primitive ints |
| CAY-1098 EJBQLQuery can't process java.util.Date parameters |
| CAY-1103 rollbackChanges is broken in ROP CayenneContext |
| CAY-1108 MySQL/DbMerger compatibility |
| CAY-1110 fetchLimit + DistinctResultIterator = fewer rows in the result |
| CAY-1114 EJBQLQuery fails on joins outside of public schema |
| CAY-1118 ROP: setToXXX(null) does not update reverse rel |
| CAY-1121 EJBQL collection binding |
| CAY-1122 columnNamesCapitalization property is ignored for the queries mapped via Modeler |
| CAY-1126 Opening non-existing projects gives an error |
| CAY-1129 ROP: CayenneContext does not unregister deleted nodes |
| |
| ---------------------------------- |
| Release: 3.0M4 |
| Date: 29 May 2008 |
| ---------------------------------- |
| |
| Changes/New Features Since M3: |
| |
| CAY-514 implement a "MATCH ALL VALUES" expression |
| CAY-560 Add support for outer joins |
| CAY-789 return object diff to client in ROP after commit |
| CAY-802 Split Expressions |
| CAY-809 Support for explicit mapping of SQL results with SQLResultSetMapping |
| CAY-839 Support combination of Persistent objects and scalars in query results |
| CAY-868 Deprecate EventManager.getDefaultManager() and stop using it |
| CAY-893 CM Usability: Reopen Last Project on Startup |
| CAY-929 SelectTranslator support for standard SQL join syntax, including outer joins |
| CAY-970 Allow application to add DbAdapterFactory to AutoAdapter |
| CAY-971 ROP GraphDiff "compressor" |
| CAY-980 Upgrade Derby to 10.3 to support alter table drop column |
| CAY-994 Add extended enumeration support |
| CAY-999 Scaling paginated list |
| CAY-1006 Upgrade Hessian to 3.1.5 |
| CAY-1010 Entity Tab switching on new entity creation |
| CAY-1011 Add confirmation dialog for delete actions |
| CAY-1019 Streamlining LOCAL_CACHE handling |
| CAY-1024 Add .zip generation to Windows profile. |
| CAY-1026 Drop commons-lang dependency |
| CAY-1027 Orderly EventManager shutdown |
| CAY-1033 remove completed merge tokens from view in cayenne modeler |
| CAY-1035 Replace QueryMetadata String cache policies with an enum |
| CAY-1038 Upgrade to Ashwood 2.0 |
| CAY-1046 Make PK metadata available via Obj* API. |
| CAY-1048 Deprecate but preserve functionality of QueryMetadata.isRefreshingObjects() |
| CAY-1049 Refactor QueryAssembler/SelectTranslator |
| CAY-1050 MySQLSniffer should configure created adapter to use MySQL default engine for tables |
| CAY-1051 Oracle 11 driver support - Drop OracleAdapter "optimizations" |
| |
| Bug fixes since M3: |
| |
| CAY-574 DataObjectUtils 'objectForPK' should work on the client |
| CAY-732 Incorrect query with self joins |
| CAY-785 Cayenne Modeler Fails to Open Project |
| CAY-982 Client class and superclass names not auto-populated for new ObjEntity. |
| CAY-983 POST_LOAD called twice |
| CAY-984 Runtime relationships leak into CayenneModeler |
| CAY-986 LOCAL_CACHE policy fails when query is paged |
| CAY-989 Garbage SQL generated for EJBQL subqueries |
| CAY-992 Modeler does not escape entity names |
| CAY-998 ROP paginated lists must recover from server LRU query cache overflow |
| CAY-1003 the paged queries in ROP can fail to fetch the subsequent pages if the client and server are in different timezones |
| CAY-1005 CM Qualifier (or Declared Qualifier) is not honoured in 100% cases |
| CAY-1014 Enums as meaningful PK |
| CAY-1018 Enums fetched via SQLTemplate |
| CAY-1020 Problem accessing toMany Set relationships on client. |
| CAY-1028 NPE's in the Modeler for incomplete relationships |
| CAY-1043 NPE in ConnectionWrapper on rollback |
| CAY-1044 NPE on commit when the new object was deleted before commit |
| CAY-1053 MapQueryCache.CacheEntry not serializable |
| CAY-1054 Error removing object from a paginated list after the object was deleted and the context committed |
| |
| ---------------------------------- |
| Release: 3.0M3 |
| Date: 04 Feb 2008 |
| ---------------------------------- |
| |
| Changes/New Features Since M2: |
| |
| CAY-263 cdbgen (DbGeneratorTask) must support classpath and classpathref |
| CAY-329 Long vs. Integer PK |
| CAY-716 DataContext.rollbackChangesLocally() is not implemented for nested DataContexts |
| CAY-735 Embeddable class support in the org.apache.cayenne.map package |
| CAY-736 Embeddable class support by Cayenne runtime |
| CAY-879 Storing lifecycle listeners and callbacks in the *.map.xml and loading them back |
| CAY-884 Add support for H2 Database |
| CAY-885 merge changes between model and db |
| CAY-900 Create CayenneModeler Swing UI for managing callbacks and lifecycle listeners |
| CAY-903 Support primitive types in DataObjects |
| CAY-904 Switch cayenne to Java 5: merge cayenne-jdk1.4-unpublished to cayenne-jdk1.5-unpublished |
| CAY-916 Ordering should be able to ignore paths with null elements |
| CAY-918 An exception during in-memory sorting of IncrementalFaultList |
| CAY-921 Remove DerviedDbEntity support from Cayenne |
| CAY-927 Switch to version 1.2 as default generation mechanism , deprecate 1.1 generator |
| CAY-931 Enable revert action even for projects that are not modified |
| CAY-933 Embeddable classes - support class generation |
| CAY-936 Update Velocity templates for generics. |
| CAY-939 Add a means of updating custom superclass for all client classes. |
| CAY-945 PropertyUtils support for "compiled" property access |
| CAY-946 JPA: property-based access to persistent objects |
| CAY-948 Implement flattened attributes in Cayenne |
| CAY-949 Factory for lifecycle listeners |
| CAY-950 Look up callback methods on listener superclasses |
| CAY-953 JPA: Single Table inheritance |
| CAY-954 EJBQL Query: Support for single table inheritance |
| CAY-956 Converter between Expression and EJBQL Expression |
| |
| Bug fixes since M2: |
| |
| CAY-882 Configuration shutdown hook thread may lead to memory leaks |
| CAY-887 CM Usability:Recent Files list shold be longer |
| CAY-899 Default POST_LOAD callbacks break aggregate queries |
| CAY-913 ToMany Map relationships cause ClassCastExceptions on commit when the source is Fault |
| CAY-914 cdataport classloader trouble |
| CAY-920 ClassCastException when processing delete rules for Map relationships |
| CAY-924 Update CayenneModeler for OS X Leopard |
| CAY-926 Refactoring class generator classes |
| CAY-932 Cancel doesn't cancel when quitting CM with a modified model |
| CAY-967 Caching doesn't work for paginated queries |
| CAY-974 Subquery EJBQL returns wrong entity in the result |
| CAY-976 EntityResolver Fault dependency leads to ClassNotFound on the ROP client |
| |
| ---------------------------------- |
| Release: 3.0M2 |
| Date: 11 Nov 2007 |
| ---------------------------------- |
| |
| Changes/New Features Since M1: |
| |
| CAY-610 A way to shutdown EventManager |
| CAY-757 JPA should handle managed classes not listed in persistence.xml |
| CAY-819 Support for per-adapter customization of EJBQL translator |
| CAY-824 Extract all DataView related code in a separate module |
| CAY-826 Modeler support for the extra simple property types that Cayenne now supports |
| CAY-828 Remove DataContextTransactionEventListener, DataObjectTransactionEventListener, DataContextEvent |
| CAY-833 Remove API for flipping callbacks state in the ClientServerChannel - this is a non-feature |
| CAY-834 DataContext and DataDomain must support lifecycle callbacks out of the box without wrapping |
| CAY-836 EJBQL Delete Statement Support |
| CAY-837 EJBQL Update Statement Support |
| CAY-838 EJBQL GROUP BY and HAVING support |
| CAY-840 EJBQL Subquery Support |
| CAY-841 EJBQL Support for LIKE/ESCAPE and IN conditions |
| CAY-842 EJBQL Collections condition support |
| CAY-843 Remove arbitrary reverse relationship mapping limitations |
| CAY-844 _Auto classes should be "abstract" |
| CAY-846 EJBQL Support for Functional Expressions |
| CAY-848 Support for mapping to-many as Maps and Sets and Collections |
| CAY-855 Add DataContext.objectFromDataRow variety for generic classes |
| CAY-856 Deprecate CayenneMap and replace all references to it with standard java.util package Maps |
| CAY-857 Deprecate derived DbEntity and all associated API's - schedule for removal in 3.0M3 |
| CAY-859 Cayenne agent misses JPA entity classes that were loaded before their PersistenceUnits |
| CAY-867 Special exception for accessing previously shutdown domain |
| CAY-869 CayenneModeler free-text search |
| CAY-875 DbAdapter for SQLite |
| |
| Bug Fixes Since M1: |
| |
| CAY-770 bug / memory leak in DispatchQueue and EventManager |
| CAY-796 Deserialization of DataContext fails when useSharedCache is false |
| CAY-797 Lifecycle callbacks *CallbackInterceptor concept introduces problems for testing equality of contexts |
| CAY-832 enum-mapped columns improperly handled in in expressions |
| CAY-835 setting meaningful pk to zero turn on autogenerated keys |
| CAY-845 DataContext.localObject() object update race condition |
| CAY-847 Expression NULL handling |
| CAY-852 NPE in Util.delete for read-protected directories |
| CAY-853 JPA EntityTransaction must allow multiple begin/commit cycles |
| CAY-854 the relationships to entities which are "not for client use" are being returned by ${objEntity.DeclaredRelationships} tag in superclass template |
| CAY-860 JPA no joins created for to-many relationship |
| CAY-861 ObjRelationship 'addDbRelationship()' and 'removeDbRelationship' leave object in an inconsistent state |
| CAY-863 Object property unexpectedly set to null through forceMergeWithSnapshot |
| CAY-870 Race condition in ClassDescriptorMap |
| CAY-872 Potential bug deleting uncommited objects from a nested DataContext |
| CAY-873 maven-cayenne-plugin requires transitive deps declared |
| CAY-901 Cannot set more than one to-one relationship to null. |
| |
| ---------------------------------- |
| Release: 3.0M1 |
| Date: 17 Jul 2007 |
| ---------------------------------- |
| |
| Changes/New Features: |
| ---------------------------------- |
| - Removed all API deprecated as of 1.2 and 2.0. |
| CAY-460 javax.persistence.spi.ClassTransformer to turn POJO into DataObject |
| CAY-540 extended type and subclasses |
| CAY-576 Support for cached lists invalidation |
| CAY-586 Implement commit validation hooks in CayenneContext |
| CAY-598 JPA patches |
| CAY-600 Add support for ordering property list serialization in a consistent way |
| CAY-613 Pluggable Query Cache |
| CAY-623 Removing broken FireBird adapter |
| CAY-625 Implement correct "scale" and "precision" for DbAttribute |
| CAY-632 RefreshQuery - a common mechanism for object and object list invalidation |
| CAY-636 Switch Cayenne HEAD to hessian 3.0.20 |
| CAY-642 Add support for encrypted JDBC passwords |
| CAY-645 Support for persisting java.util.Calendar |
| CAY-647 Support for persisting java.math.BigInteger |
| CAY-648 Support for persisting java.io.Serializable |
| CAY-650 Support for char[], java.lang.Character, java.lang.Character[], java.lang.Byte[] as "simple" persistence types |
| CAY-651 Add convenience method to create missing DB_PATH expressions where there is a corresponding OBJ_PATH expression |
| CAY-657 Removing/Deprecating ExtendedType.validateProperty() |
| CAY-660 JPA-like callbacks support in the main Cayenne stack |
| CAY-666 Support for entity lifecycle callbacks in ClientServerChannel |
| CAY-667 Support default entity lifecycle callbacks |
| CAY-668 Link Cayenne callback API with JPA provider |
| CAY-669 Support superclass entity callbacks |
| CAY-672 Change the logic to get the Java class from ResultSetMetadata |
| CAY-673 Removed DVModeler from the release. For backwards compatibility DVModeler from 2.0.x release can be used. |
| CAY-674 ROP client side validation |
| CAY-679 Add a new method to ObjectContext: registerNewObject(Object) |
| CAY-680 Deprecate DataObject.[get|set]DataContext in favor of [get|set]ObjectContext |
| CAY-681 Deprecate DataObject.fetchFinished() in favor of the callbacks |
| CAY-683 Deprecate DataContext.createAndRegisterNewObject() |
| CAY-685 OSQueryCache concurrency improvements |
| CAY-686 Weed out DataObject references from the access stack classes, replacing them with Persistent and ClassDescriptor |
| CAY-687 New method: QueryMetadata.getClassDescriptor() |
| CAY-688 Change signatures of ObjectContext.deleteObject/registerNewObject/localObject to take Object instead of Persistent as an argument |
| CAY-689 DataObjectUtils must return "Object" instead of "DataObject" from all pk lookup methods |
| CAY-692 Extra argument needed in ObjectContext.prepareForAccess - whether the property is a fault or not. |
| CAY-693 DataContext should not return HOLLOW objects in response to ObjectIdQuery() |
| CAY-694 Support for serialization of enhanced serializable POJO's that do not declare 'serialVersionUID' |
| CAY-696 true/false in expression |
| CAY-700 where in () with empty collection |
| CAY-701 "property" package refactoring |
| CAY-702 Improve DBCPDataSourceFactory to use it for a JettyPlus DataSource |
| CAY-703 Cache EntityResolver in the ClientChannel |
| CAY-713 Improved Meaningful PK support |
| CAY-717 Modeler doesn't manage FK constraints with MYSQL |
| CAY-722 Investigate reducing the shared cache lock scope on commit |
| CAY-737 Deprecate DataContextTransactionEventListener, DataObjectTransactionEventListener, DataContextEvent |
| CAY-740 MapLoader algorithm improvement |
| CAY-741 Indexing entities with inheritance across datamaps |
| CAY-750 Stored procedures without parameters fail on Postgres 8 |
| CAY-763 XML Deserialization fails on relationships when using a mapping file |
| CAY-773 MySQL stored procedure support |
| CAY-781 Bug in CayenneDataObject.readNestedProperty |
| CAY-800 SQLTemplate improvement - API to control the capitalization of the data row labels |
| CAY-803 EJBQL Parameters support |
| CAY-805 SQLTemplate improvement: new #bindObjectEqual #bindObjectNotEqual directives |
| CAY-810 IncrementalFaultList performance improvements |
| CAY-812 Add ability to drag cayenne.xml to the Modeler from the filesystem |
| |
| |
| Bug Fixes since 1.2/2.0 final: |
| (note that many of these fixes are also available from the later stable releases of 1.2/2.0 branches) |
| |
| CAY-565 LRUMap NPE |
| CAY-583 Enable batching on Derby |
| CAY-597 XML Encoder with Mapping outputs incorrect XML |
| CAY-601 Problem resolving relationships in nested DataContext |
| CAY-603 QueryChain.isFetchingDataRows() incorrectly returns "false" - must be "true" all the time |
| CAY-607 Long query name or qualifier expand query text field off screen |
| CAY-618 Support optional remote events in the ClientChannel |
| CAY-639 JDBC datatype of MySQL INT UNSIGNED is mapped as java.lang.Integer should be java.lang.Long |
| CAY-617 ROP: shared session functionality over XMPP is broken |
| CAY-614 ToManyList contains references to transient objects |
| CAY-609 Modeler prevents intermediate prefetch creation |
| CAY-608 Prefetch validation incorrectly reports error on multi-step prefetches |
| CAY-641 Stack trace instead of error message when relationship and attribute have the same name |
| CAY-646 Class generator - incorrect java types for classes like java.lang.whatever.XYZ |
| CAY-649 ExtenedTypeMap.getRegisteredType(Class) incorrectly handles array types |
| CAY-652 Exception with Tomcat's session restore capability |
| CAY-653 overriding setPersistentState() in unreliable in three tier environment with CayenneContext |
| CAY-663 localObject and new objects |
| CAY-664 Simplify EntityResolver serialization |
| CAY-671 custom exception class for ROP missing session |
| CAY-675 compound primary key change |
| CAY-690 Exception in the Modeler when changing schema on derived entities |
| CAY-707 SelectQuery automatic cache key build mechanism produces wrong results when DO's are used in qualifier |
| CAY-710 XMLDecoder decodes Dates wrong |
| CAY-711 SQLTemplate data row query of PostgreSQL Blob |
| CAY-712 Allow modifying objects in validate* methods |
| CAY-718 ROP: handle non-serializable server side exceptions |
| CAY-721 DataContext shouldn't attempt to fix objects on FaultFailureExceptions |
| CAY-723 Enable batching on MS SQL Server |
| CAY-724 Bogus FaultFailureExceptions |
| CAY-726 SQLTemplate parsing bug when macros appear at the end of line |
| CAY-743 Reordering mappings from domain in xml resulting in StackOverflowException |
| CAY-746 Change ConnectionProperties.ADAPTER_KEY value from "cayenne.adapter" to "adapter" |
| CAY-751 AS400 datafields containing # in field names do not get mapped correctly |
| CAY-752 Importing EOModel gives Cast Exception |
| CAY-754 Local jNDI hack breaks when running with Jetty6-Maven |
| CAY-764 Exception when importing an EOModel with single table inheritance |
| CAY-765 Programmatically overriding "use share cache" fails |
| CAY-775 AutoAdapter fails to detect Sybase when running with jTDS driver |
| CAY-776 1.2 -> 2.0/3.0 Migration - modeler preferences still store org.objectstyle adapter names |
| CAY-779 Improve usability of non-pooling DriverDataSource for uses outside Cayenne |
| CAY-783 jgroups config file not removed from cayenne.xml |
| CAY-784 Deleting an object with a read-only flattened relationship fails |
| CAY-786 Race condition in DataContext.localObject() |
| CAY-788 prefetch can set state to modified |
| CAY-792 Date has issues with different locales when using XMLEncoder/XMLDecoder |
| CAY-817 HSQLDB schema generation may not correctly flush the changes |
| CAY-818 Frontbase NUMBERIC type mapping typo |
| CAY-823 Db-generated PK type mismatch |
| CAY-830 DataChannelCallbackInterceptor.onQuery NPE |
| |
| API Changes |
| ---------------------------------- |
| |
| * Due to the caching mechanism changes, the following methods were removed (there is no sensible deprecation path) |
| - DataRowStore.cacheSnapshots(String, List) |
| - DataRowStore.getCachedSnapshots(String) |