OSDN Git Service

PR c++/35297
[pf3gnuchains/gcc-fork.git] / libjava / classpath / NEWS
index d4f9e5a..4be4d60 100644 (file)
@@ -1,3 +1,273 @@
+New in release 0.98
+
+* 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.
+* gjdoc is now built as part of tools.zip.
+
+Bug fixes in release 0.97.2 (Jun 06, 2007)
+
+* Include headers in the release tarball.
+* Allow the building of tools to be optional.
+* Only check for a Java compiler when required.
+* Allow VMOperatingSystemMXBeanImpl to compile on Solaris.
+* Documentation typo fixes
+* Fix memory leak in native/jni/classpath/jcl.c
+* Web page updates (PR classpath/22883)
+* Fixes to pass the JSR166 TCK
+* Use awk to construct the classlist on building
+* Fix deadlock in Logger (PR classpath/35974)
+* Fix regression in java.lang.String (PR classpath/35482)
+* Allow Classpath tools to handle @file options.
+* Allow parseInt to handle a + prefix correctly.
+* Remove use of 1.5 language constructs in the VM layer.
+
+Bug fixes in release 0.97.1 (Mar 11, 2007)
+
+* Include documentation for JSR166 (java.util.concurrent)
+* Fix STaX API compatability.
+* Include the tools properties file in the release tarball.
+
+New in release 0.97 (Feb 22, 2007)
+
+Build changes:
+
+* A copy of javah (to produce C header files from Java source code)
+is now required to generate the files in include.
+* The javac check has been changed so that it attempts to find ecj,
+javac and gcj (in that order).  You may override this by using
+JAVAC=<preferred javac>
+
+Runtime interface changes:
+
+* Removed VMFloat.floatToIntBits amd VMDouble.doubleToLongBits.
+* Added new getParameterAnnotations() methods in Constructor and Method.
+
+New in release 0.96.1 (Oct 16, 2007)
+
+* Small compile, configure and build fixes.
+
+New in release 0.96 (Oct 15, 2007)
+
+* New experimental GStreamer javax.sound peer (see README.gstreamer)
+* The JNI interface has been updated to 1.6
+* Better support for the OpenJDK javac compiler
+* Support for using javah via tools.zip and com.sun.tools.javah.Main
+* Much improved Escher AWT peers
+* Many bug fixes including improvements to AWT and Swing support
+
+Runtime interface changes:
+
+* Add VMFloat.toString(float) and VMFloat.parseFloat(String). Default
+  implementations are the same as previous behavior.
+* Add new default implementations of VMMemoryMXBean.getHeapUsage()
+  and VMMemoryMXBean.getNonHeapUsage() via iteration over the memory
+  pools of the appropriate type.
+
+New in release 0.95 (Apr 23, 2007)
+
+* Full merge of 1.5 generics work.
+* Added 1.6 java.util.ServiceLoader support.
+* The ASM library is now included.  A separate copy is no longer
+  needed.  gjavah works out of the box now.
+* The setReadTimeout and getReadTimeout methods have been added to
+  java.net.URLConnection.  They are now fully implemented for http URLs.
+* The java.lang.management implementation now includes the new features
+  added in 1.6
+* java.util.TimeZone now reads time zone information from the system
+  zoneinfo files (see also runtime interface changes below).
+* The collection classes have been updated to support all the 1.6
+  additions.
+* java.util.spi 1.6 package has been added and is used in java.text.
+* Bootstrappable with OpenJDK javac compiler
+  (use configure --with-javac).
+* Large speedups (and locking behaviour updated) in Graphics2D cairo
+  and freetype support.
+* Better detection of browser plugin mechanism for mozilla, iceweasel,
+  firefox on various platforms.
+* Inclusion of generic javadoc classes in tools.zip to support more
+  javadoc processing tools.
+* Added documentation for command lines options for the included GNU
+  Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid,
+  grmiregistry, gserialver and gtnameserv.
+
+Runtime interface changes:
+
+* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new
+  optional native methods to allow the 1.6 version of the threading
+  bean to be supported.  One (getMonitorInfo) fills in information
+  about object monitor locks held by a thread and is only required
+  if the monitoring of object monitor locks is supported by the VM.
+  The other two (findDeadlockedThreads and getLockInfo) are related
+  to ownable synchronizers (part of the java.util.concurrent suite)
+  and only required if monitoring of locks relating to these is
+  supported by the VM.
+* java.util.VMTimeZone and java.util.TimeZone have been refactored
+  to simplify the reference implementation.  VMTimeZone.readtzFile()
+  and VMTimeZone.skipFully() have been removed, and a new method
+  VMTimeZone.readSysconfigClockFile() has been introduced.
+* VMs need to set the system property "gnu.java.util.zoneinfo.dir"
+  to point to the directory where zoneinfo files live.  In libgcj
+  this is set to the value of the TZDATA environment variable, or
+  "/usr/share/zoneinfo" if this is not set.
+* VMFile has been extended to support new 1.6 methods (canExecute,
+  setReadable, setWritable, setExecutable).
+
+New in release 0.93 (Dec 8, 2006)
+
+* CORBA objects that exist on the same virtual machine and only are connected
+  to another ORB are now accessed directly and no longer via network. It is
+  the same feature that RMI implementation provides. These faster calls should
+  be completely transparent, as the parameters are cloned, where required. 
+  Currently the direct calls are only possible for the non-deprecated objects
+  that are connected to the ORB via POA.
+* The 'javah' tool has been added.  It requires the ASM library
+  (see asm.objectweb.org); it can be enabled with the --with-asm
+  option to configure
+* Added the rmi and corbaname URL context factories for JNDI.
+* Fixes in the JNDI InitialContext now allows to plug-in user implementation.
+* Removed currentClassLoader method from
+  vm/reference/java/io/ObjectInputStream.java.
+* Added firstNonNullClassLoader method to
+  vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to
+  provide a more efficient implementation.
+* Added aton method to vm/reference/java/net/VMInetAddress.java.
+* NetworkInterface has been implemented for systems that provide the
+  `getifaddrs' function.
+* java.nio.channels.Selector implementations have been added that use
+  the kqueue notification mechanism on Mac OS X and *BSD, and that use
+  the epoll notification mechanism on Linux 2.6.
+* java.nio has been refactored to support more non-blocking operations
+  natively. Blocking IO classes have been refactored to call
+  non-blocking classes. Non-blocking accepts, connects, and
+  scatter-gather IO should now be better supported.
+* HTML support for Swing has been greatly enhanced.
+
+Runtime interface changes:
+
+* java.net.VMNetworkInterface and java.net.NetworkInterface have been
+  updated to keep native-modified state in the former, and to simplify
+  the native code in our reference implementation.
+* gnu.java.nio.VMChannel has been expanded to better support native
+  non-blocking IO. Most native state data (such as file descriptor
+  integers) has been abstracted away into private state in the runtime
+  interface.
+* gnu.java.nio.VMPipe has been similarly changed.
+* gnu.java.net.VMPlainSocketImpl has been changed to remove some
+  functionality now provided by VMChannel; datagram socket-specific
+  methods have also been moved here, deprecating VMPlainDatagramSocketImpl.
+* gnu.java.net.VMPlainDatagramSocketImpl removed.
+
+New in release 0.92 (Aug 9, 2006)
+
+* GConf is used as a backend for java.util.prefs. GNU Classpath 
+  thanks to Mario Torre for this contribution!
+* libjawtgnu.so has been renamed libjawt.so for binary compatibility.
+  libjawt.so should be installed in a VM-specific directory rather
+  than directly in /usr/lib.  Proprietary VMs put their libjawt.so
+  implementations in VM-specific directories but search /usr/lib first.
+  If GNU Classpath's libjawt.so is installed in /usr/lib it will create
+  problems for people who use a proprietary VM to run AWT Native
+  Interface applications.
+* The GdkGraphics2D backend has been made the default.  There is no
+  longer an explicit dependency on Cairo, the --enable-gtk-cairo
+  configure option is gone, and GTK 2.8 or higher is now required to
+  build the GTK peers.
+* A Mozilla plugin, 'gcjwebplugin', is now included.  It introduces a
+  dependency on the Mozilla plugin support headers and libraries.
+* New java implementations of png and gif imageio readers and writers.
+* A tools.texinfo document has been created and now includes
+  documentation about:
+  * appletviewer
+  * gcjwebplugin
+  * jarsigner
+  * keytool
+* Several new tools are now included:
+  * appletviewer
+  * jar
+  * native2ascii
+  * serialver
+  * keytool
+  * jarsigner
+  A new configure option --enable-tool-wrappers causes wrapper
+  binaries to be built for VMs that support the JNI Invocation API.
+* We've imported the JSR 166 (concurrency) reference implementation.
+* javax.sound.midi providers have been added to read and
+  write standard MIDI files.
+* A javax.sound.sampled .au and .wav file readers have been added.
+* New Java Virtual Machine Tool Interface header, jvmti.h. 
+* AWT peers for X Windows based on Escher (a pure java X protocol
+  implementation) have been added. So far it supports AWT 1.1 style
+  Graphics, image loading via ImageIO (PNG, GIF and BMP images in this
+  release), top level components as well as mouse and keyboard input.
+  It is capable of running many Swing applications. Graphics2D and
+  AWT widgets are not yet supported with this peer set.
+* GConf based util.peers backend (see the --enable-gconf-peer and
+  --enable-default-preferences-peer configure options).
+* Support for batch importing trusted certificates for use with ssl
+  connections (see script/import-cacerts.sh).
+* NIO scatter-gather channel support.
+
+Runtime interface changes:
+
+* A new class, VMURLConnection, is used to implement
+  URLConnection.guessContentTypeFromStream.  The reference
+  implementation uses libmagic (and falls back to doing nothing if
+  libmagic is not available).
+* The method gnu.java.io.PlatformHelper.toCanonicalForm() has been
+  replaced with a JNI implementation of VMFile.toCanonicalForm() for
+  GNU/Posix systems.
+* A new class, VMRuntimeMXBeanImpl, is used to implement
+  the low-level support of the runtime management bean.
+  VMs should use it to supply the input arguments and start
+  time of the VM.  In addition, one of sun.boot.class.path
+  or java.boot.class.path should be defined by the VM to
+  support the optional boot class path access functionality.
+* The Unsafe class was moved back to the place expected by the JSR 166
+  reference implementation.  We've also added a couple other new VM
+  classes to support the JSR 166 code -- sun.reflect.Reflection and
+  sun.reflect.misc.ReflectUtil.
+* Another new class, VMClassLoadingMXBeanImpl, is used to implement
+  the low-level support of the class loading management bean.
+  VMs need to supply it with information about how many classes
+  are currently loaded, how many have been unloaded and whether
+  verbose class loading output is on or off.  Provision should also
+  be made for the latter to be toggled at runtime.
+* VMThreadMXBeanImpl is used to implement the low-level support
+  of the thread management bean.  Providing this interface requires
+  providing a fair amount of information about threads, including
+  optional time and contention monitoring, and instances of the
+  new ThreadInfo class in java.lang.management.  getState() has also
+  been added to the VMThread interface; this is required by the bean
+  as well as java.lang.Thread.
+* VMMemoryMXBeanImpl is used to implement the low-level support
+  of the memory management bean.  Providing this interface requires
+  providing information about the levels of heap and non-heap memory,
+  and the number of objects eligible for garbage collection.
+* VMCompilationMXBeanImpl is used to allow for optional compilation
+  time support for Just-In-Time compilers.
+* VMMemoryPoolMXBeanImpl is used to implement the low-level support
+  of the memory pool beans.  Providing this interface requires
+  providing memory usage statistics for each supported bean.
+* VMManagementFactory provides the names of the memory pools,
+  memory managers and garbage collectors maintained by the virtual
+  machine.  These are used to create the beans by the ManagementFactory.
+* VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide
+  low-level support for memory managers (including the specific subclass
+  of garbage collecting memory managers).  The interfaces for these
+  require no more than enumerating the number of collections and the
+  time spent (for garbage collectors) and a relationship to the memory
+  pools (for all), along with a validity check.
+
 New in release 0.91 (May 15, 2006)
 
 * Experimental activation (java.rmi.activation) support, including RMI