We are proud to announce the release of GNU Classpath 0.92 Bling! Bling! This is the first release that has a full graphics 2D implemenation based on Cairo enabled by default. This enables the use of applications like JEdit, FlickrBackup and JFreeChart out of the box. Screenshots of CairoGraphics2D in action http://www.jfree.org/jfreechart/samples-gnu.html Also new in this release is the inclusion of an applet viewer and plugin that can be embedded in webbrowsers or other applications. It works on any platform supported by the various runtimes based on GNU Classpath, including 64 bit architectures. Some other highlights in this release (more extensive list below): An alternative awt peer implementation based on Escher that uses the X protocol directly. Various ImageIO providers for png, gif and bmp images. Support for reading and writing midi files and reading .au and .wav files have been added. Various tools and support classes have been added for jar, native2ascii, serialver, keytool, jarsigner. A GConf based util.peers backend has been added. Support for using alternative root certificate authorities with the security and crypto packages. Start of javax.management and runtime lang.managment support. NIO channels now support scatter-gather operations. 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 Also released is classpath-generics-0.92 an experimental branch with support for all 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/Applets 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 GNU Classpath 0.92 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.92.tar.gz MD5sum: 4603ef3e593713d94788b919bc0b6c75 SHA1sum: fab3d6d360f6e9d712fc999f3f085e9f9c8c641a File: classpath-0.92-generics.tar.gz (EXPERIMENTAL) MD5sum: 3efacbefe0224dfe57d9049619095b32 SHA1sum: 7db4d90e36e40ec676ac813f300265849e36e223 New in release 0.92 (Aug 9, 2006) (See the ChangeLog file for a full list of changes.) * libjawtgnu.so has been renamed libjawt.so for binary compatibility. libjawt.so should be installed in a VM-specific directory rather than directly in /usr/lib. Proprietary VMs put their libjawt.so implementations in VM-specific directories but search /usr/lib first. If GNU Classpath's libjawt.so is installed in /usr/lib it will create problems for people who use a proprietary VM to run AWT Native Interface applications. * The GdkGraphics2D backend has been made the default. There is no longer an explicit dependency on Cairo, the --enable-gtk-cairo configure option is gone, and GTK 2.8 or higher is now required to build the GTK peers. * A Mozilla plugin, 'gcjwebplugin', is now included. It introduces a dependency on the Mozilla plugin support headers and libraries. * New java implementations of png and gif imageio readers and writers. * A tools.texinfo document has been created and now includes documentation about: * appletviewer * gcjwebplugin * jarsigner * keytool * Several new tools are now included: * appletviewer * jar * native2ascii * serialver * keytool * jarsigner A new configure option --enable-tool-wrappers causes wrapper binaries to be built for VMs that support the JNI Invocation API. * javax.sound.midi providers have been added to read and write standard MIDI files. * A javax.sound.sampled .au and .wav file readers have been added. * New Java Virtual Machine Tool Interface header, jvmti.h. * AWT peers for X Windows based on Escher (a pure java X protocol implementation) have been added. So far it supports AWT 1.1 style Graphics, image loading via ImageIO (PNG, GIF and BMP images in this release), top level components as well as mouse and keyboard input. It is capable of running many Swing applications. Graphics2D and AWT widgets are not yet supported with this peer set. * GConf based util.peers backend (see the --enable-gconf-peer and --enable-default-preferences-peer configure options). * Support for batch importing trusted certificates for use with ssl connections (see script/import-cacerts.sh). * NIO scatter-gather channel support. Runtime interface changes: * A new class, VMURLConnection, is used to implement URLConnection.guessContentTypeFromStream. The reference implementation uses libmagic (and falls back to doing nothing if libmagic is not available). * The method gnu.java.io.PlatformHelper.toCanonicalForm() has been replaced with a JNI implementation of VMFile.toCanonicalForm() for GNU/Posix systems. * A new class, VMRuntimeMXBeanImpl, is used to implement the low-level support of the runtime management bean. VMs should use it to supply the input arguments and start time of the VM. In addition, one of sun.boot.class.path or java.boot.class.path should be defined by the VM to support the optional boot class path access functionality. * The Unsafe class was moved back to the place expected by the JSR 166 reference implementation. We've also added a couple other new VM classes to support the JSR 166 code -- sun.reflect.Reflection and sun.reflect.misc.ReflectUtil. * Another new class, VMClassLoadingMXBeanImpl, is used to implement the low-level support of the class loading management bean. VMs need to supply it with information about how many classes are currently loaded, how many have been unloaded and whether verbose class loading output is on or off. Provision should also be made for the latter to be toggled at runtime. * VMThreadMXBeanImpl is used to implement the low-level support of the thread management bean. Providing this interface requires providing a fair amount of information about threads, including optional time and contention monitoring, and instances of the new ThreadInfo class in java.lang.management. getState() has also been added to the VMThread interface; this is required by the bean as well as java.lang.Thread. * VMMemoryMXBeanImpl is used to implement the low-level support of the memory management bean. Providing this interface requires providing information about the levels of heap and non-heap memory, and the number of objects eligible for garbage collection. * VMCompilationMXBeanImpl is used to allow for optional compilation time support for Just-In-Time compilers. * VMMemoryPoolMXBeanImpl is used to implement the low-level support of the memory pool beans. Providing this interface requires providing memory usage statistics for each supported bean. * VMManagementFactory provides the names of the memory pools, memory managers and garbage collectors maintained by the virtual machine. These are used to create the beans by the ManagementFactory. * VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide low-level support for memory managers (including the specific subclass of garbage collecting memory managers). The interfaces for these require no more than enumerating the number of collections and the time spent (for garbage collectors) and a relationship to the memory pools (for all), along with a validity check. The following people helped with this release: Andreas Tobler, Andrew John Hughes, Anthony Balkissoon, Anthony Green, Archie Cobbs, Audrius Meskauskas, Carsten Neumann, Casey Marshall, Chris Burdess, Christian Thalinger, C. Scott Marshall, Dalibor Topic, David Gilbert, Francis Kung, Gary Benson, Henrik Gulbrandsen, Ingo Proetel, Ito Kazumitsu, Jeroen Frijters, Jim Huang, Kazuya Ujihara, Keith Seitz, Kyle Galloway, Lillian Angel, Mario Torre, Mark Wielaard, Martin Platter, Matthew Burgess, Matthew Wringe, Matt Wringe, Michael Barker, Miriam Schuster, Olivier Jolly, Paul Jenner, Raif S. Naffah, Robert Schuster, Roman Kennke, Sven de Marothy, Tania Bento, Thomas Fitzsimmons, Thomas Minor, Tom Tromey and Vivek Lakshmanan We would also like to thank the numerous bug reporters and testers!
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: