Posted by kohsuke
on June 3, 2008 at 10:17 AM PDT
This is the proposed list of changes planned for the upcoming JAXB 2.2.
The JAXB spec is planning a very small maintenance review (MR) as a part of JavaEE 6. There are several big ticket RFE items that we wanted to do, like better support for interfaces, but in the end we felt that given the finite resources we have, JAXB is probably in a better shape compared to some other technologies.
So this MR is a very small one, mainly to introduce a new security permission necessary for the use inside JavaSE. It also has a few enhancements to annotations. You can also see the proposed changes .
On the RI side, I'm planning to pull off an interesting trick — we are only going to produce a single set of jars, and when you use it with the JAXB 2.1 API, it will work as JAXB 2.1 implementation, and when you use it with the JAXB 2.2 API, it will work as JAXB 2.2 implementation. You'll see two downloadables (2.1 bundle and 2.2 bundle), but their jaxb-impl.jar and jaxb-xjc.jar is bit-by-bit equivalent, and the only difference is the jaxb-api.jar bundled with it and release note documentations.
For us, this means we don't have to maintain multiple branches. We'll fix a bug in just one place, and it will be available in all our releases simultaneously. This in turn allows us to sustain 2.1.x lines for a long time to come. Because JavaSE will only update to JAXB 2.2 in JavaSE 7, it's important not to force the users to upgrade to 2.2, or else we'll get into the endorsed directory fiasco all over again. And this is where the trick becomes useful to you.
I expect/hope Metro to follow this as well, although that's not committed. A part of the reason 2.0 > 2.1 migration was so painful was that people were forced to upgrade to JAX-WS 2.1 because the rearchitectured modern pluggable runtime was only available in the 2.1 release, and so despite the fact that there aren't too many spec level improvements, people needed the 2.1 implementation. We really need to avoid repeating this again.
And as I announced a week ago , going forward I'll be moving away from JAXB, once 2.2 is wrapped up. Martin Grebac will be the new JAXB lead.