We just published Hibernate Validator 9.0.0.CR1, the first candidate release of the new 9.0 series of Hibernate Validator.
This series targets Jakarta EE 11. It is the implementation of the Jakarta Validation 3.1.
Since the previously released 9.0.0.Beta3, we spent some time on various build improvements, tidied up a few things and addressed various reports from the community and our testing.
With this release, we no longer publish relocation POMs for the old org.hibernate
group id.
There also are some dependency updates and bug fixes.
What’s new
For a summary of all new features and improvements since 8.0, head to the dedicated page on hibernate.org. |
Jakarta EE 11 and Jakarta Validation 3.1
As a reminder: the 9.0 series targets Jakarta EE 11 and implements Jakarta Validation 3.1. The 3.1 update of the specification does not bring many changes:
-
The minimum required Java version is set to 17.
-
The specification was renamed from Jakarta Bean Validation to Jakarta Validation.
-
Validation of Java
record
types was clarified (this has been supported by Hibernate Validator for some time).
Removal of the relocation POMs
With Hibernate Validator 9.0, we are no longer publishing relocation POMs for the group id org.hibernate
previously used by the following artifacts:
-
org.hibernate:hibernate-validator-annotation-processor
-
org.hibernate:hibernate-validator-cdi
-
org.hibernate:hibernate-validator
These relocation POM files were introduced back in 2017 to help users gradually migrate to the new org.hibernate.validator
group id.
See the migration guide for more details on migration from previous versions.
Other improvements and bug fixes
-
HV-1931: Address a problem with Hibernate Validator version printed as
null
in the logs when running on a module path. -
HV-1942: Update the
DefaultGroupSequenceProvider
interface to be aware of the type it is applied to. This should allow a single implementation of theDefaultGroupSequenceProvider
to be applied to more than one type. -
HV-1955: Update the implementation of the
@NotBlank
constraint to rely on theString#isBlank()
. -
HV-2053: Add translation of Validation Messages for Azerbaijani language. Thanks to Shamkhal Maharramov for contributing the translation file.
-
HV-2067: Fix a problem with the
@UUID
constraint, where UUIDs could have been incorrectly validated for explicitly specified versions.
And more. Please see the release notes for a complete list of changes since the previous releases.
How to get this release
Hibernate Validator 9 targets the upcoming Jakarta EE 11.
All details are available and up to date on the dedicated page on hibernate.org.
Getting started, migrating
For new applications, please refer to the getting started guide:
For existing applications, Hibernate Validator 9.0 in most cases is a drop-in replacement for 8.0, assuming you also upgrade the other Jakarta EE 11 related dependencies and were not relying on the removed deprecated APIs. Information about deprecated configuration and API is included in the migration guide.
Feedback, issues, ideas?
To get in touch, use the usual channels:
-
hibernate-validator tag on Stack Overflow (usage questions)
-
User forum (usage questions, general feedback)
-
Issue tracker (bug reports, feature requests)
-
Mailing list (development-related discussions)
-
Jakarta Validation development mailing list (discussions about the Jakarta Validation specification)