| 1 | 14 | jlechner | New in release 0.20
 | 
      
         | 2 |  |  |  
 | 
      
         | 3 |  |  | Runtime interface changes:
 | 
      
         | 4 |  |  |  
 | 
      
         | 5 |  |  | * New method VMStackWalker.getClassLoader() was added to avoid an infinite
 | 
      
         | 6 |  |  |   loop between getCallingClassLoader() and Class.getClassLoader().
 | 
      
         | 7 |  |  |  
 | 
      
         | 8 |  |  | New in release 0.19 (Nov 2, 2005)
 | 
      
         | 9 |  |  |  
 | 
      
         | 10 |  |  | * The Swing RepaintManager has been reworked for more efficient painting,
 | 
      
         | 11 |  |  |   especially for large GUIs.
 | 
      
         | 12 |  |  |  
 | 
      
         | 13 |  |  | * The Swing layout manager OverlayLayout has been implemented, the BoxLayout
 | 
      
         | 14 |  |  |   has been rewritten to make use of the SizeRequirements utility class and
 | 
      
         | 15 |  |  |   caching for more efficient layout.
 | 
      
         | 16 |  |  |  
 | 
      
         | 17 |  |  | * Improved accessibility support for Swing.
 | 
      
         | 18 |  |  |  
 | 
      
         | 19 |  |  | * The java.net.HttpURLConnection implementation no longer buffers the
 | 
      
         | 20 |  |  |   entire response body in memory.  This means that response bodies
 | 
      
         | 21 |  |  |   larger than available memory can now be handled.
 | 
      
         | 22 |  |  |  
 | 
      
         | 23 |  |  | * The Andrew Watson, Vice President and Technical Director of the Object
 | 
      
         | 24 |  |  |   Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
 | 
      
         | 25 |  |  |   0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
 | 
      
         | 26 |  |  |   Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
 | 
      
         | 27 |  |  |   node in a highly interoperable CORBA world.
 | 
      
         | 28 |  |  |  
 | 
      
         | 29 |  |  | * Classpath now includes the first working draft to support the RMI over
 | 
      
         | 30 |  |  |   IIOP protocol. The current implementation is capable for remote invocations,
 | 
      
         | 31 |  |  |   transferring various Serializables and Externalizables via RMI-IIOP protocol.
 | 
      
         | 32 |  |  |   It can flatten graphs and, at least for the simple cases, is interoperable
 | 
      
         | 33 |  |  |   with Sun's jdk 1.5.
 | 
      
         | 34 |  |  |  
 | 
      
         | 35 |  |  | * Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
 | 
      
         | 36 |  |  |   users with a Qt4 installation can build the qt-peers with the argument
 | 
      
         | 37 |  |  |   --with-qt4dir=.
 | 
      
         | 38 |  |  |  
 | 
      
         | 39 |  |  | * Significant progress has been made in the implementation of the
 | 
      
         | 40 |  |  |   javax.swing.plaf.metal.* package, with most UI delegates in a working state
 | 
      
         | 41 |  |  |   now.  Please test this with your own applications and provide feedback that
 | 
      
         | 42 |  |  |   will help us to improve this package.
 | 
      
         | 43 |  |  |  
 | 
      
         | 44 |  |  | * The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
 | 
      
         | 45 |  |  |   highlight various features in our free-swing implementation. And includes
 | 
      
         | 46 |  |  |   a look and feel switcher (Metal default, Ocean or GNU).
 | 
      
         | 47 |  |  |  
 | 
      
         | 48 |  |  | Runtime interface changes:
 | 
      
         | 49 |  |  |  
 | 
      
         | 50 |  |  | * Changed implementation of VMClassLoader.getPackage(s) : new method
 | 
      
         | 51 |  |  |   VMClassLoader.getBootPackages should be implemented by the vm, and sould
 | 
      
         | 52 |  |  |   return a string array of boot package names ("java.lang", "java.net", ...).
 | 
      
         | 53 |  |  |   Feedback from vm implementors for usability and relevance of the
 | 
      
         | 54 |  |  |   getBootPackages method would be greatly appreciated.
 | 
      
         | 55 |  |  |  
 | 
      
         | 56 |  |  | New in release 0.18 (Sep 6, 2005)
 | 
      
         | 57 |  |  |  
 | 
      
         | 58 |  |  | * GNU JAWT implementation, the AWT Native Interface, which allows direct
 | 
      
         | 59 |  |  |   access to native screen resources from within a Canvas's paint method.
 | 
      
         | 60 |  |  |   GNU Classpath Examples comes with a Demo, see examples/README.
 | 
      
         | 61 |  |  | * awt.datatransfer updated to 1.5 with supports for FlavorEvents.
 | 
      
         | 62 |  |  |   The gtk+ awt peers now allow copy/paste of text, images, uris/files
 | 
      
         | 63 |  |  |   and serialized objects with other applications and tracking
 | 
      
         | 64 |  |  |   clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
 | 
      
         | 65 |  |  |   serialized objects are supported). A GNU Classpath Examples
 | 
      
         | 66 |  |  |   datatransfer Demo was added to show the new functionality.
 | 
      
         | 67 |  |  | * org.omg.PortableInterceptor and related functionality in other packages
 | 
      
         | 68 |  |  |   is now implemented:
 | 
      
         | 69 |  |  |     - The sever and client interceptors work as required since 1.4.
 | 
      
         | 70 |  |  |     - The IOR interceptor works as needed for 1.5.
 | 
      
         | 71 |  |  | * The org.omg.DynamicAny package is completed and passes the prepared tests.
 | 
      
         | 72 |  |  | * The Portable Object Adapter should now support the output of the
 | 
      
         | 73 |  |  |   recent IDL to java compilers. These compilers now generate servants and
 | 
      
         | 74 |  |  |   not CORBA objects as before, making the output depended on the existing
 | 
      
         | 75 |  |  |   POA implementation. Completing POA means that such code can already be
 | 
      
         | 76 |  |  |   tried to run on Classpath. Our POA is tested for the following usager
 | 
      
         | 77 |  |  |   scenarios:
 | 
      
         | 78 |  |  |     - POA converts servant to the CORBA object.
 | 
      
         | 79 |  |  |     - Servant provides to the CORBA object.
 | 
      
         | 80 |  |  |     - POA activates new CORBA object with the given Object Id (byte array)
 | 
      
         | 81 |  |  |       that is later accessible for the servant.
 | 
      
         | 82 |  |  |     - During the first call, the ServantActivator provides servant for this
 | 
      
         | 83 |  |  |       and all subsequent calls on the current object.
 | 
      
         | 84 |  |  |     - During each call, the ServantLocator provides servant for this call
 | 
      
         | 85 |  |  |       only.
 | 
      
         | 86 |  |  |     - ServantLocator or ServantActivator forwards call to another server.
 | 
      
         | 87 |  |  |     - POA has a single servant, responsible for all objects.
 | 
      
         | 88 |  |  |     - POA has a default servant, but some objects are explicitly connected
 | 
      
         | 89 |  |  |       to they specific servants.
 | 
      
         | 90 |  |  |   The POA is verified using tests from the former cost.omg.org.
 | 
      
         | 91 |  |  | * The javax.swing.plaf.multi.* package is now implemented.
 | 
      
         | 92 |  |  | * Editing and several key actions for JTree and JTable were implemented.
 | 
      
         | 93 |  |  | * Lots of icons and look and feel improvements for Free Swing basic and
 | 
      
         | 94 |  |  |   metal themes were added.  Try running the GNU Classpath Swing Demo in
 | 
      
         | 95 |  |  |   examples (gnu.classpath.examples.swing.Demo) with:
 | 
      
         | 96 |  |  |   -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
 | 
      
         | 97 |  |  |   -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
 | 
      
         | 98 |  |  | * Start of styled text capabilites for java.swing.text.
 | 
      
         | 99 |  |  | * NIO FileChannel.map implementation, fast bulk put implementation for
 | 
      
         | 100 |  |  |   DirectByteBuffer (speeds up this method 10x).
 | 
      
         | 101 |  |  | * Split gtk+ awt peers event handling in two threads and improve gdk lock
 | 
      
         | 102 |  |  |   handling (solves several AWT lock ups).
 | 
      
         | 103 |  |  | * Speed up awt Image loading.
 | 
      
         | 104 |  |  | * Updated TimeZone data against Olson tzdata2005l.
 | 
      
         | 105 |  |  | * Make zip and jar UTF-8 "clean".
 | 
      
         | 106 |  |  | * "native" code  builds and compiles (warning free) on Darwin and Solaris.
 | 
      
         | 107 |  |  |  
 | 
      
         | 108 |  |  | Runtime interface changes:
 | 
      
         | 109 |  |  |  
 | 
      
         | 110 |  |  | * All native resource "pointers" in the VM interface classes are now exposed
 | 
      
         | 111 |  |  |   as gnu.classpath.Pointer objects. This might impact runtimes that
 | 
      
         | 112 |  |  |   optimize and support java.nio.DirectByteBuffers. Creating these classes
 | 
      
         | 113 |  |  |   and accessing the contents as void * pointers for the native reference JNI
 | 
      
         | 114 |  |  |   implementation is done through the JCL_NewRawDataObject and JCL_GetRawData
 | 
      
         | 115 |  |  |   functions.
 | 
      
         | 116 |  |  | * Simplified the Class/VMClass interface.
 | 
      
         | 117 |  |  | * Removed loadedClasses map from ClassLoader. It's now the VMs responsibility
 | 
      
         | 118 |  |  |   to manage the list of defined and loaded classes for each class loader.
 | 
      
         | 119 |  |  | * Moved native methods from java.lang.reflect.Proxy to VMProxy.
 | 
      
         | 120 |  |  | * Added hook to VMClassLoader to allow VM to do class caching.
 | 
      
         | 121 |  |  |  
 | 
      
         | 122 |  |  | New Untested/Disabled Features:
 | 
      
         | 123 |  |  |  
 | 
      
         | 124 |  |  |   The following new features are included, but not ready for production
 | 
      
         | 125 |  |  |   yet. They are explicitly disabled and not supported. But if you want
 | 
      
         | 126 |  |  |   to help with the development of these new features we are interested
 | 
      
         | 127 |  |  |   in feedback. You will have to explicitly enable them to try them out
 | 
      
         | 128 |  |  |   (and they will most likely contain bugs). If you are interested in any
 | 
      
         | 129 |  |  |   of these then please join the mailing-list and follow development in
 | 
      
         | 130 |  |  |   CVS.
 | 
      
         | 131 |  |  |  
 | 
      
         | 132 |  |  | * QT4 AWT peers, enable by giving configure --enable-qt-peer.
 | 
      
         | 133 |  |  | * JDWP framework, enable by deleting the jdwp references from
 | 
      
         | 134 |  |  |   lib/standard.omit and vm/reference/standard.omit. No default
 | 
      
         | 135 |  |  |   implementation is provided. Work is being done on gcj/gij integration.
 | 
      
         | 136 |  |  | * StAX java.xml.stream, enable by deleting the gnu.xml.stream and
 | 
      
         | 137 |  |  |   java.xml.stream references in lib/standard.omit.
 | 
      
         | 138 |  |  |  
 | 
      
         | 139 |  |  | New in release 0.17 (Jul 15, 2005)
 | 
      
         | 140 |  |  |  
 | 
      
         | 141 |  |  | * gnu.xml fix for nodes created outside a namespace context.
 | 
      
         | 142 |  |  | * Add support for output indenting and cdata-section-elements output
 | 
      
         | 143 |  |  |   instruction in xml.transform.
 | 
      
         | 144 |  |  | * xml.xpath corrections for cases where elements/attributes might have
 | 
      
         | 145 |  |  |   been created in non-namespace-aware mode. Corrections to handling of
 | 
      
         | 146 |  |  |   XSL variables and minor conformance updates.
 | 
      
         | 147 |  |  | * DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
 | 
      
         | 148 |  |  |   traversal enumerations implemented.
 | 
      
         | 149 |  |  | * JInternalFrame colors and titlebar draw properly.
 | 
      
         | 150 |  |  | * JTree is working up to par (icons, selection and keyboard traversal).
 | 
      
         | 151 |  |  | * JMenus were made more compatible in visual and programmatic behavior.
 | 
      
         | 152 |  |  | * JTable changeSelection and multiple selections implemented.
 | 
      
         | 153 |  |  | * JButton and JToggleButton change states work properly now.
 | 
      
         | 154 |  |  | * JFileChooser fixes.
 | 
      
         | 155 |  |  | * revalidate and repaint fixes which make Free Swing much more responsive.
 | 
      
         | 156 |  |  | * Correctly handle system call interrupts and timeouts in native nio
 | 
      
         | 157 |  |  |   and net functions.
 | 
      
         | 158 |  |  | * MetalIconFactory implemented.
 | 
      
         | 159 |  |  | * Handle image loading errors correctly for gdkpixbuf and MediaTracker.
 | 
      
         | 160 |  |  | * Added Tree World to GNU Classpath examples Free Swing demo.
 | 
      
         | 161 |  |  | * FileChannel.lock() and FileChannel.force() implemented.
 | 
      
         | 162 |  |  | * java.util.logging.FileHandler now rotates files.
 | 
      
         | 163 |  |  | * Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
 | 
      
         | 164 |  |  | * Corba bug fixes and documentation updates.
 | 
      
         | 165 |  |  | * Updated gcj build infrastructure.
 | 
      
         | 166 |  |  | * Documentation fixes all over the place.
 | 
      
         | 167 |  |  |   See http://developer.classpath.org/doc/
 | 
      
         | 168 |  |  | * VM Integration Guide updates with a full section on VM/Classpath hooks.
 | 
      
         | 169 |  |  |  
 | 
      
         | 170 |  |  | New in release 0.16 (Jun 30, 2005)
 | 
      
         | 171 |  |  |  
 | 
      
         | 172 |  |  | * Better GTK scrollbar peer implementation when using GTK >= 2.6.
 | 
      
         | 173 |  |  | * GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
 | 
      
         | 174 |  |  | * BufferedImage and GtkImage rewrites. All image drawing operations
 | 
      
         | 175 |  |  |   should now work correctly (flipping requires gtk+ >= 2.6)
 | 
      
         | 176 |  |  | * Future Graphics2D, Image and Text work is documented at:
 | 
      
         | 177 |  |  |   http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
 | 
      
         | 178 |  |  | * Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
 | 
      
         | 179 |  |  |   JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
 | 
      
         | 180 |  |  |   can call add() and setLayout() directly on them, which will have the same
 | 
      
         | 181 |  |  |   effect as calling getContentPane().add() and getContentPane().setLayout().
 | 
      
         | 182 |  |  | * The JTree interface has been completed. JTrees now recognizes mouse clicks
 | 
      
         | 183 |  |  |   and selections work, but the visual implementation is not yet complete.
 | 
      
         | 184 |  |  |   Work on expansion and collapsing of the tree nodes is being implemented.
 | 
      
         | 185 |  |  | * BoxLayout works properly now.
 | 
      
         | 186 |  |  | * Fixed GrayFilter to actually work.
 | 
      
         | 187 |  |  | * Metal SplitPane implemented.
 | 
      
         | 188 |  |  | * Lots of free swing text and editor stuff work now.
 | 
      
         | 189 |  |  |  
 | 
      
         | 190 |  |  | * When gtk+ 2.6 or higher is installed the default log handler will produce
 | 
      
         | 191 |  |  |   stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
 | 
      
         | 192 |  |  |  
 | 
      
         | 193 |  |  | * The CORBA implementation is now a working prototype that should support
 | 
      
         | 194 |  |  |   features up till 1.3 inclusive.
 | 
      
         | 195 |  |  |   We would invite groups writing CORBA dependent applications to
 | 
      
         | 196 |  |  |   try Classpath implementation, reporting any possible bugs.
 | 
      
         | 197 |  |  |  
 | 
      
         | 198 |  |  |   The CORBA prototype is interoperable with Sun's implementation v 1.4,
 | 
      
         | 199 |  |  |   transferring object references, primitive types, narrow and wide
 | 
      
         | 200 |  |  |   strings, arrays, structures, trees, abstract interfaces and
 | 
      
         | 201 |  |  |   value types (feature of CORBA 2.3) between these two platforms.
 | 
      
         | 202 |  |  |   The remote exceptions are transferred and handled correctly.
 | 
      
         | 203 |  |  |   The stringified object references (IORs) from various sources are
 | 
      
         | 204 |  |  |   parsed as required.
 | 
      
         | 205 |  |  |   The transient (for current session) and permanent (till jre restart)
 | 
      
         | 206 |  |  |   redirections work.
 | 
      
         | 207 |  |  |   Both Little and Big Endian encoded messages are accepted.
 | 
      
         | 208 |  |  |   The implementation is verified using tests from the former cost.omg.org.
 | 
      
         | 209 |  |  |   The current release includes working examples (see the examples directory),
 | 
      
         | 210 |  |  |   demonstrating the client-server communication, using either CORBA Request
 | 
      
         | 211 |  |  |   or IDL-based  stub (usually generated by a IDL to java compiler).
 | 
      
         | 212 |  |  |   These examples also show how to use the Classpath CORBA naming service.
 | 
      
         | 213 |  |  |   The IDL to java compiler is not yet written, but as our library must be
 | 
      
         | 214 |  |  |   compatible, it naturally accepts the output of other idlj implementations.
 | 
      
         | 215 |  |  |  
 | 
      
         | 216 |  |  | * New --with-vm-classes configure option, and new 'build' setting
 | 
      
         | 217 |  |  |   for --with-glibj. (Only for integrators.)
 | 
      
         | 218 |  |  |  
 | 
      
         | 219 |  |  | Runtime interface changes:
 | 
      
         | 220 |  |  |  
 | 
      
         | 221 |  |  | * Start of a generic JDWP framework in gnu/classpath/jdwp.
 | 
      
         | 222 |  |  |   This is unfinished, but feedback (at classpath@gnu.org) from runtime
 | 
      
         | 223 |  |  |   hackers is greatly appreciated. Although most of the work is currently
 | 
      
         | 224 |  |  |   being done around gcj/gij we want this framework to be as VM neutral as
 | 
      
         | 225 |  |  |   possible. Early design is described in:
 | 
      
         | 226 |  |  |   http://gcc.gnu.org/ml/java/2005-05/msg00260.html
 | 
      
         | 227 |  |  | * Native method VMClass.getModifiers() now takes an additional
 | 
      
         | 228 |  |  |   boolean parameter.
 | 
      
         | 229 |  |  | * Deprecated native method VMClassLoader.defineClass(ClassLoader,
 | 
      
         | 230 |  |  |   String, byte[], int, int) has been replaced by
 | 
      
         | 231 |  |  |   VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
 | 
      
         | 232 |  |  |   ProtectionDomain)
 | 
      
         | 233 |  |  | * VMClassLoader.loadClass(String name, boolean resolve) is now native,
 | 
      
         | 234 |  |  |   replacing the former version which just returned null.
 | 
      
         | 235 |  |  | * Deprecated native method VMClassLoader.getPrimitiveClass(String) has
 | 
      
         | 236 |  |  |   been replaced by new native method VMClassLoader.getPrimitiveClass(char).
 | 
      
         | 237 |  |  | * Previously empty implementations of methods VMThread.countStackFrames(),
 | 
      
         | 238 |  |  |   VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
 | 
      
         | 239 |  |  |   been removed; these methods are now native methods.
 | 
      
         | 240 |  |  | * Fields "exceptionTypes" and "parameterTypes" have been removed from
 | 
      
         | 241 |  |  |   Contructor.java and getExceptionTypes() and getParameterTypes() are
 | 
      
         | 242 |  |  |   now native methods.
 | 
      
         | 243 |  |  |  
 | 
      
         | 244 |  |  | New in release 0.15 (Apr 29, 2005)
 | 
      
         | 245 |  |  |  
 | 
      
         | 246 |  |  | * The old character encoding framework (gnu.java.io.EncodingManager)
 | 
      
         | 247 |  |  | has been replaced by a system based completely on nio.charset
 | 
      
         | 248 |  |  | providers. Many converters have been added, both the io, lang and nio
 | 
      
         | 249 |  |  | frameworks now use the same set of converters and the whole character
 | 
      
         | 250 |  |  | stream framework (Readers and Writers) have been optimized. For some
 | 
      
         | 251 |  |  | workloads this leads to 2x till 20x speedups.
 | 
      
         | 252 |  |  |  
 | 
      
         | 253 |  |  | The default charsets supported are:
 | 
      
         | 254 |  |  |  
 | 
      
         | 255 |  |  |   Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
 | 
      
         | 256 |  |  |   Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
 | 
      
         | 257 |  |  |   ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
 | 
      
         | 258 |  |  |   ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
 | 
      
         | 259 |  |  |   MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
 | 
      
         | 260 |  |  |   MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
 | 
      
         | 261 |  |  |   UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
 | 
      
         | 262 |  |  |   Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
 | 
      
         | 263 |  |  |   Windows1256, Windows1257, Windows1258.
 | 
      
         | 264 |  |  |  
 | 
      
         | 265 |  |  | Many more encoding are supported through the new IconvProvider
 | 
      
         | 266 |  |  | depending on the platform iconv support. GNU libiconv is recommended.
 | 
      
         | 267 |  |  | The IconvProvider is currently not enabled by default. To enable it
 | 
      
         | 268 |  |  | define the system property gnu.classpath.nio.charset.provider.iconv=true.
 | 
      
         | 269 |  |  | Some runtimes might choose to enable this by default by setting it
 | 
      
         | 270 |  |  | through VMSystemProperties. We would like to get feedback on whether
 | 
      
         | 271 |  |  | enabling or disabling the IconvProvider by default results in the
 | 
      
         | 272 |  |  | highest speedups.
 | 
      
         | 273 |  |  |  
 | 
      
         | 274 |  |  | * Free swing metal and pluggable look and feels have been improved.
 | 
      
         | 275 |  |  | The GNU Classpath free swing example can now be run with different
 | 
      
         | 276 |  |  | "skins" by setting the system property swing.defaultlaf to the GNU,
 | 
      
         | 277 |  |  | Basic or Metal look and feel.
 | 
      
         | 278 |  |  |  
 | 
      
         | 279 |  |  | * Some of the org.omg.CORBA classes and packages have now been
 | 
      
         | 280 |  |  | implemented. The Savannah bug tracker contains additional tasks for
 | 
      
         | 281 |  |  | which we are seeking help.
 | 
      
         | 282 |  |  |  
 | 
      
         | 283 |  |  | * Fixed compatibility problems in the java.beans which affected
 | 
      
         | 284 |  |  | Eclipse's Visual Editor Project.
 | 
      
         | 285 |  |  |  
 | 
      
         | 286 |  |  | * New completely lock free (Inheritable)ThreadLocal implementation.
 | 
      
         | 287 |  |  |  
 | 
      
         | 288 |  |  | * javax.swing.text.rtf framework added which can handle simple (plain)
 | 
      
         | 289 |  |  | text tokens.
 | 
      
         | 290 |  |  |  
 | 
      
         | 291 |  |  | * Support for parsing html files into Level 2 Document Object Model
 | 
      
         | 292 |  |  | (org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
 | 
      
         | 293 |  |  | javax.swing.text.html framework added.
 | 
      
         | 294 |  |  |  
 | 
      
         | 295 |  |  | Runtime interface changes:
 | 
      
         | 296 |  |  |  
 | 
      
         | 297 |  |  | * jni.h changed to better support compiling runtimes implementing jni;
 | 
      
         | 298 |  |  |   see VM integration guide for details.
 | 
      
         | 299 |  |  | * New --enable-default-toolkit option to configure can be used to set
 | 
      
         | 300 |  |  |   the fully qualified class name of the default AWT toolkit to use.
 | 
      
         | 301 |  |  |   If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
 | 
      
         | 302 |  |  |   is used.
 | 
      
         | 303 |  |  | * New --disable-core-jni option can be used to disable building the
 | 
      
         | 304 |  |  |   "core" JNI libraries.  This is primarily useful if your VM can use the
 | 
      
         | 305 |  |  |   Gtk peers but not the core JNI libraries.
 | 
      
         | 306 |  |  | * New system property "gnu.classpath.boot.library.path" can be specified
 | 
      
         | 307 |  |  |   to define the location of the JNI libraries. It is by all means meant
 | 
      
         | 308 |  |  |   ONLY for VM implementors and GNU Classpath hackers. See the hacking
 | 
      
         | 309 |  |  |   guide for more information.
 | 
      
         | 310 |  |  | * The helper methods currentLoader() and allocateObject() for
 | 
      
         | 311 |  |  |   java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
 | 
      
         | 312 |  |  |   Reference implementations are provided.
 | 
      
         | 313 |  |  | * java.net.InetAddress now uses VMInetAddress for runtime/platform
 | 
      
         | 314 |  |  |   specific methods getLocalHostname(), getHostByAddr() and
 | 
      
         | 315 |  |  |   getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
 | 
      
         | 316 |  |  |   for runtime/platform specific getInterfaces() support. Default
 | 
      
         | 317 |  |  |   (Posix/GNU JNI) implementations are provided.
 | 
      
         | 318 |  |  | * VMClass has a new method getModifiers(Class, boolean) which can be
 | 
      
         | 319 |  |  |   used to get the real modifiers for an inner class or the ones
 | 
      
         | 320 |  |  |   specified by the InnerClasses attribute.
 | 
      
         | 321 |  |  | * All (possible) runtime specific methods of Object and Double are now
 | 
      
         | 322 |  |  |   in VMObject and VMDouble. Where possible generic reference
 | 
      
         | 323 |  |  |   implementations are provided.
 | 
      
         | 324 |  |  | * The reference implementation of VMClassLoader now handles zip files
 | 
      
         | 325 |  |  |   on the boot loader class path in getResources().
 | 
      
         | 326 |  |  |  
 | 
      
         | 327 |  |  | Other changes:
 | 
      
         | 328 |  |  |  
 | 
      
         | 329 |  |  | New in release 0.14 (Feb 25, 2005)
 | 
      
         | 330 |  |  |  
 | 
      
         | 331 |  |  | * Character encoders and decoders have been added for:
 | 
      
         | 332 |  |  |   iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
 | 
      
         | 333 |  |  |   iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
 | 
      
         | 334 |  |  |   ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
 | 
      
         | 335 |  |  |   UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
 | 
      
         | 336 |  |  | * Full documentation for all classes can be generated (again) by using
 | 
      
         | 337 |  |  |   the --with-gjdoc configure option.
 | 
      
         | 338 |  |  | * javax.awt.imageio support through gdkpixbuf.
 | 
      
         | 339 |  |  |  
 | 
      
         | 340 |  |  | Runtime interface changes:
 | 
      
         | 341 |  |  |  
 | 
      
         | 342 |  |  | * VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
 | 
      
         | 343 |  |  |   currentClassLoader() is no longer needed, and there are also two new
 | 
      
         | 344 |  |  |   methods with non-native implementations. VM implementors are encouraged
 | 
      
         | 345 |  |  |   to provide more efficient versions.
 | 
      
         | 346 |  |  | * VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
 | 
      
         | 347 |  |  |  
 | 
      
         | 348 |  |  | New in release 0.13 (Jan 6, 2005)
 | 
      
         | 349 |  |  |  
 | 
      
         | 350 |  |  | * The http url protocol handler has been replaced with a full HTTP/1.1
 | 
      
         | 351 |  |  |   version from GNU inetlib.
 | 
      
         | 352 |  |  | * A new ftp url protocol handler has been added also from GNU inetlib.
 | 
      
         | 353 |  |  | * java.beans has been updated to 1.4 including support for XMLEncoder
 | 
      
         | 354 |  |  |   and XMLDecoder.
 | 
      
         | 355 |  |  | * The java.util.Locale support is now based on the Common Locale Data
 | 
      
         | 356 |  |  |   Repository (CLDR) Project (see http://www.unicode.org/cldr/).
 | 
      
         | 357 |  |  |   GNU Classpath provides support for more than 250 locales now.
 | 
      
         | 358 |  |  |   This new support is experimental and the GNU Classpath hackers are
 | 
      
         | 359 |  |  |   working together with runtime developers and the unicode consortium
 | 
      
         | 360 |  |  |   to improve them in the future.
 | 
      
         | 361 |  |  |   If your runtime misdetects your locale or if the default locale gives
 | 
      
         | 362 |  |  |   problems please try running with -Duser.language=en and -Duser.region=US
 | 
      
         | 363 |  |  |   to fall back on a known good locale.
 | 
      
         | 364 |  |  | * Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
 | 
      
         | 365 |  |  |   org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
 | 
      
         | 366 |  |  |   different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
 | 
      
         | 367 |  |  |   libxmlj DOM and libxmlj XSL by setting different system properties.
 | 
      
         | 368 |  |  |   Also provided is a preliminary XPath 1.0 implementation.
 | 
      
         | 369 |  |  |   The libxmlj versions are build around libxml2 and libxslt and have to
 | 
      
         | 370 |  |  |   be enabled during build time by the --enable-xmlj configure flag.
 | 
      
         | 371 |  |  |   The current support is equal to the last released GNU JAXP 1.3 release.
 | 
      
         | 372 |  |  |   These packages will be maintained as part of the GNU Classpath core classes
 | 
      
         | 373 |  |  |   in the future. For more information, conformance results and documentation
 | 
      
         | 374 |  |  |   on selecting different implementations see doc/README.jaxp.
 | 
      
         | 375 |  |  | * More AWT accessible support.
 | 
      
         | 376 |  |  | * AWT gtk+ peers component layout, dialog placement, keyboard focus
 | 
      
         | 377 |  |  |   handling and text positioning have been improved.
 | 
      
         | 378 |  |  | * ImageIO interfaces are more complete.
 | 
      
         | 379 |  |  | * JList, JTable and JTree have been hugely improved.
 | 
      
         | 380 |  |  | * java.awt.Robot support with GdkRobot in the gtk+ awt peers.
 | 
      
         | 381 |  |  |   Needs XTest Extension (libXtst) XServer support.
 | 
      
         | 382 |  |  | * New --disable-examples configure argument.
 | 
      
         | 383 |  |  |  
 | 
      
         | 384 |  |  | Runtime interface changes:
 | 
      
         | 385 |  |  |  
 | 
      
         | 386 |  |  | * Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
 | 
      
         | 387 |  |  |   to lazily register an exit handler.
 | 
      
         | 388 |  |  | * The java.lang.Class constructor now automatically sets the protection
 | 
      
         | 389 |  |  |   domain for array classes, based on the protection domain of the component
 | 
      
         | 390 |  |  |   type class.
 | 
      
         | 391 |  |  | * New gnu.classpath.VMSystemProperties class. This replaces the
 | 
      
         | 392 |  |  |   system properties initialization in VMRuntime. Note that it is
 | 
      
         | 393 |  |  |   now the VMs responsibility to set one additional property:
 | 
      
         | 394 |  |  |   gnu.cpu.endian should be set to "big" or "little".
 | 
      
         | 395 |  |  | * VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
 | 
      
         | 396 |  |  |   and has only one argument, the name of the library.
 | 
      
         | 397 |  |  | * String and StringBuffer now call VMSystem.arraycopy() directly and don't
 | 
      
         | 398 |  |  |   go through java.lang.System. Be careful to not initialize java.lang.System
 | 
      
         | 399 |  |  |   early in the bootstrap sequence in your VM runtime interface classes.
 | 
      
         | 400 |  |  | * Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
 | 
      
         | 401 |  |  |   has been updated. Also, VMThread.sleep() now has a default non-native
 | 
      
         | 402 |  |  |   implementation, but it is a generic implementation that ignores the
 | 
      
         | 403 |  |  |   nano-seconds argument. Runtime hackers are encouraged to provide a more
 | 
      
         | 404 |  |  |   efficient version.
 | 
      
         | 405 |  |  | * There is prelimenary support for nio direct byte buffers.
 | 
      
         | 406 |  |  |   See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
 | 
      
         | 407 |  |  |   you add support for this to your runtime.
 | 
      
         | 408 |  |  |  
 | 
      
         | 409 |  |  | New in release 0.12 (Nov 14, 2004)
 | 
      
         | 410 |  |  |  
 | 
      
         | 411 |  |  | * GNU Classpath's JAR implementation now has preliminary support for
 | 
      
         | 412 |  |  |   signed entries, for so called "signed JAR" file support. Signed JAR
 | 
      
         | 413 |  |  |   files are one of the key security features of managed runtimes, and
 | 
      
         | 414 |  |  |   allows code to run privileged given unforgeable proofs of identity.
 | 
      
         | 415 |  |  | * A much improved version of X.509 certificates has been added,
 | 
      
         | 416 |  |  |   including a robust certificate path checking algorithm. Also
 | 
      
         | 417 |  |  |   included is an implementation of the RSA signature scheme.
 | 
      
         | 418 |  |  | * Full java.awt.color implementation, with all standard ICC profiles,
 | 
      
         | 419 |  |  |   except for PhotoYCC color space.
 | 
      
         | 420 |  |  | * java.beans 1.4 updates and bug fixes.
 | 
      
         | 421 |  |  | * java.awt.image support updated to 1.4.
 | 
      
         | 422 |  |  | * Improved build process. Uses less memory with gcj and C code is
 | 
      
         | 423 |  |  |   buildable with -Werror on most platform. Please configure with
 | 
      
         | 424 |  |  |   --enable-Werror and report any remaining issues.
 | 
      
         | 425 |  |  | * Big-endian (PowerPC) fixes for native awt GTK+ peers.
 | 
      
         | 426 |  |  | * Checkstyle support, see scripts/checkstyle-config.xml.
 | 
      
         | 427 |  |  | * Better AWT focus management fro GTK+ peers.
 | 
      
         | 428 |  |  | * Much faster and better fonts support
 | 
      
         | 429 |  |  |   (for both gdk Graphics and cairo Graphics2D)
 | 
      
         | 430 |  |  | * AWT Choice fixes for hidden components.
 | 
      
         | 431 |  |  | * HTTP Connection Handler fixes for POST support.
 | 
      
         | 432 |  |  | * Much fuller collection documentation.
 | 
      
         | 433 |  |  | * Lots of Calendar bug fixes.
 | 
      
         | 434 |  |  | * More javax.imageio support.
 | 
      
         | 435 |  |  | * Better AWT Help MenuBar support.
 | 
      
         | 436 |  |  | * Lookahead support for regular expressions.
 | 
      
         | 437 |  |  | * Serialization object stream fixes for multiple ClassLoader scenarios.
 | 
      
         | 438 |  |  | * Swing TabbedPane, ColorChooser and ComboBox improvements.
 | 
      
         | 439 |  |  | * Start of JTree functionality.
 | 
      
         | 440 |  |  | * Improved Eclipse 3 support for GNU Classpath based runtimes.
 | 
      
         | 441 |  |  |  
 | 
      
         | 442 |  |  | Runtime interface Changes:
 | 
      
         | 443 |  |  |  
 | 
      
         | 444 |  |  | * New --enable-java-lang-system-explicit-initialization configuration
 | 
      
         | 445 |  |  |   option. (Warning, will be replaced in next release, please consult
 | 
      
         | 446 |  |  |   the mailinglist.)
 | 
      
         | 447 |  |  | * The reference implementation of VMClassLoader has default
 | 
      
         | 448 |  |  |   implementations for getResource(s) and provides support for a new
 | 
      
         | 449 |  |  |   default getSystemClassLoader implementation.
 | 
      
         | 450 |  |  |  
 | 
      
         | 451 |  |  | New in release 0.11 (Sep 13, 2004)
 | 
      
         | 452 |  |  |  
 | 
      
         | 453 |  |  | * javax.swing.Spring and SpringLayout support.
 | 
      
         | 454 |  |  | * Added pluggable look and feel support for BasicTextFieldUI and
 | 
      
         | 455 |  |  |   BasicToolBarSeparatorUI.
 | 
      
         | 456 |  |  | * java.swing.text support for (Default and Layered) Highlighter, FieldView,
 | 
      
         | 457 |  |  |   PlainView, TabExpander and TabableView added.
 | 
      
         | 458 |  |  | * Start of JTable and JTree implementation.
 | 
      
         | 459 |  |  | * Internal Swing frames work.
 | 
      
         | 460 |  |  | * JMenu and JPopupMenu work.
 | 
      
         | 461 |  |  | * New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
 | 
      
         | 462 |  |  | * java.awt.image LookupTables and kernel support.
 | 
      
         | 463 |  |  | * Improved java.awt.image.BufferedImage support.
 | 
      
         | 464 |  |  | * AWT 1.0 event model support.
 | 
      
         | 465 |  |  | * GNU Classpath now comes with some example programs (see examples/README).
 | 
      
         | 466 |  |  | * New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
 | 
      
         | 467 |  |  |   javax.net.ssl, javax.security.auth, javax.security.auth.callback,
 | 
      
         | 468 |  |  |   javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
 | 
      
         | 469 |  |  |   and org.ietf.jgss packages are now officially part of GNU Classpath.
 | 
      
         | 470 |  |  |   Extra crypto algorithms can be obtained from the GNU Crypto project,
 | 
      
         | 471 |  |  |   a full TLS implementation is provided by the Jessie project.
 | 
      
         | 472 |  |  |   http://www.gnu.org/software/gnu-crypto/
 | 
      
         | 473 |  |  |   http://www.nongnu.org/jessie/
 | 
      
         | 474 |  |  | * Frame.setIconImage() support.
 | 
      
         | 475 |  |  | * AWT GDKGraphics scaling.
 | 
      
         | 476 |  |  | * New configure flag --enable-gtk-cairo to build Graphics2D implementation
 | 
      
         | 477 |  |  |   build on cairo and pangoft2.  Enabled at runtime by defining the system
 | 
      
         | 478 |  |  |   property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
 | 
      
         | 479 |  |  | * javax.swing.JSpinner implemented.
 | 
      
         | 480 |  |  | * Extensive documentation update for java.util collection classes.
 | 
      
         | 481 |  |  | * java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
 | 
      
         | 482 |  |  | * GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
 | 
      
         | 483 |  |  |   tool integrators are encouraged to directly integrate GNU JAXP.
 | 
      
         | 484 |  |  |   This release has been tested against GNU JAXP 1.1.
 | 
      
         | 485 |  |  |   http://www.gnu.org/software/classpathx/jaxp/jaxp.html
 | 
      
         | 486 |  |  | * JColorChooser, JComboBox and JTextField implemented, including example
 | 
      
         | 487 |  |  |   uses in GNU Classpath Examples swing Demo.
 | 
      
         | 488 |  |  |  
 | 
      
         | 489 |  |  | Runtime interface Changes:
 | 
      
         | 490 |  |  |  
 | 
      
         | 491 |  |  | * java.lang.Compiler now uses the new java.lang.VMCompiler; there is
 | 
      
         | 492 |  |  |   a reference implementation that most VMs can use.
 | 
      
         | 493 |  |  | * java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
 | 
      
         | 494 |  |  |   implementation that should work on most Posix like systems.
 | 
      
         | 495 |  |  | * java.util.TimeZone has been split into a platform independent class and
 | 
      
         | 496 |  |  |   a platform dependent class VMTimeZone.  GNU Classpath comes with a generic
 | 
      
         | 497 |  |  |   way to get at the default time zone for Posix/GNU-like platforms.
 | 
      
         | 498 |  |  | * [VM]AccessController improvements.  In particular it handles
 | 
      
         | 499 |  |  |   `doPrivileged' calls better, and allows for recursive `doPrivileged'
 | 
      
         | 500 |  |  |   calls in the same Thread. (see vm/reference/java/security/)
 | 
      
         | 501 |  |  |  
 | 
      
         | 502 |  |  | New in release 0.10 (Jul 9, 2004)
 | 
      
         | 503 |  |  |  
 | 
      
         | 504 |  |  | * java.net.URL now uses application classloader to load URLStreamHandlers
 | 
      
         | 505 |  |  |   and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
 | 
      
         | 506 |  |  | * java.io.File.deleteOnExit() implementation.
 | 
      
         | 507 |  |  | * java.text multiple new features and bug fixes
 | 
      
         | 508 |  |  |   (only 2 out of the 1000+ java.text Mauve tests now fail).
 | 
      
         | 509 |  |  | * Better (non-black) default AWT System colors.
 | 
      
         | 510 |  |  | * AWT lists use GTK treeviews.
 | 
      
         | 511 |  |  | * Proper AWT focus management has been implemented.
 | 
      
         | 512 |  |  | * Swing menus and scrollpanes are beginning to work.
 | 
      
         | 513 |  |  | * Swing splitpanes, dialogs and internal frames were added.
 | 
      
         | 514 |  |  | * Swing repainting / double buffering was redone.
 | 
      
         | 515 |  |  | * Font management and Pango DPI conversion fixes.
 | 
      
         | 516 |  |  | * A lot of AWT imaging and event bugs have been picked out.
 | 
      
         | 517 |  |  | * More of javax.swing.text has been implemented.
 | 
      
         | 518 |  |  | * javax.swing.Timer has been reimplemented.
 | 
      
         | 519 |  |  | * java.security.AccessController has been implemented
 | 
      
         | 520 |  |  |   (see runtime section).
 | 
      
         | 521 |  |  | * The default java.lang.SecurityManager now uses AccessController.
 | 
      
         | 522 |  |  | * New java.beans.Statement and Expression implementations.
 | 
      
         | 523 |  |  | * Small FileChannel implementation speed improvement for traditional
 | 
      
         | 524 |  |  |   JNI based systems.
 | 
      
         | 525 |  |  | * Regenerated all included JNI header files with gcjh (3.5 CVS),
 | 
      
         | 526 |  |  |   removes extra extern modifier and allows stricter compiler warning.
 | 
      
         | 527 |  |  | * More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
 | 
      
         | 528 |  |  |   -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
 | 
      
         | 529 |  |  |   made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
 | 
      
         | 530 |  |  | * Double.toString() and Float.toString() now work properly on 64-bit
 | 
      
         | 531 |  |  |   PowerPC systems.
 | 
      
         | 532 |  |  | * PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
 | 
      
         | 533 |  |  | * Build system refactored and removed old Japhar specific support.
 | 
      
         | 534 |  |  | * The gnu.java.awt.EmbeddedWindow class has been improved, and now
 | 
      
         | 535 |  |  |   supports embedding AWT windows in other top-level X windows.
 | 
      
         | 536 |  |  |   This functionality is required by gcjwebplugin.
 | 
      
         | 537 |  |  | * gcjwebplugin, an applet viewer that can be embedded into several web
 | 
      
         | 538 |  |  |   browsers, has been extensively tested with this release of classpath.
 | 
      
         | 539 |  |  |   (See http://www.nongnu.org/gcjwebplugin/)
 | 
      
         | 540 |  |  | * Runtime environments based on GNU Classpath 0.10 should be able to
 | 
      
         | 541 |  |  |   start up Eclipse 3.0 out of the box now.
 | 
      
         | 542 |  |  |  
 | 
      
         | 543 |  |  | Runtime interface Changes:
 | 
      
         | 544 |  |  |  
 | 
      
         | 545 |  |  | * VMProcess.destroy() default implementation fixes.
 | 
      
         | 546 |  |  | * Fixed the "portable native sync" code; it had been broken since
 | 
      
         | 547 |  |  |   Classpath release 0.06, when we upgraded to GTK+2.
 | 
      
         | 548 |  |  |   Classpath's AWT peers use GTK+.  GTK+ uses GLIB.  GLIB by default uses
 | 
      
         | 549 |  |  |   the platform's native threading model -- pthreads in most cases.
 | 
      
         | 550 |  |  |   If the Java runtime doesn't use the native threading model, then you should
 | 
      
         | 551 |  |  |   specify --portable-native-sync when configuring Classpath, so that GLIB will
 | 
      
         | 552 |  |  |   use the Java threading primitives instead.  (For a superior alternative,
 | 
      
         | 553 |  |  |   see below.)
 | 
      
         | 554 |  |  | * The VM can set the system property
 | 
      
         | 555 |  |  |   gnu.classpath.awt.gtk.portable.native.sync instead of using the
 | 
      
         | 556 |  |  |   --portable-native-sync configure-type option.
 | 
      
         | 557 |  |  |   See doc/vmintegration.texinfo for details.
 | 
      
         | 558 |  |  | * We intend that the next release of GNU Classpath will require the VM
 | 
      
         | 559 |  |  |   to provide JNI 1.2.  Classpath currently uses only JNI 1.1, except for
 | 
      
         | 560 |  |  |   one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
 | 
      
         | 561 |  |  |   If this poses problems, please raise them on the classpath mailing list.
 | 
      
         | 562 |  |  | * The reference implementation of VMThread.holdsLock(Object) now has
 | 
      
         | 563 |  |  |   a default implementation written in java. For efficiency and to
 | 
      
         | 564 |  |  |   prevent spurious wakeups a real 'native' runtime version can be supplied.
 | 
      
         | 565 |  |  | * There is a new java.security.VMAccessController class that runtimes need
 | 
      
         | 566 |  |  |   to implement to properly support SecurityManagers. The default
 | 
      
         | 567 |  |  |   implementation that comes with GNU Classpath makes sure that ANY attempt
 | 
      
         | 568 |  |  |   to access a protected resource is denied when a SecurityManager is
 | 
      
         | 569 |  |  |   installed. Which is pretty secure, but also no very useful.
 | 
      
         | 570 |  |  |   Please see the documentation in
 | 
      
         | 571 |  |  |   vm/reference/java/security/VMAccessController.java,
 | 
      
         | 572 |  |  |   and please give feedback on the GNU Classpath mailinglist whether or not
 | 
      
         | 573 |  |  |   the current AccessController framework is flexible enough.
 | 
      
         | 574 |  |  |  
 | 
      
         | 575 |  |  | New in release 0.09 (May 2, 2004)
 | 
      
         | 576 |  |  |  
 | 
      
         | 577 |  |  | * Includes updated GNU JAXP version from 2004-02-01.
 | 
      
         | 578 |  |  | * Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
 | 
      
         | 579 |  |  | * java.io is now implemented by delegating most tasks directly to java.nio.
 | 
      
         | 580 |  |  | * Reworked/Optimized implementations of java.nio.Buffer and subclasses.
 | 
      
         | 581 |  |  | * New javax.print, javax.print.attribute[.standard] and javax.print.event
 | 
      
         | 582 |  |  |   packages and classes.
 | 
      
         | 583 |  |  | * java.text attributed iterators support.
 | 
      
         | 584 |  |  | * New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
 | 
      
         | 585 |  |  |   classes.
 | 
      
         | 586 |  |  | * GNU Classpath can now load service providers that are described via
 | 
      
         | 587 |  |  |   META-INF/services/* resources in extension JARs. This is useful for
 | 
      
         | 588 |  |  |   implementing the various APIs that are supposed to be extensible via
 | 
      
         | 589 |  |  |   custom plugins. For details, please see the documentation of
 | 
      
         | 590 |  |  |   gnu.classpath.ServiceFactory.
 | 
      
         | 591 |  |  |   Application developers are strongly discouraged from calling glibj
 | 
      
         | 592 |  |  |   internal packages.  Instead, they might want invoke the newly implemented
 | 
      
         | 593 |  |  |   javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
 | 
      
         | 594 |  |  |   method for loading plug-ins.
 | 
      
         | 595 |  |  | * New developers wanting to help the GNU Classpath project might want to
 | 
      
         | 596 |  |  |   review the greatly expanded Hacker Guide included in the doc directory
 | 
      
         | 597 |  |  |   or online at http://www.gnu.org/software/classpath/docs/hacking.html
 | 
      
         | 598 |  |  |   Also the FAQ has been expanded. And when working from CVS you can now use
 | 
      
         | 599 |  |  |   a simple autogen.sh script to get all autotools magic done automagically.
 | 
      
         | 600 |  |  | * New configure option --with-glibj which defines how to install the glibj
 | 
      
         | 601 |  |  |   class files as zip, as flat directory files or both (zip|flat|both)
 | 
      
         | 602 |  |  |   [default=zip].  When working with multiple runtimes some of which might
 | 
      
         | 603 |  |  |   not support bootstrap classes in zip files the --with-glibj=both option
 | 
      
         | 604 |  |  |   is recommended (this does take extra disc space).
 | 
      
         | 605 |  |  | * Two big code drops from the libgcj gui branch updating various java.awt
 | 
      
         | 606 |  |  |   and javax.swing classes.
 | 
      
         | 607 |  |  | * Multiple java.net.InetAdress fixes and java.rmi fixes.
 | 
      
         | 608 |  |  | * ServerSocket.accept() now restarts listening when system call interrupted.
 | 
      
         | 609 |  |  | * Much cleanups to make standard API doc valid XHTML (not completed yet).
 | 
      
         | 610 |  |  | * A scan for unused variables and non-static invocation of static methods
 | 
      
         | 611 |  |  |   turned up a couple of subtle bugs which have now all been fixed.
 | 
      
         | 612 |  |  | * The Mauve testsuite has been cleaned up considerable and lots of issues
 | 
      
         | 613 |  |  |   in the GNU Classpath core class implementation have been fixed.
 | 
      
         | 614 |  |  |  
 | 
      
         | 615 |  |  | VM Interface changes:
 | 
      
         | 616 |  |  |  
 | 
      
         | 617 |  |  | * java.lang.Class/VMClass interface was changed. The interface now no
 | 
      
         | 618 |  |  |   longer requires an instance of VMClass for each Class instance. Instead
 | 
      
         | 619 |  |  |   the field vmdata in Class is now of type Object.
 | 
      
         | 620 |  |  | * GNU Classpath now assumes that JNI calls SetXField can modify final
 | 
      
         | 621 |  |  |   fields. This was previously used silently for System.in/out/err and should
 | 
      
         | 622 |  |  |   be considered as a feature now.
 | 
      
         | 623 |  |  | * A new VMProcess and a sample JNI C implementation are now provided to
 | 
      
         | 624 |  |  |   make Runtime.exec() work out of the box on some systems.  This requires
 | 
      
         | 625 |  |  |   a small change to VMRuntime.exec() when a runtime wants to use it as the
 | 
      
         | 626 |  |  |   default java.lang.Process implementation.
 | 
      
         | 627 |  |  | * The implementation of most of java.io through java.nio moved serveral
 | 
      
         | 628 |  |  |   runtime specific I/O methods. Most methods do have a generic default native
 | 
      
         | 629 |  |  |   C JNI implementation in native/jni/java-nio.
 | 
      
         | 630 |  |  | * Runtime support methods for java.io.File have been moved to VMFile which
 | 
      
         | 631 |  |  |   also comes with a default JNI C implementation.
 | 
      
         | 632 |  |  | * To support the new service provider mechanism runtimes must make sure that
 | 
      
         | 633 |  |  |   extension JARs are made accessible via the default context class loader.
 | 
      
         | 634 |  |  |  
 | 
      
         | 635 |  |  | New in release 0.08 (2004/12/03)
 | 
      
         | 636 |  |  |  
 | 
      
         | 637 |  |  | * java.util.regexp implementation through gnu.regexp wrappers.
 | 
      
         | 638 |  |  | * java.net.URI implementation.
 | 
      
         | 639 |  |  | * Working implementation of javax.swing.undo.
 | 
      
         | 640 |  |  | * java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
 | 
      
         | 641 |  |  |   equations; implementation adapted from the GNU Scientific Library.
 | 
      
         | 642 |  |  | * Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
 | 
      
         | 643 |  |  |   of EmbeddedWindow support.
 | 
      
         | 644 |  |  | * BufferedReader speed improvements.
 | 
      
         | 645 |  |  | * Improved useabilty of java.text implementation for several applications.
 | 
      
         | 646 |  |  | * ObjectInputStream is much faster and more compatible with other
 | 
      
         | 647 |  |  |   implementations.
 | 
      
         | 648 |  |  | * Fix handling of alias methods, where a method has been deprecated in
 | 
      
         | 649 |  |  |   favour of a new one with the same funtion but a different name.
 | 
      
         | 650 |  |  |   (See Deprecated Methods section in the GNU Classpath Hacking Guide.)
 | 
      
         | 651 |  |  | * javax.print.attribute.standard added.
 | 
      
         | 652 |  |  | * Lots of java.nio, java.net, java.io
 | 
      
         | 653 |  |  | * Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.
 | 
      
         | 654 |  |  |  
 | 
      
         | 655 |  |  | VM Interface changes:
 | 
      
         | 656 |  |  | * Split native methods in java.lang.Runtime into java.lang.VMRuntime.
 | 
      
         | 657 |  |  | * Resources are now also loaded/needed through the bootstrap classloader
 | 
      
         | 658 |  |  |   (gnu.regexp needs MessageBundle included in glibj.zip
 | 
      
         | 659 |  |  |  
 | 
      
         | 660 |  |  | Fixed Classpath bugs:
 | 
      
         | 661 |  |  |   #6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
 | 
      
         | 662 |  |  |         wrong results
 | 
      
         | 663 |  |  |   #7099 EventListenerList.getListenerCount should accept null argument
 | 
      
         | 664 |  |  |   #7104 EventListenerList.add does not work
 | 
      
         | 665 |  |  |   #7105 EventListenerList.remove does not work
 | 
      
         | 666 |  |  |   #7107 DefaultBoundedRangeModel.setValue and friends should not throw
 | 
      
         | 667 |  |  |   And lots more.
 | 
      
         | 668 |  |  |  
 | 
      
         | 669 |  |  | New in release 0.07 (2003/30/11)
 | 
      
         | 670 |  |  |  
 | 
      
         | 671 |  |  | * Works with libtool 1.5 (and 1.4.3).
 | 
      
         | 672 |  |  | * java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango.
 | 
      
         | 673 |  |  |   Lots and lots improvements on the peers.
 | 
      
         | 674 |  |  | * java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D:
 | 
      
         | 675 |  |  |   Subdivision and flatness calculation implemented.
 | 
      
         | 676 |  |  | * java.awt.geom.FlatteningPathIterator: Working implementation.
 | 
      
         | 677 |  |  | * gnu.java.awt.BitwiseXORComposite helper class.
 | 
      
         | 678 |  |  | * New rmic compilers (jikes, kjc) support.
 | 
      
         | 679 |  |  | * java.text bug fixing and 1.4 updates (Currency).
 | 
      
         | 680 |  |  | * Hashtable and HashMap function more similar to other implementations.
 | 
      
         | 681 |  |  | * javax.naming and java.beans classloader fixes.
 | 
      
         | 682 |  |  | * URL parsing, URLConnection, protocol and (needed) permission fixes.
 | 
      
         | 683 |  |  | * More java.nio implementation
 | 
      
         | 684 |  |  |   (API complete, but implementation not finished yet).
 | 
      
         | 685 |  |  | * Lots of java.net code cleanup.
 | 
      
         | 686 |  |  | * Improved documentation.
 | 
      
         | 687 |  |  | * Numerous bug fixes in almost every package, and lots of updates for
 | 
      
         | 688 |  |  |   1.4 functionality.
 | 
      
         | 689 |  |  | * Fixed Classpath bugs:
 | 
      
         | 690 |  |  |   #2944 Incorrect synchronization in java.util.logging.ErrorManager
 | 
      
         | 691 |  |  |   #6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results
 | 
      
         | 692 |  |  |   #6076 java.awt.geom.GeneralPath constructor sometimes hangs
 | 
      
         | 693 |  |  |   #6089 java.awt.geom.GeneralPath.getPathIterator does not work
 | 
      
         | 694 |  |  |   [...]
 | 
      
         | 695 |  |  |  
 | 
      
         | 696 |  |  | VM Interface changes:
 | 
      
         | 697 |  |  |  
 | 
      
         | 698 |  |  | * Thread has been split in a VM-independent Thread class and a VM-dependent
 | 
      
         | 699 |  |  |   VMThread class.
 | 
      
         | 700 |  |  |  
 | 
      
         | 701 |  |  | New in release 0.06 (2003/22/08)
 | 
      
         | 702 |  |  |  
 | 
      
         | 703 |  |  | * Update java.awt peers to GTK+2.
 | 
      
         | 704 |  |  | * java.awt.GridBagLayout implementation.
 | 
      
         | 705 |  |  | * javax.swing.border implementation.
 | 
      
         | 706 |  |  | * java.security and java.security.cert updated to 1.4 spec.
 | 
      
         | 707 |  |  | * New JNI native target code layer. See native/target/readme.txt.
 | 
      
         | 708 |  |  | * --enable-regen-headers configure flag for automatic jni .h file generation.
 | 
      
         | 709 |  |  | * Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
 | 
      
         | 710 |  |  |   needed for compiling.
 | 
      
         | 711 |  |  | * Lots of improvements and/or new classes for java.awt, java.awt.dnd,
 | 
      
         | 712 |  |  |   java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
 | 
      
         | 713 |  |  |   java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
 | 
      
         | 714 |  |  |   javax.swing.text.
 | 
      
         | 715 |  |  |  
 | 
      
         | 716 |  |  | VM Interface changes:
 | 
      
         | 717 |  |  |  
 | 
      
         | 718 |  |  | * VMClassLoader.loadClass(), the bootstrap classloader called by
 | 
      
         | 719 |  |  |   Class.forName() and ClassLoader.loadClass(), may now return null when
 | 
      
         | 720 |  |  |   a class is not found instead of throwing a new ClassNotFoundException.
 | 
      
         | 721 |  |  |   This is a performance optimization in some cases. This also changes
 | 
      
         | 722 |  |  |   the Class.forName() reference code.
 | 
      
         | 723 |  |  | * Native methods in Class have been moved to VMClass.  A few additional
 | 
      
         | 724 |  |  |   methods are also available in VMClass to provide optional performance
 | 
      
         | 725 |  |  |   improvements.
 | 
      
         | 726 |  |  | * A VM can now supply its own String.intern() strategy through the
 | 
      
         | 727 |  |  |   VMString class. The supplied VMString reference class implements the
 | 
      
         | 728 |  |  |   original WeakHashMap strategy.
 | 
      
         | 729 |  |  | * Float and Double to/from bits conversion functions can now be supplied by
 | 
      
         | 730 |  |  |   the VM through VMFloat and VMDouble. Default JNI conversion methods are
 | 
      
         | 731 |  |  |   supplied.
 | 
      
         | 732 |  |  |  
 | 
      
         | 733 |  |  | New in release 0.05 (2003/02/15)
 | 
      
         | 734 |  |  | * Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
 | 
      
         | 735 |  |  | * Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
 | 
      
         | 736 |  |  |   and tools for GNU Classpath, available separately from
 | 
      
         | 737 |  |  |   http://www.gnu.org/software/classpathx/crypto/crypto.html.
 | 
      
         | 738 |  |  | * Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
 | 
      
         | 739 |  |  |   of standard tools such as gjdoc, a javadoc replacement, and others.  Future
 | 
      
         | 740 |  |  |   releases of GNU Classpath will begin to include these tools, available
 | 
      
         | 741 |  |  |   separately from http://www.gnu.org/software/cp-tools/.
 | 
      
         | 742 |  |  | * Java primitives can be used to support AWT native threading, see
 | 
      
         | 743 |  |  |   the --enable-portable-native-sync configure option which may become the
 | 
      
         | 744 |  |  |   default in a future release.
 | 
      
         | 745 |  |  | * Include file jni.h has been updated to the 1.4 specification.
 | 
      
         | 746 |  |  | * VM specific internal types for jobject, jfieldID, and jmethodID are
 | 
      
         | 747 |  |  |   supported in jni.h.  More details can be found by reading the comment
 | 
      
         | 748 |  |  |   in include/jni.h.in.  By default the old definitions are used instead.
 | 
      
         | 749 |  |  | * New VM helper class java.io.VMObjectStreamClass which should provide
 | 
      
         | 750 |  |  |   the hasClassInitializer() method. Previously ObjectStreamClass used
 | 
      
         | 751 |  |  |   Class.getDeclaredMethod("") but according to the spec this
 | 
      
         | 752 |  |  |   should always throw NoSuchMethodException for class initialization methods.
 | 
      
         | 753 |  |  |   A JNI reference implementation is provided as
 | 
      
         | 754 |  |  |   vm/reference/java-io/java_io_VMObjectStreamClass.c
 | 
      
         | 755 |  |  | * There have been numerous infrastructure improvements
 | 
      
         | 756 |  |  |   * Configure option --enable-gjdoc to generate javadoc-like output
 | 
      
         | 757 |  |  |   * Gjdoc output is included with distribution, see doc/api/html/
 | 
      
         | 758 |  |  |   * DESTDIR fully supported for install and uninstall
 | 
      
         | 759 |  |  | * Runtime.execInternal contract changed to allow for null `env'
 | 
      
         | 760 |  |  |   and to accept `dir' argument.
 | 
      
         | 761 |  |  | * VMObject.getClass() removed. It was never used.
 | 
      
         | 762 |  |  | * java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
 | 
      
         | 763 |  |  |   VM specific java.lang.VMThrowable to get at the VM state and (if needed)
 | 
      
         | 764 |  |  |   the StackTraceElements for a particular exception. A default implementation
 | 
      
         | 765 |  |  |   (that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
 | 
      
         | 766 |  |  | * The vm/reference classes from the gnu.vm.stack and their counterparts
 | 
      
         | 767 |  |  |   ExecutionStack and StackFrame in gnu.java.lang have been removed since they
 | 
      
         | 768 |  |  |   are not actually part of the VM interface anyway.
 | 
      
         | 769 |  |  | * The GPLed com.sun.javadoc classes have been moved to the gjdoc application
 | 
      
         | 770 |  |  |   from the GNU Classpath Tools project. See for more information the homepage
 | 
      
         | 771 |  |  |   at: .
 | 
      
         | 772 |  |  |  
 | 
      
         | 773 |  |  | New in release 0.04 (2002/05/05)
 | 
      
         | 774 |  |  | * Additional configure options to disable zip creation and installation as
 | 
      
         | 775 |  |  |   well as disable gtk peer native compilation.
 | 
      
         | 776 |  |  | * Addition of java.nio, java.util.logging, and javax.swing.
 | 
      
         | 777 |  |  | * Integration of most or all of the ORP patches to date, the purpose of
 | 
      
         | 778 |  |  |   which are to make it possible to use JBOSS with ORP and Classpath.  This
 | 
      
         | 779 |  |  |   is still in a testing phase however.
 | 
      
         | 780 |  |  | * Significant changes in the reference VM interface that may require
 | 
      
         | 781 |  |  |   support from the JVMs.
 | 
      
         | 782 |  |  | * Lots of bugfixes.
 | 
      
         | 783 |  |  |  
 | 
      
         | 784 |  |  | New in release 0.03 (2002/02/08)
 | 
      
         | 785 |  |  | * More merges with libgcj have been performed including java.math which now
 | 
      
         | 786 |  |  |   provides a pure Java implementation of that package.
 | 
      
         | 787 |  |  |   Current status at 
 | 
      
         | 788 |  |  | * A pure Java implementation (Jazzlib) of java.util.zip is available.
 | 
      
         | 789 |  |  | * Added the java.rmi implementation that Transvirtual donated to the FSF.
 | 
      
         | 790 |  |  | * Includes jni.h now, eliminating the need to specify a particular VM
 | 
      
         | 791 |  |  |   via configure.
 | 
      
         | 792 |  |  | * No proprietary classes or programs are required to compile.
 | 
      
         | 793 |  |  |   Compiles out of the box with jikes or gcj.
 | 
      
         | 794 |  |  | * Separation of compiling Java source and native libraries through the
 | 
      
         | 795 |  |  |   configure mechanism.  If given no arguments, configure will setup the
 | 
      
         | 796 |  |  |   subsequent build to only produce Java bytecode (.class files).  More
 | 
      
         | 797 |  |  |   information is available in INSTALLING.
 | 
      
         | 798 |  |  | * Support for compiling in a separate directory, as an example you may
 | 
      
         | 799 |  |  |   cd classpath-0.03; mkdir build; cd build; ../configure; make
 | 
      
         | 800 |  |  | * Works with Orp 1.0.9 out of the box. Build instructions can be found at
 | 
      
         | 801 |  |  |   
 | 
      
         | 802 |  |  | * Lots of bugfixes that were found by using Classpath with the gcj, Orp,
 | 
      
         | 803 |  |  |   SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
 | 
      
         | 804 |  |  |   
 | 
      
         | 805 |  |  | * Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
 | 
      
         | 806 |  |  |   API specification. The current status can be found at
 | 
      
         | 807 |  |  |   
 | 
      
         | 808 |  |  | * All files are now distributed under the same terms. Added clarification to
 | 
      
         | 809 |  |  |   GPL exception.
 | 
      
         | 810 |  |  |  
 | 
      
         | 811 |  |  | New in release 0.02 (2001/01/06)
 | 
      
         | 812 |  |  | * Support for printing exceptions with Japhar 0.09 + patch included in
 | 
      
         | 813 |  |  |   resource/japhar-0.09.patch.1.
 | 
      
         | 814 |  |  | * Typos, assorted bugfixes.
 | 
      
         | 815 |  |  |  
 | 
      
         | 816 |  |  | New in release 0.01 (2000/11/20)
 | 
      
         | 817 |  |  | * More packages are included now, though many remain untested.
 | 
      
         | 818 |  |  | * Support for Japhar 0.09 included.
 | 
      
         | 819 |  |  |  
 | 
      
         | 820 |  |  | New in release 0.00 (1999/02/01)
 | 
      
         | 821 |  |  | * First official development release of clean room class library for Java
 | 
      
         | 822 |  |  | * Following packages included:
 | 
      
         | 823 |  |  |         -- java.beans
 | 
      
         | 824 |  |  |         -- java.io
 | 
      
         | 825 |  |  |         -- java.lang
 | 
      
         | 826 |  |  |         -- java.lang.reflect
 | 
      
         | 827 |  |  |         -- java.math
 | 
      
         | 828 |  |  |         -- java.net
 | 
      
         | 829 |  |  |         -- java.security (partial and non-functioning)
 | 
      
         | 830 |  |  |         -- java.security.acl
 | 
      
         | 831 |  |  |         -- java.security.interfaces
 | 
      
         | 832 |  |  |         -- java.util
 | 
      
         | 833 |  |  | * Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
 | 
      
         | 834 |  |  |   missing and/or untested.
 | 
      
         | 835 |  |  | * Support for Japhar (http://www.japhar.org/) virtual machine is included.
 | 
      
         | 836 |  |  |   Requires the current Japhar from CVS.
 | 
      
         | 837 |  |  | * Extensive javadoc comments for public API included
 | 
      
         | 838 |  |  | * Licensed under the GNU Library General Public License (see COPYING.LIB)
 | 
      
         | 839 |  |  | * Does not depend on any non-free code - developed in a "clean room"
 | 
      
         | 840 |  |  |   environment.
 | 
      
         | 841 |  |  |  
 |