diff --git a/openjpa-project/CHANGES.txt b/openjpa-project/CHANGES.txt index 4d9558b32..c7e6f67a9 100644 --- a/openjpa-project/CHANGES.txt +++ b/openjpa-project/CHANGES.txt @@ -1,4 +1,4 @@ -Apache OpenJPA 2.2.0 +Apache OpenJPA 3.2.0 Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 -------------------------------------------------------------------------------- @@ -21,10 +21,10 @@ Content Overview -------- The Apache OpenJPA community is proud to release a SNAPSHOT distribution of - OpenJPA 2.2.0. This distribution is based on the final JSR 317 Java - Persistence API, Version 2.0 specification and passes the JPA 2.0 TCK, - while remaining backwards compatible with prior releases based on the - Java Persistence API (JPA 1.0) part of Java Community Process JSR-220 + OpenJPA 3.2.0. This distribution is based on the final JSR 317 Java + Persistence API, Version 2.02 specification, while remaining backwards + compatible with prior releases based on the Java Persistence API + (JPA 1.0, 2.0, 2.1) part of Java Community Process JSR-220 (Enterprise JavaBeans 3.0). Additional information on the OpenJPA project may be found at the project @@ -54,7 +54,7 @@ License Notices ------- - Copyright 2006,2012 The Apache Software Foundation. + Copyright 2006,2021 The Apache Software Foundation. Apache, the Apache feather logo and OpenJPA are trademarks of The Apache Software Foundation. @@ -75,7 +75,7 @@ Notices Prerequisites ------------- - OpenJPA requires Java SE 6 or higher and a relational + OpenJPA requires Java SE 8 or higher and a relational database of some sort. @@ -110,169 +110,78 @@ Getting Involved freenode.net. * Bugs and other issues can be posted on the issue tracker at https://issues.apache.org/jira/browse/OPENJPA + * Our homepage https://openjpa.apache.org contains more information -Included Changes in OpenJPA 2.2.0 +Included Changes in OpenJPA 3.2.0 --------------------------------- Sub-task - [OPENJPA-1593] - Create an OSGiManagedRuntime - [OPENJPA-2081] - Provide subset of XML support for OpenJPA annotations + [OPENJPA-1594] - Tests not handling new QueryTimeOut and LockTimeOut exceptions correctly Bug - [OPENJPA-478] - Contradictory text in manual section 10.2.6. JPQL GROUP BY, HAVING - [OPENJPA-867] - Unexpected Behaviour of DBDictionary.indexOf() method - [OPENJPA-1343] - Incorrect example of openjpa.Sequence property - [OPENJPA-1376] - @SequenceGenerator allocationSize incorrect implementation - [OPENJPA-1650] - Adding a slice dynamically should be done via persistence unit only - [OPENJPA-1651] - Unique colums automatically defined as non-nullable (part 2) - [OPENJPA-1657] - Postgres connection throws NPE with null properties - [OPENJPA-1686] - Persistence of Dynamic and Generic Type - [OPENJPA-1725] - Schemaname wrongly included in DBDictionary.checkNameLength after Tablename correctly truncated - [OPENJPA-1746] - NullPointerException when a null value is set in the properties map passed to Entity.createEntityManagerFactory - [OPENJPA-1768] - StackOverflowError when finding an Entity with an Eager ManyToMany relationship. - [OPENJPA-1787] - Bean validation fails merging a new entity - [OPENJPA-1845] - the prepared query cache doesn't currently work correclty with 'SELECT IN' statements - [OPENJPA-1856] - Executing bulk updates should evict stale data from the DataCache - [OPENJPA-1873] - EntityManager#merge sometimes passes wrong entity values to @PostLoad EntityListeners - [OPENJPA-1876] - Slow JDBC tests - [OPENJPA-1896] - OpenJPA cannot store POJOs if a corresponding record already exists - [OPENJPA-1898] - TestQueryMultiThreaded fails with OOME "unable to create new native thread" - [OPENJPA-1900] - ClassCastException when serializing an entity if DetachedStateField=true - [OPENJPA-1901] - QueryCacheStoreQuery$CachedObjectId that is not Serializable - [OPENJPA-1902] - SQLServer reserved words may not be used as identifiers - [OPENJPA-1903] - Some queries only work the first time they are executed - [OPENJPA-1904] - OptimisticLockException during refresh(*,PESSIMISTIC_*) with eagar fetch on relationship fields - [OPENJPA-1905] - jar-file validation should be deferred until after OpenJPA is confirmed to be the application's chosen provider - [OPENJPA-1906] - Issue info / warning message when connection retain mode is always - [OPENJPA-1909] - enhance unit tests with the correct persistence.xml - [OPENJPA-1910] - openjpa uses application ClassLoader for resolving BrokerFactory (revisited) - [OPENJPA-1911] - InvalidStateException is thrown when merge an entity with derived identiy - [OPENJPA-1912] - enhancer generates invalid code if fetch-groups is activated - [OPENJPA-1915] - missing license header - [OPENJPA-1918] - MetaDataRepository.preload() ignores class loader returned by PersistenceUnitInfo.getClassLoader() - [OPENJPA-1923] - Allow flexible (non-standard) syntax for collection-valued parameters in IN() expresseion of JPQL query - [OPENJPA-1928] - Resolving factory method does not allow method overriding - [OPENJPA-1932] - Documentation corrections - [OPENJPA-1935] - Informix lock exceptions are not mapped properly by OpenJPA - [OPENJPA-1938] - Typo of time data type in SQLServerdictionary for MSSQL 2008 - [OPENJPA-1939] - index identifier max length for DB2 v9 is 128. - [OPENJPA-1940] - ReverseMapping tool does not find primary keys with Oracle - [OPENJPA-1941] - Criteria query returns wrong result when query cache is enabled - [OPENJPA-1943] - Query timeout hint not honored consistently when pessimistic lock is issued to database requires multi-statements locking scheme - [OPENJPA-1944] - Extra select statements executed when version column is null. - [OPENJPA-1951] - missing key "cant-set-value" in localizer properties org.apache.openjpa.jdbc.meta.strats - [OPENJPA-1953] - Copying data from inputStream to OuputStream needs appropriate buffer size - [OPENJPA-1954] - ArrayIndexOutOfBoundsException when querying on a version field that is in a MappedSuperclass - [OPENJPA-1957] - XML overriding column names for ArrayList attributes causes exception. - [OPENJPA-1958] - IndexOutOfBoundsException in BatchingPreparedStatementManagerImpl - [OPENJPA-1959] - RuntimeExceptionTranslator should be transient in DelegatingQuery - [OPENJPA-1960] - openjpa.InitializeEagerly breaks bean-validation integration - [OPENJPA-1965] - ClassCastException when using JAXB and MetaModel annotation processor - [OPENJPA-1968] - SQLServerDictionery not using DATETIME2 for jdbc driver other than MS JDBC driver - [OPENJPA-1969] - SQLServer / DataDirect SQLCode=HYT00 not handled - [OPENJPA-1974] - StackOverflowError when performing multiple subquery in collection field with eager fetch - [OPENJPA-1975] - Only obtain default schema name when needed (DB2) - [OPENJPA-1981] - Improper cleanup in SchemaGenerator - [OPENJPA-1983] - Merge of lazily fetched fields, and merge of managed entities deviates from spec - [OPENJPA-1984] - Incorrect ViolationContraint getRootBean when removing bean with embedded entity validation - [OPENJPA-1985] - ClassCastException in max(Timestamp) function on PostgreSQL - [OPENJPA-1986] - Extra queries being generated when cascading a persist - [OPENJPA-1987] - Postgres / Ingres does not support null table for getImportedKeys - [OPENJPA-1989] - *ToOne relationships specified as LAZY in xml aren't honored - [OPENJPA-1992] - java.lang.ArrayIndexOutOfBoundsException if positional parameter are not started from 1 - [OPENJPA-1994] - Index is a reserved word for MySQL - [OPENJPA-1996] - OpenJPA Samples fail on MacOS X - [OPENJPA-1998] - NPE getTableNameForMetadata when running SchemaTool reflect against Postgres DB - [OPENJPA-2000] - Wrong PostgreSQL data type for REAL - "float8", must be "float4" - [OPENJPA-2005] - PostgresDictionary.isOwnedSequence needs a null check - [OPENJPA-2006] - Sequence generated ids may fail to get assigned when flushing a graph with bi-directional relationships - [OPENJPA-2007] - Setting query hint "openjpa.FetchPlan.Isolation" results in misleading warning - [OPENJPA-2008] - OpenJPA does not work with native queries in a distributed (Slice) environment - [OPENJPA-2010] - Duplicate meta data warning logged due to parsing the same location twice - [OPENJPA-2011] - Prevent reparsing annotation metadata for queries - [OPENJPA-2013] - columnDefinition for TEXT types ends up in wrong sql statement - [OPENJPA-2025] - Byte[] and Char[] should be treated as SingularAttributes, not lists by the metamodel generator - [OPENJPA-2027] - Metamodel genereated at runtime expects ListAttribute for all arrays - not just PersistentCollections. - [OPENJPA-2034] - Update H2 Database sql error codes as per the changes in v1.3.154 - [OPENJPA-2036] - DynamicEnhancer should look for tools.jar in java.home/lib for all JDKs, not just the IBM SDK. - [OPENJPA-2039] - FKs for EAGER fields that are not in the current fetchplan aren't selected - [OPENJPA-2044] - Invalid header in MetaModel classes generated by AnnotationProcessor - [OPENJPA-2045] - NAME is a valid column name for H2 databases. - [OPENJPA-2051] - Entities in a relationship are not properly cascaded after a EntityManager.flush is executed. - [OPENJPA-2056] - Postgres V9.1 issue with LIKE clause and Escape Strings - [OPENJPA-2059] - Missing localizer.properties for org.apache.openjpa.persistence.util.SourceCode - [OPENJPA-2060] - AnnotationProcess failed to generate metadata for List[] attribute in entity - [OPENJPA-2065] - JPA 2.0 Spec. Violation? EntityManager#createNamedQuery(String, Class) bombs with non-entity Class parameter - [OPENJPA-2066] - Edge case in openJPA-1227. openJPA fails to create a join and thus returns wrong data when a collection is selected from superclass and another field is selected from subclass twoor more levels down the hierarchy. - [OPENJPA-2069] - Natvie sequence problems uncovered after OPENJPA-1376 - [OPENJPA-2070] - Error processing while populating Metamodel classes needs improvement - [OPENJPA-2071] - NPE during ResultPacker interface processing - [OPENJPA-2073] - MappingTools requires live connection to DB2 server to retrieve default schema name - [OPENJPA-2076] - Minor fix-ups to messages - [OPENJPA-2077] - Pom references to org.codehaus.mojo openjpa-maven-plugin cause problems - [OPENJPA-2083] - Unmapped fields silently treated as transient - [OPENJPA-2100] - openjpa-maven-plugin fails to create SQL for entities which contain enums - [OPENJPA-2101] - PersistenceProductDerivation overwrites the RemoteCommitProvider configuration - [OPENJPA-2104] - BindParameter is not a valid query parameter as processed in DBDictionary's setUnknown() - [OPENJPA-2105] - Document changes no longer being uploaded - [OPENJPA-2107] - ManagedCache conflict due adding an entity 2 times in the same query. - [OPENJPA-2117] - XML overriding column names for 1xM attributes causes exception. - [OPENJPA-2119] - Update org.apache.openjpa.persistence.util.SourceCode - [OPENJPA-2122] - VerifyError with Java 7 when using javaagent or dynamic container enhancement - [OPENJPA-2124] - Use of XMLValueHandler results in a NullPointerException when classloader does not provide package support - -Improvement - - [OPENJPA-302] - PCEnhancer needs target classes on classpath - [OPENJPA-487] - Generated SUBSTRING SQL is ugly and inefficient - [OPENJPA-758] - OpenJPA doesn't find ValueHandlers with an applicable class loader - [OPENJPA-1555] - SQLBuffer code cleanup - [OPENJPA-1777] - Allow setting of diagonstic context for each slice in a more flexible manner - [OPENJPA-1778] - Improved error information for unenhanced classes. - [OPENJPA-1798] - Improve messages in localize.properties - [OPENJPA-1803] - Unwrap EntityManager to Connection - [OPENJPA-1847] - Use a single connection when generating schema - [OPENJPA-1863] - update HSQL dictionary for HSQLDB 2.0 - [OPENJPA-1917] - Cache column alias in SelectImpl - [OPENJPA-1937] - Document OpenJPAEntityManager.evict methods - [OPENJPA-1945] - Improve aspects of the OpenBooks sample - [OPENJPA-1972] - DB2 V9.7 changed the default behavior concerning blocking behavior with isolation levels greater then read uncommitted - [OPENJPA-1990] - Skip getting extend exception text when running on DB2 - [OPENJPA-1999] - Optional support for non-sequential positional parameters - [OPENJPA-2014] - Allow proxies to stay in place when Detaching - [OPENJPA-2020] - Make some members of StateManagerImpl protected to allow for greater extensability - [OPENJPA-2031] - Unable to import maven projects with m2e version 1.0 - [OPENJPA-2042] - Diagnostics for Application Managed EntityManagerFactory leaks. - [OPENJPA-2043] - OpenJPAId hashCode() value needs to be consistent after serialization process - [OPENJPA-2047] - Document the impact of Persistence Aware classes - [OPENJPA-2068] - Improve performance of java.util.Calendar fields - [OPENJPA-2075] - Abstract out parameter handling / validation from org.apache.openjpa.persistence.QueryImpl to allow for greater extensibility - [OPENJPA-2084] - Upgrade Derby dependency to 10.8.x - [OPENJPA-2085] - Improve enhancement process to support JAVA 7 compliant class file generation - [OPENJPA-2087] - Remove or limit the use of the ConcreteClassGenerator - [OPENJPA-2116] - Scrape the barrel for performance juice - [OPENJPA-2120] - Add new option to eliminate reflection calls from enhancer generated IdClass PC copy operations - [OPENJPA-2128] - Add a boolean to FieldMetaData to denote whether or not a field has a @EmbeddedId annotation. - [OPENJPA-2130] - Enable Java 7 testing by allowing test cases to compile targeting to 1.7 + [OPENJPA-1303] - Reserved words are not mapped correctly in table definition + [OPENJPA-2182] - DB dictionaries do not properly process reserved words for column names + [OPENJPA-2648] - hsqldb @Id long create table as interger instead of bigint + [OPENJPA-2731] - Problems with Boolean Representation with Postgres + [OPENJPA-2788] - Anonymous parameters are not being picked when adding via CriteriaBuilder + [OPENJPA-2789] - JDBC connection not closed when running named query in explicitly opened connection + [OPENJPA-2795] - generate foreign key indexes for Oracle + [OPENJPA-2814] - Memory Leak in ForeignKey class + [OPENJPA-2821] - Subclassing enhancer must use AsmAdapter + [OPENJPA-2828] - org.apache.openjpa.kernel.conf.Specification.equals() : returns true even if different + [OPENJPA-2829] - javax script execution does not ignore empty lines + [OPENJPA-2830] - javax.persistence.sql-load-script-source does not support ";" in strings + [OPENJPA-2832] - DROP COLUMN does not use delimiters and always add double quotes + [OPENJPA-2834] - Performance issue while deploying in Wildfly EAP with OpenJPA-3.1.1 + [OPENJPA-2842] - openjpa.Log=log4j vs log4j2 - reintroduce log4j support and add explicit log4j2 support + [OPENJPA-2843] - try to get rid of com.ibm dependency + [OPENJPA-2846] - Enhancement does not work with JDK 16 + [OPENJPA-2849] - select(max) etc of LocalDate, LocalDateTime etc leads to ClassCastException + [OPENJPA-2850] - [MSSQL] BLOB column type is not supported + [OPENJPA-2851] - argument CURRENT_DATE cannot handle java.time.LocalDateTime entity fields + [OPENJPA-2854] - fix OffsetTime handling for PostgreSQL + [OPENJPA-2855] - primary keys do no respect naming rules + [OPENJPA-2856] - [MariaDB] improve TIME handling + [OPENJPA-2857] - [MariaDB] locking in some cases gets handled via sqlState 70100 + [OPENJPA-2858] - update dbcp2 to 2.8.0 + [OPENJPA-2859] - [HSQLDB] HSQLDictionary wrongly maps double to NUMERIC without precision + [OPENJPA-2860] - [Postgres] use setQueryTimeout for PostgreSQL >= 10 + [OPENJPA-2861] - select sum(CASE x WHEN x THEN 1 ELSE 0 ) returns String instead of Long. + [OPENJPA-2862] - select SUM doesn't return spec defined types + [OPENJPA-2863] - java.time.LocalDateTime in Oracle gets rounded to just 3 digits + [OPENJPA-2864] - respect the Columns precision when persisting a java.sql.Timestamp value + [OPENJPA-2865] - [Oracle] use native java.time JDBC features + [OPENJPA-2866] - [Oracle] add GenerationType#IDENTITY support for Oracle + [OPENJPA-2871] - upgrade to xbean-4.20 to remove transitive ASM dependency New Feature - [OPENJPA-184] - use DB2 Diagnostic interface to report extended error diagnostics on SQL Exception - [OPENJPA-1859] - Create a sample to demonstrate usage of JEST - [OPENJPA-1934] - contribute an openjpa-maven-plugin - [OPENJPA-2108] - Allow an option to terminate MappingTool-generated SQL with a character other than semicolon + [OPENJPA-2816] - Add HerdDB DBDictionary + +Improvement + + [OPENJPA-84] - Escape sql reserved words in column names + [OPENJPA-2665] - refactore code to use more Java7 features. + [OPENJPA-2765] - Fix documentation of JPA spec compliance + [OPENJPA-2820] - Track when a DBIdentifier is already delimited in order to save memory allocations and cpu + [OPENJPA-2822] - enhancer can rely on at least java8 + [OPENJPA-2823] - treat jakarta.* as spec class in enhancer + [OPENJPA-2852] - Maven Plugin should be marked thread safe + [OPENJPA-2853] - [MSSQL Server] support sendTimeAsDatetime handling + [OPENJPA-2867] - generate list of reserved Words via unit test + [OPENJPA-2868] - update reserved column names list for various of our DBDictionaries + [OPENJPA-2870] - update specification-version to 2.2 Task - [OPENJPA-1786] - Upgrade to latest JPA 2.0 TCK - [OPENJPA-1834] - Upgrade trunk to use Deby 10.6.2.1 for junits - [OPENJPA-1875] - Add generics to the Graph code - [OPENJPA-2089] - upgrade bval to latest 0.3-incubating - [OPENJPA-2091] - update docbook maven plugin + [OPENJPA-2819] - Add simple GitHub Actions validation for Pull Requests + [OPENJPA-2824] - When @OpenJPASupport (junit5 extension) is used, ensure to not do auto enhancement more than once + [OPENJPA-2831] - Import commons-collections4 classes instead of the dependency in openjpa-lib + [OPENJPA-2833] - Upgrade to ASM 9 + [OPENJPA-2835] - update to xbean-asm9 for Java16 support + [OPENJPA-2838] - Add a JUL LogFactory + [OPENJPA-2840] - Enable a light SPI for asm support in kernel module -Test - - [OPENJPA-2029] - Add PreparedQuery tests for non-sequential positional parameters support