We just published 5.10.0.Final, the first stable release in the 5.10 branch. This release brings an upgrade of the ORM integration to ORM 5.3 and JPA 2.2, an integration to DI frameworks through Hibernate ORM 5.3, an upgrade to WildFly 12 and JGroups 4, and JPMS automatic module names.
If you didn’t pay attention after the 5.9.0.Final release, then there is a lot of news for you! Below is a summary of notable changes since 5.9.
If you tried out the Betas/CR, know that this release only adds two changes on top of 5.10.0.CR1:
Hibernate Search now taps into Hibernate ORM’s integration to dependency injection frameworks. If you use a dependency injection framework integrating with Hibernate ORM 5.3, and you add field bridges to your dependency injection context, then Hibernate Search will automatically retrieve and use field bridges from this context.
This allows you in particular to inject components from your DI context into your field bridges,
using your DI framework’s features (
The integration is already known to work in a CDI 2.0 environment such as WildFly 12, and the Spring team will probably make it work as soon as it adds support for JPA 2.2.
Hibernate Search’s JBoss modules now target WildFly 12. This means in particular that the JGroups backend now uses JGroups 4 and is no longer compatible with JGroups 3.
Also, we took this opportunity to move the JGroups backend’s JBoss modules out of the engine feature pack to a dedicated feature pack.
We added automatic JPMS module names to our JARs.
Note that Hibernate Search JARs still can only be used as automatic modules, because some of our dependencies cannot easily be used as modules yet.
Here are the module names:
Hibernate Search now offers a way to access the Elasticsearch client directly. See the documentation for more information.
Here are the other notable changes since Hibernate Search 5.9.0.Final:
HSEARCH-3026: If your Elasticsearch cluster is accessed through a URL with a non-root path, you can now use
hibernate.search.default.elasticsearch.path_prefixto tell Hibernate Search about that path.
HSEARCH-3039: We removed the ability to analyze document identifiers from Search a few versions ago, but some parts of Hibernate Search still performed analysis on document identifiers in some cases, in particular when querying them and when embedding a document ID using
@IndexedEmbedded. This has been fixed: Hibernate Search now consistently skips analysis on document identifiers.
HSEARCH-3138: We restored binary compatibility with applications built against Hibernate Search 5.5, so that Hibernate Search 5.10 can be included in the upcoming WildFly release.
For a full list of changes since 5.9.0.Final, please see this list of tickets on our JIRA instance.
For a full list of changes since 5.10.0.CR1, please see the release notes.
All details are available and up to date on the dedicated page on hibernate.org.
We are still working on Hibernate Search 6, with the proof of concept now providing both an Elasticsearch and a Lucene backend, with generic APIs that will avoid the need to add Lucene to your classpath when you only need Elasticsearch.
There is still a lot of work to do, but we expect to be able to release an Alpha in the next few months.