| New in release 0.92 (Aug 9, 2006) | |
| * 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. | |
| * 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. | |