Hi Steve, The list I provided contains removals from your fork in wip/6.0 branch.
IIUC, integrating changes from master will not restore what was deleted or moved to a different package. After integrating from master and resolving conflicts, we'll have the same incompatibilities. Am I missing something? Is there some other branch I should be comparing? Regards, Gail On Thu, Feb 15, 2018 at 9:13 AM, Steve Ebersole <st...@hibernate.org> wrote: > We have not integrated changes from master into 6.0 for a long time. And > we probably won't for some time yet either. So comparisons between 5.2 or > 5.3 and 6.0 right now are pointless > > On Wed, Feb 14, 2018 at 12:09 PM Gail Badner <gbad...@redhat.com> wrote: > >> I sent this last night with a huge report file, and it seems that it >> didn't >> get out. >> >> I'm re-sending without the report file... >> >> I ran japi-compliance-checker to compare differences in APIs >> between hibernate-core-5.3.0-SNAPSHOT.jar and hibernate-core-6.0.0- >> SNAPSHOT.jar. >> >> I ran it last week, so it may not include updates made since that time. >> >> Differences in Envers shown in the report should be disregarded because it >> only reflects that hibernate-envers was merged into hibernate-core. A >> separate comparison between hibernate-envers-5.3.0-SNAPSHOT.jar and >> hibernate-core-6.0.0-SNAPSHOT.jar needs to be done to see Envers changes. >> >> Chris will provide details about Envers differences in a separate email. >> >> The report is huge; it took me 3 to 4 hours to scan it. AFAICT, what I've >> documented are the only non-Envers API changes that could affect >> applications. They all involve removed classes/methods. >> >> My intention here is just to get this information out, so we have some >> solid examples to discuss. >> >> Regards, >> Gail >> >> ------------------------------------------------------------ >> ---------------------------------------------------------------------- >> >> Custom types: I am not familiar with how this will work in 6.0. Steve, >> please fill in details about any incompatibilities. >> >> org.hibernate.Criteria and org.hibernate.criterion.DetachedCriteria: >> >> In 5.0/5.1/5.2: >> * user guides say, "This appendix covers the legacy Hibernate >> org.hibernate.Criteria API, which should be considered deprecated. New >> development should focus on the JPA javax.persistence.criteria.Cri >> teriaQuery >> API. Eventually, Hibernate-specific criteria features will be ported as >> extensions to the JPA javax.persistence.criteria.CriteriaQuery. For >> details >> on the JPA APIs, see Criteria." >> >> In 5.2/5.3: >> * Criteria and DetachedCriteria are not deprecated; >> * all SharedSessionContract#createCriteria methods are deprecated; >> * public static methods in DetachedCriteria are not deprecated; >> >> In 6.0: >> * Criteria and DetachedCriteria are removed along with other classes in >> org.hibernate.criterion. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications using legacy org.hibernate.Criteria will need to >> be updated to use javax.persistence.criteria.CriteriaQuery; >> 2) If Hibernate's implementation of javax.persistence.criteria.Cri >> teriaQuery >> does not include the Hibernate-specific extensions that were available >> using org.hibernate.Criteria, applications may not have a straightforward >> way to change their applications to work. >> >> org.hibernate.Query >> >> In 5.1: >> * SharedSessionContract#createQuery returns org.hibernate.Query >> (org.hibernate.Session extends SharedSessionContract); >> >> In 5.2/5.3: >> * org.hibernate.Query was deprecated; org.hibernate.query.Query should be >> used instead; org.hibernate.query.Query extends org.hibernate.Query; >> * SharedSessionContract#createQuery moved to >> org.hibernate.query.QueryProducer#createQuery, >> returning org.hibernate.query.Query (which extends org.hibernate.Query); >> (org.hibernate.Session extends QueryProducer); >> >> In 6.0: >> * org.hibernate.Query was removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that explicitly use org.hibernate.Query >> (including >> javax.persistence.Query.unwrap( org.hibernate.Query.class )) will have to >> be changed to use org.hibernate.query.Query. >> >> org.hibernate.SQLQuery: >> >> In 5.1: >> * SharedSessionContract#createSQLQuery returns org.hibernate.SQLQuery >> (org.hibernate.Session extends SharedSessionContract); >> >> In 5.2/5.3: >> * SQLQuery was deprecated; NativeQuery should be used instead; NativeQuery >> extends SQLQuery; >> * SharedSessionContract#createSQLQuery moved to >> QueryProducer#createSQLQuery, returning NativeQuery (which extends >> SQLQuery); Session extends QueryProducer; >> * QueryProducer#createSQLQuery is deprecated; >> QueryProducer#createNativeQuery >> should be used instead >> >> In 6.0: >> * SQLQuery and org.hibernate.query.QueryProducer#createSQLQuery are >> removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications using Session#createSQLQuery will need to be >> updated to use Session#createNativeQuery. >> 2) Existing applications that explicitly use org.hibernate.SQLQuery >> (including javax.persistence.Query.unwrap( SQLQuery.class )) will have to >> be changed to use NativeQuery. >> >> org.hibernate.SynchronizeableQuery >> >> In 5.2/5.3: >> * org.hibernate.SynchronizeableQuery is not deprecated; >> * SQLQuery, NativeQuery and ProcedureCall extend org.hibernate. >> SynchronizeableQuery >> >> In 6.0: >> * org.hibernate.SynchronizeableQuery is moved to org.hibernate.query. >> SynchronizeableQuery; >> * NativeQuery and ProcedureCall extend >> org.hibernate.query.SynchronizeableQuery; >> (SQLQuery was removed as mentioned above) >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) In 6.0, existing applications that use org.hibernate.SynchronizeableQ >> uery >> (including javax.persistence.Query.unwrap( >> org.hibernate.SynchronizeableQuery.class >> )) will need to be updated to use org.hibernate.query.Synchroniz >> eableQuery >> >> org.hibernate.Session#createFilter >> >> In 5.1: >> * Session#createFilter returns org.hibernate.Query; >> >> In 5.2/5.3: >> * Session#createFilter returns org.hibernate.query.Query (which extends >> org.hibernate.Query); >> * org.hibernate.Session#createFilter is not deprecated; >> >> In 6.0: >> * org.hibernate.Session#createFilter is removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that call Session#createFilter will need to be >> updated (to what???); does collection filter functionality exist in 6.0??? >> >> org.hibernate.Session.#getTypeHelper >> >> In 5.1/5.2/5.3: >> * org.hibernate.Session.#getTypeHelper returns org.hibernate.TypeHelper; >> * Session#getTypeHelper is not deprecated; >> >> In 6.0: org.hibernate.Session.#getTypeHelper is removed; >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) In 6.0, existing applications that call Session.#getTypeHelper will >> need >> to be updated (to what???). >> >> org.hibernate.metadata.ClassMetadata, org.hibernate.metadata. >> CollectionMetadata >> >> In 5.2/5.3: >> * SessionFactory#getClassMetadata(Class), #getClassMetadata(String), >> #getAllClassMetadata, #getCollectionMetadata, #getAllCollectionMetadata >> were deprecated; descriptors from >> javax.persistence.EntityManagerFactory#getMetamodel >> should be used instead; org.hibernate.SessionFactory extends >> javax.persistence.EntityManagerFactory; >> >> In 6.0: >> * ClassMetadata and CollectionMetadata removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) In 6.0, existing applications that call >> org.hibernate.SessionFactory#getClassMetadata(Class), >> #getClassMetadata(String), #getAllClassMetadata, #getCollectionMetadata, >> #getAllCollectionMetadata will need to be updated to use descripters from >> javax.persistence.EntityManagerFactory#getMetamodel. >> >> org.hibernate.stat.NaturalIdCacheStatistics >> >> In 5.2/5.3: >> * Statistics#getNaturalIdCacheStatistics returns >> NaturalIdCacheStatistics; >> >> In 6.0: >> * NaturalIdCacheStatistics is renamed to NaturalIdQueryStatistics; >> * NaturalIdQueryStatistics excludes #getHitCount, #getMissCount, >> #getPutCount, #getElementCountInMemory, #getElementCountOnDisk, >> #getSizeInMemory, and #getEntries which were originally in >> NaturalIdCacheStatistics; instead org.hibernate.stat. >> SecondLevelCacheStatistics#getHitCount, #getMissCount, #getPutCount, >> >> #getElementCountInMemory, #getElementCountOnDisk, #getSizeInMemory should >> be used. >> (SecondLevelCacheStatistics#getEntries was removed due to HHH-11356, so >> there is no substitute for org.hibernate.stat.NaturalIdCacheStatistics# >> getEntries; >> * Statistics#getNaturalIdCacheStatistics is renamed to >> #getNaturalIdStatistics. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that explicitly use NaturalIdCacheStatistics will >> need to be updated to use NaturalIdCacheStatistics. >> 2) Existing applications that call Statistics#getNaturalIdCacheStatistics >> will need to be updated to use Statistics#getNaturalIdCacheStatistics. >> 3) Existing applications that call org.hibernate.stat. >> NaturalIdCacheStatistics#getHitCount, #getMissCount, #getPutCount, >> #getElementCountInMemory, #getElementCountOnDisk, #getSizeInMemory, or >> #getEntries will need to be updated to obtain the >> SecondLevelCacheStatistics object for the particular natural ID using >> Statistics#getSecondLevelCacheStatistics( naturalIdRegionName??? ) (How >> is >> naturalIdRegionName determined???). The application will need to be >> changed >> to used SecondLevelCacheStatistics#getHitCount, #getMissCount, >> #getPutCount, #getElementCountInMemory, #getElementCountOnDisk, and >> #getSizeInMemory instead. >> 4) Existing applications that call NaturalIdCacheStatistics#getEntries >> will >> need to be updated to no longer call that method. >> >> org.hibernate.stat.SecondLevelCacheStatistics >> >> In 5.3: >> * SecondLevelCacheStatistics#getEntries is not deprecated; >> >> In 6.0: >> * SecondLevelCacheStatistics#getEntries is removed due to HHH-11356. >> * SecondLevelCacheStatistics no longer implements Serializable; >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that call SecondLevelCacheStatistics#getEntries >> will need to be updated to no longer call that method. >> 2) Existing applications that implement SecondLevelCacheStatistics (SPI) >> will need to explicitly implement Serializable. >> >> QueryStatistics#getCacheHitCount, #getCacheMissCount, and >> #getCachePutCount >> >> In 5.3: >> * QueryStatistics#getCacheHitCount, #getCacheMissCount, and >> #getCachePutCount are not deprecated; >> >> In 6.0: >> * QueryStatistics#getCacheHitCount, #getCacheMissCount, and >> #getCachePutCount were removed; >> * ConcurrentQueryStatisticsImpl implements QueryStatistics and still >> contains public methods, #getCacheHitCount, #getCacheMissCount, and >> #getCachePutCount (why???). >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that use >> org.hibernate.stat.QueryStatistics#getCacheHitCount, >> #getCacheMissCount, and #getCachePutCount will need to be changed (to use >> SecondLevelCacheStatistics???). >> >> org.hibernate.jpa.HibernateEntityManager >> >> In 5.2/5.3: >> * HibernateEntityManager is deprecated; Session (or SessionImplementor >> (SPI)) should be used instead; >> * Session extends HibernateEntityManager; >> >> In 6.0: >> * HibernateEntityManager is removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) In 6.0, existing applications that explicitly use >> org.hibernate.jpa.HibernateEntityManager >> (including javax.persistence.EntityManager.unwrap( >> HibernateEntityManager.class )) will have to be changed to use Session (or >> SessionImplementor (SPI)). >> >> org.hibernate.jpa.HibernateEntityManagerFactory >> >> In 5.2/5.3: >> * HibernateEntityManagerFactory is deprecated; SessionFactory (or >> SessionFactoryImplementor (SPI)) should be used instead; >> * SessionFactory extends HibernateEntityManagerFactory; >> >> In 6.0: >> * HibernateEntityManagerFactory is removed. >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) In 6.0, existing applications that explicitly use >> org.hibernate.jpa.HibernateEntityManagerFactory >> (including javax.persistence.EntityManagerFactory.unwrap( >> HibernateEntityManagerFactory.class )) will have to be changed to use >> Session (or SessionImplementor (SPI)). >> >> org.hibernate.Hibernate#unproxy >> >> In 5.2/5.3: >> * Hibernate#unproxy was introduced by HHH-10831 in 5.2.10 >> >> In 6.0: >> * the fix for HHH-10831 has not been incorporated into 6.0, so it is not >> present. Will it be?? >> >> Incompatibilities migrating from 5.3 -> 6.0: >> 1) Existing applications that use Hibernate#unproxy will have to be be >> changed to explicitly initialize and unproxy. >> _______________________________________________ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >> > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev