[image of the evil water droplet] (jpeg 3k)

GNU Classpath

GNU Classpath 0.95 "Take Five"
We are proud to announce the release of GNU Classpath 0.95 "Take Five"

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: http://www.gnu.org/software/classpath/stories.html

This release adds some serious jazz (more extensive list below): Full merge of 1.5 generics work. Bootstrappable with OpenJDK javac compiler. URLConnection timeout support. TimeZone can use platform zoneinfo file when available. The Collection classes, lang.management and util.spi have been updated to 1.6. Addition of 1.6 ServiceLoader. Speedup for cairo and freetype Graphics2D support. The ASM library is now included. Better detection of browser plugin mechanisms for gcjwebplugin applet support in mozilla, iceweasel and firefox. Screenshots of applications (eclipse, jedit, jfreechart, "jgecko", statcvs and more) working out of the box with GNU Classpath can be found at http://developer.classpath.org/screenshots/

This release switches 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. From now on we intend to no longer release both a non-generics and a generics version. But if there is demand we might consider resurrecting the non-generics 1.4 branch with selected bug-fixes (depending on having a branch maintainer). Work is on the way to also add the new 1.6 additions, a start for selected packages has been made in this release.

On November 13 2006 (now known as Java Liberation Day) Sun decided to start releasing all its Java ME, SE and EE implementations under the GPL. http://www.sun.com/software/opensource/java/ 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" http://www.gnu.org/philosophy/java-trap.html 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.' http://www.fsf.org/news/fsf-welcomes-gpl-java.html

This release supports compiling and running the GPL OpenJDK javac compiler using GNU Classpath based runtimes and compilers and to compile the GNU Classpath core libraries, tools and examples with the OpenJDK javac compiler itself. Making it a full bootstrap compiler for GNU Classpath and related projects. We hope to extend support and work together with the OpenJDK community over time.

The GNU Classpath developers site http://developer.classpath.org/ 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: http://developer.classpath.org/doc/

Since gjdoc does not yet fully support all the new 1.5 language additions used in this version of GNU Classpath the documentation has also been generated using the GPL project sinjdoc which doesn't provide all the features gjdoc has (-linksource, -licensetext, -validhtml, @Link support in comments in particular) but has a better 1.5 language parser: http://developer.classpath.org/sinjdoc/

We are looking into how to extend the documentation experience based on these two tools in the future. Please contact the mailinglist if you like to help with this effort.

For more information about the project see also:

GNU Classpath 0.95 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html

GNU Classpath 0.95 can be downloaded from
or one of the ftp.gnu.org mirrors

File: classpath-0.95.tar.gz
MD5sum: 08638bb9221460cc311a1c5508083ed8
SHA1sum: 9a3b276853a07ecc8753217a6db24afffab2cb2c

New in release 0.95 (Apr 23, 2007)
(See the ChangeLog file for a full list of changes.)

* Full merge of 1.5 generics work.
* Added 1.6 java.util.ServiceLoader support.
* The ASM library is now included.  A separate copy is no longer
  needed.  gjavah works out of the box now.
* The setReadTimeout and getReadTimeout methods have been added to
  java.net.URLConnection.  They are now fully implemented for http URLs.
* The java.lang.management implementation now includes the new features
  added in 1.6
* java.util.TimeZone now reads time zone information from the system
  zoneinfo files (see also runtime interface changes below).
* The collection classes have been updated to support all the 1.6
* java.util.spi 1.6 package has been added and is used in java.text.
* Bootstrappable with OpenJDK javac compiler
  (use configure --with-javac).
* Large speedups (and locking behaviour updated) in Graphics2D cairo
  and freetype support.
* Better detection of browser plugin mechanism for mozilla, iceweasel,
  firefox on various platforms.
* Inclusion of generic javadoc classes in tools.zip to support more
  javadoc processing tools.
* Added documentation for command lines options for the included GNU
  Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid,
  grmiregistry, gserialver and gtnameserv.

Runtime interface changes:

* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new
  optional native methods to allow the 1.6 version of the threading
  bean to be supported.  One (getMonitorInfo) fills in information
  about object monitor locks held by a thread and is only required
  if the monitoring of object monitor locks is supported by the VM.
  The other two (findDeadlockedThreads and getLockInfo) are related
  to ownable synchronizers (part of the java.util.concurrent suite)
  and only required if monitoring of locks relating to these is
  supported by the VM.
* java.util.VMTimeZone and java.util.TimeZone have been refactored
  to simplify the reference implementation.  VMTimeZone.readtzFile()
  and VMTimeZone.skipFully() have been removed, and a new method
  VMTimeZone.readSysconfigClockFile() has been introduced.
* VMs need to set the system property "gnu.java.util.zoneinfo.dir"
  to point to the directory where zoneinfo files live.  In libgcj
  this is set to the value of the TZDATA environment variable, or
  "/usr/share/zoneinfo" if this is not set.
* VMFile has been extended to support new 1.6 methods (canExecute,
  setReadable, setWritable, setExecutable).

The following people helped with this release:

Andreas Tobler, Andrew Haley, Andrew John Hughes, Cameron McCormack,
Casey Marshall, Chris Burdess, Christian Thalinger, Dalibor Topic,
David Daney, Edwin Steiner, Francis Kung, Gary Benson, Ito Kazumitsu,
Jakub Jelinek, Jeroen Frijters, Keith Seitz, Kyle Galloway, Marco
Trudel, Mario Torre, Mark Wielaard, Matthias Klose, Petteri Raty,
Rafael Teixeira, Raif S. Naffah, Roman Kennke, Stepan Kasal, Sven de
Marothy, Tania Bento, Thomas Fitzsimmons and Tom Tromey

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

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright © 1999-2006 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2009/07/30 22:51:19 $ $Author: gnu_andrew $