classpath - News: GNU Classpath 0.91 "All for One, One for All" released
GNU Classpath 0.91 "All for One, One for All" released
Item posted by Mark Wielaard <mark> on Mon 15 May 2006 10:27:19 PM 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: http://www.gnu.org/software/classpath/stories.html
Some highlights of changes in this release (more extensive list below):
RMI activation daemon and persistent naming service tools are now
included. Print service discovery, single document print jobs and
support for client-formatted print data through CUPS has been
added. Support for custom mouse cursors, system clipboard and
selection access has been implemented. A Free Swing OceanTheme and
support for assistive technologies (accessibility) has been
added. The VM runtime interface has been merged with the generics
version to support annotations and other 1.5 language features.
GNU Classpath 0.91 does not yet support all new 1.5 additions, but
there is also an experimental GNU Classpath "generics" release.
classpath-0.91-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 can use it 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.
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/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
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 (http://www.cairographics.org). 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 more than 45.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: http://www.sourceware.org/mauve/
This release passes 44975 out of 45537 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.91 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.91.tar.gz
MD5sum: 3ce11b4b990b108c5ab93894fcc61be6
SHA1sum: fcbfdf64f7a990f1747621772a2e9e69d0baaab7
File: classpath-0.91-generics.tar.gz (EXPERIMENTAL)
MD5sum: e79132b1b8441523b8f4f6a8f2d2910b
SHA1sum: 90be3b2115e8a0288bcb6e2d1860fe58b42c77b5
New in release 0.91 (May 14, 2006)
(See the ChangeLog file for a full list of changes.)
- Experimental activation (java.rmi.activation) support, including RMI
activation daemon and persistent naming service tools.
- Experimental printing support: The API implementation of the
javax.print packages has been finished and work on the printing
provider implementation started. Currently supported features from the
Java Print Service API are print service discovery (CUPS registered
printers), single document print jobs and support for client-formatted
print data. An example application (gnu/classpath/examples/print/Demo)
has been added to show the API usage for service discovery and
printing of files.
- The GTKToolkit now gives access to the both the system clipboard and
system selection.
- Custom mouse cursor support has been added to the gtk+ peers. And
cursors can now also be set on light-weight components.
- Free Swing improvements: Support for OceanTheme has been mostly
completed and turned on as default Metal theme. X11-style Copy and
Paste behavior in text components with the middle mouse button.
Support cursor changes on various components when resizing. Support
for Look and Feel window decorations has been added.
- Updated locale data information to CLDR 1.3.
- Various bugs in Classpath's SecureRandom implementations have been
fixed; that class now respects the "securerandom.source" security
property and the "java.security.egd" system property.
- Support for assistive technologies has been added to AWT and Swing.
Runtime interface changes:
- A new class, VMArray, is now available which separates the native
array creation method from java.lang.reflect.Array.
- A new class, gnu.classpath.Unsafe, is provided for handling the
new low-level operations required by java.util.concurrent.
- The reference implementations of Method, Constructor, and Field
now have a new native getModifiersInternal() method. The public
getModifiers() method in each case has been rewritten in terms of
this method.
- The reference implementation of VMThread has been updated to handle
the new Thread.UncaughtExceptionHandler support.
- A new class, java.security.VMSecureRandom, is now available that is
used to generate random numbers for seeding cryptographically-secure
pseudo-random number generators.
- VMClass and the reference implementations of Method, Constructor and
Field now include a number of 1.5 methods imported from the generics
branch. These are all optional (in the sense that the methods
associated with them merely fail on use if the VM doesn't provide
them, rather than the VM failing altogether), but VMs should aim to
support them where possible.
- The implementation of java.lang.instrument has been merged to the main
branch from the generics branch.
- The VM interfaces of the main branch and the generics branch are now
consistent with one another. As a result, the main branch includes an
additional environ() function in VMSystem and an additional argument
has been added to nativeSpawn() in VMProcess.
- Annotation support is now available in the main branch, if the VM
supports it. The VM should implement VMClass.getDeclaredAnnotations,
Constructor.getAnnotation, Constructor.getDeclaredAnnotations,
Field.getAnnotation, Field.getDeclaredAnnotations,
Method.getAnnotation and Method.getDeclaredAnnotations.
- java.lang.Package now has a new constructor that takes the defining
ClassLoader as an extra argument. If you use a custom version of
VMClassLoader, please switch it to use this constructor.
- The reference implementation of VMClassLoader.getBootPackages() now
reads the META-INF/INDEX.LIST resource using the java.boot.class.path
system property.
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
--enable-gtk-cairo.
- QT4 AWT peers, enable by giving configure --enable-qt-peer.
The following people helped with this release:
Andrew John Hughes, Anthony Balkissoon, Arnaud Vandyck, Audrius
Meskauskas, Bernhard Rosenkraenzer, Bryce McKinlay, Caolan McNamara,
Carsten Neumann, Casey Marshall, Chris Burdess, Christian Thalinger,
Dalibor Topic, David Gilbert, Fridjof Siebert, Gary Benson, Ito
Kazumitsu, Jeroen Frijters, John K Peterson, John Sullivan, Keith
Seitz, Lillian Angel, Mark Wielaard, Michael Barker, Michael Koch,
Nicolas Geoffray, Olivier Jolly, Paul Jenner, Rafael H. Schloming,
Raif S. Naffah, Riccardo Mottola, Robert Schuster, Roman Kennke,
Sascha Brawer, Stephen White, Sven de Marothy, Thomas Fitzsimmons,
Tom Tromey and Wolfgang Baer.
We would also like to thank the numerous bug reporters and testers!
Powered by Savane 3.13-5884.
Corresponding source code