newsclasspath - News


GNU Classpath 0.12 released

Item posted by Mark Wielaard <mark> on Mon 15 Nov 2004 08:42:19 AM UTC.

We are pleased to announce a new developer snapshot release of GNU

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.

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

File: classpath-0.12.tar.gz
MD5sum: ce1f7fbe6f2e3b738bae3b46f01a9670

Some highlights of this release (more extensive list below):

X.509 certificate path checking, signed JAR file support, full
java.awt.color implementation, java.beans 1.4 updates, improved
build process, better AWT focus management, much faster and better
fonts support, AWT Choice fixes, HTTP POST fixes, better collection
documentation, Calendar bug fixes, lookahead support for regular
expressions, jtree starts working and improved Eclipse 3 support.

Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
( Enabling this makes programs like
JFreeChart work on GNU Classpath based runtimes.  Note that this release
needs a cairo CVS build.

[It is recommended that people wanting to experiment with the
Graphics2D implementation follow the instructions for building gcj
with jhbuild which automatically builds the latest CVS version of GCJ
and Cairo at]

Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions.  Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.

GNU Classpath uses the Mauve test suite for Compatibility, Completeness
and Correctness checking.  This release passes 21245 of 21593 mauve
Free Software programs and libraries tested against this release are
Eclipse 3.0, JFreeChart (see above), gcjwebplugin and many other
libraries and applets.

Here are answers to some questions you might have about this project and
this release.

1). Who should use this software?

Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.

For end users we recommend to use one of the development environments
based on GNU Classpath which combine the core libraries with compilers
and other tools needed for creating applications and libraries.

    * GCC with GCJ  (
    * Kaffe         (

2). What is required to build/install/run?

GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.

You will also need a runtime environment. The following runtime
environments should work out of the box with GNU Classpath

    * JamVM         (
    * Jikes RVM     (
    * Kissme        (

Note that these are just byte code execution runtimes. For development
of programs written in the java programming language you will also
need compilers and other tools for creating libraries and/or
executables (see question 1).

For other environments that might need modified version of the current
release see the README file.  A complete list of virtual machines and
compilers known to be based on GNU Classpath can be found at our

2). What platforms are supported?

GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers.  Since 0.12 there is also support for cygwin.
We plan to eventually support many others.

5). Where do I go for more information?

The project home page with information on our mailing list can be
found at

A good overview of the current status can be found on the GNU Classpath
at FOSDEM'04 page which describes the last GNU Classpath hacker meeting.
It includes reports and presentations on the current status and future

The following presentation given during the Desktop Developers
Conference shows how to integrate GNU Claspath and GCJ more with the
Free Desktop environments:

6). How do I extend the functionality of the core classes?

Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(  And for additional
extension libraries (mail, xml, activation, infobus, servlet) check
out GNU ClasspathX (

Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from

The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:

Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.

6). What is new in this release?

New in release 0.12 (Nov 14, 2004)
(See the ChangeLog file for a full list of changes.)

  signed entries, for so called "signed JAR" file support. Signed JAR
  files are one of the key security features of managed runtimes, and
  allows code to run privileged given unforgeable proofs of identity.

  including a robust certificate path checking algorithm. Also
  included is an implementation of the RSA signature scheme.

  except for PhotoYCC color space.

  buildable with -Werror on most platform. Please configure with
  --enable-Werror and report any remaining issues.

  (for both gdk Graphics and cairo Graphics2D)

Runtime interface Changes:

  option. (Warning, will be replaced in next release, please consult
  the mailinglist.)

  implementations for getResource(s) and provides support for a new
  default getSystemClassLoader implementation.

The following people helped with this release:

Andreas Tobler (gtk/c compilation and PPC fixes), Andrew Haley
(Object stream serialization fixes), Andrew John Hughes (java.util
documentation updates), Bryce McKinlay (Calendar bugfixes), Casey
Marshall (X.509 certificate path checking and signed jar file
support), Dalibor Topic (AWT Component postevent fix), David Daney
(URL bug fixes), David Gilbert (geom documentation updates and mauve
checking), David Jee (AWT HelpMenuBar fixes), Graydon Hoare
(Graphics2D and Swing work), Ilya Perminov (RMI fixes), Jeroen
Frijters (Application Classloader updates and IKVM integration), Jerry
Quinn (AWT image work), Kim Ho (Swing TabbedPane and ColorChooser
fixes), Mark Wielaard (libgcj merging and packaging), Mattias Rehnberg
(Inet6Address and serialization fixes), Michael Koch (Build
system/compiler updates, libgcj merging, code cleanups, swing, net,
imageio and other fixes and improvements), Noa Resare (Calendar, net,
AWT choice and GeneralPath fixes, kaffe integration), Olga Rodimina
(Swing ComboBox fixes), Patrik Reali (Website), Paul Jenner (AWT Image
raster and Swing JTree fixes), Per Bothner (Collections efficiency),
Robert Schuster (java.beans 1.4 updates and bug fixes), Shashank Bapat
(Regex lookahead support), Steven Augart (JikesRVM integration), Sven
de Marothy (AWT color package implementation, Polygon, GeneralPath,
Double parsing and nio fixes), Thomas Fitzsimmons (AWT gtk+ peer
work), Tom Tromey (Code cleanups all over), Torsten Rupp (Native cleanups and fixes)

Back to the top

Powered by Savane 3.12.
Corresponding source code