Jakarta Validation defines a metadata model and API for JavaBean and method validation.
This release is targeting Jakarta EE 12 and will look to introduce the new features, possibly deprecate some of the existing features, .
-
Actually deprecate the methods in ConstraintViolationBuilder,
i.e. add @Deprecated(since = "1.1", forRemoval = true), where there’s currently just a Javadoc comment (@deprecated).
-
Introduce the ConstraintValidator#initialize(ConstraintDescriptor<A>, ConstraintValidatorInitializationContext) to provide access to more information at constraint initialization step (e.g. ClockProvider, implementation specific context, etc.).
-
Introduce ConstraintDescriptor#getAttribute(String attributeName, Class<V> type) to simplify working with constraint attributes.
-
Clarify what happens when mixing inheritance and default group redefinition (https://github.com/jakartaee/validation/issues/261)
-
Fix incorrect example in table 5.1 (https://github.com/jakartaee/validation/issues/259)
-
In the XSD, relax the order of elements where the order does not matter (https://github.com/jakartaee/validation/issues/258)
-
Clarify that behavior is undefined if legacy @Valid and type argument @Valid are given for same element, while at the same time encourage implementations to issue a warning to the users, as in the future spec version we are planning to enforce more strict rules and not support the “legacy” format anymore. (https://github.com/jakartaee/validation/issues/260)
-
Support ConstraintValidator declaration via service loader (https://github.com/jakartaee/validation/issues/257)
-
Drop use of SecurityManager (already done, but not a part of 3.1)
-
Set the minimum JDK version (21 for Jakarta EE 12)
-
Update dependencies for Jakarta EE 12
-
Review the list of issues from the previous issue tracker and migrate the valid ones (https://github.com/jakartaee/validation/issues/227)
The Specification Committee Ballot concluded successfully on 2025-05-06 with the following results.