We are pleased to announce a new development release of GNU Classpath. GNU Classpath, Essential Libraries for Java, is a project to create free core class libraries for use with virtual machines and compilers for the java programming language. GNU Classpath 0.10 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.10.tar.gz MD5sum: a59a5040f9c1237dbf27bfc668919943 New in release 0.10 (Jul 9, 2004) * java.net.URL now uses application classloader to load URLStreamHandlers and reuses URLStreamHandlers when URL is reset (but protocol isn't changed). * java.io.File.deleteOnExit() implementation. * java.text multiple new features and bug fixes (only 2 out of the 1000+ java.text Mauve tests now fail). * Better (non-black) default AWT System colors. * AWT lists use GTK treeviews. * Proper AWT focus management has been implemented. * Swing menus and scrollpanes are beginning to work. * Swing splitpanes, dialogs and internal frames were added. * Swing repainting / double buffering was redone. * Font management and Pango DPI conversion fixes. * A lot of AWT imaging and event bugs have been picked out. * More of javax.swing.text has been implemented. * javax.swing.Timer has been reimplemented. * java.security.AccessController has been implemented (see runtime section). * The default java.lang.SecurityManager now uses AccessController. * New java.beans.Statement and Expression implementations. * Small FileChannel implementation speed improvement for traditional JNI based systems. * Regenerated all included JNI header files with gcjh (3.5 CVS), removes extra extern modifier and allows stricter compiler warning. * More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes, made it compilable with C++ compilers and jni.h got renamed from jni.h.in). * Double.toString() and Float.toString() now work properly on 64-bit PowerPC systems. * PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes. * Build system refactored and removed old Japhar specific support. * The gnu.java.awt.EmbeddedWindow class has been improved, and now supports embedding AWT windows in other top-level X windows. This functionality is required by gcjwebplugin. * gcjwebplugin, an applet viewer that can be embedded into several web browsers, has been extensively tested with this release of classpath. (See http://www.nongnu.org/gcjwebplugin/) * Runtime environments based on GNU Classpath 0.10 should be able to start up Eclipse 3.0 out of the box now. Runtime interface Changes: * VMProcess.destroy() default implementation fixes. * Fixed the "portable native sync" code; it had been broken since Classpath release 0.06, when we upgraded to GTK+2. Classpath's AWT peers use GTK+. GTK+ uses GLIB. GLIB by default uses the platform's native threading model -- pthreads in most cases. If the Java runtime doesn't use the native threading model, then you should specify --portable-native-sync when configuring Classpath, so that GLIB will use the Java threading primitives instead. (For a superior alternative, see below.) * The VM can set the system property gnu.classpath.awt.gtk.portable.native.sync instead of using the --portable-native-sync configure-type option. See doc/vmintegration.texinfo for details. * We intend that the next release of GNU Classpath will require the VM to provide JNI 1.2. Classpath currently uses only JNI 1.1, except for one JNI 1.2 function: GetEnv(), in the JNI Invocation API. If this poses problems, please raise them on the classpath mailing list. * The reference implementation of VMThread.holdsLock(Object) now has a default implementation written in java. For efficiency and to prevent spurious wakeups a real 'native' runtime version can be supplied. * There is a new java.security.VMAccessController class that runtimes need to implement to properly support SecurityManagers. The default implementation that comes with GNU Classpath makes sure that ANY attempt to access a protected resource is denied when a SecurityManager is installed. Which is pretty secure, but also no very useful. Please see the documentation in vm/reference/java/security/VMAccessController.java, and please give feedback on the GNU Classpath mailinglist whether or not the current AccessController framework is flexible enough. Here are answers to some questions you might have about this project and this release. 1). 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 environments have been tested to work out of the box with this release: * JamVM (http://jamvm.sourceforge.net/) * Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/) * Kissme (http://kissme.sourceforge.net/) 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 is the only platform that has been tested. We plan to eventually support many others. 3). 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/) 4). Where do I go for more information? The project home page with information on our mailing list can be found http://www.gnu.org/software/classpath/. A good overview of the current status can be found on the GNU Classpath at FOSDEM'04 page which describes the last GNU Classpath hacker meeting. It includes reports and presentations on the current status and future plans: http://www.gnu.org/software/classpath/events/fosdem04.html
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: