OSDN Git Service

PR target/27599
[pf3gnuchains/gcc-fork.git] / libjava / classpath / doc / www.gnu.org / announce / 20050107.wml
1 #!wml --include=..
2
3 #use wml::std::page
4 #use wml::std::lang
5 #use wml::fmt::isolatin
6 #use wml::std::case global=upper
7
8 <lang:star:slice:>
9
10 <set-var last-modified-author="prr">
11
12 #include <include/macros.wml>
13
14 <header title="GNU Classpath 0.13 Announcement (2005-01-07)"> 
15 <pre>
16 We are pleased to announce a new developer snapshot release of GNU Classpath.
17
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.
21
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
26
27 File: classpath-0.13.tar.gz
28 MD5sum: 9920904c15f2cdb15e38c4a44968c4f9
29 SHA1sum: f431a24d7f25259123ae8a897b4d71be76ac76ea
30
31 Some highlights of this release (more extensive list below):
32
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.
38
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
42 doc/README.jaxp file.
43
44 22 people are listed in the ChangeLog file (full list below)
45 and there were 245 commits to CVS since the last release.
46
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.
52
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]
57
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.
63
64 Here are answers to some questions you might have about this project and
65 this release.
66
67 1). Who should use this software?
68
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.
74 We appreciate both.
75
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.
79
80     * GCC with GCJ  (http://gcc.gnu.org/java/)
81     * Kaffe         (http://www.kaffe.org/)
82
83 Both projects have CVS versions which track GNU Classpath closely.
84
85 2). What is required to build/install/run?
86
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
92 the INSTALL file.
93
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).
98
99     * JamVM (1.2.3) (http://jamvm.sourceforge.net/)
100     * Kissme (CVS)  (http://kissme.sourceforge.net/)
101
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.)
106
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).
111
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
116
117 2). What platforms are supported?
118
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.
122
123 5). Where do I go for more information?
124
125 The project home page with information on our mailing list can be
126 found at http://www.gnu.org/software/classpath/
127
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
132
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/
136
137 6). How do I extend the functionality of the core classes?
138
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).
145
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/>
152
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:
156
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/
163
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
166 Kaffe project.
167
168 6). What is new in this release?
169
170 New in release 0.13 (Jan 6, 2005)
171 (See the ChangeLog file for a full list of changes.)
172
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
177   and XMLDecoder.
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.
206
207 Runtime interface changes:
208
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
213   type class.
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
227   efficient version.
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.
231
232 The following people helped with this release:
233
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)
252 </pre>
253
254 <footer>
255
256