Author: aadamchik Date: Mon Feb 15 18:14:01 2016 New Revision: 1730588 URL: http://svn.apache.org/viewvc?rev=1730588&view=rev Log: editing/amending M3 release announcement
Modified: cayenne/site/cms/trunk/content/2016/02/cayenne-40m3-released.mdtext Modified: cayenne/site/cms/trunk/content/2016/02/cayenne-40m3-released.mdtext URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/2016/02/cayenne-40m3-released.mdtext?rev=1730588&r1=1730587&r2=1730588&view=diff ============================================================================== --- cayenne/site/cms/trunk/content/2016/02/cayenne-40m3-released.mdtext (original) +++ cayenne/site/cms/trunk/content/2016/02/cayenne-40m3-released.mdtext Mon Feb 15 18:14:01 2016 @@ -1,4 +1,4 @@ -Title: +Title: Cayenne 4.0 Milestone 3 Released Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information @@ -19,22 +19,21 @@ Notice: Licensed to the Apache Softwa ## Cayenne 4.0 Milestone 3 Released _Feb 12, 2016_ -This new milestone release has plenty new features, bug fixes and other improvements. Below are just the main highlights. For more details read upgrade-guide.pdf and check out the full release notes further down. +This new milestone release has plenty new features, bug fixes and other improvements. Below are just the main highlights. For more details check out the full release notes further down, as well as [UPGRADE.txt](https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt). Cayenne can be downloaded from [here](/download.html). ### Java 7 -Since this milestone release minimal Java version is 1.7. If you are still need Java 1.6, you can use Cayenne 3.1 or 4.0.M2 until your application is able to upgrade. +Since this milestone minimal Java version is 1.7. If you still need Java 1.6, you can use Cayenne 3.1 or 4.0.M2 until your application is able to upgrade. ### Java 8 Date/Time and Joda-Time Support -Cayenne now has two additional modules for Java 8 Date/Time and Joda-Time support accordingly. All you need is to add appropriate maven dependency and then create module and add it to the ServerRuntime. For example: +Cayenne now has two additional modules that contain ExtendedTypes for Java 8 Date/Time and Joda-Time support. You will need to add appropriate maven dependency and then create a module and add it to the ServerRuntime. For example: Module java8Module = new CayenneJava8Module(); this.runtime = new ServerRuntime("cayenne-project.xml", java8Module); - ### Improvements in Query API All new fluent query classes (ObjectSelect, SQLSelect, SelectById) have the following basic methods: @@ -46,18 +45,22 @@ All new fluent query classes (ObjectSele * `ResultIterator<T> iterator(ObjectContext context);` * `ResultBatchIterator<T> batchIterator(ObjectContext context, int size);` -The "old" style SelectQuery is still supported and also includes this methods. +The "old" style SelectQuery is still supported and also includes these methods. + +Also ResultIterator and ResultBatchIterator are both AutoCloseable now. So you will be able to use try-with-resources with them. -Also it should be noted that ResultIterator and ResultBatchIterator are both AutoCloseable now. So you are able to use try-with-resources with them. +### Non-blocking DataSource -### DBCP2 Support +Default Cayenne DataSource provider is switched to a non-blocking implementation that has a much better concurrency compared to the old version. -DBCPDataSourceFactory is now based on DBCP2 (which is required under Java 1.7 and newer). If you are using it, you will need to take a few steps to upgrade. For more details see upgrade-guide.pdf. +### Switching to DBCP2 -### Connection pool +DBCPDataSourceFactory is now based on DBCP2 (which is required under Java 1.7 and newer). If you are using it, you will need to take a few steps to upgrade. For more details see [UPGRADE.txt](https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt). ### Capturing a stream of commit changes +Sometimes it is very useful to capture all or parts of "commit log" for commits made through Cayenne (for audit purposes, etc). It has always been a challenge to do it in a consistent manner. We've made a few attempts to solve this before. M3 features the most complete solution. There is a builder API for a special DI module that supports registering post-commit listeners. See [PostCommitBuilder](https://github.com/apache/cayenne/blob/4.0.M3/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/postcommit/PostCommitModuleBuilder.java) for details. + ### A full list of changes in this release: * CAY-1626 Add JodaTime DateTime support