5 #use wml::fmt::isolatin
6 #use wml::std::case global=upper
10 <set-var last-modified-author="prr">
12 #include <include/macros.wml>
14 <header title="GNU Classpath 0.13 Announcement (2005-01-07)">
16 We are pleased to announce a new developer snapshot release of GNU Classpath.
18 GNU Classpath, essential libraries for the java, is a project to create free
19 core class libraries for use with runtimes, compilers and tools for the
20 java programming language.
22 GNU Classpath 0.13 can be downloaded from
23 ftp://ftp.gnu.org/pub/gnu/classpath/
24 or one of the ftp.gnu.org mirrors
25 http://www.gnu.org/order/ftp.html
27 File: classpath-0.13.tar.gz
28 MD5sum: 9920904c15f2cdb15e38c4a44968c4f9
29 SHA1sum: f431a24d7f25259123ae8a897b4d71be76ac76ea
31 Some highlights of this release (more extensive list below):
33 Includes HTTP/1.1 and FTP URL handlers. Added java.beans XMLEncoder and
34 XMLDecoder classes. More than 250 locales are supported now. SAX, DOM,
35 XSL and XPath implementations for javax.xml (JAXP 1.3) have been added.
36 Better AWT on gtk+ and Swing support. An AWT Robot implementation based
37 on the XServer XTest Extension for the gtk+ peers has been added.
39 GNU Classpath uses the Mauve test suite for Compatibility, Completeness
40 and Correctness checking. This release passes 23131 of 23729 mauve tests.
41 Conformance reports for the included jaxp support can be found in the
44 22 people are listed in the ChangeLog file (full list below)
45 and there were 245 commits to CVS since the last release.
47 Included, but not activated by default in this release is a Graphics2D
48 implementation based on the Cairo Graphics framework
49 (http://www.cairographics.org/). Enabling this makes programs like
50 JFreeChart work on GNU Classpath based runtimes. Note that this release
51 needs a cairo CVS build.
53 [It is recommended that people wanting to experiment with the
54 Graphics2D implementation follow the instructions for building gcj
55 with jhbuild which automatically builds the latest CVS version of GCJ
56 and Cairo at http://people.redhat.com/fitzsim/gcj-and-jhbuild.html]
58 Not yet included is an implementation of Generic collection classes
59 and classes for other 1.5 language extensions. Work on this is being
60 done on a special development branch that will be included in a future
61 GNU Classpath release when free runtimes, compilers and tools have all
62 been upgraded to support these new language features.
64 Here are answers to some questions you might have about this project and
67 1). Who should use this software?
69 Although GNU Classpath is already capable of supporting many
70 applications written in the java programming language, this is a
71 development release. As such, there are still some unfinished
72 components, and some problems are to be expected. You should install it
73 if you are interested in GNU Classpath development or reporting bugs.
76 For end users we recommend to use one of the development environments
77 based on GNU Classpath which combine the core libraries with compilers
78 and other tools needed for creating applications and libraries.
80 * GCC with GCJ (http://gcc.gnu.org/java/)
81 * Kaffe (http://www.kaffe.org/)
83 Both projects have CVS versions which track GNU Classpath closely.
85 2). What is required to build/install/run?
87 GNU Classpath requires a working GNU build environment and a byte code
88 compiler such as jikes, gcj or kjc. When creating native code you will
89 also need a working C compiler and up to date Gnome development
90 libraries (gtk+, libart and gdk-pixbuf). More information on the
91 precise version numbers for the tools and libraries can be found in
94 You will also need a runtime environment. The following runtime
95 environments (which don't include compilers or other tools, see above)
96 work out of the box with GNU Classpath (tested by and recommended for
97 GNU Classpath hackers).
99 * JamVM (1.2.3) (http://jamvm.sourceforge.net/)
100 * Kissme (CVS) (http://kissme.sourceforge.net/)
102 Other runtimes known to work with the latest or a previous release are
103 JikesRVM, IKVM.NET, JC, SableVM (-Xgnuclasspath) and CACAO.
104 (You might need staging, development or CVS versions for support of the
105 latest GNU Classpath release with some of these.)
107 Note that these are just byte code execution runtimes. For development
108 of programs written in the java programming language you will also
109 need compilers and other tools for creating libraries and/or
110 executables (see question 1).
112 For other environments that might need modified version of the current
113 release see the README file. A complete list of virtual machines and
114 compilers known to be based on GNU Classpath can be found at our
115 website: http://www.gnu.org/software/classpath/stories.html
117 2). What platforms are supported?
119 GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
120 developers. Since 0.12 there is also support for cygwin.
121 We plan to eventually support many others.
123 5). Where do I go for more information?
125 The project home page with information on our mailing list can be
126 found at http://www.gnu.org/software/classpath/
128 A good overview of the current status can be found on the GNU Classpath
129 at FOSDEM'04 page which describes the last GNU Classpath hacker meeting.
130 It includes reports and presentations on the current status and future
131 plans: http://www.gnu.org/software/classpath/events/fosdem04.html
133 The following presentation given during the Desktop Developers
134 Conference shows how to integrate GNU Claspath and GCJ more with the
135 Free Desktop environments: http://people.redhat.com/fitzsim/ddc2004/
137 6). How do I extend the functionality of the core classes?
139 Besides combining GNU Classpath with the runtimes and compilers above
140 you might want to add support for additional encryption libraries and
141 algorithms as provided by GNU Crypto
142 (http://www.gnu.org/software/gnu-crypto/). And for additional
143 extension libraries (mail, activation, infobus, servlet, etc.)
144 check out GNU ClasspathX (http://www.gnu.org/software/classpathx).
146 Additional network protocol support is provided by a sub-project
147 called GNU Classpath Inetlib, an extension library to provide extra
148 network protocol support (ftp, finger, gopher) for GNU Classpath, but
149 it can also standalone to ease adding http, imap, pop3 and smtp client
150 support to applictions. Also distributed from
151 <ftp://ftp.gnu.org/gnu/classpath/>
153 The following projects extend the functionality of GNU Classpath
154 with additional algorithms, new core packages and tools.
155 All are released under GPL compatible licenses:
157 * Jessie: A free implementation of the JSSE. Secure Sockets Extension.
158 http://www.nongnu.org/jessie/
159 * Tritonus: A implementation of the javax.sound API.
160 http://www.tritonus.org/
161 * gcjwebplugin: A plugin for the execution of applets in web browsers.
162 http://www.nongnu.org/gcjwebplugin/
164 Note that the above libraries might already have been included in the
165 various platforms that also integrate GNU Classpath like done by the
168 6). What is new in this release?
170 New in release 0.13 (Jan 6, 2005)
171 (See the ChangeLog file for a full list of changes.)
173 * The http url protocol handler has been replaced with a full HTTP/1.1
174 version from GNU inetlib.
175 * A new ftp url protocol handler has been added also from GNU inetlib.
176 * java.beans has been updated to 1.4 including support for XMLEncoder
178 * The java.util.Locale support is now based on the Common Locale Data
179 Repository (CLDR) Project (see http://www.unicode.org/cldr/).
180 GNU Classpath provides support for more than 250 locales now.
181 This new support is experimental and the GNU Classpath hackers are
182 working together with runtime developers and the unicode consortium
183 to improve them in the future.
184 If your runtime misdetects your locale or if the default locale gives
185 problems please try running with -Duser.language=en and -Duser.region=US
186 to fall back on a known good locale.
187 * Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
188 org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
189 different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
190 libxmlj DOM and libxmlj XSL by setting different system properties.
191 Also provided is a preliminary XPath 1.0 implementation.
192 The libxmlj versions are build around libxml2 and libxslt and have to
193 be enabled during build time by the --enable-xmlj configure flag.
194 The current support is equal to the last released GNU JAXP 1.3 release.
195 These packages will be maintained as part of the GNU Classpath core classes
196 in the future. For more information, conformance results and documentation
197 on selecting different implementations see doc/README.jaxp.
198 * More AWT accessible support.
199 * AWT gtk+ peers component layout, dialog placement, keyboard focus
200 handling and text positioning have been improved.
201 * ImageIO interfaces are more complete.
202 * JList, JTable and JTree have been hugely improved.
203 * java.awt.Robot support with GdkRobot in the gtk+ awt peers.
204 Needs XTest Extension (libXtst) XServer support.
205 * New --disable-examples configure argument.
207 Runtime interface changes:
209 * Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
210 to lazily register an exit handler.
211 * The java.lang.Class constructor now automatically sets the protection
212 domain for array classes, based on the protection domain of the component
214 * New gnu.classpath.VMSystemProperties class. This replaces the
215 system properties initialization in VMRuntime. Note that it is
216 now the VMs responsibility to set one additional property:
217 gnu.cpu.endian should be set to "big" or "little".
218 * VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
219 and has only one argument, the name of the library.
220 * String and StringBuffer now call VMSystem.arraycopy() directly and don't
221 go through java.lang.System. Be careful to not initialize java.lang.System
222 early in the bootstrap sequence in your VM runtime interface classes.
223 * Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
224 has been updated. Also, VMThread.sleep() now has a default non-native
225 implementation, but it is a generic implementation that ignores the
226 nano-seconds argument. Runtime hackers are encouraged to provide a more
228 * There is prelimenary support for nio direct byte buffers.
229 See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
230 you add support for this to your runtime.
232 The following people helped with this release:
234 Andrew John Hughes (Locale, Currency and java.text updates), Archie Cobbs
235 (Thread improvements), Bryce McKinlay (ResourceBundle speedups), Casey
236 Marshall (FileLock fixes), Chris Burdess (locale generator, xml integration,
237 http and ftp handlers), Craig Black (BeanInfoEmbryo improvements), David
238 Gilbert (AWT and geom documentation), Graydon Hoare (Graphics2D and
239 BufferedImage improvements), Guilhem Lavaux (CLDR parser and Object stream
240 serialization improvements), Ito Kazumitsu (nio ByteBuffer fixes), Jeroen
241 Frijters (Runtime interfaces improvements, including shutdown hooks and
242 system properties, nio and zip fixes), Jerry Quinn (AWT accessibility
243 support), Mark Wielaard (packaging and integration), Michael Koch (Locale,
244 Swing, InetAddress, ImageIO, nio improvements and libgcj integration),
245 Olga Rodimina (JTable improvements), Patrik Reali (website maintenance),
246 Paul Jenner (ImageIcon additions), Ranjit Mathew (IdentityHashMap fix),
247 Robert Schuster (java.beans updates, XMLEncode and XMLDecoder
248 implementations and JComboBox improvements), Sven de Marothy (Graphics2D,
249 java.awt.image and java.awt.geom fixes), Thomas Fitzsimmons (GdkRobot,
250 gtk+ peers component layout, dialog placement, keyboard focus handling and
251 text positioning), Tom Tromey (gcjx support, zip and ResourceBundle fixes)