From the opensource java? you want opensource java? We'll give you opensource java alright! dept.
"New in GNU Classpath 0.09:
* Includes updated GNU JAXP version from 2004-02-01.
* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
* java.io is now implemented by delegating most tasks directly to java.nio.
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
* New javax.print, javax.print.attribute[.standard] and javax.print.event
packages and classes.
* java.text attributed iterators support.
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
classes.
* GNU Classpath can now load service providers that are described via
META-INF/services/* resources in extension JARs. This is useful for
implementing the various APIs that are supposed to be extensible via
custom plugins. For details, please see the documentation of
gnu.classpath.ServiceFactory.
Application developers are strongly discouraged from calling glibj
internal packages. Instead, they might want invoke the newly implemented
javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
method for loading plug-ins.
* New developers wanting to help the GNU Classpath project might want to
review the greatly expanded Hacker Guide included in the doc directory
or online at http://www.gnu.org/software/classpath/docs/hacking.html
Also the FAQ has been expanded. And when working from CVS you can now use
a simple autogen.sh script to get all autotools magic done automagically.
* New configure option --with-glibj which defines how to install the glibj
class files as zip, as flat directory files or both (zip|flat|both)
[default=zip]. When working with multiple runtimes some of which might
not support bootstrap classes in zip files the --with-glibj=both option
is recommended (this does take extra disc space).
* Two big code drops from the libgcj gui branch updating various java.awt
and javax.swing classes.
* Multiple java.net.InetAdress fixes and java.rmi fixes.
* ServerSocket.accept() now restarts listening when system call interrupted.
* Much cleanups to make standard API doc valid XHTML (not completed yet).
* A scan for unused variables and non-static invocation of static methods
turned up a couple of subtle bugs which have now all been fixed.
* The Mauve testsuite has been cleaned up considerable and lots of issues
in the GNU Classpath core class implementation have been fixed.
VM Interface changes:
* java.lang.Class/VMClass interface was changed. The interface now no
longer requires an instance of VMClass for each Class instance. Instead
the field vmdata in Class is now of type Object.
* GNU Classpath now assumes that JNI calls SetXField can modify final
fields. This was previously used silently for System.in/out/err and should
be considered as a feature now.
* A new VMProcess and a sample JNI C implementation are now provided to
make Runtime.exec() work out of the box on some systems. This requires
a small change to VMRuntime.exec() when a runtime wants to use it as the
default java.lang.Process implementation.
* The implementation of most of java.io through java.nio moved serveral
runtime specific I/O methods. Most methods do have a generic default native
C JNI implementation in native/jni/java-nio.
* Runtime support methods for java.io.File have been moved to VMFile which
also comes with a default JNI C implementation.
* To support the new service provider mechanism runtimes must make sure that
extension JARs are made accessible via the default context class loader."
Classpath