622 lines
24 KiB
Plaintext
622 lines
24 KiB
Plaintext
*** Changes in GCC 4.1:
|
|
|
|
Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19+
|
|
|
|
- Networking
|
|
|
|
* The java.net.HttpURLConnection implementation no longer buffers the
|
|
entire response body in memory. This means that response bodies
|
|
larger than available memory can now be handled.
|
|
|
|
- (N)IO
|
|
|
|
* NIO FileChannel.map implementation, fast bulk put implementation for
|
|
DirectByteBuffer (speeds up this method 10x).
|
|
|
|
* FileChannel.lock() and FileChannel.force() implemented.
|
|
|
|
- XML
|
|
|
|
* gnu.xml fix for nodes created outside a namespace context.
|
|
|
|
* Add support for output indenting and cdata-section-elements output
|
|
instruction in xml.transform.
|
|
|
|
* xml.xpath corrections for cases where elements/attributes might have
|
|
been created in non-namespace-aware mode. Corrections to handling of
|
|
XSL variables and minor conformance updates.
|
|
|
|
- AWT
|
|
|
|
* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
|
|
users with a Qt4 installation can build the qt-peers with the argument
|
|
--with-qt4dir=<Qt4-installation-dir>.
|
|
|
|
* GNU JAWT implementation, the AWT Native Interface, which allows direct
|
|
access to native screen resources from within a Canvas's paint method.
|
|
GNU Classpath Examples comes with a Demo,
|
|
see libjava/classpath/examples/README.
|
|
|
|
* awt.datatransfer updated to 1.5 with supports for FlavorEvents.
|
|
The gtk+ awt peers now allow copy/paste of text, images, uris/files
|
|
and serialized objects with other applications and tracking
|
|
clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
|
|
serialized objects are supported). A GNU Classpath Examples
|
|
datatransfer Demo was added to show the new functionality.
|
|
|
|
* Split gtk+ awt peers event handling in two threads and improve gdk lock
|
|
handling (solves several AWT lock ups).
|
|
|
|
* Speed up awt Image loading.
|
|
|
|
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
|
|
|
|
* Handle image loading errors correctly for gdkpixbuf and MediaTracker.
|
|
|
|
* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
|
|
|
|
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
|
|
|
|
* BufferedImage and GtkImage rewrites. All image drawing operations
|
|
should now work correctly (flipping requires gtk+ >= 2.6)
|
|
|
|
* Future Graphics2D, Image and Text work is documented at:
|
|
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
|
|
|
|
* When gtk+ 2.6 or higher is installed the default log handler will produce
|
|
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
|
|
|
|
- Free Swing
|
|
|
|
* The Swing RepaintManager has been reworked for more efficient painting,
|
|
especially for large GUIs.
|
|
|
|
* The Swing layout manager OverlayLayout has been implemented, the BoxLayout
|
|
has been rewritten to make use of the SizeRequirements utility class and
|
|
caching for more efficient layout.
|
|
|
|
* Improved accessibility support for Swing.
|
|
|
|
* Significant progress has been made in the implementation of the
|
|
javax.swing.plaf.metal.* package, with most UI delegates in a working state
|
|
now. Please test this with your own applications and provide feedback that
|
|
will help us to improve this package.
|
|
|
|
* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
|
|
highlight various features in our free-swing implementation. And includes
|
|
a look and feel switcher (Metal default, Ocean or GNU).
|
|
|
|
* The javax.swing.plaf.multi.* package is now implemented.
|
|
|
|
* Editing and several key actions for JTree and JTable were implemented.
|
|
|
|
* Lots of icons and look and feel improvements for Free Swing basic and
|
|
metal themes were added. Try running the GNU Classpath Swing Demo in
|
|
examples (gnu.classpath.examples.swing.Demo) with:
|
|
-Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
|
|
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
|
|
|
|
* Start of styled text capabilites for java.swing.text.
|
|
|
|
* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
|
|
traversal enumerations implemented.
|
|
|
|
* JInternalFrame colors and titlebar draw properly.
|
|
|
|
* JTree is working up to par (icons, selection and keyboard traversal).
|
|
|
|
* JMenus were made more compatible in visual and programmatic behavior.
|
|
|
|
* JTable changeSelection and multiple selections implemented.
|
|
|
|
* JButton and JToggleButton change states work properly now.
|
|
|
|
* JFileChooser fixes.
|
|
|
|
* revalidate and repaint fixes which make Free Swing much more responsive.
|
|
|
|
* MetalIconFactory implemented.
|
|
|
|
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
|
|
JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
|
|
can call add() and setLayout() directly on them, which will have the same
|
|
effect as calling getContentPane().add() and getContentPane().setLayout().
|
|
|
|
* The JTree interface has been completed. JTrees now recognizes mouse clicks
|
|
and selections work, but the visual implementation is not yet complete.
|
|
Work on expansion and collapsing of the tree nodes is being implemented.
|
|
|
|
* BoxLayout works properly now.
|
|
|
|
* Fixed GrayFilter to actually work.
|
|
|
|
* Metal SplitPane implemented.
|
|
|
|
* Lots of free swing text and editor stuff work now.
|
|
|
|
- Free RMI and Corba
|
|
|
|
* The Andrew Watson, Vice President and Technical Director of the Object
|
|
Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
|
|
0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
|
|
Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
|
|
node in a highly interoperable CORBA world.
|
|
|
|
* Classpath now includes the first working draft to support the RMI over
|
|
IIOP protocol. The current implementation is capable for remote invocations,
|
|
transferring various Serializables and Externalizables via RMI-IIOP protocol.
|
|
It can flatten graphs and, at least for the simple cases, is interoperable
|
|
with Sun's jdk 1.5.
|
|
|
|
* org.omg.PortableInterceptor and related functionality in other packages
|
|
is now implemented:
|
|
- The sever and client interceptors work as required since 1.4.
|
|
- The IOR interceptor works as needed for 1.5.
|
|
|
|
* The org.omg.DynamicAny package is completed and passes the prepared tests.
|
|
|
|
* The Portable Object Adapter should now support the output of the
|
|
recent IDL to java compilers. These compilers now generate servants and
|
|
not CORBA objects as before, making the output depended on the existing
|
|
POA implementation. Completing POA means that such code can already be
|
|
tried to run on Classpath. Our POA is tested for the following usager
|
|
scenarios:
|
|
- POA converts servant to the CORBA object.
|
|
- Servant provides to the CORBA object.
|
|
- POA activates new CORBA object with the given Object Id (byte array)
|
|
that is later accessible for the servant.
|
|
- During the first call, the ServantActivator provides servant for this
|
|
and all subsequent calls on the current object.
|
|
- During each call, the ServantLocator provides servant for this call
|
|
only.
|
|
- ServantLocator or ServantActivator forwards call to another server.
|
|
- POA has a single servant, responsible for all objects.
|
|
- POA has a default servant, but some objects are explicitly connected
|
|
to they specific servants.
|
|
The POA is verified using tests from the former cost.omg.org.
|
|
|
|
* The CORBA implementation is now a working prototype that should support
|
|
features up till 1.3 inclusive.
|
|
We would invite groups writing CORBA dependent applications to
|
|
try Classpath implementation, reporting any possible bugs.
|
|
|
|
The CORBA prototype is interoperable with Sun's implementation v 1.4,
|
|
transferring object references, primitive types, narrow and wide
|
|
strings, arrays, structures, trees, abstract interfaces and
|
|
value types (feature of CORBA 2.3) between these two platforms.
|
|
The remote exceptions are transferred and handled correctly.
|
|
The stringified object references (IORs) from various sources are
|
|
parsed as required.
|
|
The transient (for current session) and permanent (till jre restart)
|
|
redirections work.
|
|
Both Little and Big Endian encoded messages are accepted.
|
|
The implementation is verified using tests from the former cost.omg.org.
|
|
The current release includes working examples (see the examples directory),
|
|
demonstrating the client-server communication, using either CORBA Request
|
|
or IDL-based stub (usually generated by a IDL to java compiler).
|
|
These examples also show how to use the Classpath CORBA naming service.
|
|
The IDL to java compiler is not yet written, but as our library must be
|
|
compatible, it naturally accepts the output of other idlj implementations.
|
|
|
|
- Misc
|
|
|
|
* Updated TimeZone data against Olson tzdata2005l.
|
|
|
|
* Make zip and jar UTF-8 "clean".
|
|
|
|
* "native" code builds and compiles (warning free) on Darwin and Solaris.
|
|
|
|
* java.util.logging.FileHandler now rotates files.
|
|
|
|
* Start of a generic JDWP framework in gnu/classpath/jdwp.
|
|
This is unfinished, but feedback (at classpath@gnu.org) from runtime
|
|
hackers is greatly appreciated. Although most of the work is currently
|
|
being done around gcj/gij we want this framework to be as VM neutral as
|
|
possible. Early design is described in:
|
|
http://gcc.gnu.org/ml/java/2005-05/msg00260.html
|
|
|
|
* QT4 AWT peers, enable by giving configure --enable-qt-peer.
|
|
Included, but not ready for production yet. They are explicitly
|
|
disabled and not supported. But if you want to help with the
|
|
development of these new features we are interested in feedback. You
|
|
will have to explicitly enable them to try them out
|
|
(and they will most likely contain bugs).
|
|
|
|
* Documentation fixes all over the place.
|
|
See http://developer.classpath.org/doc/
|
|
|
|
Thanks! The following people helped with the above new features, bug
|
|
reports, testing and integration:
|
|
|
|
Aaron Luchko (JDWP updates and documentation fixes) Andreas Jaeger
|
|
(mprec updates) Andreas Tobler (Darwin and Solaris testing and fixing,
|
|
Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates.) Andrew
|
|
Haley (Serialization and URLClassLoader fixes, gcj build speedups)
|
|
Andrew John Hughes (Locale and net fixes, URI RFC2986 updates,
|
|
Serialization fixes, Properties XML support and generic branch work,
|
|
VMIntegration guide update) Andrew Overholt (File locking) Anthony
|
|
Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes, Lots
|
|
of Free Swing work including JTable editing) Anthony Green (MIDI
|
|
framework, ALSA and DSSI providers) Archie Cobbs (Build fixes, VM
|
|
interface updates, URLClassLoader updates) Audrius Meskauskas (Lots of
|
|
Free Corba, RMI and HTML work plus testing and documenting) Bastiaan
|
|
Huisman (TimeZone bug fixing) Bryce McKinlay (RMI work) Casey Marshall
|
|
(Crypto algorithm fixes, FileChannel lock, SystemLogger and
|
|
FileHandler rotate impl, NIO FileChannel.map support, security and
|
|
policy updates) Chris Burdess (Lots of gnu.xml and http protocol
|
|
fixes, StAX and dom xml:id support) Christian Schlichtherle (Zip fixes
|
|
and cleanups) Christian Thalinger (64-bit cleanups, Configuration and
|
|
VM interface fixes and CACAO integration, fdlibm updates) Dalibor
|
|
Topic (Better DEBUG support, Build cleanups and Kaffe integration. Qt4
|
|
build infrastructure, SHA1PRNG and GdkPixbugDecoder updates) Daniel
|
|
Bonniot (Serialization fixes) David Daney (BitSet bugfixes,
|
|
HttpURLConnection rewrite and improvements) David Gilbert (Basic and
|
|
Metal icon and plaf and lots of documenting, Lots of Free Swing and
|
|
metal theme additions. MetalIconFactory implementation) David
|
|
Lichteblau (JCL support library global/local reference cleanups) Gael
|
|
Thomas (VMClassLoader boot packages support sugestions) Gary Benson
|
|
(MessageFormat fixes) Goffredo Baroncelli (HTTPURLConnection fixes)
|
|
Guilhem Lavaux (Configuration, thread and channel fixes and Kaffe
|
|
integration. JCL native Pointer updates. Logger bug fixes) Ingo
|
|
Proetel (Image, Logger and URLClassLoader updates) Ito Kazumitsu
|
|
(NetworkInterfaces implementation and updates) Jan Roehrich
|
|
(BasicTreeUI and JTree fixes) Jeroen Frijters (ClassLoader and nio
|
|
cleanups, Serialization fixes, better Proxy support, bug fixes and
|
|
IKVM integration) Julian Scheid (Documentation updates and gjdoc
|
|
support) Ka-Hing Cheung (TreePath and TreeSelection fixes) Kalle Olavi
|
|
Niemitalo (Build fixes) Keith Seitz (Lots of JDWP work) Kelley Cook
|
|
(Build fixes) Kim Ho (JFileChooser implementation) Lillian Angel
|
|
(JTree implementation and lots Free Swing additions and bug fixes)
|
|
Mark Wielaard (Bug fixes, packaging and release management, Clipboard
|
|
implementation, System call interrupts and network timeouts and
|
|
GdkPixpufDecoder fixes) Martin Cordova (Suggestions for better
|
|
SocketTimeoutException) Michael Koch (Configuration fixes. Locale
|
|
updates, bug and build fixes) Nicolas Geoffray (VMClassLoader and
|
|
AccessController improvements) Olga Rodimina (MenuSelectionManager)
|
|
Paul Jenner (Better -Werror support) Rainer Orth (Build fixes) Robert
|
|
Schuster (Documentation updates and beans fixes, TreeNode enumerations
|
|
and ActionCommand and various fixes, XML and URL, AWT and Free Swing
|
|
bug fixes) Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus
|
|
bugfixes all over. Lots of Free Swing work including styled text)
|
|
Santiago Gala (AccessControlContext fixes) Simon Kitching (String
|
|
cleanups and optimization suggestions) Stuart Ballard (RMI constant
|
|
fixes) Sven de Marothy (BMP imageio support, CSS and TextLayout
|
|
fixes. GtkImage rewrite, 2D, awt, free swing and date/time fixes, Qt4
|
|
peers) Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo
|
|
2D support. Lots of imageio framework additions, lots of AWT and Free
|
|
Swing bug fixes) Tom Tromey (Eclipse integration, generics work, lots
|
|
of bug fixes and gcj integration including coordinating The Big Merge)
|
|
Wolfgang Baer (GapContent bug fixes) Ziga Mahkovec (Graphics2D
|
|
upgraded to cairo 0.5 and new regex features)
|
|
|
|
*** 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).
|
|
|
|
* Lots of Calendar bug fixes.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* Much fuller collection documentation.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* 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/
|
|
|
|
* java.security.AccessController has been implemented.
|
|
|
|
* The default java.lang.SecurityManager now uses AccessController.
|
|
|
|
* Lookahead support for regular expressions.
|
|
|
|
* java.util.regexp implementation through gnu.regexp wrappers.
|
|
|
|
* Serialization object stream fixes for multiple ClassLoader scenarios.
|
|
|
|
* 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.io is now implemented by delegating most tasks directly to
|
|
java.nio.
|
|
|
|
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
|
|
|
|
* BufferedReader speed improvements.
|
|
|
|
* Multiple java.net.InetAdress fixes and java.rmi fixes.
|
|
|
|
* ServerSocket.accept() now restarts listening when system call
|
|
interrupted.
|
|
|
|
* java.net.URI implementation.
|
|
|
|
* New javax.print, javax.print.attribute[.standard] and
|
|
javax.print.event packages and classes.
|
|
|
|
* java.text multiple new features and bug fixes (only 2 out of the
|
|
1000+ java.text Mauve tests now fail).
|
|
|
|
* java.text attributed iterators support.
|
|
|
|
* Improved useabilty of java.text implementation for several
|
|
applications.
|
|
|
|
* 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.
|
|
|
|
* Full java.awt.color implementation, with all standard ICC profiles,
|
|
except for PhotoYCC color space.
|
|
|
|
* 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.
|
|
|
|
* More javax.imageio support.
|
|
|
|
* Better AWT Help MenuBar support.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D
|
|
implemented.
|
|
|
|
* JColorChooser, JComboBox and JTextField implemented, including
|
|
example uses in GNU Classpath Examples swing Demo.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages
|
|
and classes.
|
|
|
|
* 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.
|
|
|
|
*** Changes in GCC 3.4:
|
|
|
|
* Compiling a .jar file will now cause non-.class entries to be automatically
|
|
compiled as resources.
|
|
|
|
* libgcj has been ported to Darwin.
|
|
|
|
* Jeff Sturm has adapted Jan Hubicka's call graph optimization code to gcj.
|
|
|
|
* libgcj has a new gcjlib URL type; this lets URLClassLoader load code from
|
|
shared libraries.
|
|
|
|
* libgcj has been much more completely merged with GNU Classpath.
|
|
|
|
* Class loading is now much more correct; in particular the caller's class
|
|
loader is now used when that is required.
|
|
|
|
* Eclipse 2.x will run out of the box using gij.
|
|
|
|
* Parts of java.nio have been implemented. Direct and indirect buffers work,
|
|
as do fundamental file and socket operations.
|
|
|
|
* java.awt has been improved, though it is still not ready for general use.
|
|
|
|
* The HTTP protocol handler now uses HTTP/1.1 and can handle the POST method.
|
|
|
|
* The MinGW port has matured. Enhancements include socket timeout support,
|
|
thread interruption, improved Runtime.exec() handling and support for
|
|
accented characters in filenames.
|
|
|
|
*** Changes in GCC 3.3:
|
|
|
|
* The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK 1.4)
|
|
API.
|
|
|
|
* The JDK 1.4 assert facility has been implemented.
|
|
|
|
* The bytecode interpreter is now direct threaded and thus faster.
|
|
|
|
|
|
*** Changes in GCC 3.1:
|
|
|
|
* libgcj now includes RMI, java.lang.ref.*, javax.naming, and
|
|
javax.transaction.
|
|
|
|
* Property files and other system resources can be compiled into executables
|
|
which use libgcj using the new gcj --resource feature.
|
|
|
|
* libgcj has been ported to more platforms. In particular there is now a
|
|
mostly-functional mingw32 (Windows) target port.
|
|
|
|
* JNI and CNI invocation interfaces were implemented, so gcj-compiled Java
|
|
code can now be called from a C/C++ application.
|
|
|
|
* gcj can now use builtin functions for certain known methods, for instance
|
|
Math.cos.
|
|
|
|
* gcj can now automatically remove redundant array-store checks in some common
|
|
cases.
|
|
|
|
* The --no-store-checks optimization option was added. This can be used to
|
|
omit runtime store checks for code which is known not to throw
|
|
ArrayStoreException
|
|
|
|
* The following third party interface standards were added to libgcj:
|
|
org.w3c.dom and org.xml.sax.
|
|
|
|
* java.security has been merged with GNU Classpath. The new package is now
|
|
JDK 1.2 compliant, and much more complete.
|
|
|
|
* A bytecode verifier was added to the libgcj interpreter.
|
|
|
|
* java.lang.Character was rewritten to comply with the Unicode 3.0 standard,
|
|
and improve performance.
|
|
|
|
* Partial support for many more locales was added to libgcj.
|
|
|
|
* Socket timeouts have been implemented.
|
|
|
|
* libgcj has been merged into a single shared library. There are no longer
|
|
separate shared libraries for the garbage collector and zlib.
|
|
|
|
* Several performance improvements were made to gcj and libgcj:
|
|
o Hash synchronization (thin locks)
|
|
o A special allocation path for finalizer-free objects
|
|
o Thread-local allocation
|
|
o Parallel GC, and other GC tweaks
|
|
|
|
*** Changes in GCC 3.0:
|
|
|
|
* libgcj now includes a bytecode interpreter. If a compiled version of a class
|
|
is not found in the application binary or linked shared libraries, the
|
|
class loader will search for a bytecode version in the CLASSPATH and execute
|
|
it using the interpreter. A new front end that behaves like the traditional
|
|
`java' command is also provided: `gij'.
|
|
|
|
* Support for specifying java system properties. Properties can either be set
|
|
at runtime via the GCJ_PROPERTIES environment variable in the format
|
|
"<name>=<value> ..."'; or can be compiled into an application binary using
|
|
-D<name>=<value>.
|
|
|
|
* Support for setjmp/longjmp (sjlj) exception handling has been added, as an
|
|
alternative to the existing range-table based mechanism. sjlj is the default
|
|
on non-sparc, non-x86 targets, or can be specified with the
|
|
`--enable-sjlj-exceptions' configure parameter.
|
|
|
|
* Complete JDK 1.1 reflection support, including invocation.
|
|
|
|
* Throwable.printStackTrace() has been implemented.
|
|
|
|
* Runtime.loadLibrary() has been implemented.
|
|
|
|
* Class.forName() will now try to load a series of shared objects in order
|
|
to find the requested class. If a class `gnu.quux.whatever' is requested,
|
|
libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for
|
|
`gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.
|
|
|
|
* A pure-java implementation of java.math.BigInteger.
|
|
|
|
New in libgcj 2.95:
|
|
|
|
* First public release
|