diff options
| author | Dan Albert <danalbert@google.com> | 2015-06-17 11:09:54 -0700 |
|---|---|---|
| committer | Dan Albert <danalbert@google.com> | 2015-06-17 14:15:22 -0700 |
| commit | f378ebf14df0952eae870c9865bab8326aa8f137 (patch) | |
| tree | 31794503eb2a8c64ea5f313b93100f1163afcffb /gcc-4.4.3/libjava/classpath/NEWS | |
| parent | 2c58169824949d3a597d9fa81931e001ef9b1bd0 (diff) | |
| download | toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.tar.gz toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.tar.bz2 toolchain_gcc-f378ebf14df0952eae870c9865bab8326aa8f137.zip | |
Delete old versions of GCC.
Change-Id: I710f125d905290e1024cbd67f48299861790c66c
Diffstat (limited to 'gcc-4.4.3/libjava/classpath/NEWS')
| -rw-r--r-- | gcc-4.4.3/libjava/classpath/NEWS | 1316 |
1 files changed, 0 insertions, 1316 deletions
diff --git a/gcc-4.4.3/libjava/classpath/NEWS b/gcc-4.4.3/libjava/classpath/NEWS deleted file mode 100644 index 4ae10d710..000000000 --- a/gcc-4.4.3/libjava/classpath/NEWS +++ /dev/null @@ -1,1316 +0,0 @@ -New in release 0.98 (Feb 05, 2009) - -* Native support for BigInteger is now provided using the GMP -library. A new option, --enable/disable-gmp is provided, and -the option is enabled by default if GMP is found. -* Classpath now makes use of a new StringBuilder implementation -internally called CPStringBuilder. In addition to being -unsynchronised, like StringBuilder, this also avoids copying the -array when toString or substring is called. While StringBuffer/Builder -always retain their own array, which is only altered during resizing, -CPStringBuilder gives away its array when the result is generated -by toString()/substring() and starts afresh. The default capacity of -CPStringBuilder can also be configured using the -gnu.classpath.cpstringbuilder.capacity property. (PR21869) -* gjdoc is now built as part of tools.zip. -* Import of the Java Activation Framework from ClasspathX to provide -javax.activation (part of 1.6). -* Preliminary version of java.util.Scanner (PR30436) -* Reduce cost of ThreadLocal(s) to improve Jython performance (PR33690) -* Updated to use CLDR 1.5.1 (PR35237) -* Many bug fixes including: - - PR22851: zoneStrings in gnu/java/locale/LocaleInformation* - - PR31895: setCurrency(Currency) does not actually change the currency. - - PR32028: Make fails at gjdoc - - PR34840: Mismatch between Sun and Classpath's java.lang.Appendable - - PR35487: gcj causes ConcurrentModificationException during tomcat5 - - PR35690: javax.tools.FileObject.toUri is in wrong case - - PR36085: java.util.regex escape-sequence handling - - PR36147: Apache Tomcat fails to read descriptors using GNU XML - - PR36219: gnu.xml.transform.SortKey isn't subclass - - PR36220: NPEs in gnu.xml.transform.* clone methods - - PR36221: DomDOMException running SPEC jvm 2008 xml.transform - - PR36477: OOME in CPStringBuilder when running Eclipse - - PR36522: Policy file is not read at all - - PR36636: gjar -u doesn't work - - PR36637: --without-fastjar doesn't wor - - PR36677: Omission bug in JDWP VirtualMachineCommandSet - - PR38417: gnu.java.security.util.PRNG produces easily predictable values - - PR38473: Segmentation fault in retrieving font outline decomposition - - PR38861: Support XULRunner 1.9.1. - - PR38912: XMLParser not interning element names - -Runtime interface changes: - - * VMSecureRandom has moved to gnu.java.security.jce.prng.VMSecureRandom - as part of the fix for PR38417. - * gnu.java.lang.VMCPStringBuilder has been added and should be added to - avoid the inefficency of reflection when creating non-copied String objects. - -Bug fixes in release 0.97.2 (Jun 06, 2007) - -* Include headers in the release tarball. -* Allow the building of tools to be optional. -* Only check for a Java compiler when required. -* Allow VMOperatingSystemMXBeanImpl to compile on Solaris. -* Documentation typo fixes -* Fix memory leak in native/jni/classpath/jcl.c -* Web page updates (PR classpath/22883) -* Fixes to pass the JSR166 TCK -* Use awk to construct the classlist on building -* Fix deadlock in Logger (PR classpath/35974) -* Fix regression in java.lang.String (PR classpath/35482) -* Allow Classpath tools to handle @file options. -* Allow parseInt to handle a + prefix correctly. -* Remove use of 1.5 language constructs in the VM layer. - -Bug fixes in release 0.97.1 (Mar 11, 2007) - -* Include documentation for JSR166 (java.util.concurrent) -* Fix STaX API compatability. -* Include the tools properties file in the release tarball. - -New in release 0.97 (Feb 22, 2007) - -Build changes: - -* A copy of javah (to produce C header files from Java source code) -is now required to generate the files in include. -* The javac check has been changed so that it attempts to find ecj, -javac and gcj (in that order). You may override this by using -JAVAC=<preferred javac> - -Runtime interface changes: - -* Removed VMFloat.floatToIntBits amd VMDouble.doubleToLongBits. -* Added new getParameterAnnotations() methods in Constructor and Method. - -New in release 0.96.1 (Oct 16, 2007) - -* Small compile, configure and build fixes. - -New in release 0.96 (Oct 15, 2007) - -* New experimental GStreamer javax.sound peer (see README.gstreamer) -* The JNI interface has been updated to 1.6 -* Better support for the OpenJDK javac compiler -* Support for using javah via tools.zip and com.sun.tools.javah.Main -* Much improved Escher AWT peers -* Many bug fixes including improvements to AWT and Swing support - -Runtime interface changes: - -* Add VMFloat.toString(float) and VMFloat.parseFloat(String). Default - implementations are the same as previous behavior. -* Add new default implementations of VMMemoryMXBean.getHeapUsage() - and VMMemoryMXBean.getNonHeapUsage() via iteration over the memory - pools of the appropriate type. - -New in release 0.95 (Apr 23, 2007) - -* Full merge of 1.5 generics work. -* Added 1.6 java.util.ServiceLoader support. -* The ASM library is now included. A separate copy is no longer - needed. gjavah works out of the box now. -* The setReadTimeout and getReadTimeout methods have been added to - java.net.URLConnection. They are now fully implemented for http URLs. -* The java.lang.management implementation now includes the new features - added in 1.6 -* java.util.TimeZone now reads time zone information from the system - zoneinfo files (see also runtime interface changes below). -* The collection classes have been updated to support all the 1.6 - additions. -* java.util.spi 1.6 package has been added and is used in java.text. -* Bootstrappable with OpenJDK javac compiler - (use configure --with-javac). -* Large speedups (and locking behaviour updated) in Graphics2D cairo - and freetype support. -* Better detection of browser plugin mechanism for mozilla, iceweasel, - firefox on various platforms. -* Inclusion of generic javadoc classes in tools.zip to support more - javadoc processing tools. -* Added documentation for command lines options for the included GNU - Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid, - grmiregistry, gserialver and gtnameserv. - -Runtime interface changes: - -* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new - optional native methods to allow the 1.6 version of the threading - bean to be supported. One (getMonitorInfo) fills in information - about object monitor locks held by a thread and is only required - if the monitoring of object monitor locks is supported by the VM. - The other two (findDeadlockedThreads and getLockInfo) are related - to ownable synchronizers (part of the java.util.concurrent suite) - and only required if monitoring of locks relating to these is - supported by the VM. -* java.util.VMTimeZone and java.util.TimeZone have been refactored - to simplify the reference implementation. VMTimeZone.readtzFile() - and VMTimeZone.skipFully() have been removed, and a new method - VMTimeZone.readSysconfigClockFile() has been introduced. -* VMs need to set the system property "gnu.java.util.zoneinfo.dir" - to point to the directory where zoneinfo files live. In libgcj - this is set to the value of the TZDATA environment variable, or - "/usr/share/zoneinfo" if this is not set. -* VMFile has been extended to support new 1.6 methods (canExecute, - setReadable, setWritable, setExecutable). - -New in release 0.93 (Dec 8, 2006) - -* CORBA objects that exist on the same virtual machine and only are connected - to another ORB are now accessed directly and no longer via network. It is - the same feature that RMI implementation provides. These faster calls should - be completely transparent, as the parameters are cloned, where required. - Currently the direct calls are only possible for the non-deprecated objects - that are connected to the ORB via POA. -* The 'javah' tool has been added. It requires the ASM library - (see asm.objectweb.org); it can be enabled with the --with-asm - option to configure -* Added the rmi and corbaname URL context factories for JNDI. -* Fixes in the JNDI InitialContext now allows to plug-in user implementation. -* Removed currentClassLoader method from - vm/reference/java/io/ObjectInputStream.java. -* Added firstNonNullClassLoader method to - vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to - provide a more efficient implementation. -* Added aton method to vm/reference/java/net/VMInetAddress.java. -* NetworkInterface has been implemented for systems that provide the - `getifaddrs' function. -* java.nio.channels.Selector implementations have been added that use - the kqueue notification mechanism on Mac OS X and *BSD, and that use - the epoll notification mechanism on Linux 2.6. -* java.nio has been refactored to support more non-blocking operations - natively. Blocking IO classes have been refactored to call - non-blocking classes. Non-blocking accepts, connects, and - scatter-gather IO should now be better supported. -* HTML support for Swing has been greatly enhanced. - -Runtime interface changes: - -* java.net.VMNetworkInterface and java.net.NetworkInterface have been - updated to keep native-modified state in the former, and to simplify - the native code in our reference implementation. -* gnu.java.nio.VMChannel has been expanded to better support native - non-blocking IO. Most native state data (such as file descriptor - integers) has been abstracted away into private state in the runtime - interface. -* gnu.java.nio.VMPipe has been similarly changed. -* gnu.java.net.VMPlainSocketImpl has been changed to remove some - functionality now provided by VMChannel; datagram socket-specific - methods have also been moved here, deprecating VMPlainDatagramSocketImpl. -* gnu.java.net.VMPlainDatagramSocketImpl removed. - -New in release 0.92 (Aug 9, 2006) - -* GConf is used as a backend for java.util.prefs. GNU Classpath - thanks to Mario Torre for this contribution! -* libjawtgnu.so has been renamed libjawt.so for binary compatibility. - libjawt.so should be installed in a VM-specific directory rather - than directly in /usr/lib. Proprietary VMs put their libjawt.so - implementations in VM-specific directories but search /usr/lib first. - If GNU Classpath's libjawt.so is installed in /usr/lib it will create - problems for people who use a proprietary VM to run AWT Native - Interface applications. -* The GdkGraphics2D backend has been made the default. There is no - longer an explicit dependency on Cairo, the --enable-gtk-cairo - configure option is gone, and GTK 2.8 or higher is now required to - build the GTK peers. -* A Mozilla plugin, 'gcjwebplugin', is now included. It introduces a - dependency on the Mozilla plugin support headers and libraries. -* New java implementations of png and gif imageio readers and writers. -* A tools.texinfo document has been created and now includes - documentation about: - * appletviewer - * gcjwebplugin - * jarsigner - * keytool -* Several new tools are now included: - * appletviewer - * jar - * native2ascii - * serialver - * keytool - * jarsigner - A new configure option --enable-tool-wrappers causes wrapper - binaries to be built for VMs that support the JNI Invocation API. -* We've imported the JSR 166 (concurrency) reference implementation. -* javax.sound.midi providers have been added to read and - write standard MIDI files. -* A javax.sound.sampled .au and .wav file readers have been added. -* New Java Virtual Machine Tool Interface header, jvmti.h. -* AWT peers for X Windows based on Escher (a pure java X protocol - implementation) have been added. So far it supports AWT 1.1 style - Graphics, image loading via ImageIO (PNG, GIF and BMP images in this - release), top level components as well as mouse and keyboard input. - It is capable of running many Swing applications. Graphics2D and - AWT widgets are not yet supported with this peer set. -* GConf based util.peers backend (see the --enable-gconf-peer and - --enable-default-preferences-peer configure options). -* Support for batch importing trusted certificates for use with ssl - connections (see script/import-cacerts.sh). -* NIO scatter-gather channel support. - -Runtime interface changes: - -* A new class, VMURLConnection, is used to implement - URLConnection.guessContentTypeFromStream. The reference - implementation uses libmagic (and falls back to doing nothing if - libmagic is not available). -* The method gnu.java.io.PlatformHelper.toCanonicalForm() has been - replaced with a JNI implementation of VMFile.toCanonicalForm() for - GNU/Posix systems. -* A new class, VMRuntimeMXBeanImpl, is used to implement - the low-level support of the runtime management bean. - VMs should use it to supply the input arguments and start - time of the VM. In addition, one of sun.boot.class.path - or java.boot.class.path should be defined by the VM to - support the optional boot class path access functionality. -* The Unsafe class was moved back to the place expected by the JSR 166 - reference implementation. We've also added a couple other new VM - classes to support the JSR 166 code -- sun.reflect.Reflection and - sun.reflect.misc.ReflectUtil. -* Another new class, VMClassLoadingMXBeanImpl, is used to implement - the low-level support of the class loading management bean. - VMs need to supply it with information about how many classes - are currently loaded, how many have been unloaded and whether - verbose class loading output is on or off. Provision should also - be made for the latter to be toggled at runtime. -* VMThreadMXBeanImpl is used to implement the low-level support - of the thread management bean. Providing this interface requires - providing a fair amount of information about threads, including - optional time and contention monitoring, and instances of the - new ThreadInfo class in java.lang.management. getState() has also - been added to the VMThread interface; this is required by the bean - as well as java.lang.Thread. -* VMMemoryMXBeanImpl is used to implement the low-level support - of the memory management bean. Providing this interface requires - providing information about the levels of heap and non-heap memory, - and the number of objects eligible for garbage collection. -* VMCompilationMXBeanImpl is used to allow for optional compilation - time support for Just-In-Time compilers. -* VMMemoryPoolMXBeanImpl is used to implement the low-level support - of the memory pool beans. Providing this interface requires - providing memory usage statistics for each supported bean. -* VMManagementFactory provides the names of the memory pools, - memory managers and garbage collectors maintained by the virtual - machine. These are used to create the beans by the ManagementFactory. -* VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide - low-level support for memory managers (including the specific subclass - of garbage collecting memory managers). The interfaces for these - require no more than enumerating the number of collections and the - time spent (for garbage collectors) and a relationship to the memory - pools (for all), along with a validity check. - -New in release 0.91 (May 15, 2006) - -* Experimental activation (java.rmi.activation) support, including RMI - activation daemon and persistent naming service tools. -* Experimental printing support: The API implementation of the javax.print - packages has been finished and work on the printing provider implementation - started. Currently supported features from the Java Print Service API are - print service discovery (CUPS registered printers), single document print - jobs and support for client-formatted print data. An example application - (see: examples/gnu/classpath/examples/print/Demo) has been added to show - the API usage for service discovery and printing of files. -* The GTKToolkit now gives access to the both the system clipboard and - system selection. -* Custom mouse cursor support has been added to the gtk+ peers. And cursors - can now also be set on light-weight components. -* Free Swing improvements: Support for OceanTheme has been mostly completed - and turned on as default Metal theme. X11-style Copy and Paste behavior in - text components with the middle mouse button. Support cursor changes on - various components when resizing. Support for Look and Feel window - decorations has been added. -* Updated locale data information to CLDR 1.3. -* Various bugs in Classpath's SecureRandom implementations have been - fixed; that class now respects the "securerandom.source" security - property and the "java.security.egd" system property. -* Support for assistive technologies has been added to AWT and Swing. - -Runtime interface changes: - -* A new class, VMArray, is now available which separates the native - array creation method from java.lang.reflect.Array. -* A new class, gnu.classpath.Unsafe, is provided for handling the - new low-level operations required by java.util.concurrent. -* The reference implementations of Method, Constructor, and Field - now have a new native getModifiersInternal() method. The public - getModifiers() method in each case has been rewritten in terms of - this method. -* The reference implementation of VMThread has been updated to handle - the new Thread.UncaughtExceptionHandler support. -* A new class, java.security.VMSecureRandom, is now available that is - used to generate random numbers for seeding cryptographically-secure - pseudo-random number generators. -* VMClass and the reference implementations of Method, Constructor and Field - now include a number of 1.5 methods imported from the generics branch. - These are all optional (in the sense that the methods associated with them - merely fail on use if the VM doesn't provide them, rather than the - VM failing altogether), but VMs should aim to support them where possible. -* The implementation of java.lang.instrument has been merged to the main - branch from the generics branch. -* The VM interfaces of the main branch and the generics branch are now - consistent with one another. As a result, the main branch includes an - additional environ() function in VMSystem and an additional argument has - been added to nativeSpawn() in VMProcess. -* Annotation support is now available in the main branch, if the VM supports - it. The VM should implement VMClass.getDeclaredAnnotations, - Constructor.getAnnotation, Constructor.getDeclaredAnnotations, - Field.getAnnotation, Field.getDeclaredAnnotations, Method.getAnnotation and - Method.getDeclaredAnnotations. -* java.lang.Package now has a new constructor that takes the defining - ClassLoader as an extra argument. If you use a custom version of - VMClassLoader, please switch it to use this constructor. -* The reference implementation of VMClassLoader.getBootPackages() now - reads the META-INF/INDEX.LIST resource using the java.boot.class.path - system property. - -New in release 0.90 (March 6, 2006) - -* Free Swing improvements: JTable columns are rearrangeable and - resizeable with mouse. Painting and scrolling are now much - faster. Plain text components now support highlighting and - copy+paste to the system clipboard. Support for styled text has been - improved, including some very basic HTML support. JFileChooser is - now usable. Global event dispatching has been implemented. Memory - consumption of Swing components has been reduced. Lots of general - bugfixes. Added new system property to turn off Graphics2D use in - Swing, even if Graphics2D is available: gnu.javax.swing.noGraphics2D - -* AWT. Improved support for mixing "lightweight" and "heavyweight" - Components in Containers. Better support for dynamically updated - menus. Better 1.0 event model support for Scrollbars. Better class - documentation of gtk+ awt peers. - -* GNU Crypto and Jessie have been merged into GNU Classpath; this - provides Classpath with a wide array of cryptographic algorithms - (ciphers, message digests, etc.) and implementations of SSL version - 3 and TLS version 1. These roughly complement the public - `java.security.' `javax.crypto,' and `javax.net.ssl' packages, and - are service providers implementing the underlying algorithms. - -* Updated HTTP and FTP URLConnection protocol handlers. HTTPS support - out of the box. - -* Unicode 4.0.0 is supported. Character now includes support for using - ether a char or an int to identify code points. - -* More correct handling of Object methods and serialization support - for Proxy and abstract classes. - -* The new folder tools includes GIOP and RMI stub and tie source code - generators, IOR parser and both transient and persistent GIOP naming - services. - -* Added experimental support for dynamic creation of the RMI stubs - using proxy classes. The rmic compiler is no longer required (unless - for research and specific stubs). - -* XML validaton support for RELAX NG and W3C XML schema namespace - URIs. RELAX NG pluggable XML schema datatype library API and an - implementation for XML Schema Datatypes - (http://www.w3.org/TR/xmlschema-2/). - -* Updated StAX implementaton to be compatible with final JSWDP 2.0. - -* The default back end for java.util.prefs has been changed. The new - default is capable of saving and restoring preferences to and from - the file system. - -* javax.imageio.plugins.bmp implementation. - -* Added --enable-collections configure option which builds - "collections.jar", a 1.1 VM compatibility jar. - -* gnu.regexp updated from GNU/Posix syntax to support util.regex - syntax including various Unicode blocks, categories and properties. - -Runtime interface changes: - -* A new class, VMMath, is now available which separates the native - mathematical functions from java.lang.Math. The previous fdlibm - implementation now forms the reference material for this class. - -* Updated VMObjectInputStream class to return Thread context class - loader if no other class loader is found. - -* Updated documentation on InstrumentationImpl in vmintegration guide. - -New in release 0.20 (Jan 13, 2006) - -* New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX, - XPath and XSLT improvements. Support for XInclude and XML Base added. - Conformance is now regularly tested against various test-suites at - http://builder.classpath.org/xml/ See also doc/README.jaxp. - -* Full beans XMLEncoder implementation. - -* javax.sound.sampled implementation. - -* javax.print.attribute and javax.print.event implementated. - -* Lots of new datatransfer, print swing and swing.text work and optimization. - -* Additional 1.5 support. Including new (separate) generic branch release. - -* SecurityManager cleanups and start of review of all Permission checks - (includes adding lots of new checks to the Mauve test-suite). - -* Buildable on cygwin. - -* Fully buildable as "in-workspace" library-plus-vm inside (native) Eclipse - see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse - -* Full example that shows a real world CORBA and Free Swing implementation. - See examples/gnu/classpath/examples/CORBA/swing/README.html - -* A list of bug fixes can be found at: -http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.20 - -Runtime interface changes: - -* New method VMStackWalker.getClassLoader() was added to avoid an infinite - loop between getCallingClassLoader() and Class.getClassLoader(). - -* The included fdlibm implementation has seen several cleanups to handle - new architectures and namespacing issues (in particular for ppc, darwin - and non-C99 compilers). Please double check any arithmetic test against - new platforms/runtimes. - -* The gnu.java.net.Plain[Datagram]Socket implementations have been - turned into VM reference classes with JNI/Posix implementations. - -New in release 0.19 (Nov 2, 2005) - -* 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. - -* 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. - -* 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. - -* 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>. - -* 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). - -Runtime interface changes: - -* Changed implementation of VMClassLoader.getPackage(s) : new method - VMClassLoader.getBootPackages should be implemented by the vm, and sould - return a string array of boot package names ("java.lang", "java.net", ...). - Feedback from vm implementors for usability and relevance of the - getBootPackages method would be greatly appreciated. - -New in release 0.18 (Sep 6, 2005) - -* 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 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. -* 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 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. -* NIO FileChannel.map implementation, fast bulk put implementation for - DirectByteBuffer (speeds up this method 10x). -* Split gtk+ awt peers event handling in two threads and improve gdk lock - handling (solves several AWT lock ups). -* Speed up awt Image loading. -* Updated TimeZone data against Olson tzdata2005l. -* Make zip and jar UTF-8 "clean". -* "native" code builds and compiles (warning free) on Darwin and Solaris. - -Runtime interface changes: - -* All native resource "pointers" in the VM interface classes are now exposed - as gnu.classpath.Pointer objects. This might impact runtimes that - optimize and support java.nio.DirectByteBuffers. Creating these classes - and accessing the contents as void * pointers for the native reference JNI - implementation is done through the JCL_NewRawDataObject and JCL_GetRawData - functions. -* Simplified the Class/VMClass interface. -* Removed loadedClasses map from ClassLoader. It's now the VMs responsibility - to manage the list of defined and loaded classes for each class loader. -* Moved native methods from java.lang.reflect.Proxy to VMProxy. -* Added hook to VMClassLoader to allow VM to do class caching. - -New Untested/Disabled Features: - - The following new features are 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). If you are interested in any - of these then please join the mailing-list and follow development in - CVS. - -* QT4 AWT peers, enable by giving configure --enable-qt-peer. -* JDWP framework, enable by deleting the jdwp references from - lib/standard.omit and vm/reference/standard.omit. No default - implementation is provided. Work is being done on gcj/gij integration. -* StAX java.xml.stream, enable by deleting the gnu.xml.stream and - java.xml.stream references in lib/standard.omit. - -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. - |
