Today, we announce the release of two Hibernate Validator versions: the first beta of the 5.4 branch and a maintenance release for our current stable, 5.3.
5.4.0.Beta1
5.4.0.Beta1 contains a lot of good things coming from the Hibernate Validator community:
-
lots of improvements to the annotation processor thanks to Marko Bekhta. For the last 2 months, Marko did a tremendous work getting the annotation processor up to speed: it will now report many more issues you might have with your annotations. We are especially interested in feedback on this feature so that we are sure we don’t report issues for configurations that should just work. So, if you have some time, give it a try on your project and, if you see something fishy, report it to us.
-
another contribution came in the form of the JavaMoney (JSR 354) support, contributed by Lukas Niemeier and Willi Schönborn from Zalando.
-
we now provide a WildFly patch based on WildFly’s patching infrastructure to allow testing a new version of HV on WildFly.
-
a couple of other improvements such as cleanups backported from our 6.0 work, a Ukrainian translation, constraint annotations for the various Polish identification numbers, improvements to the
@Email
constraint…
You can find the complete list of all addressed issues in the change log.
More in depth with JavaMoney
The JavaMoney API is now an optional dependency of Hibernate Validator. So adding the following dependencies will make HV capable of validating JavaMoney types:
<dependency>
<groupId>javax.money</groupId>
<artifactId>money-api</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.javamoney</groupId>
<artifactId>moneta</artifactId>
<version>1.1</version>
</dependency>
You’ll then be able to validate your Order
bean containing a MonetaryAmount
property with the @DecimalMin
annotation:
public class Order {
@NotBlank
private String name;
@DecimalMin(value = "0", inclusive = false)
private MonetaryAmount amount;
public JavaxMoneyOrder(String name, MonetaryAmount amount) {
this.name = name;
this.amount = amount;
}
}
Applying a WildFly patch
The WildFly application server in its latest stable version (10.1.0.Final) embeds Hibernate Validator 5.2.4.Final but you might want to give our new features a try.
WildFly 8 introduced a patching infrastructure that allows you to apply patches to WildFly with a lot of nice features: you can list the applied patches, rollback a specific patch…
Starting with HV 5.4, we leverage this infrastructure to provide you with the capability to upgrade the core Hibernate Validator modules with an updated version. As the patch overrides the core modules, the new features of 5.4.0.Beta1 are available to all the WildFly components using HV (e.g. Jax-RS for instance).
The patch file can be downloaded from Maven Central or from our distribution.
You can apply the HV 5.4.0.Beta1 update on top of WildFly 10.1.0.Final with the following command:
$JBOSS_HOME/bin/jboss-cli.sh patch apply hibernate-validator-modules-5.4.0.Beta1-wildfly-10.1.0.Final-patch.zip
And if you want to go back to the original version, you can easily revert the update:
$JBOSS_HOME/bin/jboss-cli.sh patch rollback --reset-configuration=true
5.3.4.Final
Our fourth maintenance release of Hibernate Validator 5.3 comes with a few important bugfixes:
-
HV-1165 - this is a regression introduced in 5.3.0.CR1 when we fixed the type arguments support for
Map
s: we broke the support forSet
s. The issue is now fixed and we added a comprehensive suite of regression tests for all the existing cases. -
HV-1176 - validation of type arguments constraints on
Optional
parameters or return value of a method could be ignored if there were no other constraints applied on the method -
HV-1164 - a bugfix related to dynamic constraint payloads contributed by Sebastian Bayerl
You can find the complete list of all addressed issues in the change log.
Feedback, issues, ideas?
To get in touch, use the following channels:
-
hibernate-validator tag on Stackoverflow (usage questions)
-
User forum (usage questions, general feedback)
-
Issue tracker (bug reports, feature requests)
-
Mailing list (development-related discussions)
What’s next?
We are going to prepare the first Candidate Release of the 5.4 branch in which we will integrate your feedback.
We are also actively working on Bean Validation 2.0 and Hibernate Validator 6 with a strong focus on supporting the new features of Java 8 (and much more!). The more the merrier, so feel free to join us: drop ideas, comment on others' proposals, now is the time to define the future of Bean Validation. You can find all the necessary information on the Bean Validation website.