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.M1 Date: ---------------------------------- 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 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, 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