classpath - News: GNU Classpath 0.14 released
GNU Classpath 0.14 released
Item posted by Mark Wielaard <mark> on Thu 17 Mar 2005 06:00:49 PM UTC.
GNU Classpath delivers core libraries for upcoming GCC and Kaffe releases
We are pleased to announce a new developer snapshot release of
GNU Classpath.
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. This 0.14 release snapshot can be seen as
the feature complete base library that will be used in the
upcoming GCC 4.0 (gcj) and Kaffe 1.1.5 runtimes, compilers and
tools collections.
Developers wanting to have a look at the core library classes
provided by these upcoming releases can take a look at the new
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.
With this release generated documentation is provided through the
new GNU Classpath Tools gjdoc 0.7.x series. A large update of the
documentation generation framework for java source files used by
the GNU project. See http://developer.classpath.org/doc/.
One of the major focusses 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 more then 25.000 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. This release passes 25442 of the mauve
core library tests.
The GNU Classpath developer recently held a conference during
Fosdem. This was a standing room event and provided lot of
communication between the GNU Classpath, Kaffe, GCJ, IKVM,
Apache, java-gnome and Cacao hackers and users. The presentations
of this event have been publised and should give a good overview
of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Some highlights of changes in this release (more extensive list below):
ImageIO support through gdkpixbuf, lots of new nio character encoders
and decoders, fully automated class documentation generation, generic
VMStackWalker support for runtimes, lots of bug fixes, optimizations and
new swing support.
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart and JEdit work on GNU Classpath based runtimes.
To enable this support install the cairo 0.3.0 snapshot, configure
GNU Classpath with --enable-gtk-cairo and make sure the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
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.
29 people actively contributed code to this release and made 232 CVS
commits during the last two months of development. diffstat since 0.13:
1189 files changed, 31388 insertions(+), 13744 deletions(-)
More details below.
GNU Classpath 0.14 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
File: classpath-0.14.tar.gz
MD5sum: 227beb20b927c042628539601c867614
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 (http://gcc.gnu.org/java/)
* Kaffe (http://www.kaffe.org/)
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 (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
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
website: http://www.gnu.org/software/classpath/stories.html
2). What platforms are supported?
GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers. Many more architectures and platforms are supported.
Check the actual runtime you use together with GNU Classpath for
detailed information on the supported platforms.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
A good overview of the current status can be found on the GNU Classpath
Escape The Java Trap event held at FOSDEM this year.
It includes reports and presentations on the current status and future
plans: http://www.gnu.org/software/classpath/events/escape-fosdem05.html
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
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, xml, activation, infobus, servlet) check
out GNU ClasspathX (http://www.gnu.org/software/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
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
- Jessie: A free implementation of the JSSE. Secure Sockets Extension.
- Tritonus: A implementation of the javax.sound API.
- gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
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.14 (Feb 25, 2005)
(See the ChangeLog file for a full list of changes.)
- Character encoders and decoders have been added for:
iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047
(ebcdic), ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE
(Big Endian), UTF-16LE (Little Endian), UTF-32BE (Big Endian),
UTF-32LE (Little Endian).
- Full documentation for all classes can be generated (again) by using
the --with-gjdoc configure option.
- javax.awt.imageio support through gdkpixbuf.
Runtime interface changes:
- VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
currentClassLoader() is no longer needed, and there are also two new
methods with non-native implementations. VM implementors are
encouraged to provide more efficient versions.
- VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
The following people helped with this release:
Andrew Haley (nio optimizations)
Andrew John Hughes (Locale, java.text fixes and generics work)
Anthony Green (rmi cleanup)
Archie Cobbs (Throwable simplification)
Audrius Meskauskas (Swing JComboBox, JTextArea, and Timer fixes)
Bryce McKinlay (serialization fixes)
C. Brian Jones (rmi cleanups)
Chris Burdess (Base64 fix, gnu.xml cleanups, http connection fixes)
Craig Black (native state library, and gtk+ awt peer fixes)
Dalibor Topic (PropertyAction cleanups, inner class and dead code cleanups)
David Gilbert (DefaultListModel, Font text transform fixes and documentation)
Graydon Hoare (Lots of GdkGraphics updates)
Ito Kazumitsu (nio charset provider, FileChannel and SimpleDateFormat fixes)
Jeroen Frijters (Serialization and Collator fixes)
Julian Scheid (UTF8 fix and lots of gjdoc work)
Mark Wielaard (JarFile, TimeZone, URLClassLoader, serialization and packaging)
Michael Koch (AWT Window and Checkbox fixes, code cleanup, LocalInformation
maintenance, checkstyle cleanups, swing and nio updates)
Olga Rodimina (Jtable updates)
Patrik Reali (Website maintenance)
Quentin Anciaux (Lots of new character encoders and decoders)
Ranjit Mathew (IdentityHashMap bug fix)
Robert Schuster (nio charset and ChannelReader implementations)
Roman Kennke (Better swing BasicLookAndFeel)
Rutger Ovidius (GNU security provider update)
Steven Augart (OpenBSD script fixes and stack walker documentation)
Sven de Marothy (Lots of Calendar and TimeZone fixes and SpinnerDateModel
Thomas Fitzsimmons (Much awt gtk+ peer and Robot work)
Timo Lindfors (regex fixes)
Tom Tromey (generics work, classloader and xml fixes)
Powered by Savane 3.14-8aba.
Corresponding source code