newsclasspath - News: GNU Classpath 0.93 "Dreamland" released

Latest News
GNU Classpath 0.99 Released! posted by gnu_andrew, Fri 16 Mar 2012 07:55:04 PM UTC
GNU Classpath 0.98 "Better Late Than Never" released posted by gnu_andrew, Fri 06 Feb 2009 01:57:15 AM UTC
GNU Classpath 0.97.2 released posted by gnu_andrew, Fri 06 Jun 2008 02:30:44 AM UTC
GJDoc 0.7.9 released posted by gnu_andrew, Mon 21 Apr 2008 09:49:31 PM UTC
GNU Classpath 0.97.1 released posted by gnu_andrew, Tue 11 Mar 2008 10:54:30 PM UTC

GNU Classpath 0.93 "Dreamland" released

Item posted by Mark Wielaard <mark> on Fri 15 Dec 2006 03:27:40 PM UTC.

We are proud to announce the release of GNU Classpath 0.93 "Dreamland"

Read on for highlights of new features in this release, pointers to
supported applications and screenshots, the status and future of the
1.4 and 1.5 generics branches.  An update on the Summer of Code
student work.  Plus some prelimenary ideas on cooperating with the Sun
GPL OpenJDK Java project.  And the GNU Classpath commitments to the
Free Software community for the future of various projects around GNU
Classpath, the users and GNU/Linux distros relying on our work.

Highlights of new features in this release (more extensive list below):

  NIO Selector epoll (linux 2.6 kernel) and kio (BSD and Darwin)
  notification mechanisms added. Fast, direct call, support for in
  runtime CORBA objects. Support for user JNDI context factories (plus
  corbaname: and rmi: jndi urls). New javah tool included.  JSSE
  SSLEngine support including TLSv1.1 and pre-shared key ciphersuites.
  Full MX Beans ManagementFactory implementation.
  99.95% api coverage for 1.4, 95.5% api coverage for 1.5.  Much
  better swing HTML support (aka JGecko). Graphics2D on cairo speedups
  and make it respects interpolation hints, better gradient
  support and custom Composites and Paints.

Screenshots of applications (eclipse, jedit, jfreechart, "jgecko",
statcvs.png) working out of the box with GNU Classpath 0.93 can be
found at

With this release our 1.4 library work is 99.95 API complete.
Although this doesn't mean GNU Classpath is fully compatible and a
perfect drop in replacement for proprietary 1.4 JDKs yet, it is pretty
close and any divergence should be considered a bug.  Our 1.5 library
work is now 95.5% API complete.

This is the last release that will have two separate library releases
for 1.4 and 1.5. The next release will be based on our 1.5 generics
branch work.  We are willing to maintain a 1.4 branch based the
non-generic 0.93 release if people are interested in support for
this.  Please contact the mailinglist if you are.

This release contains two large contributions sponsored by the Google
Summer of Code project.  Casey Marshall rewrote the SSL library to use
the NIO model of JSSE (implementing SSLEngine) and added support for
TLSv1.1 and pre-shared key ciphersuites.  Originally developed on the
ssl-nio-branch this work is now available in the generics release.
Andrew John Hughes wrote a MX Beans ManagementFactory
implementation, which allows a runtime based on GNU Classpath to
provide various MX Beans through services that a user
can use to query the status and usage of various low level vm
resources.  The the original implementation was written for GCJ, but
for this release other runtimes (e.g. jamvm and cacao) have added
support based on the generic vm-interface designed by Andrew.

GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.

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. More projects based
on GNU Classpath:

On November 13 (now known as Java Liberation Day) Sun decided to start
releasing all its Java ME, SE and EE implementations under the GPL. For the last decade the
GNU Classpath community has worked together with various other free
software projects to help people avoid the so called "Java Trap" As the FSF press release
welcoming the Sun announcement said: 'Now, Sun has begun disarming the
"Java Trap", turning it from a pitfall into a valuable foundation for
future free software development.'

The new project 'OpenJDK' started by Sun will provide a full SE Java
environment. Only parts have been released now. And the GNU Classpath
community already started adopting independent parts to make them work
on a full free stack. With the 0.93 generics release you should be
able to compile and run the GPl javac compiler with some tricks. We hope to cooperate
more substantially with the OpenJDK community in the future.

Not all code has been released by Sun, in particular the core class
libraries will not be release till somewhere next year. And some parts
might be encumbered preventing Sun from releasing those parts. We will
try and help plugg any holes left. It is too early to claim we already
know how our communities will interact and work together. But the
general feeling is positive. Sun has been very open, clear and
cooperative about OpenJDK and letting the GNU Classpath community know
about their plans and willingness to work with the existing free
software communities.

The GNU Classpath community is happy with this development and
although it is too early to see what the future might bring we know we
have the following commitments to our developers, users, projects and
GNU/Linux distros depending on our work:

- We will not regress on freedom. For anything Sun cannot release
 (now) under the GPL we will provide free replacements.

- We will not regress on coverage. The platforms, architectures,
  projects and programs that run now with GNU Classpath should run in
  the future.

- We will not regress on having fun, innovating and hacking together!

We want to make it easy to adopt and collaborate. We want to make it
easy for people to improve together with GNU Classpath and OpenJDK by
helping also the smaller projects and platforms with less resources to
adopt the new innovation (coordinating new VM and Platform interfaces)

Various individual GNU Classpath hackers have made personal statements
about all this (from Planet Classpath -

- Mario Torre
  Watch out, we have changed history...

- Roman Kennke
  First Rays of a New Rising Sun

- Brian Jones
  Nov. 13 2006, is a notable bookmark in the history of free software

- David Gilbert
  On Walled Gardens

- Anthony Green
  Now that's what I call harmony...

- Casey Marshall
  Free Java!

- Andrew Hughes
  Victory! Pigs Fly as Java is GPLed and javac compiles Freely

- Dalibor Topic
  San i java

- Jeroen Frijters
  Sun Open Sourcing Java

- Andrew Overholt
  Sun commits to "GPL + Exception"ing Their Java Implementation

- Thomas Fitzsimmons
  The New Free Java Project

- Mark Wielaard
  GNU Classpath, Sun, Java, GPL, Reflections & The Future

- Tom Tromey
  Sun Frees Java

The GNU Classpath developers site
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided.  For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project.  A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:

For more information about the project see also:

- GNU Classpath home page:

- Developer information (wiki):

- Full class documentation

- GNU Classpath hackers:

- Autobuilder, current build status, build snapshots:

- Application test pages (wiki)

- GNU Classpath hacking with Eclipse (wiki)

- GNU Classpath promotion banners:

GNU Classpath 0.93 can be downloaded from
or one of the mirrors

File: classpath-0.93.tar.gz
MD5sum: ffa9e9cac31c5acbf0ea9eff9efa923d
SHA1sum: 336cae589ec91a4fe212c2149c57b51dab2ca002

File: classpath-0.93-generics.tar.gz
MD5sum: 9d3f5941b9fc0d8bc056344cb07a5c86
SHA1sum: 4362433a4bd985baf00a00586c355939905861ff

New in release 0.93 (Dec 8, 2006)
(See the ChangeLog file for a full list of changes.)

  • CORBA objects that exist on the same virtual machine and only are

  connected to another ORB are now accessed directly and no longer via
  network. It is the same feature that RMI implementation
  provides. These faster calls should be completely transparent, as the
  parameters are cloned, where required. Currently the direct calls are
  only possible for the non-deprecated objects that are connected to the
  ORB via POA.

  • The 'javah' tool has been added.  It requires the ASM library

  (see; it can be enabled with the --with-asm
  option to configure

  • Added the rmi and corbaname URL context factories for JNDI.
  • Fixes in the JNDI InitialContext now allows to plug-in user


  • Removed currentClassLoader method from


  • Added firstNonNullClassLoader method to

  vm/reference/gnu/classpath/ VMs are encouraged to
  provide a more efficient implementation.

  • Added aton method to vm/reference/java/net/
  • NetworkInterface has been implemented for systems that provide the

  `getifaddrs' function.

  • java.nio.channels.Selector implementations have been added that use

  the kqueue notification mechanism on Mac OS X and *BSD, and that use
  the epoll notification mechanism on Linux 2.6.

  • java.nio has been refactored to support more non-blocking operations

  natively. Blocking IO classes have been refactored to call
  non-blocking classes. Non-blocking accepts, connects, and
  scatter-gather IO should now be better supported.

  • HTML support for Swing has been greatly enhanced.

Runtime interface changes:

  • and have been

  updated to keep native-modified state in the former, and to simplify
  the native code in our reference implementation.

  • has been expanded to better support native

  non-blocking IO. Most native state data (such as file descriptor
  integers) has been abstracted away into private state in the runtime

  • has been similarly changed.
  • has been changed to remove some

  functionality now provided by VMChannel; datagram socket-specific
  methods have also been moved here, deprecating

  • removed.

The following people helped with this release:

Aaron M. Ucko, Andreas Tobler, Andrew John Hughes, Audrius Meskauskas,
Ben Konrath, Cameron McCormack, Casey Marshall, Chris Burdess,
Christian Elias Naur, Christian Thalinger, Dalibor Topic, David Daney,
David Fu, David Gilbert, David Pirkle, Edwin Steiner, Francis Kung,
Friedjof Siebert, Gary Benson, Guilhem Lavaux, Helmer Kraemer,
Ian Rogers, Ingo Proetel, Ito Kazumitsu, Jeroen Frijters,
Keith Seitz, Lillian Angel, Marco Trudel, Mario Torre, Mark Wielaard,
Martin Platter, Matthew Burgess, Michael Franz, Michael Koch,
Paul Jenner, Raif S. Naffah, Riccardo Mottola, Robert Lougher,
Robert Schuster, Roger Sayle, Roman Kennke, Sven de Marothy,
Tania Bento, Thomas Fitzsimmons and Tom Tromey

We would also like to thank the numerous bug reporters and testers!


Back to the top

Powered by Savane 3.13-ee12.
Corresponding source code