newsclasspath - News: GNU Classpath 0.20 released

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

GNU Classpath 0.20 released

Item posted by Mark Wielaard <mark> on Mon 16 Jan 2006 10:00:29 AM UTC.

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:

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

  New StAX pull parser and SAX-over-StAX driver. Full XMLEncoder
  implementation. The packages javax.sound.sampled, javax.print.attribute
  and javax.print.event have been implemented. Lots of new datatransfer,
  print, swing and swing.text work. Performance improvements in the
  painting/layout mechanism. Additional 1.5 support, including (separate)
  generic branch release. SecurityManager cleanups and start of review
  of all Permission checks. Buildable on cygwin. Fully buildable as
  "in-workspace" library-plus-vm inside (native) Eclipse. Real world
  Free Swing and CORBA example added.

GNU Classpath 0.20 also comes in a "generic" version.
classpath-0.20-generics contains a version of the core library
that uses the new 1.5 language features such as generics and
enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
generics release (*). And you should be able to run Eclipse 3.1 with
it to develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.

(*) There is one additional VM interface needed for the VMClassLoader
    static final Class defineClassWithTransformers(ClassLoader loader,
        String name, byte[] data, int offset, int len, ProtectionDomain pd)
    Which is used for the new support.
    See the VM Integration Guide for more details:

Thanks to a donation of Berkeley Signal Inc GNU Classpath now has an
official autobuilder machine which is used for quality assurance,
regression testing, conformance reports and for publishing continous
snapshots. The machine can be reached as

40 people actively contributed to this release and made
605 CVS commits during the last two months of development
(excluding the generics branch work). diffstat since 0.19:
 617 files changed, 89622 insertions(+), 37478 deletions(-)

More details about the various changes and contributions below.

A full list of bug reports fixed for this release can be found at:

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:

- GNU Classpath and Friends meeting (Feb 25/26, Brussels, Fosdem):

- Roadmap

- 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:

This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. 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 and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.

One of the major focuses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and
Correctness checking.  Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains around 36.000
core library tests.  Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests.  Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information:
This release passes 35534 out of 36255 Mauve core library tests.

Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.

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

File: classpath-0.20.tar.gz
MD5sum: 21e34b8e8acb4f7b31296bfaf4ad560a
SHA1sum: c1a38c6c6b67d8c8092cc6af6d86d8c99dad272a

File: classpath-0.20-generics.tar.gz (EXPERIMENTAL)
MD5sum: db3c235b1ea497d7d2e5852f167d2b31
SHA1sum: 3d5f5cdd3dc51651f8b2c3765e30454931f45419

New in release 0.20 (Jan 13, 2006)
(See the ChangeLog file for a full list of changes.)

  • New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX,

  XPath and XSLT improvements.  Support for XInclude and XML Base added.
  Conformance is now regularly tested against various test-suites at See also doc/README.jaxp.

  • Full beans XMLEncoder implementation.
  • javax.sound.sampled implementation.
  • javax.print.attribute and javax.print.event implementated.
  • Lots of new datatransfer, print swing and swing.text work and optimization.
  • Additional 1.5 support. Including new (separate) generic branch release.
  • SecurityManager cleanups and start of review of all Permission checks

  (includes adding lots of new checks to the Mauve test-suite).

  • Buildable on cygwin.
  • Fully buildable as "in-workspace" library-plus-vm inside (native) Eclipse


  • Full example that shows a real world CORBA and Free Swing implementation.

  See examples/gnu/classpath/examples/CORBA/swing/README.html

Runtime interface changes:

  • New method VMStackWalker.getClassLoader() was added to avoid an infinite

  loop between getCallingClassLoader() and Class.getClassLoader().

  • The included fdlibm implementation has seen several cleanups to handle

  new architectures and namespacing issues (in particular for ppc, darwin
  and non-C99 compilers). Please double check any arithmetic test against
  new platforms/runtimes.

  • The[Datagram]Socket implementations have been

  turned into VM reference classes with JNI/Posix implementations.

New/Untested/Disabled Features:

  The following new features are included, but not ready for
  production yet. They are explicitly disabled and not supported. But
  if you want to help with the development of these new features we
  are interested in feedback. You will have to explicitly enable them
  to try them out (and they will most likely contain bugs). If you are
  interested in any of these then please join the mailing-list and
  follow development in CVS.

  • Cairo Gtk+ Graphics2D support, enabled by giving configure


  • QT4 AWT peers, enable by giving configure --enable-qt-peer.

The following people helped with this release:

Andreas Tobler
  Qt-4.1 support
Andrew Haley
  Jar work and Jonas fixes
Andrew John Hughes
  1.5 generics language work
Anthony Balkissoon
  Free Swing work
Anthony Green
  Socket work
Archie Cobbs
  New VMStackWalker work and JCVM integration
Audrius Meskauskas
  Free CORBA work and various Free Swing fixes
Bryce McKinlay
  Jar fixes
Caolan McNamara
  Dom fixes and OpenOffice fixes
Casey Marshall
  Crypto work
Chris Burdess
Christian Thalinger
  Various fixes, 64bit work and Cacao integration
Dalibor Topic
  Build cleanups and Kaffe integration
David Daney
  libgcj integration
David Gilbert
  Free Swing work
  Mysaifu Windows CE port and bug reports
Fridjof Siebert
  Hashtable work
Gary Benson
  Securitymanager and Permission work
Guilhem Lavaux
  fdlibm cleanups, performance work and Kaffe integration
Ingo Proetel
  Various fixes
Ito Kazumitsu
  Regex, text and character conversion support
Jan Roehrich
  Datatransfer work
Jeroen Frijters
  SecurityManager, collections and IKVM integration
Joao Victor
  Free Swing Timer work
John Zigman
  SocketChannel testing
Keith Seitz
  JDWP work
Lillian Angel
  Free Swing work
Mark Wielaard
  Bug fixes, packaging and release management
Nicolas Geoffray
  1.5 Class Instrumentation work
Paul Jenner
  Installation and cygwin work
Petteri Raty
  Configuration and Gentoo integration work
Raif S. Naffah
  Security work and Eclipse integration
Riccardo Mottola
  Powerpc work
Robert Schuster
  XMLEncoder and beans work
Roman Kennke
  Free Swing and AWT work, VM interface
Roman Schnider
  AWT work
Sven de Marothy
  Print and GTK+ work
Thomas Fitzsimmons
  Free Swing and AWT work
Tom Tromey
  Eclipse, gcj and gcjx integration
Wolfgang Baer
  javax.print and friends

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

No messages in GNU Classpath 0.20 released


Back to the top

Powered by Savane 3.4