Affects Version/s: None
Fix Version/s: 5.10.0.CR1
In order for 5.10 to be included into WildFly 13 (and then JBoss EAP), we need it to be binary compatible with applications compiled against Search 5.5 (the Search version included in WildFly 12 and EAP 7.1).
After a detailed analysis, it seems only the following changes are not binary compatible:
- org.hibernate.search.query.dsl.QueryCustomization#filteredBy(Filter) changed and now accepts a parameter of type Query instead of Filter (Query is a supertype of Filter).
This class is supposed to be called by users.
- org.hibernate.search.filter.FilterCachingStrategy#getCachedFilter changed and returns a value of type Query instead of Filter (Query is a supertype of Filter).
This class is supposed to be implemented by users.
Complete integration tests showing the incompatibility are available here: https://github.com/yrodiere/hibernate-test-case-templates/tree/search-5-5-vs-5-10-binary-compatibility/search/hibernate-search-wildfly
The first change could be made binary compatible by adding a default method, but it's not something we can do for the second change. Thus we will need to use bridger to alter the bytecode after it is compiled.