Version 110



    Release process


    To prepare and release a new version of Hibernate Search follow these steps (executed against the branch you intend to release):



    • If you added a new Maven module that should be included in the distribution, check that it has been included in the distribution (javadoc in pom.xml and assembly)
    • Check that everything has been pushed to the upstream repository
    • Check that  the CI job for the branch you want to release is green
    • Verify the project status
      • Make sure there are no outstanding issues in JIRA
      • Verify the tests and artifacts:
        > mvn clean install -Pdocumentation-pdf,dist
      • Check the distribution package as built by Maven (distribution/target/hibernate-search-<version>-dist). Especially check the jar files in the subdirectories:
        • optional
        • required
        • provided

                    They should contain the appropriate dependencies, without duplicates. The creation of these directories is driven by the assembly plugin (distribution/src/main/assembly/dist.xml) which is very specific and

                    might break with the inclusion of new dependencies. The root directory of the distribution should contain the hibernate-search-<version>.jar and hibernate-search-infinispan-<version>.jar. You can get a list of the

                    included jars by for example running:  find distribution/target/hibernate-search-<version>-dist -name "*.jar" | awk 'BEGIN { FS = "/" } ; {print $8 "\t" $7}'  | sort



    • Transfer the released issues in JIRA to the Closed state. You can use this search Issue Navigator - Hibernate JIRA and select another fixVersion. Once you have selected the right version, click on the button with three dots at the top right of the screen and click on Bulk update all XX issues. Use the Transition action to transition your issues from Resolved to Closed, and please check the option to not send email notifications.
    • Release the version on JIRA
    • Do NOT update the changelog.txt and, the release job does it for you.
    • Trigger the release on the CI
      • Go to CI, to the hibernate-search CI job.
      • Click on the "run" button (the green triangle on top of a clock, to the right) next to the branch you want to release.
      • Be careful when filling the form with the build parameters.
    • Release the artifacts on the JBoss Nexus repository manager. This is a two-steps process.
      • Log into Nexus and examine your staging repository. Use the search box to hide all unrelated repositories: search for "hibernate" will show only the ones created by hibernate-ci.
      • You can either Drop it in order to start over again or you can Release it making the artifacts available in the live repository. (Click Refresh after each action)
        • For Search 5.x and below, you will also need to Close the repository before you can release it.
      • You can find more information in the description of the JBoss project release process. A Maven settings.xml for testing the artifacts in the staging repository can be found here.
      • Test the release in the staging repository. If there is a problem, drop the staging repo, fix the problem, delete the commits pushed by CI and the tag (Note: they have been pushed upstream by CI). If everything is ok, promote the staging repo to the releases repository.
    • If it's a Final release
      • update the previous.stable property in the parent pom for any active development branch
        • The property must point to the latest version of the previous minor.
          Eg. let's say you release 5.6.5 while being actively working on 5.7. Then the development branch for 5.7 must have its previous.stable property set to 5.6.5.
      • Update the test case templates to use the new version
    • If it's a minor release (x.y.0)



    • The CI job automatically pushes the distribution to SourceForge and publishes the documentation to



    • Update
      • If it is a new major or minor release, add a _data/projects/search/releases/series.yml file and a search/releases/<version>/index.adoc file
      • Add a new release file to _data/projects/search/releases
      • Depending on which series you want to have displayed, make sure to adjust the displayed flag of the series.yml file of the old series
      • If it's a CR or Final release
        • Update the Migration Guide; in particular, check the git history for API/SPI changes and document them in the migration guide
        • Verify the Getting Started guide
      • If it's a Final release
        • Don't forget to add a "stable: true" line to the new release file
      • Push to the production branch
    • Blog about release on (Make sure to use the tags "Hibernate Search" and "Releases" for the blog entry)
    • Send email to hibernate-announce and CC hibernate-dev.
    • Twitter updates via @Hibernate : try to engage with the Lucene community or other communities depending on the release highlights.
    • Mention the release on Ecosystem - Discuss Elasticsearch, Logstash and Kibana | Elastic if it is relevant to Elasticsearch
    • Update  our forum's "sticky post".
    • If it's a release on the latest branch
    • If it's a Final release on the latest branch
      • Upgrade the Hibernate Search dependency in the demos