Hey all,

I took a look at making BVal Jakarta Validation 3.1 compatible a couple of days 
ago. The changes made in Jakarta Validation 3.1 compared to Jakarta Bean 
Validation 3.0 are negligible:
- Record support has been clarified (BVal is working properly already)
- Implementations only need to support Java 17+ (no hard requirement)
- Spec renamed (doesn’t matter at all in code)

I opened a pull request [1] with the changes needed to make BVal Jakarta 
Validation 3.1 compliant - absolutely no code changes were needed. BVal 
3.0.1-SNAPSHOT is already Jakarta Validation 3.1 compliant if one was to run 
the 3.1 TCK against it. In my PR I mentioned that we _really_ should discuss if 
BVal itself should move to 3.1.x.

IMO the pros are:
- Easier to understand for users; BVal versioning = Jakarta Validation 
versioning is intuitive and AFAIK has been the case before
- We are allowed to raise the minimum java version to 17

The huge con is we need to possibly maintain/release two different versions of 
BVal that are (except for a couple hundred lines of pom.xml) the same.

An alternative would be to just claim compatibility on both Jakarta Validation 
3.1 and Jakarta Bean Validation 3.0 at the same time for 3.0.1+. But also means 
we are stuck at Java 11 for a while. WDYT? 


Thanks

Markus


[1] https://github.com/apache/bval/pull/119

Reply via email to