OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / libjava / NEWS
1 *** Changes in GCC 4.0:
2
3 * Character encoders and decoders have been added for: iso-8859-6
4 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew), iso-8859-9
5 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
6 ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
7 UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little
8 Endian).
9
10 * Lots of Calendar bug fixes.
11
12 * The http url protocol handler has been replaced with a full HTTP/1.1
13 version from GNU inetlib.
14
15 * A new ftp url protocol handler has been added also from GNU inetlib.
16
17 * java.beans has been updated to 1.4 including support for XMLEncoder
18 and XMLDecoder.
19
20 * Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2)
21 and org.w3c.dom (DOM Level 3) interfaces. It is possible to switch
22 between different implementations AElfred2, GNU DOM, GNU XSL, libxmlj
23 SAX, libxmlj DOM and libxmlj XSL by setting different system
24 properties.  Also provided is a preliminary XPath 1.0
25 implementation. The libxmlj versions are build around libxml2 and
26 libxslt and have to be enabled during build time by the --enable-xmlj
27 configure flag. The current support is equal to the last released GNU
28 JAXP 1.3 release. These packages will be maintained as part of the GNU
29 Classpath core classes in the future. For more information,
30 conformance results and documentation on selecting different
31 implementations see doc/README.jaxp.
32
33 * Much fuller collection documentation.
34
35 * libgcj can now load service providers that are described via
36 META-INF/services/* resources in extension JARs. This is useful for
37 implementing the various APIs that are supposed to be extensible via
38 custom plugins. For details, please see the documentation of
39 gnu.classpath.ServiceFactory.
40
41 * GNU Classpath's JAR implementation now has preliminary support for
42 signed entries, for so called "signed JAR" file support. Signed JAR
43 files are one of the key security features of managed runtimes, and
44 allows code to run privileged given unforgeable proofs of identity.
45
46 * A much improved version of X.509 certificates has been added,
47 including a robust certificate path checking algorithm. Also included
48 is an implementation of the RSA signature scheme.
49
50 * New javax.crypto, javax.crypto.interfaces, javax.crypto.spec,
51 javax.net, javax.net.ssl, javax.security.auth,
52 javax.security.auth.callback, javax.security.auth.login,
53 javax.security.auth.x500, javax.security.sasl and org.ietf.jgss
54 packages are now officially part of GNU Classpath. Extra crypto
55 algorithms can be obtained from the GNU Crypto project, a full TLS
56 implementation is provided by the Jessie project.
57 http://www.gnu.org/software/gnu-crypto/ 
58 http://www.nongnu.org/jessie/
59
60 * java.security.AccessController has been implemented.
61
62 * The default java.lang.SecurityManager now uses AccessController.
63
64 * Lookahead support for regular expressions.
65
66 * java.util.regexp implementation through gnu.regexp wrappers.
67
68 * Serialization object stream fixes for multiple ClassLoader scenarios.
69
70 * java.net.URL now uses application classloader to load
71 URLStreamHandlers and reuses URLStreamHandlers when URL is reset (but
72 protocol isn't changed).
73
74 * java.io.File.deleteOnExit() implementation.
75
76 * java.io is now implemented by delegating most tasks directly to
77 java.nio.
78
79 * Reworked/Optimized implementations of java.nio.Buffer and subclasses.
80
81 * BufferedReader speed improvements.
82
83 * Multiple java.net.InetAdress fixes and java.rmi fixes.
84
85 * ServerSocket.accept() now restarts listening when system call
86 interrupted.
87
88 * java.net.URI implementation.
89
90 * New javax.print, javax.print.attribute[.standard] and
91 javax.print.event packages and classes.
92
93 * java.text multiple new features and bug fixes (only 2 out of the
94 1000+ java.text Mauve tests now fail).
95
96 * java.text attributed iterators support.
97
98 * Improved useabilty of java.text implementation for several
99 applications.
100
101 * More AWT accessible support.
102
103 * AWT gtk+ peers component layout, dialog placement, keyboard focus
104 handling and text positioning have been improved.
105
106 * ImageIO interfaces are more complete.
107
108 * JList, JTable and JTree have been hugely improved.
109
110 * java.awt.Robot support with GdkRobot in the gtk+ awt peers. Needs
111 XTest Extension (libXtst) XServer support.
112
113 * Full java.awt.color implementation, with all standard ICC profiles,
114 except for PhotoYCC color space.
115
116 * java.awt.image support updated to 1.4.
117
118 * Big-endian (PowerPC) fixes for native awt GTK+ peers.
119
120 * Better AWT focus management fro GTK+ peers.
121
122 * Much faster and better fonts support (for both gdk Graphics and cairo
123 Graphics2D)
124
125 * AWT Choice fixes for hidden components.
126
127 * More javax.imageio support.
128
129 * Better AWT Help MenuBar support.
130
131 * Swing TabbedPane, ColorChooser and ComboBox improvements.
132
133 * Start of JTree functionality.
134
135 * javax.swing.Spring and SpringLayout support.
136
137 * Added pluggable look and feel support for BasicTextFieldUI and
138 BasicToolBarSeparatorUI.
139
140 * java.swing.text support for (Default and Layered) Highlighter,
141 FieldView, PlainView, TabExpander and TabableView added.
142
143 * Start of JTable and JTree implementation.
144
145 * Internal Swing frames work.
146
147 * JMenu and JPopupMenu work.
148
149 * New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
150
151 * java.awt.image LookupTables and kernel support.
152
153 * Improved java.awt.image.BufferedImage support.
154
155 * AWT 1.0 event model support.
156
157 * Frame.setIconImage() support.
158
159 * AWT GDKGraphics scaling.
160
161 * New configure flag --enable-gtk-cairo to build Graphics2D
162 implementation build on cairo and pangoft2. Enabled at runtime by
163 defining the system property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
164
165 * javax.swing.JSpinner implemented.
166
167 * java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D
168 implemented.
169
170 * JColorChooser, JComboBox and JTextField implemented, including
171 example uses in GNU Classpath Examples swing Demo.
172
173 * Better (non-black) default AWT System colors.
174
175 * AWT lists use GTK treeviews.
176
177 * Proper AWT focus management has been implemented.
178
179 * Swing menus and scrollpanes are beginning to work.
180
181 * Swing splitpanes, dialogs and internal frames were added.
182
183 * Swing repainting / double buffering was redone.
184
185 * Font management and Pango DPI conversion fixes.
186
187 * A lot of AWT imaging and event bugs have been picked out.
188
189 * More of javax.swing.text has been implemented.
190
191 * javax.swing.Timer has been reimplemented.
192
193 * The gnu.java.awt.EmbeddedWindow class has been improved, and now
194 supports embedding AWT windows in other top-level X windows. This
195 functionality is required by gcjwebplugin.
196
197 * New javax.imageio, javax.imageio.event and javax.imageio.spi packages
198 and classes.
199
200 * Working implementation of javax.swing.undo.
201
202 * java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and
203 quadratic equations; implementation adapted from the GNU Scientific
204 Library.
205
206 * Lots of java.awt and gtk+ peer improvements. Also more Swing work.
207 Start of EmbeddedWindow support.
208
209 *** Changes in GCC 3.4:
210
211 * Compiling a .jar file will now cause non-.class entries to be automatically 
212   compiled as resources.
213
214 * libgcj has been ported to Darwin.
215
216 * Jeff Sturm has adapted Jan Hubicka's call graph optimization code to gcj.
217
218 * libgcj has a new gcjlib URL type; this lets URLClassLoader load code from 
219   shared libraries.
220
221 * libgcj has been much more completely merged with GNU Classpath.
222
223 * Class loading is now much more correct; in particular the caller's class 
224   loader is now used when that is required.
225
226 * Eclipse 2.x will run out of the box using gij.
227
228 * Parts of java.nio have been implemented. Direct and indirect buffers work, 
229   as do fundamental file and socket operations.
230
231 * java.awt has been improved, though it is still not ready for general use.
232
233 * The HTTP protocol handler now uses HTTP/1.1 and can handle the POST method.
234
235 * The MinGW port has matured. Enhancements include socket timeout support, 
236   thread interruption, improved Runtime.exec() handling and support for 
237   accented characters in filenames.
238
239 *** Changes in GCC 3.3:
240
241 * The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK 1.4) 
242   API.
243
244 * The JDK 1.4 assert facility has been implemented.
245
246 * The bytecode interpreter is now direct threaded and thus faster.
247
248
249 *** Changes in GCC 3.1:
250
251 * libgcj now includes RMI, java.lang.ref.*, javax.naming, and 
252   javax.transaction.
253
254 * Property files and other system resources can be compiled into executables 
255   which use libgcj using the new gcj --resource feature.
256
257 * libgcj has been ported to more platforms. In particular there is now a 
258   mostly-functional mingw32 (Windows) target port.
259
260 * JNI and CNI invocation interfaces were implemented, so gcj-compiled Java 
261   code can now be called from a C/C++ application.
262
263 * gcj can now use builtin functions for certain known methods, for instance 
264   Math.cos.
265
266 * gcj can now automatically remove redundant array-store checks in some common 
267   cases.
268
269 * The --no-store-checks optimization option was added. This can be used to 
270   omit runtime store checks for code which is known not to throw 
271   ArrayStoreException
272
273 * The following third party interface standards were added to libgcj: 
274   org.w3c.dom and org.xml.sax.
275
276 * java.security has been merged with GNU Classpath. The new package is now 
277   JDK 1.2 compliant, and much more complete.
278
279 * A bytecode verifier was added to the libgcj interpreter.
280
281 * java.lang.Character was rewritten to comply with the Unicode 3.0 standard, 
282   and improve performance.
283
284 * Partial support for many more locales was added to libgcj.
285
286 * Socket timeouts have been implemented.
287
288 * libgcj has been merged into a single shared library. There are no longer 
289   separate shared libraries for the garbage collector and zlib.
290
291 * Several performance improvements were made to gcj and libgcj:
292       o Hash synchronization (thin locks)
293       o A special allocation path for finalizer-free objects
294       o Thread-local allocation
295       o Parallel GC, and other GC tweaks
296
297 *** Changes in GCC 3.0:
298
299 * libgcj now includes a bytecode interpreter. If a compiled version of a class 
300 is not found in the application binary or linked shared libraries, the
301 class loader will search for a bytecode version in the CLASSPATH and execute
302 it using the interpreter. A new front end that behaves like the traditional
303 `java' command is also provided: `gij'.
304
305 * Support for specifying java system properties. Properties can either be set 
306 at runtime via the GCJ_PROPERTIES environment variable in the format 
307 "<name>=<value> ..."'; or can be compiled into an application binary using 
308 -D<name>=<value>.
309
310 * Support for setjmp/longjmp (sjlj) exception handling has been added, as an
311 alternative to the existing range-table based mechanism. sjlj is the default
312 on non-sparc, non-x86 targets, or can be specified with the 
313 `--enable-sjlj-exceptions' configure parameter.
314
315 * Complete JDK 1.1 reflection support, including invocation.
316
317 * Throwable.printStackTrace() has been implemented.
318
319 * Runtime.loadLibrary() has been implemented.
320
321 * Class.forName() will now try to load a series of shared objects in order 
322 to find the requested class.  If a class `gnu.quux.whatever' is requested, 
323 libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for 
324 `gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.
325
326 * A pure-java implementation of java.math.BigInteger.
327
328 New in libgcj 2.95:
329
330 * First public release