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 Changes/New Features: ---------------------------------- Release: 4.0.M2 Date: ---------------------------------- Changes/New Features: CAY-1267 Some changes to LogDialog CAY-1980 'mvn cayenne-modeler:run' seems to be broken in 4.0 CAY-1984 cdbimport doesn't flatten many to many relationships 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) 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 ---------------------------------- Release: 3.2M1 Date: ---------------------------------- 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