Hibernate Search 7.0.0.Final is out!

Posted by    |      

Hibernate Search is a library that integrates Hibernate ORM with Apache Lucene or Elasticsearch by automatically indexing entities, enabling advanced search functionality: full-text, geospatial, aggregations and more. For more information, see Hibernate Search on hibernate.org.

We are pleased to announce the release of Hibernate Search 7.0.0.Final.

Compared to Hibernate Search 6.2, this release upgrades its baseline to JDK 11 and Hibernate ORM 6.4, brings compatibility with Elasticsearch 8.10/8.11 and OpenSearch 2.10/2.11, and upgrades to Lucene 9.8.

Hibernate Search 7.0 also brings new features such as a brand-new Hibernate Search BOM, experimental compatibility with Amazon OpenSearch Serverless, compatibility with Hibernate ORM’s discriminator-based multi-tenancy, and other bugfixes and improvements.

What’s new compared to Hibernate Search 6.2

Java

Hibernate Search is now using JDK 11 as a baseline and can work on JDK 11, 17 or 21. Compatibility with JDK 8 was dropped.

Hibernate ORM

Hibernate Search now depends on Hibernate ORM 6.4 as it fully switched to Jakarta EE. There are no -orm6/-jakarta artifacts or Java EE compatibility anymore.

Lucene

The Lucene backend now uses Lucene 9.8. Upgrading requires reindexing, see the migration guide for details.

Elasticsearch

The Elasticsearch backend works with Elasticsearch 8.10/8.11 as well as other versions that were already compatible — except for the following versions whose compatibility was dropped, because they already reached their end of life:

  • 5.x/6.x

  • 7.0-7.9

OpenSearch

The Elasticsearch backend works with OpenSearch 2.10 and 2.11 as well as other versions that were already compatible — except for versions 1.0, 1.1 and 1.2 whose compatibility was dropped, because they already reached their end of life.

Hibernate Search BOM

Hibernate Search now offers a BOM providing dependency management for all of its published artifacts. It can be imported as part of your dependency management to keep the versions of Hibernate Search artifacts aligned:

<dependencyManagement>
    <dependencies>
        <!-- Import Hibernate Search BOM to get all of its artifact versions aligned: -->
        <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-bom</artifactId>
            <version>7.0.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- Any other dependency management entries -->
    </dependencies>
</dependencyManagement>
<!-- ... -->
<dependencies>
    <!-- Declare dependencies -->
    <dependency>
        <groupId>org.hibernate.search</groupId>
        <artifactId>hibernate-search-mapper-orm</artifactId>
        <!-- The version is managed by the BOM above -->
    </dependency>
    <dependency>
        <groupId>org.hibernate.search</groupId>
        <artifactId>hibernate-search-backend-elasticsearch</artifactId>
        <!-- The version is managed by the BOM above -->
    </dependency>
    <!-- Any other dependency entries -->
</dependencies>

Amazon OpenSearch Serverless experimental compatibility

Hibernate Search now has incubating compatibility with Amazon OpenSearch Serverless.

Amazon OpenSearch Serverless has certain limitations compared to a regular OpenSearch cluster and may not support all operations a regular cluster does. Compatibility with Amazon OpenSearch Serverless must be enabled explicitly by setting the backend version property:

hibernate.search.backend.version=amazon-opensearch-serverless

See this section of the reference documentation for more information, in particular about limitations.

Compatibility with Hibernate ORM’s discriminator-based multi-tenancy

Hibernate Search can now index Hibernate ORM entities that take advantage of discriminator-based multi-tenancy in the database (@TenandId).

Maven artifact renamings

Some Hibernate Search Maven artifacts have been renamed:

  • Maven artifacts related to JSR-352 artifacts were renamed to reflect the move to the Jakarta EE specification:

    • hibernate-search-mapper-orm-batch-jsr352-core was renamed to hibernate-search-mapper-orm-jakarta-batch-core.

    • hibernate-search-mapper-orm-batch-jsr352-jberet was renamed to hibernate-search-mapper-orm-jakarta-batch-jberet.

  • The artifact hibernate-search-mapper-orm-coordination-outbox-polling was renamed to hibernate-search-mapper-orm-outbox-polling.

What’s new compared to Hibernate Search 7.0.0.CR2

For a list of changes since 7.0.0.CR2 only, refer to 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, assuming you were already using Hibernate Search 6.2 with -orm6 artifacts, upgrading to Hibernate Search 7.0 mainly requires removing the -orm6 suffix from your Hibernate Search dependencies updating the version numbers (alternatively you can use the BOM), and of course aligning your other dependencies (e.g. Hibernate ORM), if any.

Information about migration, deprecations and breaking changes is included in the migration guide.

Feedback, issues, ideas?

To get in touch, use the following channels:


Back to top