Since the Public Review Draft (Beta 2) we’ve primarily focused on improving the new Bean Validation 2.0 features, e.g. by clarifying ambiguities in the spec, fixing bugs in the API, adding more examples etc.

In terms of API changes, we’ve followed up on our community survey on the new built-in constraints @Positive and @Negative and removed the strict() attribute in favor of separate annotations: @PositiveOrZero and @NegativeOrZero . As suggested by the community feedback, we’ve found that those separate annotations improve readability of code using the constraints. In order to stay consistent, we’ve also removed orPresent() from @Past and @Future in favor of @PastOrPresent and @FutureOrPresent . We think the same argument of readability applies; if you have any thoughts on these changes, please let us know.

Another API change (BVAL-655) relates to how container element constraints are exposed in the constraint metadata API. In case an overriding method of a sub-type specializes the return type of the overridden method (co-variant return type) it’s now possible to obtain the constraint metadata for the return type of the super-type method as well as of the sub-type method. Refer to the spec for the complete metadata API definition and an extensive example of its usage.