Dead
[official-gcc.git] / gomp-20050608-branch / libjava / classpath / doc / www.gnu.org / announce / 20050630.wml
blob1784e2f11f2f5beb67d946e9b883c1a03feb17bd
1 #!wml --include=..
3 #use wml::std::page
4 #use wml::std::lang
5 #use wml::fmt::isolatin
6 #use wml::std::case global=upper
8 <lang:star:slice:>
10 <set-var last-modified-author="prr">
12 #include <include/macros.wml>
14 <header title="GNU Classpath 0.16 Announcement (2005-04-29)">
15 <pre>
16 GNU Classpath 0.16 "Harmony!" released.
18 We are pleased to announce a new developer snapshot of GNU Classpath.
20 GNU Classpath, essential libraries for java, is a project to create free
21 core class libraries for use with runtimes, compilers and tools for the
22 java programming language.
24 The GNU Classpath developer snapshot releases are not directly aimed
25 at the end user but are meant to be integrated into larger development
26 platforms. For example the GCC (gcj) and Kaffe projects will use the
27 developer snapshots as a base for future versions.
29 This is the first release of GNU Classpath since our Harmony
30 collaboration with the Apache group. Instructions for developers
31 wanting to try out and help with the core library implementation can
32 be found at: http://developer.classpath.org/
34 New is our wiki with simple steps to setup a quick development
35 environment. For example developers using cygwin can find examples
36 here: http://developer.classpath.org/mediation/ClasspathOnCygwin
38 Some highlights of changes in this release (more extensive list below):
40 AWT GtkScrollBar and GtkImage improvements. All image operations are
41 now working correctly. Graphics2D has been upgraded to use Cairo
42 0.5.x. Free Swing updates for 1.5 top-level compatibility. JTree
43 interface completed. JFileChooser has been implemented. Completed
44 implementations of BoxLayout, GrayFilter and SplitPane. Upgraded the
45 Corba features to 1.3 and included new CORBA 2.3 features. Start of
46 generic JDWP framework. And lots of bug fixes based on real world
47 application usage.
49 31 people actively contributed code to this release and made 389 CVS
50 commits during the last two months of development. diffstat since 0.15:
51 1248 files changed, 133649 insertions(+), 41802 deletions(-)
53 More details about the various changes and contributions below.
55 GNU Classpath 0.16 can be downloaded from
56 ftp://ftp.gnu.org/pub/gnu/classpath/
57 or one of the ftp.gnu.org mirrors
58 http://www.gnu.org/order/ftp.html
60 File: classpath-0.16.tar.gz
61 MD5sum: 220a9c86719a2c6bd7ba9b9877495113
62 SHA1sum: be6d30fbfe4d71015a455a367411a6d55df3484e
64 This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
65 higher is recommended. Included, but not activated by default in this
66 release is a Graphics2D implementation based on the Cairo Graphics
67 framework (http://www.cairographics.org). Enabling this makes programs
68 like JEdit start up on GNU Classpath based runtimes. To enable this
69 support install the cairo 0.5.x snapshot, configure GNU Classpath with
70 --enable-gtk-cairo and make sure the system property
71 gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
73 This release was explicitly tested against the last Eclipse 3.1
74 release (thanks to various eclipse hackers for the support). For end
75 user we do however recommend to use the GCJ4 packaged version of
76 Eclipse 3.1 that have been prepared for the various distributions:
78 Fedora Core
79 http://overholt.ca/wp/?p=27
80 Debian GNU/Linux
81 http://gnu.wildebeest.org/diary-man-di/index.php?p=19
82 Ubuntu
83 http://www.larvalstage.net/index.php?/archives/2-Introducing-Eclipse-3.1.html
85 Not yet included is an implementation of Generic collection classes
86 and classes for other 1.5 language extensions. Work on this is being
87 done on a special development branch that will be included in a future
88 GNU Classpath release when free runtimes, compilers and tools have all
89 been upgraded to support these new language features.
91 One of the major focuses of the GNU Classpath project is expanding
92 and using the Mauve test suite for Compatibility, Completeness and
93 Correctness checking. Various groups around GNU Classpath collaborate
94 on the free software Mauve test suite which contains ~30.000 core
95 library tests. Mauve has various modules for testing core class
96 library implementations, byte code verifiers, source to byte code and
97 native code compiler tests. Mauve also contains the Wonka visual test
98 suite and the Jacks Compiler Killer Suite. This release passes 28801
99 of the mauve core library tests. See for more information:
100 http://www.sourceware.org/mauve/
102 Conformance reports for the included jaxp support can be found in the
103 doc/README.jaxp file.
105 The GNU Classpath developers site http://developer.classpath.org/
106 provides detailed information on how to start with helping the GNU
107 Classpath project and gives an overview of the core class library
108 packages currently provided. For each snapshot release generated
109 documentation is provided through the GNU Classpath Tools gjdoc
110 project. A documentation generation framework for java source files
111 used by the GNU project. Full documentation on the currently
112 implementated packages and classes can be found at:
113 http://developer.classpath.org/doc/
115 Here are answers to some questions you might have about this project and
116 this release.
118 1). Who should use this software?
120 Although GNU Classpath is already capable of supporting many
121 applications written in the java programming language, this is a
122 development release. As such, there are still some unfinished
123 components, and some problems are to be expected. You should install it
124 if you are interested in GNU Classpath development or reporting bugs.
125 We appreciate both.
127 For end users we recommend to use one of the development environments
128 based on GNU Classpath which combine the core libraries with compilers
129 and other tools needed for creating applications and libraries.
131 * GCC with GCJ (http://gcc.gnu.org/java/)
132 * Kaffe (http://www.kaffe.org/)
134 Both projects have CVS versions which track GNU Classpath closely.
136 2). What is required to build/install/run?
138 GNU Classpath requires a working GNU build environment and a byte code
139 compiler such as jikes, gcj or kjc. When creating native code you will
140 also need a working C compiler and up to date Gnome development
141 libraries (gtk+, libart and gdk-pixbuf). More information on the
142 precise version numbers for the tools and libraries can be found in
143 the INSTALL file.
145 You will also need a runtime environment. Most active GNU Classpath
146 hackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikes
147 bytecode compiler (http://www.jikes.org) for quick development. But
148 other environments can certainly be used to hack on the GNU Classpath
149 core libraries.
151 For other environments that might need modified version of the current
152 release see the README file. A complete list of virtual machines and
153 compilers known to be based on GNU Classpath can be found at our
154 website: http://www.gnu.org/software/classpath/stories.html
156 Note that these are just byte code execution compilers and/or
157 runtimes. For development of programs written in the java programming
158 language you will also need compilers and other tools for creating
159 libraries and/or executables (see question 1).
161 3). What platforms are supported?
163 GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
164 developers. Since 0.12 there is also support for cygwin. We plan to
165 eventually support many others. Many more architectures and platforms
166 are supported. Check the actual runtime you use together with GNU
167 Classpath for detailed information on the supported platforms.
169 4). Where do I go for more information?
171 The project home page with information on our mailing list can be
172 found at http://www.gnu.org/software/classpath/
174 The GNU Classpath developer recently held a conference during Fosdem.
175 This was a standing room event and provided lot of communication between
176 the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
177 and users. The presentations of this event have been publised and should
178 give a good overview of the current status and future plans of the project:
179 http://www.gnu.org/software/classpath/events/escape_fosdem05.html
181 Developers wanting to help out with the project will find more
182 information and tools on http://developer.classpath.org/
184 5). How do I extend the functionality of the core classes?
186 Besides combining GNU Classpath with the runtimes and compilers above
187 you might want to add support for additional encryption libraries and
188 algorithms as provided by GNU Crypto
189 (http://www.gnu.org/software/gnu-crypto/). And for additional
190 extension libraries (mail, activation, infobus, servlet, etc.) check
191 out GNU ClasspathX (http://www.gnu.org/software/classpathx).
193 Additional network protocol support is provided by a sub-project
194 called GNU Classpath Inetlib, an extension library to provide extra
195 network protocol support (ftp, finger, gopher) for GNU Classpath, but
196 it can also standalone to ease adding http, imap, pop3 and smtp client
197 support to applictions. Also distributed from
198 <ftp://ftp.gnu.org/gnu/classpath/>
200 The following projects extend the functionality of GNU Classpath
201 with additional algorithms, new core packages and tools.
202 All are released under GPL compatible licenses:
204 * Jessie: A free implementation of the JSSE. Secure Sockets Extension.
205 http://www.nongnu.org/jessie/
206 * Tritonus: A implementation of the javax.sound API.
207 http://www.tritonus.org/
208 * gcjwebplugin: A plugin for the execution of applets in web browsers.
209 http://www.nongnu.org/gcjwebplugin/
211 Note that the above libraries might already have been included in the
212 various platforms that also integrate GNU Classpath like done by the
213 Kaffe project.
215 6). What is new in this release?
217 New in release 0.16 (Jun 30, 2005)
218 (See the ChangeLog file for a full list of changes.)
220 * Better GTK scrollbar peer implementation when using GTK >= 2.6.
221 * GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
222 * BufferedImage and GtkImage rewrites. All image drawing operations
223 should now work correctly (flipping requires gtk+ >= 2.6)
224 * Future Graphics2D, Image and Text work is documented at:
225 http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
226 * Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
227 JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
228 can call add() and setLayout() directly on them, which will have the same
229 effect as calling getContentPane().add() and getContentPane().setLayout().
230 * The JTree interface has been completed. JTrees now recognizes mouse clicks
231 and selections work, but the visual implementation is not yet complete.
232 Work on expansion and collapsing of the tree nodes is being implemented.
233 * BoxLayout works properly now.
234 * Fixed GrayFilter to actually work.
235 * Metal SplitPane implemented.
236 * Lots of free swing text and editor stuff work now.
238 * When gtk+ 2.6 or higher is installed the default log handler will produce
239 stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
241 * The CORBA implementation is now a working prototype that should support
242 features up till 1.3 inclusive.
243 We would invite groups writing CORBA dependent applications to
244 try Classpath implementation, reporting any possible bugs.
246 The CORBA prototype is interoperable with Sun's implementation v 1.4,
247 transferring object references, primitive types, narrow and wide
248 strings, arrays, structures, trees, abstract interfaces and
249 value types (feature of CORBA 2.3) between these two platforms.
250 The remote exceptions are transferred and handled correctly.
251 The stringified object references (IORs) from various sources are
252 parsed as required.
253 The transient (for current session) and permanent (till jre restart)
254 redirections work.
255 Both Little and Big Endian encoded messages are accepted.
256 The implementation is verified using tests from the former cost.omg.org.
257 The current release includes working examples (see the examples directory),
258 demonstrating the client-server communication, using either CORBA Request
259 or IDL-based stub (usually generated by a IDL to java compiler).
260 These examples also show how to use the Classpath CORBA naming service.
261 The IDL to java compiler is not yet written, but as our library must be
262 compatible, it naturally accepts the output of other idlj implementations.
264 * New --with-vm-classes configure option, and new 'build' setting
265 for --with-glibj. (Only for integrators.)
267 Runtime interface changes:
269 * Start of a generic JDWP framework in gnu/classpath/jdwp.
270 This is unfinished, but feedback (at classpath@gnu.org) from runtime
271 hackers is greatly appreciated. Although most of the work is currently
272 being done around gcj/gij we want this framework to be as VM neutral as
273 possible. Early design is described in:
274 http://gcc.gnu.org/ml/java/2005-05/msg00260.html
275 * Native method VMClass.getModifiers() now takes an additional
276 boolean parameter.
277 * Deprecated native method VMClassLoader.defineClass(ClassLoader,
278 String, byte[], int, int) has been replaced by
279 VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
280 ProtectionDomain)
281 * VMClassLoader.loadClass(String name, boolean resolve) is now native,
282 replacing the former version which just returned null.
283 * Deprecated native method VMClassLoader.getPrimitiveClass(String) has
284 been replaced by new native method VMClassLoader.getPrimitiveClass(char).
285 * Previously empty implementations of methods VMThread.countStackFrames(),
286 VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
287 been removed; these methods are now native methods.
288 * Fields "exceptionTypes" and "parameterTypes" have been removed from
289 Contructor.java and getExceptionTypes() and getParameterTypes() are
290 now native methods.
292 The following people helped with this release:
294 Andreas Jaeger (mprec updates)
295 Andreas Tobler (Darwin support)
296 Andrew John Hughes (Locale and net fixes, URI RFC2986 updates)
297 Andrew Overholt (File locking)
298 Anthony Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes)
299 Archie Cobbs (VM interface updates)
300 Audrius Meskauskas (Corba and HTML work)
301 Bryce McKinlay (RMI work)
302 Chris Burdess (XML work)
303 Christian Thalinger (fdlibm updates)
304 Dalibor Topic (SHA1PRNG and GdkPixbugDecoder updates)
305 David Daney (BitSet bugfixes)
306 David Gilbert (Lots and lots of documentation and awt/swing fixes)
307 Gary Benson (MessageFormat fixes)
308 Goffredo Baroncelli (HTTPURLConnection fixes)
309 Jan Roehrich (JTree fixes)
310 Jeroen Frijters (ClassLoader and nio cleanups)
311 Ka-Hing Cheung (TreePath and TreeSelection fixes)
312 Kalle Olavi Niemitalo (Build fixes)
313 Keith Seitz (JDWP work)
314 Kim Ho (JFileChooser implementation)
315 Lillian Angel (JTree implementation and lots of bug fixes)
316 Mark Wielaard (build fixes, GdkPixpufDecoder fixes and packaging)
317 Michael Koch (Locale updates, bug and build fixes)
318 Olga Rodimina (MenuSelectionManager)
319 Robert Schuster (charset and awt fixes)
320 Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus bugfixes all over)
321 Sven de Marothy (GtkImage rewrite, 2D, awt, free swing and date/time fixes)
322 Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo 2D support)
323 Tom Tromey (libgcj merging, build infrastructure and bug fixes)
324 Ziga Mahkovec (Graphics2D upgraded to cairo 0.5 and new regex features)
326 We would also like to thank the numerous bug reporters and testers!
327 </pre>
329 <footer>