The metadata source is annotations, with the ability to override and extend the meta-data through the use of XML validation descriptors.
Java Bean Validation (JSR 303) originated as a framework that was approved by the JCP as of 16 November 2009 and accepted as part of the Java EE 6 specification.
Bean Validation 2.0 is defined by JSR 380, approved 2017-07-31.
This major release leverages language features in Java 8 that are very useful for the purposes of Bean Validation.
Significant changes[1] include: Final release of the 1.1 specification occurred 2013-05-24.