We are glad to announce 3.1M3 release of Cayenne. This is an important 
milestone on our way to Beta. In fact there is a good chance that the next 
release will be announced as Beta. Upgrade to M3 is strongly recommended to all 
3.1 users, as it contains some critical bug fixes. The highlights of the M3:

* Core API improvements - cleaner vararg APIs in ObjectContext and Cayenne 
classes, ObjectContext.localObject(Object), etc.
* Switching more of the internals to DI (query cache providers, loggers, 
various strategies controlling ObjectContext behavior, etc.).  We'll keep 
working on this, so M4 will have more of it, and in fact there are a number of 
existing patches waiting for review (e.g. DI-based ExtendedTypes).
* New QueryCache implementation based on EHCache (not thoroughly tested yet, so 
user feedback will be very helpful).
* Refactoring of "cayenne-lifecycle" based on experience using it in the real 
apps.
* Fixing a number of critical bugs.

Download Cayenne from here http://cayenne.apache.org/download.html

And now the full release notes:

Changes/New Features:

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:

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

Reply via email to