Merge GNU Classpath 0.99 into libjava.
[gcc.git] / libjava / classpath / NEWS
index a787833e58752bef028a4e74facaa32caff07db5..dd2e1568ff26c426d294f7c7f33157497c2a47ae 100644 (file)
@@ -1,5 +1,259 @@
+New in release 0.99 (Mar 08, 2012)
+
+* Addition of java.util.regex.Pattern.quote.
+* Addition of java.io.IOError.
+* Addition of java.io.Console.
+* Bug fixes:
+  - PR39408: gjavah doesn't generate constants in header files where they occur in a superclass
+  - PR40590: namespace namespace broken in CNI
+  - PR40630: java.util.Scanner fails when used for charset generation by the OpenJDK build
+  - PR40653: Issue with XML stream writer and namespaces
+  - PR40663: Support Stax API 1.0.1
+  - PR39177: trunk revision 144128 - jar: internal error: java.lang.NullPointerException
+  - PR41696: java.util.zip.Inflater:finished () returns false when it should return true
+  - PR43536: CopyOnWriteArrayList bug in delete() when empty
+  - PR36560: java.util.zip: Error parsing zip file with larger files in it
+  - Restrict access to VM classes.
+  - Cleanup use of message resources.
+  - Throw exception when encrypted zip file entries are encountered.
+  - Fix infinite recursion in javax.print.attribute.standard.JobStateReasons.add.
+  - Native code cleanups in GtkToolkit.c and jcl.c.
+  - Only log when debugging is on.
+  - PR44411: System.nanoTime() is not independent of wall-clock time
+  - PR46775: Calling Policy.setPolicy with a new Policy object has no effect on the DefaultSecurityManager
+  - Use implementation of VMClass.getSimpleName from gcj.
+  - Simplify security determination in ProtectionDomain in situations where all permissions are available.
+  - PR42390: Missing Security Manager checks in classpath apis
+  - Throw NullPointerExceptions appropriately for compatibility with OpenJDK.
+  - Use Integer.parseInt in preference to Integer.decode in java.util.Formatter.
+  - Use same default capacity in java.util.HashMap as documented in OpenJDK.
+  - Check for hashcode equality before calling equals in java.util.HashMap.put
+  - Make sure match is within input data limits in java.util.regex.Matcher.find.
+  - Fix misuse of ArrayList.set in javax.swing.text.html.StyleSheet.resolveStyle.
+  - PR48131: java.util.zip.ZipException: incomplete dynamic bit lengths tree
+  - Check for negative capacity in VMDirectByteBuffer's native code.
+  - PR42823: tcp/ip sockets read/write operations causes memory leak 
+  - Generate META-INF/INDEX.LST for glibj.zip
+  - Fix issues when building with -Werror and gcc 4.6.
+  - PR40188: javah creates constants using name of superclass
+  - PR45527: gjavah encodes $ as used in inner classes as 00024 where Oracle's javah does not
+  - PR45526: gjavah does not implicitly produce header files for inner classes
+  - Fix NullPointerException for null keys in java.util.HashMap.put.
+  - Fix BEAST security issue in gnu.javax.net.ssl.provider.
+  - RH712013: pdftk crashes with java.lang.ArrayIndexOutOfBoundsException
+* Updated to libtool 2.x.
+* Lots of warning fixes / addition of generics.
+* Fix license headers in tools.
+* Normalise whitespace.
+* Maintenance work on javac detection.
+* Mark plugin as unmaintained and disable by default.
+
+New in release 0.98 (Feb 05, 2009)
+
+* Native support for BigInteger is now provided using the GMP
+library.  A new option, --enable/disable-gmp is provided, and
+the option is enabled by default if GMP is found.
+* Classpath now makes use of a new StringBuilder implementation
+internally called CPStringBuilder.  In addition to being
+unsynchronised, like StringBuilder, this also avoids copying the
+array when toString or substring is called.  While StringBuffer/Builder
+always retain their own array, which is only altered during resizing,
+CPStringBuilder gives away its array when the result is generated
+by toString()/substring() and starts afresh.  The default capacity of
+CPStringBuilder can also be configured using the
+gnu.classpath.cpstringbuilder.capacity property. (PR21869)
+* gjdoc is now built as part of tools.zip.
+* Import of the Java Activation Framework from ClasspathX to provide
+javax.activation (part of 1.6).
+* Preliminary version of java.util.Scanner (PR30436)
+* Reduce cost of ThreadLocal(s) to improve Jython performance (PR33690)
+* Updated to use CLDR 1.5.1 (PR35237)
+* Many bug fixes including:
+  - PR22851: zoneStrings in gnu/java/locale/LocaleInformation*
+  - PR31895: setCurrency(Currency) does not actually change the currency.
+  - PR32028: Make fails at gjdoc
+  - PR34840: Mismatch between Sun and Classpath's java.lang.Appendable
+  - PR35487: gcj causes ConcurrentModificationException during tomcat5
+  - PR35690: javax.tools.FileObject.toUri is in wrong case
+  - PR36085: java.util.regex escape-sequence handling 
+  - PR36147: Apache Tomcat fails to read descriptors using GNU XML
+  - PR36219: gnu.xml.transform.SortKey isn't subclass
+  - PR36220: NPEs in gnu.xml.transform.* clone methods 
+  - PR36221: DomDOMException running SPEC jvm 2008 xml.transform
+  - PR36477: OOME in CPStringBuilder when running Eclipse
+  - PR36522: Policy file is not read at all
+  - PR36636: gjar -u doesn't work
+  - PR36637: --without-fastjar doesn't wor
+  - PR36677: Omission bug in JDWP VirtualMachineCommandSet 
+  - PR38417: gnu.java.security.util.PRNG produces easily predictable values
+  - PR38473: Segmentation fault in retrieving font outline decomposition 
+  - PR38861: Support XULRunner 1.9.1.
+  - PR38912: XMLParser not interning element names 
+
+Runtime interface changes:
+
+  * VMSecureRandom has moved to gnu.java.security.jce.prng.VMSecureRandom
+  as part of the fix for PR38417.
+  * gnu.java.lang.VMCPStringBuilder has been added and should be added to
+  avoid the inefficency of reflection when creating non-copied String objects.
+
+Bug fixes in release 0.97.2 (Jun 06, 2007)
+
+* Include headers in the release tarball.
+* Allow the building of tools to be optional.
+* Only check for a Java compiler when required.
+* Allow VMOperatingSystemMXBeanImpl to compile on Solaris.
+* Documentation typo fixes
+* Fix memory leak in native/jni/classpath/jcl.c
+* Web page updates (PR classpath/22883)
+* Fixes to pass the JSR166 TCK
+* Use awk to construct the classlist on building
+* Fix deadlock in Logger (PR classpath/35974)
+* Fix regression in java.lang.String (PR classpath/35482)
+* Allow Classpath tools to handle @file options.
+* Allow parseInt to handle a + prefix correctly.
+* Remove use of 1.5 language constructs in the VM layer.
+
+Bug fixes in release 0.97.1 (Mar 11, 2007)
+
+* Include documentation for JSR166 (java.util.concurrent)
+* Fix STaX API compatability.
+* Include the tools properties file in the release tarball.
+
+New in release 0.97 (Feb 22, 2007)
+
+Build changes:
+
+* A copy of javah (to produce C header files from Java source code)
+is now required to generate the files in include.
+* The javac check has been changed so that it attempts to find ecj,
+javac and gcj (in that order).  You may override this by using
+JAVAC=<preferred javac>
+
+Runtime interface changes:
+
+* Removed VMFloat.floatToIntBits amd VMDouble.doubleToLongBits.
+* Added new getParameterAnnotations() methods in Constructor and Method.
+
+New in release 0.96.1 (Oct 16, 2007)
+
+* Small compile, configure and build fixes.
+
+New in release 0.96 (Oct 15, 2007)
+
+* New experimental GStreamer javax.sound peer (see README.gstreamer)
+* The JNI interface has been updated to 1.6
+* Better support for the OpenJDK javac compiler
+* Support for using javah via tools.zip and com.sun.tools.javah.Main
+* Much improved Escher AWT peers
+* Many bug fixes including improvements to AWT and Swing support
+
+Runtime interface changes:
+
+* Add VMFloat.toString(float) and VMFloat.parseFloat(String). Default
+  implementations are the same as previous behavior.
+* Add new default implementations of VMMemoryMXBean.getHeapUsage()
+  and VMMemoryMXBean.getNonHeapUsage() via iteration over the memory
+  pools of the appropriate type.
+
+New in release 0.95 (Apr 23, 2007)
+
+* Full merge of 1.5 generics work.
+* Added 1.6 java.util.ServiceLoader support.
+* The ASM library is now included.  A separate copy is no longer
+  needed.  gjavah works out of the box now.
+* The setReadTimeout and getReadTimeout methods have been added to
+  java.net.URLConnection.  They are now fully implemented for http URLs.
+* The java.lang.management implementation now includes the new features
+  added in 1.6
+* java.util.TimeZone now reads time zone information from the system
+  zoneinfo files (see also runtime interface changes below).
+* The collection classes have been updated to support all the 1.6
+  additions.
+* java.util.spi 1.6 package has been added and is used in java.text.
+* Bootstrappable with OpenJDK javac compiler
+  (use configure --with-javac).
+* Large speedups (and locking behaviour updated) in Graphics2D cairo
+  and freetype support.
+* Better detection of browser plugin mechanism for mozilla, iceweasel,
+  firefox on various platforms.
+* Inclusion of generic javadoc classes in tools.zip to support more
+  javadoc processing tools.
+* Added documentation for command lines options for the included GNU
+  Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid,
+  grmiregistry, gserialver and gtnameserv.
+
+Runtime interface changes:
+
+* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new
+  optional native methods to allow the 1.6 version of the threading
+  bean to be supported.  One (getMonitorInfo) fills in information
+  about object monitor locks held by a thread and is only required
+  if the monitoring of object monitor locks is supported by the VM.
+  The other two (findDeadlockedThreads and getLockInfo) are related
+  to ownable synchronizers (part of the java.util.concurrent suite)
+  and only required if monitoring of locks relating to these is
+  supported by the VM.
+* java.util.VMTimeZone and java.util.TimeZone have been refactored
+  to simplify the reference implementation.  VMTimeZone.readtzFile()
+  and VMTimeZone.skipFully() have been removed, and a new method
+  VMTimeZone.readSysconfigClockFile() has been introduced.
+* VMs need to set the system property "gnu.java.util.zoneinfo.dir"
+  to point to the directory where zoneinfo files live.  In libgcj
+  this is set to the value of the TZDATA environment variable, or
+  "/usr/share/zoneinfo" if this is not set.
+* VMFile has been extended to support new 1.6 methods (canExecute,
+  setReadable, setWritable, setExecutable).
+
+New in release 0.93 (Dec 8, 2006)
+
+* CORBA objects that exist on the same virtual machine and only are connected
+  to another ORB are now accessed directly and no longer via network. It is
+  the same feature that RMI implementation provides. These faster calls should
+  be completely transparent, as the parameters are cloned, where required. 
+  Currently the direct calls are only possible for the non-deprecated objects
+  that are connected to the ORB via POA.
+* The 'javah' tool has been added.  It requires the ASM library
+  (see asm.objectweb.org); it can be enabled with the --with-asm
+  option to configure
+* Added the rmi and corbaname URL context factories for JNDI.
+* Fixes in the JNDI InitialContext now allows to plug-in user implementation.
+* Removed currentClassLoader method from
+  vm/reference/java/io/ObjectInputStream.java.
+* Added firstNonNullClassLoader method to
+  vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to
+  provide a more efficient implementation.
+* Added aton method to vm/reference/java/net/VMInetAddress.java.
+* NetworkInterface has been implemented for systems that provide the
+  `getifaddrs' function.
+* java.nio.channels.Selector implementations have been added that use
+  the kqueue notification mechanism on Mac OS X and *BSD, and that use
+  the epoll notification mechanism on Linux 2.6.
+* java.nio has been refactored to support more non-blocking operations
+  natively. Blocking IO classes have been refactored to call
+  non-blocking classes. Non-blocking accepts, connects, and
+  scatter-gather IO should now be better supported.
+* HTML support for Swing has been greatly enhanced.
+
+Runtime interface changes:
+
+* java.net.VMNetworkInterface and java.net.NetworkInterface have been
+  updated to keep native-modified state in the former, and to simplify
+  the native code in our reference implementation.
+* gnu.java.nio.VMChannel has been expanded to better support native
+  non-blocking IO. Most native state data (such as file descriptor
+  integers) has been abstracted away into private state in the runtime
+  interface.
+* gnu.java.nio.VMPipe has been similarly changed.
+* gnu.java.net.VMPlainSocketImpl has been changed to remove some
+  functionality now provided by VMChannel; datagram socket-specific
+  methods have also been moved here, deprecating VMPlainDatagramSocketImpl.
+* gnu.java.net.VMPlainDatagramSocketImpl removed.
+
 New in release 0.92 (Aug 9, 2006)
 
+* GConf is used as a backend for java.util.prefs. GNU Classpath 
+  thanks to Mario Torre for this contribution!
 * libjawtgnu.so has been renamed libjawt.so for binary compatibility.
   libjawt.so should be installed in a VM-specific directory rather
   than directly in /usr/lib.  Proprietary VMs put their libjawt.so
@@ -29,6 +283,7 @@ New in release 0.92 (Aug 9, 2006)
   * jarsigner
   A new configure option --enable-tool-wrappers causes wrapper
   binaries to be built for VMs that support the JNI Invocation API.
+* We've imported the JSR 166 (concurrency) reference implementation.
 * javax.sound.midi providers have been added to read and
   write standard MIDI files.
 * A javax.sound.sampled .au and .wav file readers have been added.