diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-16 00:30:23 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-16 00:30:23 +0000 |
| commit | c8875fb97fc03779a5bba09872227b1d08e5d52a (patch) | |
| tree | a0b991cf5866ae1d616639b906ac001811d74508 /libjava/classpath/NEWS | |
| parent | c40c1730800ed292b6db39a83d592476fa59623c (diff) | |
| download | ppe42-gcc-c8875fb97fc03779a5bba09872227b1d08e5d52a.tar.gz ppe42-gcc-c8875fb97fc03779a5bba09872227b1d08e5d52a.zip | |
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102074 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/NEWS')
| -rw-r--r-- | libjava/classpath/NEWS | 703 |
1 files changed, 703 insertions, 0 deletions
diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS new file mode 100644 index 00000000000..55cb064c982 --- /dev/null +++ b/libjava/classpath/NEWS @@ -0,0 +1,703 @@ +New in release 0.17 (Jul 15, 2005) + +* 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. +* 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. +* Correctly handle system call interrupts and timeouts in native nio + and net functions. +* MetalIconFactory implemented. +* Handle image loading errors correctly for gdkpixbuf and MediaTracker. +* Added Tree World to GNU Classpath examples Free Swing demo. +* FileChannel.lock() and FileChannel.force() implemented. +* java.util.logging.FileHandler now rotates files. +* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk). +* Corba bug fixes and documentation updates. +* Updated gcj build infrastructure. +* Documentation fixes all over the place. + See http://developer.classpath.org/doc/ +* VM Integration Guide updates with a full section on VM/Classpath hooks. + +New in release 0.16 (Jun 30, 2005) + +* Better GTK scrollbar peer implementation when using GTK >= 2.6. +* 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 +* 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. + +* 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. + +* 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. + +* New --with-vm-classes configure option, and new 'build' setting + for --with-glibj. (Only for integrators.) + +Runtime interface changes: + +* 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 +* Native method VMClass.getModifiers() now takes an additional + boolean parameter. +* Deprecated native method VMClassLoader.defineClass(ClassLoader, + String, byte[], int, int) has been replaced by + VMClassLoader.defineClass(ClassLoader, String, byte[], int, int, + ProtectionDomain) +* VMClassLoader.loadClass(String name, boolean resolve) is now native, + replacing the former version which just returned null. +* Deprecated native method VMClassLoader.getPrimitiveClass(String) has + been replaced by new native method VMClassLoader.getPrimitiveClass(char). +* Previously empty implementations of methods VMThread.countStackFrames(), + VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have + been removed; these methods are now native methods. +* Fields "exceptionTypes" and "parameterTypes" have been removed from + Contructor.java and getExceptionTypes() and getParameterTypes() are + now native methods. + +New in release 0.15 (Apr 29, 2005) + +* The old character encoding framework (gnu.java.io.EncodingManager) +has been replaced by a system based completely on nio.charset +providers. Many converters have been added, both the io, lang and nio +frameworks now use the same set of converters and the whole character +stream framework (Readers and Writers) have been optimized. For some +workloads this leads to 2x till 20x speedups. + +The default charsets supported are: + + Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861, + Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13, + ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6, + ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope, + MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman, + MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE, + UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250, + Windows1251, Windows1252, Windows1253, Windows1254, Windows1255, + Windows1256, Windows1257, Windows1258. + +Many more encoding are supported through the new IconvProvider +depending on the platform iconv support. GNU libiconv is recommended. +The IconvProvider is currently not enabled by default. To enable it +define the system property gnu.classpath.nio.charset.provider.iconv=true. +Some runtimes might choose to enable this by default by setting it +through VMSystemProperties. We would like to get feedback on whether +enabling or disabling the IconvProvider by default results in the +highest speedups. + +* Free swing metal and pluggable look and feels have been improved. +The GNU Classpath free swing example can now be run with different +"skins" by setting the system property swing.defaultlaf to the GNU, +Basic or Metal look and feel. + +* Some of the org.omg.CORBA classes and packages have now been +implemented. The Savannah bug tracker contains additional tasks for +which we are seeking help. + +* Fixed compatibility problems in the java.beans which affected +Eclipse's Visual Editor Project. + +* New completely lock free (Inheritable)ThreadLocal implementation. + +* javax.swing.text.rtf framework added which can handle simple (plain) +text tokens. + +* Support for parsing html files into Level 2 Document Object Model +(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of +javax.swing.text.html framework added. + +Runtime interface changes: + +* jni.h changed to better support compiling runtimes implementing jni; + see VM integration guide for details. +* New --enable-default-toolkit option to configure can be used to set + the fully qualified class name of the default AWT toolkit to use. + If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit + is used. +* New --disable-core-jni option can be used to disable building the + "core" JNI libraries. This is primarily useful if your VM can use the + Gtk peers but not the core JNI libraries. +* New system property "gnu.classpath.boot.library.path" can be specified + to define the location of the JNI libraries. It is by all means meant + ONLY for VM implementors and GNU Classpath hackers. See the hacking + guide for more information. +* The helper methods currentLoader() and allocateObject() for + java.io.ObjectInputStream have been moved to a VMObjectInputStream class. + Reference implementations are provided. +* java.net.InetAddress now uses VMInetAddress for runtime/platform + specific methods getLocalHostname(), getHostByAddr() and + getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface + for runtime/platform specific getInterfaces() support. Default + (Posix/GNU JNI) implementations are provided. +* VMClass has a new method getModifiers(Class, boolean) which can be + used to get the real modifiers for an inner class or the ones + specified by the InnerClasses attribute. +* All (possible) runtime specific methods of Object and Double are now + in VMObject and VMDouble. Where possible generic reference + implementations are provided. +* The reference implementation of VMClassLoader now handles zip files + on the boot loader class path in getResources(). + +Other changes: + +New in release 0.14 (Feb 25, 2005) + +* 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). +* Full documentation for all classes can be generated (again) by using + the --with-gjdoc configure option. +* javax.awt.imageio support through gdkpixbuf. + +Runtime interface changes: + +* VMSecurityManager has been replaced by gnu.classpath.VMStackWalker. + currentClassLoader() is no longer needed, and there are also two new + methods with non-native implementations. VM implementors are encouraged + to provide more efficient versions. +* VMRuntime.nativeLoad() now takes an additional ClassLoader parameter. + +New in release 0.13 (Jan 6, 2005) + +* 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. +* New --disable-examples configure argument. + +Runtime interface changes: + +* Added a new method (VMRuntime.enableShutdownHooks) that enables the VM + to lazily register an exit handler. +* The java.lang.Class constructor now automatically sets the protection + domain for array classes, based on the protection domain of the component + type class. +* New gnu.classpath.VMSystemProperties class. This replaces the + system properties initialization in VMRuntime. Note that it is + now the VMs responsibility to set one additional property: + gnu.cpu.endian should be set to "big" or "little". +* VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName() + and has only one argument, the name of the library. +* String and StringBuffer now call VMSystem.arraycopy() directly and don't + go through java.lang.System. Be careful to not initialize java.lang.System + early in the bootstrap sequence in your VM runtime interface classes. +* Some (wrong) documentation about the behavior of VMThread.sleep(0, 0) + has been updated. Also, VMThread.sleep() now has a default non-native + implementation, but it is a generic implementation that ignores the + nano-seconds argument. Runtime hackers are encouraged to provide a more + efficient version. +* There is prelimenary support for nio direct byte buffers. + See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when + you add support for this to your runtime. + +New in release 0.12 (Nov 14, 2004) + +* 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. +* Improved build process. Uses less memory with gcj and C code is + buildable with -Werror on most platform. Please configure with + --enable-Werror and report any remaining issues. +* Big-endian (PowerPC) fixes for native awt GTK+ peers. +* Checkstyle support, see scripts/checkstyle-config.xml. +* 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. +* HTTP Connection Handler fixes for POST support. +* 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. +* Improved Eclipse 3 support for GNU Classpath based runtimes. + +Runtime interface Changes: + +* New --enable-java-lang-system-explicit-initialization configuration + option. (Warning, will be replaced in next release, please consult + the mailinglist.) +* The reference implementation of VMClassLoader has default + implementations for getResource(s) and provides support for a new + default getSystemClassLoader implementation. + +New in release 0.11 (Sep 13, 2004) + +* 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. +* GNU Classpath now comes with some example programs (see examples/README). +* 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/ +* 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. +* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and + tool integrators are encouraged to directly integrate GNU JAXP. + This release has been tested against GNU JAXP 1.1. + http://www.gnu.org/software/classpathx/jaxp/jaxp.html +* JColorChooser, JComboBox and JTextField implemented, including example + uses in GNU Classpath Examples swing Demo. + +Runtime interface Changes: + +* java.lang.Compiler now uses the new java.lang.VMCompiler; there is + a reference implementation that most VMs can use. +* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI + implementation that should work on most Posix like systems. +* java.util.TimeZone has been split into a platform independent class and + a platform dependent class VMTimeZone. GNU Classpath comes with a generic + way to get at the default time zone for Posix/GNU-like platforms. +* [VM]AccessController improvements. In particular it handles + `doPrivileged' calls better, and allows for recursive `doPrivileged' + calls in the same Thread. (see vm/reference/java/security/) + +New in release 0.10 (Jul 9, 2004) + +* 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. +* Regenerated all included JNI header files with gcjh (3.5 CVS), + removes extra extern modifier and allows stricter compiler warning. +* More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and + -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes, + made it compilable with C++ compilers and jni.h got renamed from jni.h.in). +* Double.toString() and Float.toString() now work properly on 64-bit + PowerPC systems. +* PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes. +* Build system refactored and removed old Japhar specific support. +* 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. +* gcjwebplugin, an applet viewer that can be embedded into several web + browsers, has been extensively tested with this release of classpath. + (See http://www.nongnu.org/gcjwebplugin/) +* Runtime environments based on GNU Classpath 0.10 should be able to + start up Eclipse 3.0 out of the box now. + +Runtime interface Changes: + +* VMProcess.destroy() default implementation fixes. +* Fixed the "portable native sync" code; it had been broken since + Classpath release 0.06, when we upgraded to GTK+2. + Classpath's AWT peers use GTK+. GTK+ uses GLIB. GLIB by default uses + the platform's native threading model -- pthreads in most cases. + If the Java runtime doesn't use the native threading model, then you should + specify --portable-native-sync when configuring Classpath, so that GLIB will + use the Java threading primitives instead. (For a superior alternative, + see below.) +* The VM can set the system property + gnu.classpath.awt.gtk.portable.native.sync instead of using the + --portable-native-sync configure-type option. + See doc/vmintegration.texinfo for details. +* We intend that the next release of GNU Classpath will require the VM + to provide JNI 1.2. Classpath currently uses only JNI 1.1, except for + one JNI 1.2 function: GetEnv(), in the JNI Invocation API. + If this poses problems, please raise them on the classpath mailing list. +* The reference implementation of VMThread.holdsLock(Object) now has + a default implementation written in java. For efficiency and to + prevent spurious wakeups a real 'native' runtime version can be supplied. +* There is a new java.security.VMAccessController class that runtimes need + to implement to properly support SecurityManagers. The default + implementation that comes with GNU Classpath makes sure that ANY attempt + to access a protected resource is denied when a SecurityManager is + installed. Which is pretty secure, but also no very useful. + Please see the documentation in + vm/reference/java/security/VMAccessController.java, + and please give feedback on the GNU Classpath mailinglist whether or not + the current AccessController framework is flexible enough. + +New in release 0.09 (May 2, 2004) + +* Includes updated GNU JAXP version from 2004-02-01. +* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean. +* 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. +* GNU Classpath 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. + Application developers are strongly discouraged from calling glibj + internal packages. Instead, they might want invoke the newly implemented + javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard + method for loading plug-ins. +* New developers wanting to help the GNU Classpath project might want to + review the greatly expanded Hacker Guide included in the doc directory + or online at http://www.gnu.org/software/classpath/docs/hacking.html + Also the FAQ has been expanded. And when working from CVS you can now use + a simple autogen.sh script to get all autotools magic done automagically. +* New configure option --with-glibj which defines how to install the glibj + class files as zip, as flat directory files or both (zip|flat|both) + [default=zip]. When working with multiple runtimes some of which might + not support bootstrap classes in zip files the --with-glibj=both option + is recommended (this does take extra disc space). +* 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 GNU Classpath core class implementation have been fixed. + +VM Interface changes: + +* java.lang.Class/VMClass interface was changed. The interface now no + longer requires an instance of VMClass for each Class instance. Instead + the field vmdata in Class is now of type Object. +* GNU Classpath now assumes that JNI calls SetXField can modify final + fields. This was previously used silently for System.in/out/err and should + be considered as a feature now. +* A new VMProcess and a sample JNI C implementation are now provided to + make Runtime.exec() work out of the box on some systems. This requires + a small change to VMRuntime.exec() when a runtime wants to use it as the + default java.lang.Process implementation. +* The implementation of most of java.io through java.nio moved serveral + runtime specific I/O methods. Most methods do have a generic default native + C JNI implementation in native/jni/java-nio. +* Runtime support methods for java.io.File have been moved to VMFile which + also comes with a default JNI C implementation. +* To support the new service provider mechanism runtimes must make sure that + extension JARs are made accessible via the default context class loader. + +New in release 0.08 (2004/12/03) + +* 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 +* Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+. + +VM Interface changes: +* Split native methods in java.lang.Runtime into java.lang.VMRuntime. +* Resources are now also loaded/needed through the bootstrap classloader + (gnu.regexp needs MessageBundle included in glibj.zip + +Fixed Classpath bugs: + #6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives + wrong results + #7099 EventListenerList.getListenerCount should accept null argument + #7104 EventListenerList.add does not work + #7105 EventListenerList.remove does not work + #7107 DefaultBoundedRangeModel.setValue and friends should not throw + And lots more. + +New in release 0.07 (2003/30/11) + +* Works with libtool 1.5 (and 1.4.3). +* java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango. + Lots and lots improvements on the peers. +* java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D: + Subdivision and flatness calculation implemented. +* java.awt.geom.FlatteningPathIterator: Working implementation. +* gnu.java.awt.BitwiseXORComposite helper class. +* New rmic compilers (jikes, kjc) support. +* java.text bug fixing and 1.4 updates (Currency). +* Hashtable and HashMap function more similar to other implementations. +* javax.naming and java.beans classloader fixes. +* URL parsing, URLConnection, protocol and (needed) permission fixes. +* More java.nio implementation + (API complete, but implementation not finished yet). +* Lots of java.net code cleanup. +* Improved documentation. +* Numerous bug fixes in almost every package, and lots of updates for + 1.4 functionality. +* Fixed Classpath bugs: + #2944 Incorrect synchronization in java.util.logging.ErrorManager + #6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results + #6076 java.awt.geom.GeneralPath constructor sometimes hangs + #6089 java.awt.geom.GeneralPath.getPathIterator does not work + [...] + +VM Interface changes: + +* Thread has been split in a VM-independent Thread class and a VM-dependent + VMThread class. + +New in release 0.06 (2003/22/08) + +* Update java.awt peers to GTK+2. +* java.awt.GridBagLayout implementation. +* javax.swing.border implementation. +* java.security and java.security.cert updated to 1.4 spec. +* New JNI native target code layer. See native/target/readme.txt. +* --enable-regen-headers configure flag for automatic jni .h file generation. +* Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now + needed for compiling. +* Lots of improvements and/or new classes for java.awt, java.awt.dnd, + java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net, + java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf, + javax.swing.text. + +VM Interface changes: + +* VMClassLoader.loadClass(), the bootstrap classloader called by + Class.forName() and ClassLoader.loadClass(), may now return null when + a class is not found instead of throwing a new ClassNotFoundException. + This is a performance optimization in some cases. This also changes + the Class.forName() reference code. +* Native methods in Class have been moved to VMClass. A few additional + methods are also available in VMClass to provide optional performance + improvements. +* A VM can now supply its own String.intern() strategy through the + VMString class. The supplied VMString reference class implements the + original WeakHashMap strategy. +* Float and Double to/from bits conversion functions can now be supplied by + the VM through VMFloat and VMDouble. Default JNI conversion methods are + supplied. + +New in release 0.05 (2003/02/15) +* Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others. +* Supports GNU Crypto 1.1 as the official provider of cryptographic primitives + and tools for GNU Classpath, available separately from + http://www.gnu.org/software/classpathx/crypto/crypto.html. +* Supports GNU Classpath Tools sub-project of GNU Classpath, official provider + of standard tools such as gjdoc, a javadoc replacement, and others. Future + releases of GNU Classpath will begin to include these tools, available + separately from http://www.gnu.org/software/cp-tools/. +* Java primitives can be used to support AWT native threading, see + the --enable-portable-native-sync configure option which may become the + default in a future release. +* Include file jni.h has been updated to the 1.4 specification. +* VM specific internal types for jobject, jfieldID, and jmethodID are + supported in jni.h. More details can be found by reading the comment + in include/jni.h.in. By default the old definitions are used instead. +* New VM helper class java.io.VMObjectStreamClass which should provide + the hasClassInitializer() method. Previously ObjectStreamClass used + Class.getDeclaredMethod("<clinit>") but according to the spec this + should always throw NoSuchMethodException for class initialization methods. + A JNI reference implementation is provided as + vm/reference/java-io/java_io_VMObjectStreamClass.c +* There have been numerous infrastructure improvements + * Configure option --enable-gjdoc to generate javadoc-like output + * Gjdoc output is included with distribution, see doc/api/html/ + * DESTDIR fully supported for install and uninstall +* Runtime.execInternal contract changed to allow for null `env' + and to accept `dir' argument. +* VMObject.getClass() removed. It was never used. +* java.lang.Throwable is now a 'normal' GNU Classpath class that uses the + VM specific java.lang.VMThrowable to get at the VM state and (if needed) + the StackTraceElements for a particular exception. A default implementation + (that does nothing) is provided in vm/reference/java/lang/VMThrowable.java. +* The vm/reference classes from the gnu.vm.stack and their counterparts + ExecutionStack and StackFrame in gnu.java.lang have been removed since they + are not actually part of the VM interface anyway. +* The GPLed com.sun.javadoc classes have been moved to the gjdoc application + from the GNU Classpath Tools project. See for more information the homepage + at: <http://www.gnu.org/software/cp-tools/>. + +New in release 0.04 (2002/05/05) +* Additional configure options to disable zip creation and installation as + well as disable gtk peer native compilation. +* Addition of java.nio, java.util.logging, and javax.swing. +* Integration of most or all of the ORP patches to date, the purpose of + which are to make it possible to use JBOSS with ORP and Classpath. This + is still in a testing phase however. +* Significant changes in the reference VM interface that may require + support from the JVMs. +* Lots of bugfixes. + +New in release 0.03 (2002/02/08) +* More merges with libgcj have been performed including java.math which now + provides a pure Java implementation of that package. + Current status at <http://gcc.gnu.org/java/libgcj-classpath-compare.html> +* A pure Java implementation (Jazzlib) of java.util.zip is available. +* Added the java.rmi implementation that Transvirtual donated to the FSF. +* Includes jni.h now, eliminating the need to specify a particular VM + via configure. +* No proprietary classes or programs are required to compile. + Compiles out of the box with jikes or gcj. +* Separation of compiling Java source and native libraries through the + configure mechanism. If given no arguments, configure will setup the + subsequent build to only produce Java bytecode (.class files). More + information is available in INSTALLING. +* Support for compiling in a separate directory, as an example you may + cd classpath-0.03; mkdir build; cd build; ../configure; make +* Works with Orp 1.0.9 out of the box. Build instructions can be found at + <http://www.gnu.org/software/classpath/doc/orp.html> +* Lots of bugfixes that were found by using Classpath with the gcj, Orp, + SableVM, KissMe and Jaos VMs. Please use our bugdatabase at + <http://savannah.gnu.org/support/?group_id=85> +* Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4 + API specification. The current status can be found at + <http://www.gnu.org/software/classpath/status.html> +* All files are now distributed under the same terms. Added clarification to + GPL exception. + +New in release 0.02 (2001/01/06) +* Support for printing exceptions with Japhar 0.09 + patch included in + resource/japhar-0.09.patch.1. +* Typos, assorted bugfixes. + +New in release 0.01 (2000/11/20) +* More packages are included now, though many remain untested. +* Support for Japhar 0.09 included. + +New in release 0.00 (1999/02/01) +* First official development release of clean room class library for Java +* Following packages included: + -- java.beans + -- java.io + -- java.lang + -- java.lang.reflect + -- java.math + -- java.net + -- java.security (partial and non-functioning) + -- java.security.acl + -- java.security.interfaces + -- java.util +* Code is mostly Java 2 (see JDK 1.2) compatible with some functionality + missing and/or untested. +* Support for Japhar (http://www.japhar.org/) virtual machine is included. + Requires the current Japhar from CVS. +* Extensive javadoc comments for public API included +* Licensed under the GNU Library General Public License (see COPYING.LIB) +* Does not depend on any non-free code - developed in a "clean room" + environment. + |

