1 |
14 |
jlechner |
*** Changes in GCC 4.1:
|
2 |
|
|
|
3 |
|
|
Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19+
|
4 |
|
|
|
5 |
|
|
- Networking
|
6 |
|
|
|
7 |
|
|
* The java.net.HttpURLConnection implementation no longer buffers the
|
8 |
|
|
entire response body in memory. This means that response bodies
|
9 |
|
|
larger than available memory can now be handled.
|
10 |
|
|
|
11 |
|
|
- (N)IO
|
12 |
|
|
|
13 |
|
|
* NIO FileChannel.map implementation, fast bulk put implementation for
|
14 |
|
|
DirectByteBuffer (speeds up this method 10x).
|
15 |
|
|
|
16 |
|
|
* FileChannel.lock() and FileChannel.force() implemented.
|
17 |
|
|
|
18 |
|
|
- XML
|
19 |
|
|
|
20 |
|
|
* gnu.xml fix for nodes created outside a namespace context.
|
21 |
|
|
|
22 |
|
|
* Add support for output indenting and cdata-section-elements output
|
23 |
|
|
instruction in xml.transform.
|
24 |
|
|
|
25 |
|
|
* xml.xpath corrections for cases where elements/attributes might have
|
26 |
|
|
been created in non-namespace-aware mode. Corrections to handling of
|
27 |
|
|
XSL variables and minor conformance updates.
|
28 |
|
|
|
29 |
|
|
- AWT
|
30 |
|
|
|
31 |
|
|
* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
|
32 |
|
|
users with a Qt4 installation can build the qt-peers with the argument
|
33 |
|
|
--with-qt4dir=.
|
34 |
|
|
|
35 |
|
|
* GNU JAWT implementation, the AWT Native Interface, which allows direct
|
36 |
|
|
access to native screen resources from within a Canvas's paint method.
|
37 |
|
|
GNU Classpath Examples comes with a Demo,
|
38 |
|
|
see libjava/classpath/examples/README.
|
39 |
|
|
|
40 |
|
|
* awt.datatransfer updated to 1.5 with supports for FlavorEvents.
|
41 |
|
|
The gtk+ awt peers now allow copy/paste of text, images, uris/files
|
42 |
|
|
and serialized objects with other applications and tracking
|
43 |
|
|
clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
|
44 |
|
|
serialized objects are supported). A GNU Classpath Examples
|
45 |
|
|
datatransfer Demo was added to show the new functionality.
|
46 |
|
|
|
47 |
|
|
* Split gtk+ awt peers event handling in two threads and improve gdk lock
|
48 |
|
|
handling (solves several AWT lock ups).
|
49 |
|
|
|
50 |
|
|
* Speed up awt Image loading.
|
51 |
|
|
|
52 |
|
|
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
|
53 |
|
|
|
54 |
|
|
* Handle image loading errors correctly for gdkpixbuf and MediaTracker.
|
55 |
|
|
|
56 |
|
|
* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
|
57 |
|
|
|
58 |
|
|
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
|
59 |
|
|
|
60 |
|
|
* BufferedImage and GtkImage rewrites. All image drawing operations
|
61 |
|
|
should now work correctly (flipping requires gtk+ >= 2.6)
|
62 |
|
|
|
63 |
|
|
* Future Graphics2D, Image and Text work is documented at:
|
64 |
|
|
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
|
65 |
|
|
|
66 |
|
|
* When gtk+ 2.6 or higher is installed the default log handler will produce
|
67 |
|
|
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
|
68 |
|
|
|
69 |
|
|
- Free Swing
|
70 |
|
|
|
71 |
|
|
* The Swing RepaintManager has been reworked for more efficient painting,
|
72 |
|
|
especially for large GUIs.
|
73 |
|
|
|
74 |
|
|
* The Swing layout manager OverlayLayout has been implemented, the BoxLayout
|
75 |
|
|
has been rewritten to make use of the SizeRequirements utility class and
|
76 |
|
|
caching for more efficient layout.
|
77 |
|
|
|
78 |
|
|
* Improved accessibility support for Swing.
|
79 |
|
|
|
80 |
|
|
* Significant progress has been made in the implementation of the
|
81 |
|
|
javax.swing.plaf.metal.* package, with most UI delegates in a working state
|
82 |
|
|
now. Please test this with your own applications and provide feedback that
|
83 |
|
|
will help us to improve this package.
|
84 |
|
|
|
85 |
|
|
* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
|
86 |
|
|
highlight various features in our free-swing implementation. And includes
|
87 |
|
|
a look and feel switcher (Metal default, Ocean or GNU).
|
88 |
|
|
|
89 |
|
|
* The javax.swing.plaf.multi.* package is now implemented.
|
90 |
|
|
|
91 |
|
|
* Editing and several key actions for JTree and JTable were implemented.
|
92 |
|
|
|
93 |
|
|
* Lots of icons and look and feel improvements for Free Swing basic and
|
94 |
|
|
metal themes were added. Try running the GNU Classpath Swing Demo in
|
95 |
|
|
examples (gnu.classpath.examples.swing.Demo) with:
|
96 |
|
|
-Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
|
97 |
|
|
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
|
98 |
|
|
|
99 |
|
|
* Start of styled text capabilites for java.swing.text.
|
100 |
|
|
|
101 |
|
|
* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
|
102 |
|
|
traversal enumerations implemented.
|
103 |
|
|
|
104 |
|
|
* JInternalFrame colors and titlebar draw properly.
|
105 |
|
|
|
106 |
|
|
* JTree is working up to par (icons, selection and keyboard traversal).
|
107 |
|
|
|
108 |
|
|
* JMenus were made more compatible in visual and programmatic behavior.
|
109 |
|
|
|
110 |
|
|
* JTable changeSelection and multiple selections implemented.
|
111 |
|
|
|
112 |
|
|
* JButton and JToggleButton change states work properly now.
|
113 |
|
|
|
114 |
|
|
* JFileChooser fixes.
|
115 |
|
|
|
116 |
|
|
* revalidate and repaint fixes which make Free Swing much more responsive.
|
117 |
|
|
|
118 |
|
|
* MetalIconFactory implemented.
|
119 |
|
|
|
120 |
|
|
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
|
121 |
|
|
JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
|
122 |
|
|
can call add() and setLayout() directly on them, which will have the same
|
123 |
|
|
effect as calling getContentPane().add() and getContentPane().setLayout().
|
124 |
|
|
|
125 |
|
|
* The JTree interface has been completed. JTrees now recognizes mouse clicks
|
126 |
|
|
and selections work, but the visual implementation is not yet complete.
|
127 |
|
|
Work on expansion and collapsing of the tree nodes is being implemented.
|
128 |
|
|
|
129 |
|
|
* BoxLayout works properly now.
|
130 |
|
|
|
131 |
|
|
* Fixed GrayFilter to actually work.
|
132 |
|
|
|
133 |
|
|
* Metal SplitPane implemented.
|
134 |
|
|
|
135 |
|
|
* Lots of free swing text and editor stuff work now.
|
136 |
|
|
|
137 |
|
|
- Free RMI and Corba
|
138 |
|
|
|
139 |
|
|
* The Andrew Watson, Vice President and Technical Director of the Object
|
140 |
|
|
Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
|
141 |
|
|
0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
|
142 |
|
|
Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
|
143 |
|
|
node in a highly interoperable CORBA world.
|
144 |
|
|
|
145 |
|
|
* Classpath now includes the first working draft to support the RMI over
|
146 |
|
|
IIOP protocol. The current implementation is capable for remote invocations,
|
147 |
|
|
transferring various Serializables and Externalizables via RMI-IIOP protocol.
|
148 |
|
|
It can flatten graphs and, at least for the simple cases, is interoperable
|
149 |
|
|
with Sun's jdk 1.5.
|
150 |
|
|
|
151 |
|
|
* org.omg.PortableInterceptor and related functionality in other packages
|
152 |
|
|
is now implemented:
|
153 |
|
|
- The sever and client interceptors work as required since 1.4.
|
154 |
|
|
- The IOR interceptor works as needed for 1.5.
|
155 |
|
|
|
156 |
|
|
* The org.omg.DynamicAny package is completed and passes the prepared tests.
|
157 |
|
|
|
158 |
|
|
* The Portable Object Adapter should now support the output of the
|
159 |
|
|
recent IDL to java compilers. These compilers now generate servants and
|
160 |
|
|
not CORBA objects as before, making the output depended on the existing
|
161 |
|
|
POA implementation. Completing POA means that such code can already be
|
162 |
|
|
tried to run on Classpath. Our POA is tested for the following usager
|
163 |
|
|
scenarios:
|
164 |
|
|
- POA converts servant to the CORBA object.
|
165 |
|
|
- Servant provides to the CORBA object.
|
166 |
|
|
- POA activates new CORBA object with the given Object Id (byte array)
|
167 |
|
|
that is later accessible for the servant.
|
168 |
|
|
- During the first call, the ServantActivator provides servant for this
|
169 |
|
|
and all subsequent calls on the current object.
|
170 |
|
|
- During each call, the ServantLocator provides servant for this call
|
171 |
|
|
only.
|
172 |
|
|
- ServantLocator or ServantActivator forwards call to another server.
|
173 |
|
|
- POA has a single servant, responsible for all objects.
|
174 |
|
|
- POA has a default servant, but some objects are explicitly connected
|
175 |
|
|
to they specific servants.
|
176 |
|
|
The POA is verified using tests from the former cost.omg.org.
|
177 |
|
|
|
178 |
|
|
* The CORBA implementation is now a working prototype that should support
|
179 |
|
|
features up till 1.3 inclusive.
|
180 |
|
|
We would invite groups writing CORBA dependent applications to
|
181 |
|
|
try Classpath implementation, reporting any possible bugs.
|
182 |
|
|
|
183 |
|
|
The CORBA prototype is interoperable with Sun's implementation v 1.4,
|
184 |
|
|
transferring object references, primitive types, narrow and wide
|
185 |
|
|
strings, arrays, structures, trees, abstract interfaces and
|
186 |
|
|
value types (feature of CORBA 2.3) between these two platforms.
|
187 |
|
|
The remote exceptions are transferred and handled correctly.
|
188 |
|
|
The stringified object references (IORs) from various sources are
|
189 |
|
|
parsed as required.
|
190 |
|
|
The transient (for current session) and permanent (till jre restart)
|
191 |
|
|
redirections work.
|
192 |
|
|
Both Little and Big Endian encoded messages are accepted.
|
193 |
|
|
The implementation is verified using tests from the former cost.omg.org.
|
194 |
|
|
The current release includes working examples (see the examples directory),
|
195 |
|
|
demonstrating the client-server communication, using either CORBA Request
|
196 |
|
|
or IDL-based stub (usually generated by a IDL to java compiler).
|
197 |
|
|
These examples also show how to use the Classpath CORBA naming service.
|
198 |
|
|
The IDL to java compiler is not yet written, but as our library must be
|
199 |
|
|
compatible, it naturally accepts the output of other idlj implementations.
|
200 |
|
|
|
201 |
|
|
- Misc
|
202 |
|
|
|
203 |
|
|
* Updated TimeZone data against Olson tzdata2005l.
|
204 |
|
|
|
205 |
|
|
* Make zip and jar UTF-8 "clean".
|
206 |
|
|
|
207 |
|
|
* "native" code builds and compiles (warning free) on Darwin and Solaris.
|
208 |
|
|
|
209 |
|
|
* java.util.logging.FileHandler now rotates files.
|
210 |
|
|
|
211 |
|
|
* Start of a generic JDWP framework in gnu/classpath/jdwp.
|
212 |
|
|
This is unfinished, but feedback (at classpath@gnu.org) from runtime
|
213 |
|
|
hackers is greatly appreciated. Although most of the work is currently
|
214 |
|
|
being done around gcj/gij we want this framework to be as VM neutral as
|
215 |
|
|
possible. Early design is described in:
|
216 |
|
|
http://gcc.gnu.org/ml/java/2005-05/msg00260.html
|
217 |
|
|
|
218 |
|
|
* QT4 AWT peers, enable by giving configure --enable-qt-peer.
|
219 |
|
|
Included, but not ready for production yet. They are explicitly
|
220 |
|
|
disabled and not supported. But if you want to help with the
|
221 |
|
|
development of these new features we are interested in feedback. You
|
222 |
|
|
will have to explicitly enable them to try them out
|
223 |
|
|
(and they will most likely contain bugs).
|
224 |
|
|
|
225 |
|
|
* Documentation fixes all over the place.
|
226 |
|
|
See http://developer.classpath.org/doc/
|
227 |
|
|
|
228 |
|
|
Thanks! The following people helped with the above new features, bug
|
229 |
|
|
reports, testing and integration:
|
230 |
|
|
|
231 |
|
|
Aaron Luchko (JDWP updates and documentation fixes) Andreas Jaeger
|
232 |
|
|
(mprec updates) Andreas Tobler (Darwin and Solaris testing and fixing,
|
233 |
|
|
Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates.) Andrew
|
234 |
|
|
Haley (Serialization and URLClassLoader fixes, gcj build speedups)
|
235 |
|
|
Andrew John Hughes (Locale and net fixes, URI RFC2986 updates,
|
236 |
|
|
Serialization fixes, Properties XML support and generic branch work,
|
237 |
|
|
VMIntegration guide update) Andrew Overholt (File locking) Anthony
|
238 |
|
|
Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes, Lots
|
239 |
|
|
of Free Swing work including JTable editing) Anthony Green (MIDI
|
240 |
|
|
framework, ALSA and DSSI providers) Archie Cobbs (Build fixes, VM
|
241 |
|
|
interface updates, URLClassLoader updates) Audrius Meskauskas (Lots of
|
242 |
|
|
Free Corba, RMI and HTML work plus testing and documenting) Bastiaan
|
243 |
|
|
Huisman (TimeZone bug fixing) Bryce McKinlay (RMI work) Casey Marshall
|
244 |
|
|
(Crypto algorithm fixes, FileChannel lock, SystemLogger and
|
245 |
|
|
FileHandler rotate impl, NIO FileChannel.map support, security and
|
246 |
|
|
policy updates) Chris Burdess (Lots of gnu.xml and http protocol
|
247 |
|
|
fixes, StAX and dom xml:id support) Christian Schlichtherle (Zip fixes
|
248 |
|
|
and cleanups) Christian Thalinger (64-bit cleanups, Configuration and
|
249 |
|
|
VM interface fixes and CACAO integration, fdlibm updates) Dalibor
|
250 |
|
|
Topic (Better DEBUG support, Build cleanups and Kaffe integration. Qt4
|
251 |
|
|
build infrastructure, SHA1PRNG and GdkPixbugDecoder updates) Daniel
|
252 |
|
|
Bonniot (Serialization fixes) David Daney (BitSet bugfixes,
|
253 |
|
|
HttpURLConnection rewrite and improvements) David Gilbert (Basic and
|
254 |
|
|
Metal icon and plaf and lots of documenting, Lots of Free Swing and
|
255 |
|
|
metal theme additions. MetalIconFactory implementation) David
|
256 |
|
|
Lichteblau (JCL support library global/local reference cleanups) Gael
|
257 |
|
|
Thomas (VMClassLoader boot packages support sugestions) Gary Benson
|
258 |
|
|
(MessageFormat fixes) Goffredo Baroncelli (HTTPURLConnection fixes)
|
259 |
|
|
Guilhem Lavaux (Configuration, thread and channel fixes and Kaffe
|
260 |
|
|
integration. JCL native Pointer updates. Logger bug fixes) Ingo
|
261 |
|
|
Proetel (Image, Logger and URLClassLoader updates) Ito Kazumitsu
|
262 |
|
|
(NetworkInterfaces implementation and updates) Jan Roehrich
|
263 |
|
|
(BasicTreeUI and JTree fixes) Jeroen Frijters (ClassLoader and nio
|
264 |
|
|
cleanups, Serialization fixes, better Proxy support, bug fixes and
|
265 |
|
|
IKVM integration) Julian Scheid (Documentation updates and gjdoc
|
266 |
|
|
support) Ka-Hing Cheung (TreePath and TreeSelection fixes) Kalle Olavi
|
267 |
|
|
Niemitalo (Build fixes) Keith Seitz (Lots of JDWP work) Kelley Cook
|
268 |
|
|
(Build fixes) Kim Ho (JFileChooser implementation) Lillian Angel
|
269 |
|
|
(JTree implementation and lots Free Swing additions and bug fixes)
|
270 |
|
|
Mark Wielaard (Bug fixes, packaging and release management, Clipboard
|
271 |
|
|
implementation, System call interrupts and network timeouts and
|
272 |
|
|
GdkPixpufDecoder fixes) Martin Cordova (Suggestions for better
|
273 |
|
|
SocketTimeoutException) Michael Koch (Configuration fixes. Locale
|
274 |
|
|
updates, bug and build fixes) Nicolas Geoffray (VMClassLoader and
|
275 |
|
|
AccessController improvements) Olga Rodimina (MenuSelectionManager)
|
276 |
|
|
Paul Jenner (Better -Werror support) Rainer Orth (Build fixes) Robert
|
277 |
|
|
Schuster (Documentation updates and beans fixes, TreeNode enumerations
|
278 |
|
|
and ActionCommand and various fixes, XML and URL, AWT and Free Swing
|
279 |
|
|
bug fixes) Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus
|
280 |
|
|
bugfixes all over. Lots of Free Swing work including styled text)
|
281 |
|
|
Santiago Gala (AccessControlContext fixes) Simon Kitching (String
|
282 |
|
|
cleanups and optimization suggestions) Stuart Ballard (RMI constant
|
283 |
|
|
fixes) Sven de Marothy (BMP imageio support, CSS and TextLayout
|
284 |
|
|
fixes. GtkImage rewrite, 2D, awt, free swing and date/time fixes, Qt4
|
285 |
|
|
peers) Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo
|
286 |
|
|
2D support. Lots of imageio framework additions, lots of AWT and Free
|
287 |
|
|
Swing bug fixes) Tom Tromey (Eclipse integration, generics work, lots
|
288 |
|
|
of bug fixes and gcj integration including coordinating The Big Merge)
|
289 |
|
|
Wolfgang Baer (GapContent bug fixes) Ziga Mahkovec (Graphics2D
|
290 |
|
|
upgraded to cairo 0.5 and new regex features)
|
291 |
|
|
|
292 |
|
|
*** Changes in GCC 4.0:
|
293 |
|
|
|
294 |
|
|
* Character encoders and decoders have been added for: iso-8859-6
|
295 |
|
|
(arabic), iso-8859-7 (greek), iso-8859-8 (hebrew), iso-8859-9
|
296 |
|
|
(latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
|
297 |
|
|
ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
|
298 |
|
|
UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little
|
299 |
|
|
Endian).
|
300 |
|
|
|
301 |
|
|
* Lots of Calendar bug fixes.
|
302 |
|
|
|
303 |
|
|
* The http url protocol handler has been replaced with a full HTTP/1.1
|
304 |
|
|
version from GNU inetlib.
|
305 |
|
|
|
306 |
|
|
* A new ftp url protocol handler has been added also from GNU inetlib.
|
307 |
|
|
|
308 |
|
|
* java.beans has been updated to 1.4 including support for XMLEncoder
|
309 |
|
|
and XMLDecoder.
|
310 |
|
|
|
311 |
|
|
* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2)
|
312 |
|
|
and org.w3c.dom (DOM Level 3) interfaces. It is possible to switch
|
313 |
|
|
between different implementations AElfred2, GNU DOM, GNU XSL, libxmlj
|
314 |
|
|
SAX, libxmlj DOM and libxmlj XSL by setting different system
|
315 |
|
|
properties. Also provided is a preliminary XPath 1.0
|
316 |
|
|
implementation. The libxmlj versions are build around libxml2 and
|
317 |
|
|
libxslt and have to be enabled during build time by the --enable-xmlj
|
318 |
|
|
configure flag. The current support is equal to the last released GNU
|
319 |
|
|
JAXP 1.3 release. These packages will be maintained as part of the GNU
|
320 |
|
|
Classpath core classes in the future. For more information,
|
321 |
|
|
conformance results and documentation on selecting different
|
322 |
|
|
implementations see doc/README.jaxp.
|
323 |
|
|
|
324 |
|
|
* Much fuller collection documentation.
|
325 |
|
|
|
326 |
|
|
* libgcj can now load service providers that are described via
|
327 |
|
|
META-INF/services/* resources in extension JARs. This is useful for
|
328 |
|
|
implementing the various APIs that are supposed to be extensible via
|
329 |
|
|
custom plugins. For details, please see the documentation of
|
330 |
|
|
gnu.classpath.ServiceFactory.
|
331 |
|
|
|
332 |
|
|
* GNU Classpath's JAR implementation now has preliminary support for
|
333 |
|
|
signed entries, for so called "signed JAR" file support. Signed JAR
|
334 |
|
|
files are one of the key security features of managed runtimes, and
|
335 |
|
|
allows code to run privileged given unforgeable proofs of identity.
|
336 |
|
|
|
337 |
|
|
* A much improved version of X.509 certificates has been added,
|
338 |
|
|
including a robust certificate path checking algorithm. Also included
|
339 |
|
|
is an implementation of the RSA signature scheme.
|
340 |
|
|
|
341 |
|
|
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec,
|
342 |
|
|
javax.net, javax.net.ssl, javax.security.auth,
|
343 |
|
|
javax.security.auth.callback, javax.security.auth.login,
|
344 |
|
|
javax.security.auth.x500, javax.security.sasl and org.ietf.jgss
|
345 |
|
|
packages are now officially part of GNU Classpath. Extra crypto
|
346 |
|
|
algorithms can be obtained from the GNU Crypto project, a full TLS
|
347 |
|
|
implementation is provided by the Jessie project.
|
348 |
|
|
http://www.gnu.org/software/gnu-crypto/
|
349 |
|
|
http://www.nongnu.org/jessie/
|
350 |
|
|
|
351 |
|
|
* java.security.AccessController has been implemented.
|
352 |
|
|
|
353 |
|
|
* The default java.lang.SecurityManager now uses AccessController.
|
354 |
|
|
|
355 |
|
|
* Lookahead support for regular expressions.
|
356 |
|
|
|
357 |
|
|
* java.util.regexp implementation through gnu.regexp wrappers.
|
358 |
|
|
|
359 |
|
|
* Serialization object stream fixes for multiple ClassLoader scenarios.
|
360 |
|
|
|
361 |
|
|
* java.net.URL now uses application classloader to load
|
362 |
|
|
URLStreamHandlers and reuses URLStreamHandlers when URL is reset (but
|
363 |
|
|
protocol isn't changed).
|
364 |
|
|
|
365 |
|
|
* java.io.File.deleteOnExit() implementation.
|
366 |
|
|
|
367 |
|
|
* java.io is now implemented by delegating most tasks directly to
|
368 |
|
|
java.nio.
|
369 |
|
|
|
370 |
|
|
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
|
371 |
|
|
|
372 |
|
|
* BufferedReader speed improvements.
|
373 |
|
|
|
374 |
|
|
* Multiple java.net.InetAdress fixes and java.rmi fixes.
|
375 |
|
|
|
376 |
|
|
* ServerSocket.accept() now restarts listening when system call
|
377 |
|
|
interrupted.
|
378 |
|
|
|
379 |
|
|
* java.net.URI implementation.
|
380 |
|
|
|
381 |
|
|
* New javax.print, javax.print.attribute[.standard] and
|
382 |
|
|
javax.print.event packages and classes.
|
383 |
|
|
|
384 |
|
|
* java.text multiple new features and bug fixes (only 2 out of the
|
385 |
|
|
1000+ java.text Mauve tests now fail).
|
386 |
|
|
|
387 |
|
|
* java.text attributed iterators support.
|
388 |
|
|
|
389 |
|
|
* Improved useabilty of java.text implementation for several
|
390 |
|
|
applications.
|
391 |
|
|
|
392 |
|
|
* More AWT accessible support.
|
393 |
|
|
|
394 |
|
|
* AWT gtk+ peers component layout, dialog placement, keyboard focus
|
395 |
|
|
handling and text positioning have been improved.
|
396 |
|
|
|
397 |
|
|
* ImageIO interfaces are more complete.
|
398 |
|
|
|
399 |
|
|
* JList, JTable and JTree have been hugely improved.
|
400 |
|
|
|
401 |
|
|
* java.awt.Robot support with GdkRobot in the gtk+ awt peers. Needs
|
402 |
|
|
XTest Extension (libXtst) XServer support.
|
403 |
|
|
|
404 |
|
|
* Full java.awt.color implementation, with all standard ICC profiles,
|
405 |
|
|
except for PhotoYCC color space.
|
406 |
|
|
|
407 |
|
|
* java.awt.image support updated to 1.4.
|
408 |
|
|
|
409 |
|
|
* Big-endian (PowerPC) fixes for native awt GTK+ peers.
|
410 |
|
|
|
411 |
|
|
* Better AWT focus management fro GTK+ peers.
|
412 |
|
|
|
413 |
|
|
* Much faster and better fonts support (for both gdk Graphics and cairo
|
414 |
|
|
Graphics2D)
|
415 |
|
|
|
416 |
|
|
* AWT Choice fixes for hidden components.
|
417 |
|
|
|
418 |
|
|
* More javax.imageio support.
|
419 |
|
|
|
420 |
|
|
* Better AWT Help MenuBar support.
|
421 |
|
|
|
422 |
|
|
* Swing TabbedPane, ColorChooser and ComboBox improvements.
|
423 |
|
|
|
424 |
|
|
* Start of JTree functionality.
|
425 |
|
|
|
426 |
|
|
* javax.swing.Spring and SpringLayout support.
|
427 |
|
|
|
428 |
|
|
* Added pluggable look and feel support for BasicTextFieldUI and
|
429 |
|
|
BasicToolBarSeparatorUI.
|
430 |
|
|
|
431 |
|
|
* java.swing.text support for (Default and Layered) Highlighter,
|
432 |
|
|
FieldView, PlainView, TabExpander and TabableView added.
|
433 |
|
|
|
434 |
|
|
* Start of JTable and JTree implementation.
|
435 |
|
|
|
436 |
|
|
* Internal Swing frames work.
|
437 |
|
|
|
438 |
|
|
* JMenu and JPopupMenu work.
|
439 |
|
|
|
440 |
|
|
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
|
441 |
|
|
|
442 |
|
|
* java.awt.image LookupTables and kernel support.
|
443 |
|
|
|
444 |
|
|
* Improved java.awt.image.BufferedImage support.
|
445 |
|
|
|
446 |
|
|
* AWT 1.0 event model support.
|
447 |
|
|
|
448 |
|
|
* Frame.setIconImage() support.
|
449 |
|
|
|
450 |
|
|
* AWT GDKGraphics scaling.
|
451 |
|
|
|
452 |
|
|
* New configure flag --enable-gtk-cairo to build Graphics2D
|
453 |
|
|
implementation build on cairo and pangoft2. Enabled at runtime by
|
454 |
|
|
defining the system property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
|
455 |
|
|
|
456 |
|
|
* javax.swing.JSpinner implemented.
|
457 |
|
|
|
458 |
|
|
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D
|
459 |
|
|
implemented.
|
460 |
|
|
|
461 |
|
|
* JColorChooser, JComboBox and JTextField implemented, including
|
462 |
|
|
example uses in GNU Classpath Examples swing Demo.
|
463 |
|
|
|
464 |
|
|
* Better (non-black) default AWT System colors.
|
465 |
|
|
|
466 |
|
|
* AWT lists use GTK treeviews.
|
467 |
|
|
|
468 |
|
|
* Proper AWT focus management has been implemented.
|
469 |
|
|
|
470 |
|
|
* Swing menus and scrollpanes are beginning to work.
|
471 |
|
|
|
472 |
|
|
* Swing splitpanes, dialogs and internal frames were added.
|
473 |
|
|
|
474 |
|
|
* Swing repainting / double buffering was redone.
|
475 |
|
|
|
476 |
|
|
* Font management and Pango DPI conversion fixes.
|
477 |
|
|
|
478 |
|
|
* A lot of AWT imaging and event bugs have been picked out.
|
479 |
|
|
|
480 |
|
|
* More of javax.swing.text has been implemented.
|
481 |
|
|
|
482 |
|
|
* javax.swing.Timer has been reimplemented.
|
483 |
|
|
|
484 |
|
|
* The gnu.java.awt.EmbeddedWindow class has been improved, and now
|
485 |
|
|
supports embedding AWT windows in other top-level X windows. This
|
486 |
|
|
functionality is required by gcjwebplugin.
|
487 |
|
|
|
488 |
|
|
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages
|
489 |
|
|
and classes.
|
490 |
|
|
|
491 |
|
|
* Working implementation of javax.swing.undo.
|
492 |
|
|
|
493 |
|
|
* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and
|
494 |
|
|
quadratic equations; implementation adapted from the GNU Scientific
|
495 |
|
|
Library.
|
496 |
|
|
|
497 |
|
|
* Lots of java.awt and gtk+ peer improvements. Also more Swing work.
|
498 |
|
|
Start of EmbeddedWindow support.
|
499 |
|
|
|
500 |
|
|
*** Changes in GCC 3.4:
|
501 |
|
|
|
502 |
|
|
* Compiling a .jar file will now cause non-.class entries to be automatically
|
503 |
|
|
compiled as resources.
|
504 |
|
|
|
505 |
|
|
* libgcj has been ported to Darwin.
|
506 |
|
|
|
507 |
|
|
* Jeff Sturm has adapted Jan Hubicka's call graph optimization code to gcj.
|
508 |
|
|
|
509 |
|
|
* libgcj has a new gcjlib URL type; this lets URLClassLoader load code from
|
510 |
|
|
shared libraries.
|
511 |
|
|
|
512 |
|
|
* libgcj has been much more completely merged with GNU Classpath.
|
513 |
|
|
|
514 |
|
|
* Class loading is now much more correct; in particular the caller's class
|
515 |
|
|
loader is now used when that is required.
|
516 |
|
|
|
517 |
|
|
* Eclipse 2.x will run out of the box using gij.
|
518 |
|
|
|
519 |
|
|
* Parts of java.nio have been implemented. Direct and indirect buffers work,
|
520 |
|
|
as do fundamental file and socket operations.
|
521 |
|
|
|
522 |
|
|
* java.awt has been improved, though it is still not ready for general use.
|
523 |
|
|
|
524 |
|
|
* The HTTP protocol handler now uses HTTP/1.1 and can handle the POST method.
|
525 |
|
|
|
526 |
|
|
* The MinGW port has matured. Enhancements include socket timeout support,
|
527 |
|
|
thread interruption, improved Runtime.exec() handling and support for
|
528 |
|
|
accented characters in filenames.
|
529 |
|
|
|
530 |
|
|
*** Changes in GCC 3.3:
|
531 |
|
|
|
532 |
|
|
* The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK 1.4)
|
533 |
|
|
API.
|
534 |
|
|
|
535 |
|
|
* The JDK 1.4 assert facility has been implemented.
|
536 |
|
|
|
537 |
|
|
* The bytecode interpreter is now direct threaded and thus faster.
|
538 |
|
|
|
539 |
|
|
|
540 |
|
|
*** Changes in GCC 3.1:
|
541 |
|
|
|
542 |
|
|
* libgcj now includes RMI, java.lang.ref.*, javax.naming, and
|
543 |
|
|
javax.transaction.
|
544 |
|
|
|
545 |
|
|
* Property files and other system resources can be compiled into executables
|
546 |
|
|
which use libgcj using the new gcj --resource feature.
|
547 |
|
|
|
548 |
|
|
* libgcj has been ported to more platforms. In particular there is now a
|
549 |
|
|
mostly-functional mingw32 (Windows) target port.
|
550 |
|
|
|
551 |
|
|
* JNI and CNI invocation interfaces were implemented, so gcj-compiled Java
|
552 |
|
|
code can now be called from a C/C++ application.
|
553 |
|
|
|
554 |
|
|
* gcj can now use builtin functions for certain known methods, for instance
|
555 |
|
|
Math.cos.
|
556 |
|
|
|
557 |
|
|
* gcj can now automatically remove redundant array-store checks in some common
|
558 |
|
|
cases.
|
559 |
|
|
|
560 |
|
|
* The --no-store-checks optimization option was added. This can be used to
|
561 |
|
|
omit runtime store checks for code which is known not to throw
|
562 |
|
|
ArrayStoreException
|
563 |
|
|
|
564 |
|
|
* The following third party interface standards were added to libgcj:
|
565 |
|
|
org.w3c.dom and org.xml.sax.
|
566 |
|
|
|
567 |
|
|
* java.security has been merged with GNU Classpath. The new package is now
|
568 |
|
|
JDK 1.2 compliant, and much more complete.
|
569 |
|
|
|
570 |
|
|
* A bytecode verifier was added to the libgcj interpreter.
|
571 |
|
|
|
572 |
|
|
* java.lang.Character was rewritten to comply with the Unicode 3.0 standard,
|
573 |
|
|
and improve performance.
|
574 |
|
|
|
575 |
|
|
* Partial support for many more locales was added to libgcj.
|
576 |
|
|
|
577 |
|
|
* Socket timeouts have been implemented.
|
578 |
|
|
|
579 |
|
|
* libgcj has been merged into a single shared library. There are no longer
|
580 |
|
|
separate shared libraries for the garbage collector and zlib.
|
581 |
|
|
|
582 |
|
|
* Several performance improvements were made to gcj and libgcj:
|
583 |
|
|
o Hash synchronization (thin locks)
|
584 |
|
|
o A special allocation path for finalizer-free objects
|
585 |
|
|
o Thread-local allocation
|
586 |
|
|
o Parallel GC, and other GC tweaks
|
587 |
|
|
|
588 |
|
|
*** Changes in GCC 3.0:
|
589 |
|
|
|
590 |
|
|
* libgcj now includes a bytecode interpreter. If a compiled version of a class
|
591 |
|
|
is not found in the application binary or linked shared libraries, the
|
592 |
|
|
class loader will search for a bytecode version in the CLASSPATH and execute
|
593 |
|
|
it using the interpreter. A new front end that behaves like the traditional
|
594 |
|
|
`java' command is also provided: `gij'.
|
595 |
|
|
|
596 |
|
|
* Support for specifying java system properties. Properties can either be set
|
597 |
|
|
at runtime via the GCJ_PROPERTIES environment variable in the format
|
598 |
|
|
"= ..."'; or can be compiled into an application binary using
|
599 |
|
|
-D=.
|
600 |
|
|
|
601 |
|
|
* Support for setjmp/longjmp (sjlj) exception handling has been added, as an
|
602 |
|
|
alternative to the existing range-table based mechanism. sjlj is the default
|
603 |
|
|
on non-sparc, non-x86 targets, or can be specified with the
|
604 |
|
|
`--enable-sjlj-exceptions' configure parameter.
|
605 |
|
|
|
606 |
|
|
* Complete JDK 1.1 reflection support, including invocation.
|
607 |
|
|
|
608 |
|
|
* Throwable.printStackTrace() has been implemented.
|
609 |
|
|
|
610 |
|
|
* Runtime.loadLibrary() has been implemented.
|
611 |
|
|
|
612 |
|
|
* Class.forName() will now try to load a series of shared objects in order
|
613 |
|
|
to find the requested class. If a class `gnu.quux.whatever' is requested,
|
614 |
|
|
libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for
|
615 |
|
|
`gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.
|
616 |
|
|
|
617 |
|
|
* A pure-java implementation of java.math.BigInteger.
|
618 |
|
|
|
619 |
|
|
New in libgcj 2.95:
|
620 |
|
|
|
621 |
|
|
* First public release
|