Jakarta Validation 4.0 is on its way, as the release plan for this version was approved exactly one month ago on May 6! What to expect from Jakarta Validation 4.0? The highlights of this release plan are as follows: This version of the specification will require Java SE 21 or higher. Prepare for removal of the legacy approach to mark container elements for cascading validation, i.e. @Valid List list;. The next major version will consider such code to be requesting the cascading validation of ...| Jakarta Validation
Jakarta Validation 3.1 was released earlier in 2024. What’s new in Bean Validation 3.1? The 3.1 update of the specification, compared to 3.0, brings the following changes: The minimum required Java version is set to 17. The rename of the specification from Jakarta Bean Validation to Jakarta Validation. The clarification on the record validation. Jakarta Validation 3.1 will be a part of the Jakarta EE 11 platform, to be released later. Give it a try Don’t wait and try out the new release y...| Jakarta Validation
While a couple of months have passed since Bean Validation 2.0 got released, the info about what’s new in the spec may still not yet have reached everyone. Here are two presentations which I wanted to share in order to help with that. The first one is the slide set of the talk on Bean Validation 2.0 and JSR 380 which I did at JavaOne 2017: You can also download a PDF with these slides from Speaker Deck here. While the JavaOne session was not recorded, my quickie session on the same topic at...| Jakarta Validation
Bean Validation just got a new website and we hope you will like it! New layout We developed a more modern layout based on Semantic UI. It should be easier to the eye and more readable too. The logo, contributed by Hendrik Ebbers for Bean Validation 2.0, is now in good place. New organization In the old website, the information about a given version of the spec was spread over multiple pages. It was hard for the user to get an overview of a given version and it was also hard for us to work on...| Jakarta Validation
It is done — after one year of hard work, and a bit more than four years after the previous revision, the final release of Bean Validation 2.0 (JSR 380) is out! Last week, the JSR passed the Final Approval Ballot by the executive committee of the JCP unanimously with 25 "Yes" votes. After the ballot we’ve released version 2.0.0.Final of the specification, the API as well as the TCK. At the same time, the final version of the reference implementation, Hibernate Validator 6, was release...| Jakarta Validation
It’s my great pleasure to announce the CR 3 release of the Bean Validation 2.0 spec! This release of the spec and the API as well as accompanying releases of the TCK and the reference implementation (release announcement) have been handed over to the JCP for the Final Approval Ballot last night. It’s this ballot where the Executive Committee of the JCP will cast its final go/no-go vote on the Bean Validation 2.0 JSR. Since the CR 2 release, only a few things have changed after reviewing t...| Jakarta Validation
I’m very happy to announce the CR 2 release of the Bean Validation 2.0 spec! The CR 2 is an update to the Proposed Final Draft (CR 1), addressing remarks and comments from reviewing all the changes. The updated spec document can be found here. To see the changes applied since the CR 1, check out this colored diff. If you’d like to see all the changes since Bean Validation 1.1, take a look at this diff. The updated API is available on Maven Central, using the GAV coordinates are javax.vali...| Jakarta Validation
I’m very happy to announce that Bean Validation 2.0 has published its Proposed Final Draft (CR 1)! You can find the PFD right here on beanvalidation.org as well as on JSR 380’s pages on jcp.org. We’ve also prepared a colored diff with all the changes since Bean Validation 1.1. The updated API is available on Maven Central, using the GAV coordinates are javax.validation:validation-api:2.0.0.CR1. Alternatively, it’s part of the ZIP that can be downloaded from from jcp.org. What’s new ...| Jakarta Validation
While the Bean Validation 2.0 spec (JSR 380) has been put up for Public Review last month, we’ve continued to address some more outstanding issues, added some clarifications etc. Of course we wanted to get out these improvements as quickly as possible, so we’ve published an update to the Public Review draft (the JCP rules explicitly foresee the possibility of updates during the Public Review phase). The updated draft can be found here on beanvalidation.org or you can download it from jcp....| Jakarta Validation
Based on our previous survey we’ve recently added the new constraints @Positive and @Negative to the Bean Validation spec. Now we’ve had an interesting discussion on some details of those constraints, e.g. should 0 (zero) be considered as a valid value by default? I.e. what’s the more common use case, to consider 0 as valid or not? So we thought let’s make another survey to gauge the community feedback on those issues. You’d help us very much by answering the two questions below, yo...| Jakarta Validation
It’s with great pleasure that I’m announcing that Bean Validation 2.0 (JSR 380) is entering the Public Review phase! You can read the Public Review Draft right here on this website or download it from jcp.org. We are also publishing HTML diffs, making it very easy for you to track the changes since Bean Validation 1.1 and since the previous 2.0 release (Alpha2). The updated API is deployed to Maven Central, its coordinates are javax.validation:validation-api:2.0.0.Beta1. Alternatively, it...| Jakarta Validation
I’m happy to announce the release of the Alpha2 release of the Bean Validation 2 API and specification. This release contains several improvements and clarifications around the validation of container elements (think List<@Email String>): Custom value extractors can now be passed in when bootstrapping a validator factory or validator (via API or XML) Value extractors are detected via the Java service loader mechanism (e.g. allowing libraries to ship their own extractors for custom collectio...| Jakarta Validation
A few days after the release of the Bean Validation 2.0 Early Draft 1 there is now also a first version of the reference implementation available. If you are using Apache Maven, add the following dependency to your pom.xml to give it a test ride: org.hibernate.validatorhibernate-validator6.0.0.Alpha1 The 6.0.0.Alpha1 release provides all the functionality of the Early Draft 1. In addition there is support for nested type argument constraints, e.g. Map> itemsByCategory; this addresses open que...| Jakarta Validation
I’m very happy to announce the first Early Draft Review of JSR 380, Bean Validation 2.0! This Early Draft comprises all the spec changes done so far and it’s a great opportunity for us to get feedback from the community at large. You can read the spec draft either directly on this website or download it from jcp.org. A GitHub diff showing all the changes to the spec’s AsciiDoc document done so far (sans some typo and style fixes) is available here. The updated API can be downloaded from...| Jakarta Validation
While the work on Bean Validation 2.0 is well underway, I’ve some good news to share on Bean Validation 1.1 today: Apache BVal has been certified as a compliant implementation of the Bean Validation 1.1 spec! Thanks to the great work of the friendly folks working on Apache BVal and TomEE, it has passed the TCK quite a while ago, so this announcement is long overdue. The tested version is Apache BVal 1.1.2, using the Bean Validation API signatures from org.apache.tomee:javaee-api:7.0-1 and v...| Jakarta Validation
It has been a few months since we’ve kicked off the work on Bean Validation 2.0 (JSR 380). We have made some good progress, so I’d like to give you a quick update on what has been achieved so far and what the next steps will be. This is planned to be the first post of a regular blog series with JSR 380 status updates. Expert group formation It all started with the review ballot of the JCP executive committee on the new JSR. The ballot was approved with a huge majority, allowing the JSR to...| Jakarta Validation
For Bean Validation 2, we are working on the support for Collection<@Email String>, Optional<@Min(3) Integer> etc. This has been a very common request and with Java 8 type use support, we can how achieve this. However, we need your feedback on how you would use such feature. Some context We have support not only for collections, Optional, Java FX properties but also for what we call custom parameterized containers. We are wondering a few things about custom parameterized containers, namely ho...| Jakarta Validation
The work on Bean Validation 2.0 is in full swing and there is an issue where we could benefit from your help. Recently we have been discussing whether any new constraints should be added to the specification or not. Traditionally, Bean Validation stayed on the conservative side of things in this regard. It defined only some generically applicable and widely useful constraints in the specification itself, e.g. @NotNull, @Size or @Pattern. Now Marco Molteni did a very interesting analysis on th...| Jakarta Validation
Today I've got some great news to share with you: a new revision of the Bean Validation spec is about to be kicked off! Over the last weeks, we've been busy with preparing a proposal for this JSR and I've submitted it to the JCP (Java Community Process) last week. You can find the proposal for "JSR 380: Bean Validation 2.0" on jcp.org. In the following, let's take a look at what we think should be part of Bean Validation 2.0 and what we've planned as the next steps. Looking back... Bean Valid...| Jakarta Validation
Exactly one year after the last maintenance release we've published version 1.1.4.Final of the Bean Validation TCK today. It contains exactly one issue, BVTCK-68, which is about the removal of two tests from the TCK which could not be tested in a portable manner across containers. Check out the issue itself for the complete story. As always, the new TCK version is available for download as TAR.GZ and ZIP on SourceForge. Alternatively you can obtain the test suite via Maven, Gradle etc. using ...| Jakarta Validation
Good news for those of you who want to certify the compatibility of a Bean Validation implementation (and its API JAR) against Java SE 8. We have released updates to the Bean Validation TCK 1.0 and 1.1; The versions are 1.0.7.GA and 1.1.3.Final, respectively. Both TCK releases come now with a version of the API signature file which works with Java SE 8. This signature file can be used to assert API compatibility with JSR 303/349 via the SigTest tool. SigTest 3.0 needs to be used from now on. ...| Jakarta Validation
I have two good Bean Validation related content for you today. Training slides (in French) Laurent Guerin wrote a comprehensive training on Bean Validation (1.0 and 1.1) for French students. The slides are available under a Creative Commons license. I did review them and they are very good. The bad news is that they are in French. The good news is that they are in French! Video training (in English) Antonio Goncalves, my esteemed co-host of Les Cast Codeurs has published a 2 and a half hour v...| Jakarta Validation
Antonio Goncalves, fellow JCP member and friend has asked me why Bean Validation XML's namespace has not moved from its original location to the jcp.org location like other Java EE 7 specifications. I don't remember being aware that such a move was orchestrated so there are two possible reasons: I was never been made aware of the move, I was aware of it but considered that it was low priority compared to the other issues we were working on. Provided we had to work hard till the last minute, a...| Jakarta Validation
It's now official, these couple of years of work have made it into an official JCP specification. Bean Validation is also part of Java EE 7 which has been approved too a few of days ago. We have already discussed the features at great length here but to do a short summary: support for method and constructor validation (via CDI, JAX-RS etc) integration with CDI (Validator and ValidatorFactory injectable, ConstraintValidator instances being CDI beans and thus accept @Inject, etc) EL expressions...| Jakarta Validation
Bean Validation, Hibernate Validator (its Reference Implementation) and the Test Compatibility Kit have been handed over to the JCP for what is called the Final Approval Ballot. That's when the expert committee votes for the go / no-go of the specification going final as it is. We have found a few glitches when working on both the RI and the TCK in the last month but everything is in order now. The biggest visible change for you is that we renamed @ValidateExecutable into @ValidateOnExecution...| Jakarta Validation
Our Proposed Final Draft has been officially handed over to the JCP last night. After a frantic month of work culminating with two weeks of monomaniac focus, we are finally handing over the Bean Validation 1.1 Proposed Final Draft to the JCP. Of course everything is open source so you can get it too: the spec the JavaDoc and the API JAR: maven coordinates javax.validation:validation-api:1.1.0.CR1 What's new in Bean Validation 1.1? The specification highlights very well the main features of th...| Jakarta Validation
Our proposed final draft is due soon but we did one last drop of the specification and the API jar. We worked all over the board (and the clock) but the most notable improvements are: Improvements on the CDI integration section We made it much more descriptive of the expected behavior instead of imposing an implementation pattern. We have also added the method and constructor interception priority as defined in the Java EE specification and the interceptor specification in particular. Thanks ...| Jakarta Validation
Roger Brinkle from Java Spotlight Podcast has interviewed me on the status of Bean Validation 1.1. It's 20 mins long so you won't suffer too much :) The podcast is available here. Unfortunately the audio of the interview is not great, so if you find it hard to follow, I have put an alternative recording with better quality of the interview itself. Get the mp3....| Jakarta Validation
With two months since the last release and more than 38 (non trivial) issues behind us, we felt that it was a good time to release a new version. We are less than 20 days from the proposed final draft so feedback time and polishing are going into overdrive. Expect a reference implementation and a much improved TCK aligned with this version in the next few days. What's new There are too many improvements so let's pick three. Enable / disable method validation We worked a lot on method validati...| Jakarta Validation
The German journal Javamagazin recently published an article about the works on Bean Validation 1.1. The article is full of praise for the new version in general and our open, community-centered way of creating the spec in particular. The publisher and authors generously provided us with a PDF of the article which you can download here. Alternatively you can also read the article online....| Jakarta Validation
The expert group is agonizing on a specific issue. We need your feedback. Should getters be considered regular methods and thus be validated when called? The problem Existing applications put Bean Validation constraints on properties (ie getters). If we enable validations when getters are called, some applications might fail and Bean Validation would not be backward compatible. Besides, it is unlikely that you want to validate genuine getters when they are called. These are state, not operati...| Jakarta Validation
The Java expert comity has just approved the public review version of Bean Validation 1.1. What does that mean for the spec? We keep going and carry on our work to finalize the specification. Onwards....| Jakarta Validation
With Hibernate Validation, the reference implementation catching up with the public review draft, we found a couple of minor glitches to actually implement the specification. We did a minor release to fix those glitches. Check out the specification and make sure to use 1.1.0.Beta2 if you plan on implementing the specification early....| Jakarta Validation
Last Friday I have handed over the Public Review Draft to the JCP. Beyond the new features and polishing of existing ones (see below), the Public Review Draft marks the point where: the community at large is invited to comment on the specification before the last leg of work towards the final release starts the JCP executive commitee votes on the current work at the end of the review period We have been doing our work in the open but if you have not yet paid much attention now is the time to ...| Jakarta Validation
I need your feedback on whether or not you need fine controls on method validation. Some context Bean Validation 1.1 introduces the idea of method validation. When the method is called, parameters and return value can be validated. The constraints are of course defined as Bean Validation constraint annotations. I am working on the chapter describing how interceptor technologies like CDI, EJB, Spring, Guice, AspectJ should integrate it. We have decided to convert most of the recommendations in...| Jakarta Validation
Like most of you, the Bean Validation specification is coming back from holiday fresh and motivated. Java EE 7 is coming soon and to avoid missing the train, it is time to reap the fruits of all the discussions we have had over the last few months. I expect September and October to be focused on: integrating the various proposals in the speficication and flesh out the remaining problems taking decisions to unstuck discussions iterating over the features proposed in the early draft (we have ha...| Jakarta Validation
Now that everybody is returning from their summer holidays, also the Bean Validation team is getting back to their desks in order to work with full steam towards revision 1.1. As you know, the largest new feature will be method validation, that is the validation of method parameters and return values using constraint annotations. Bean Validation 1.1 early draft 1 lays the ground for this, and right now we're tackling some advanced questions still open in that area (btw. if you haven't yet tri...| Jakarta Validation
Hibernate Validator, the reference implementation for Bean Validation has just been released in version 5 alpha. This version implements the new features described in Bean Validation 1.1 first draft. Integrators, spec leads and users should all go and try this release to see if some adjustments are needed. On the menu: method validation, dependency injection and more. Read more about it in Hardy's blog post....| Jakarta Validation
The latest snapshot of the specification is now always published on the site as soon as we push change to the Git repository. The expert group has been using it for a while, we simply forgot to announce it publicly....| Jakarta Validation
Bean Validation 1.1 early draft 1 officially reaches the JCP and is available on their website. You already knew about it from the release and artifacts announcements. That's still a significant milestone that has to be reached by the JCP rules. A specification needs to produce a certain amount of output which is regulated by the JCP itself. If you are curious, I encourage you to read the process document. Note that JSR-349 (Bean Validation 1.1) does run under the previous version of this pro...| Jakarta Validation
Following the release of the first early draft for Bean Validation 1.1, we have published the code artifacts: the code source the jar the JavaDoc All are available on JBoss's Maven repository. Alternatively, you can reference them in your Maven POM javax.validationvalidation-api1.1.0.Alpha1 Enjoy....| Jakarta Validation
After a long time in the shadows of open work... Ahem, take two. After a long time at work, I am very pleased to announce Bean Validation 1.1 early draft 1. This is our first big milestone since the release of 1.0. The draft is making its way through the official channels of the JCP but we also wanted to release it in full openned. For people in a hurry, the spec draft is here. What's new We worked on three major areas: openess method level validation dependency injection Openess The specific...| Jakarta Validation
The first draft of the proposal for method-level validation is online. The proposal covers the declaration of parameter as well as return values constraints, extensions to the Validator API, related additions to the meta-data API etc. So check out the proposal document and let us know what you think, e.g. by sending your questions or remarks to the beanvalidation-dev mailing list....| Jakarta Validation
We have introduced a new section of the website called proposals. This will include wiki-style, work in progress proposals for various features being worked on. Check out the first proposal page describing ideas and open questions on how to propose dependency injection in ConstraintValidator instances....| Jakarta Validation
The expert groups has begun its work on method-level validation. A feature that was drafted in the latest spec (appendix) but that we could nto finish in time. You will be able to define constraints on parameters and your favorite interception technology (CDI, @Inject, AspectJ, Spring etc) will call Bean Validation. The final approach is not fixed yet but it will look like this. public class BidManager { public void placeBid(@Min(0) BigDecimal upTo) { ... } } Want to know more? Join the exper...| Jakarta Validation
The last piece of the puzzle is now in the open. I have just released the specification repository on GitHub. The list of repositories for the spec are Specification repository Reference implementation repository API repository TCK repository This website source Want to contribute? Learn how....| Jakarta Validation
The expert committee has voted yes on JSR-349. That means the work for Bean Validation 1.1 can start. Read some more on Emmanuel's blog. The next few days will be dedicated getting an expert group up and running....| Jakarta Validation
The specification has been proposed to the JCP expert committee and is in review ballot. Stay tuned for the real work to begin....| Jakarta Validation
The website is live!...| Jakarta Validation