Java News from Friday, July 1, 2005

I've posted the second beta release of XOM 1.1, my free-as-in-speech (LGPL) dual streaming/tree-based API for processing XML with Java. Version 1.1 maintains backwards compatibility with XOM 1.0 while adding a number of important new features including XPath queries, document subset canonicalization, exclusive XML canonicalization, external XSLT parameters, and xml:id support. The API is now considered to be reasonably stable, and probably won't change before 1.1 final. Beta 2 is primarily a bug fix release. NUmerous bugs have been fixed in XPath. In addition a couple of other random issues have been fixed including namespace handling in SAX conversion and attirbute parentage in copied elements. This release probably introduces a lot of bugs in serialization with Unicode Normalization Form C (NFC), though as yet I haven't proved that. Addressing this will be a major focus for beta 3. If anyone has test cases that demonstrate incorrect handling of NFC, I'd appreciate it if you'd send those my way. Beta 2 also make some optimizations that should slightly decrease the memory footprint. XOM requires Java 1.2 or later and is published under the LGPL.

The GNU Project has released version 0.16 of GNU Classpath, an incomplete free implementation of the core Java class libraries. According to the announcement, "The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. This is the first release of GNU Classpath since our Harmony collaboration with the Apache group." Improvement sin this release include "AWT GtkScrollBar and GtkImage improvements. All image operations are now working correctly. Graphics2D has been upgraded to use Cairo 0.5.x. Free Swing updates for 1.5 top-level compatibility. JTree interface completed. JFileChooser has been implemented. Completed implementations of BoxLayout, GrayFilter and SplitPane. Upgraded the Corba features to 1.3 and included new CORBA 2.3 features. Start of generic JDWP framework. And lots of bug fixes based on real world application usage." Since this is a clean room project, it doesn't always line up exactly with any particular Java version; but it's roughly at the level of Java 1.4 with a few missing pieces and a few pieces pulled in from 1.5. GNU Classpath is published under the GPL with library exception.