We need NEWS for libgcj. Nothing has been written yet for GCC 4. Fortunately the GNU Classpath project has been keeping good track of their NEWS. I'm going to import the relevant NEWS entries from GNU Classpath, and we can all hack them into something useful for libgcj.
Notes:
- The NEWS isn't really formatted well for the wiki. It's in NEWS format.
- Additional info can be found here:
- A good next step would be to group these items by package, and "collapse" them.
It's probably easiest to edit this by cut&pasting into an editor.
cut-here
- Changes in GCC 4.0:
- Character encoders and decoders have been added for:
- iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew), iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic), ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian), UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
- The http url protocol handler has been replaced with a full HTTP/1.1
- version from GNU inetlib.
- A new ftp url protocol handler has been added also from GNU inetlib.
- java.beans has been updated to 1.4 including support for XMLEncoder
- and XMLDecoder.
- The java.util.Locale support is now based on the Common Locale Data
Repository (CLDR) Project (see http://www.unicode.org/cldr/). GNU Classpath provides support for more than 250 locales now. This new support is experimental and the GNU Classpath hackers are working together with runtime developers and the unicode consortium to improve them in the future. If your runtime misdetects your locale or if the default locale gives problems please try running with -Duser.language=en and -Duser.region=US to fall back on a known good locale.
- Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
- org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX, libxmlj DOM and libxmlj XSL by setting different system properties. Also provided is a preliminary XPath 1.0 implementation. The libxmlj versions are build around libxml2 and libxslt and have to be enabled during build time by the --enable-xmlj configure flag. The current support is equal to the last released GNU JAXP 1.3 release. These packages will be maintained as part of the GNU Classpath core classes in the future. For more information, conformance results and documentation on selecting different implementations see doc/README.jaxp.
- More AWT accessible support.
- AWT gtk+ peers component layout, dialog placement, keyboard focus
- handling and text positioning have been improved.
- ImageIO interfaces are more complete.
- JList, JTable and JTree have been hugely improved.
java.awt.Robot support with GdkRobot in the gtk+ awt peers.
- Needs XTest Extension (libXtst) XServer support.
- GNU Classpath's JAR implementation now has preliminary support for
- signed entries, for so called "signed JAR" file support. Signed JAR files are one of the key security features of managed runtimes, and allows code to run privileged given unforgeable proofs of identity.
- A much improved version of X.509 certificates has been added,
- including a robust certificate path checking algorithm. Also included is an implementation of the RSA signature scheme.
- Full java.awt.color implementation, with all standard ICC profiles,
- except for PhotoYCC color space.
- java.beans 1.4 updates and bug fixes.
- java.awt.image support updated to 1.4.
- Big-endian (PowerPC) fixes for native awt GTK+ peers.
- Better AWT focus management fro GTK+ peers.
- Much faster and better fonts support
- (for both gdk Graphics and cairo Graphics2D)
- AWT Choice fixes for hidden components.
- Much fuller collection documentation.
- Lots of Calendar bug fixes.
- More javax.imageio support.
Better AWT Help MenuBar support.
- Lookahead support for regular expressions.
Serialization object stream fixes for multiple ClassLoader scenarios.
Swing TabbedPane, ColorChooser and ComboBox improvements.
- Start of JTree functionality.
javax.swing.Spring and SpringLayout support.
- Added pluggable look and feel support for BasicTextFieldUI and
- BasicToolBarSeparatorUI.
java.swing.text support for (Default and Layered) Highlighter, FieldView,
PlainView, TabExpander and TabableView added.
- Start of JTable and JTree implementation.
- Internal Swing frames work.
- JMenu and JPopupMenu work.
New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
java.awt.image LookupTables and kernel support.
Improved java.awt.image.BufferedImage support.
- AWT 1.0 event model support.
- New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
- javax.net.ssl, javax.security.auth, javax.security.auth.callback, javax.security.auth.login, javax.security.auth.x500, javax.security.sasl and org.ietf.jgss packages are now officially part of GNU Classpath. Extra crypto algorithms can be obtained from the GNU Crypto project, a full TLS implementation is provided by the Jessie project.
http://www.gnu.org/software/gnu-crypto/ http://www.nongnu.org/jessie/
- javax.net.ssl, javax.security.auth, javax.security.auth.callback, javax.security.auth.login, javax.security.auth.x500, javax.security.sasl and org.ietf.jgss packages are now officially part of GNU Classpath. Extra crypto algorithms can be obtained from the GNU Crypto project, a full TLS implementation is provided by the Jessie project.
- Frame.setIconImage() support.
- AWT GDKGraphics scaling.
- New configure flag --enable-gtk-cairo to build Graphics2D implementation
- build on cairo and pangoft2. Enabled at runtime by defining the system property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
- javax.swing.JSpinner implemented.
- Extensive documentation update for java.util collection classes.
- java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
- JColorChooser, JComboBox and JTextField implemented, including example
- uses in GNU Classpath Examples swing Demo.
- java.net.URL now uses application classloader to load URLStreamHandlers
- and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
- java.io.File.deleteOnExit() implementation.
- java.text multiple new features and bug fixes
- (only 2 out of the 1000+ java.text Mauve tests now fail).
- Better (non-black) default AWT System colors.
- AWT lists use GTK treeviews.
- Proper AWT focus management has been implemented.
- Swing menus and scrollpanes are beginning to work.
- Swing splitpanes, dialogs and internal frames were added.
- Swing repainting / double buffering was redone.
- Font management and Pango DPI conversion fixes.
- A lot of AWT imaging and event bugs have been picked out.
- More of javax.swing.text has been implemented.
- javax.swing.Timer has been reimplemented.
java.security.AccessController has been implemented
- (see runtime section).
The default java.lang.SecurityManager now uses AccessController.
- New java.beans.Statement and Expression implementations.
Small FileChannel implementation speed improvement for traditional
- JNI based systems.
The gnu.java.awt.EmbeddedWindow class has been improved, and now
- supports embedding AWT windows in other top-level X windows. This functionality is required by gcjwebplugin.
- Includes updated GNU JAXP version from 2004-02-01.
- java.io is now implemented by delegating most tasks directly to java.nio.
- Reworked/Optimized implementations of java.nio.Buffer and subclasses.
New javax.print, javax.print.attribute.standard and javax.print.event
- packages and classes.
- java.text attributed iterators support.
- New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
- classes.
- libgcj can now load service providers that are described via
- META-INF/services/* resources in extension JARs. This is useful for implementing the various APIs that are supposed to be extensible via custom plugins. For details, please see the documentation of
gnu.classpath.ServiceFactory.
- META-INF/services/* resources in extension JARs. This is useful for implementing the various APIs that are supposed to be extensible via custom plugins. For details, please see the documentation of
- Two big code drops from the libgcj gui branch updating various java.awt
- and javax.swing classes.
Multiple java.net.InetAdress fixes and java.rmi fixes.
ServerSocket.accept() now restarts listening when system call interrupted.
- Much cleanups to make standard API doc valid XHTML (not completed yet).
- A scan for unused variables and non-static invocation of static methods
- turned up a couple of subtle bugs which have now all been fixed.
- The Mauve testsuite has been cleaned up considerable and lots of issues
- in the class implementation have been fixed.
- java.util.regexp implementation through gnu.regexp wrappers.
- java.net.URI implementation.
- Working implementation of javax.swing.undo.
- java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
- equations; implementation adapted from the GNU Scientific Library.
- Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
of EmbeddedWindow support.
BufferedReader speed improvements.
- Improved useabilty of java.text implementation for several applications.
ObjectInputStream is much faster and more compatible with other
- implementations.
- Fix handling of alias methods, where a method has been deprecated in
- favour of a new one with the same funtion but a different name. (See Deprecated Methods section in the GNU Classpath Hacking Guide.)
- javax.print.attribute.standard added.
- Lots of java.nio, java.net, java.io
- AWT Native Interface (libjawt.so) implementation.