We just published Hibernate Search 6.1.0.Beta2, another beta release of the next minor version of Hibernate Search.
Among the main changes: persistence and management of aborted events with the "outbox-polling" coordination, definition of Lucene analyzers without referring to Lucene classes, Elasticsearch 7.16 compatibility, OpenSearch 1.2 compatibility, and more.
Hibernate Search 6.1 is still in development: some features are still incomplete or may change in a backward-incompatible way.
- Hibernate ORM (HSEARCH-4400)
Hibernate Search 6.1 now relies on Hibernate ORM 5.6.2.
- Lucene (HSEARCH-4420)
The Lucene backend now uses Lucene 8.11.1.
- Elasticsearch (HSEARCH-4340)
The Elasticsearch backend is now tested to be compatible with Elasticsearch servers in version 5.6, 6.8, 7.10 or 7.16.
- OpenSearch (HSEARCH-4412)
The Elasticsearch backend is now tested to be compatible with OpenSearch servers in version 1.0 or 1.2.
HSEARCH-4422: Upgrade to Jackson 2.13.1
HSEARCH-4410: Upgrade to Elasticsearch client 7.16.2
As mentioned here, Hibernate projects do not use Log4j at runtime and thus are not affected by the various vulnerabilities discovered in Log4j 2 recently.
However, Hibernate Search does use Log4j during its own build, when executing tests, which is why we had to update our test dependency to Log4j 2.17.1 anyway.
Incidentally, this might help with some security sniffers that do not correctly understand the difference between runtime dependencies and test dependencies, leading to Hibernate Search being (falsely) reported as affected by the Log4j vulnerabilities.
Persistence and management of aborted events with the "outbox-polling" coordination
As of HSEARCH-4283,
outbox-polling coordination strategy
now persists events whose processing failed 3 times, but with the "aborted" status that prevents their re-processing.
Several API methods are available to count aborted events, clear them or request their re-processing.
Lucene analyzer definition using tokenizer/filter names
As of HSEARCH-4404,
LuceneAnalysisConfigurer can be implemented without referring to Lucene classes at all,
referring to tokenizers and filters using their name
This is useful in some modular environments where the application might have access to Hibernate Search classes, but not to Lucene classes.
Other improvements and bug fixes
HSEARCH-4423: Hibernate Search will no longer incorrectly detect a cycle and fail to process
@IndexingDependency(derivedFrom = …)when the path to source properties contains two properties with the same name, but on different types. Thanks to fraf for reporting this!
HSEARCH-4401: The Lucene backend now correctly raises an error when running a search query where offset + limit is higher than
Integer.MAX_VALUE, instead of incorrectly ignoring the limit.
HSEARCH-4398: Hibernate Search no longer has an unnecessary transitive dependency to
HSEARCH-4391: Fixed images not being displayed in the documentation.
HSEARCH-4408: Fixed syntax highlighting for code example not working anymore in the documentation.
And more. For a full list of changes since the previous releases, please see the release notes.
How to get this release
All details are available and up to date on the dedicated page on hibernate.org.
Getting started, migrating
For new applications, refer to the getting started guide.
For existing applications, Hibernate Search 6.1 is a drop-in replacement for 6.0, assuming you also upgrade the dependencies. Information about deprecated configuration and API is included in the migration guide.
Feedback, issues, ideas?
To get in touch, use the following channels:
hibernate-search tag on Stackoverflow (usage questions)
User forum (usage questions, general feedback)
Issue tracker (bug reports, feature requests)
Mailing list (development-related discussions)