newsclasspath - News


GNU Classpath 0.99 Released!

Item posted by Andrew John Hughes <gnu_andrew> on Fri 16 Mar 2012 07:55:04 PM UTC.

We are proud to announce the release of GNU Classpath 0.99.

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 JamVM, CACAO and Kaffe can make use of an installed copy of GNU Classpath 0.99, while GCC (gcj) will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath,

This release brings with it a number of interesting new features:

There have also been many bugfixes over the past year. Those relevant to 0.99 can be found at

With the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.

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 gjdoc tool, which is part of GNU Classpath 0.99. Full documentation on the currently implementated packages and classes can be found at: We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.

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.99 can be downloaded from or one of the mirrors

File: classpath-0.99.tar.gz
SHA256sum: f929297f8ae9b613a1a167e231566861893260651d913ad9b6c11933895fecc8

New in release 0.99 (Mar 07, 2012)

  - PR39408: gjavah doesn't generate constants in header files where they occur in a superclass
  - PR40590: namespace namespace broken in CNI
  - PR40630: java.util.Scanner fails when used for charset generation by the OpenJDK build
  - PR40653: Issue with XML stream writer and namespaces
  - PR40663: Support Stax API 1.0.1
  - PR39177: trunk revision 144128 - jar: internal error: java.lang.NullPointerException
  - PR41696: () returns false when it should return true
  - PR43536: CopyOnWriteArrayList bug in delete() when empty
  - PR36560: Error parsing zip file with larger files in it
  - Restrict access to VM classes.
  - Cleanup use of message resources.
  - Throw exception when encrypted zip file entries are encountered.
  - Fix infinite recursion in javax.print.attribute.standard.JobStateReasons.add.
  - Native code cleanups in GtkToolkit.c and jcl.c.
  - Only log when debugging is on.
  - PR44411: System.nanoTime() is not independent of wall-clock time
  - PR46775: Calling Policy.setPolicy with a new Policy object has no effect on the DefaultSecurityManager
  - Use implementation of VMClass.getSimpleName from gcj.
  - Simplify security determination in ProtectionDomain in situations where all permissions are available.
  - PR42390: Missing Security Manager checks in classpath apis
  - Throw NullPointerExceptions appropriately for compatibility with OpenJDK.
  - Use Integer.parseInt in preference to Integer.decode in java.util.Formatter.
  - Use same default capacity in java.util.HashMap as documented in OpenJDK.
  - Check for hashcode equality before calling equals in java.util.HashMap.put
  - Make sure match is within input data limits in java.util.regex.Matcher.find.
  - Fix misuse of ArrayList.set in javax.swing.text.html.StyleSheet.resolveStyle.
  - PR48131: incomplete dynamic bit lengths tree
  - Check for negative capacity in VMDirectByteBuffer's native code.
  - PR42823: tcp/ip sockets read/write operations causes memory leak
  - Generate META-INF/INDEX.LST for
  - Fix issues when building with -Werror and gcc 4.6.
  - PR40188: javah creates constants using name of superclass
  - PR45527: gjavah encodes $ as used in inner classes as 00024 where Oracle's javah does not
  - PR45526: gjavah does not implicitly produce header files for inner classes
  - Fix NullPointerException for null keys in java.util.HashMap.put.
  - Fix BEAST security issue in
  - RH712013: pdftk crashes with java.lang.ArrayIndexOutOfBoundsException

The following people helped with this release:

We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.

Back to the top

Powered by Savane 3.13-4448.
Corresponding source code