Skip to main content

JAXB 2.0 is released

Posted by kohsuke on May 9, 2006 at 2:30 PM PDT

Today, we released the FCS (Sun jargon for "release") version of the JAXB RI 2.0 (and JAX-WS RI 2.0.)

Oh, what can I say. I'm looking at the CVS history, and April 2nd 2004 was when we branched the 2.0 development line from the 1.0 development line of the RI. On June 11th, Ryan created the JSR-222 CVS repository. The JAXB RI team had me, Ryan, and Bhakti around that time.

Since then all three of us (or our wives) had babies, we shipped a few EAs, then started posting weeklies, then nightlies. We eventually moved the code to the java.net. And it took us 2 years to release the JAXB RI.

I think this release is the most extensively tested JAXB RI release ever, simply because we have so much accumulation of tests over time. Almost all the tests have been running continuously for every commit. We also run backward compatibility tests to make sure that applications developed with earlier versions of JAXB RI can still run with the JAXB 2.0 runtime jars. That test alone has some 5000+ tests.

This release is also the fastest JAXB RI release ever. Both the unmarshaller and marshaller were implemented pretty much from scratch for 2.0. The marshaller in particular has a brand-new algorithm highly optimized for UTF-8. It's so fast that at one point (maybe it still is) faster then our own FastInfoset.

The only thing I wish I could have done better with this release was the time it took us to release. 2 years is just too long. There were many reasons, such as JCP taking its own time, our release needed to be coordinated with JAX-WS, last minute bug fixes, etc, etc.

Hopefully, going forward we will have a lighter-weight release cycles, thanks to CDDL (for legal framework) and Hudson (for engineering side of things.)