1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390 |
- Key:
- SX - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=X
- RHX - https://bugzilla.redhat.com/show_bug.cgi?id=X
- DX - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=X
- GX - http://bugs.gentoo.org/show_bug.cgi?id=X
- CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X
- LPX - https://bugs.launchpad.net/bugs/X
- PRX - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=X
- CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
- New in release 0.99.1 (XXX XX, 2012)
- * Bug fixes:
- - PR42134: NPE in java.text.Bidi
- - PR54931: Classpath will not build docs with version of GJDoc included with itself
- - PR54960: Avoid NullPointerException in SAXSerializer.
- - PR42551: Avoid overwriting length of message when computing length representation.
- - PR44208: Ensure a handle for the enum is registered before its constant.
- - PR41689: javax.security.sasl.CREDIENTIALS field is missing
- - PR55140: Addition of exception to codePointBefore breaks OpenJDK GenerateBreakIteratorData tool
- New in release 0.99 (Feb 15, 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
- implementations in VM-specific directories but search /usr/lib first.
- If GNU Classpath's libjawt.so is installed in /usr/lib it will create
- problems for people who use a proprietary VM to run AWT Native
- Interface applications.
- * The GdkGraphics2D backend has been made the default. There is no
- longer an explicit dependency on Cairo, the --enable-gtk-cairo
- configure option is gone, and GTK 2.8 or higher is now required to
- build the GTK peers.
- * A Mozilla plugin, 'gcjwebplugin', is now included. It introduces a
- dependency on the Mozilla plugin support headers and libraries.
- * New java implementations of png and gif imageio readers and writers.
- * A tools.texinfo document has been created and now includes
- documentation about:
- * appletviewer
- * gcjwebplugin
- * jarsigner
- * keytool
- * Several new tools are now included:
- * appletviewer
- * jar
- * native2ascii
- * serialver
- * keytool
- * jarsigner
- A new configure option --enable-tool-wrappers causes wrapper
- binaries to be built for VMs that support the JNI Invocation API.
- * We've imported the JSR 166 (concurrency) reference implementation.
- * javax.sound.midi providers have been added to read and
- write standard MIDI files.
- * A javax.sound.sampled .au and .wav file readers have been added.
- * New Java Virtual Machine Tool Interface header, jvmti.h.
- * AWT peers for X Windows based on Escher (a pure java X protocol
- implementation) have been added. So far it supports AWT 1.1 style
- Graphics, image loading via ImageIO (PNG, GIF and BMP images in this
- release), top level components as well as mouse and keyboard input.
- It is capable of running many Swing applications. Graphics2D and
- AWT widgets are not yet supported with this peer set.
- * GConf based util.peers backend (see the --enable-gconf-peer and
- --enable-default-preferences-peer configure options).
- * Support for batch importing trusted certificates for use with ssl
- connections (see script/import-cacerts.sh).
- * NIO scatter-gather channel support.
- Runtime interface changes:
- * A new class, VMURLConnection, is used to implement
- URLConnection.guessContentTypeFromStream. The reference
- implementation uses libmagic (and falls back to doing nothing if
- libmagic is not available).
- * The method gnu.java.io.PlatformHelper.toCanonicalForm() has been
- replaced with a JNI implementation of VMFile.toCanonicalForm() for
- GNU/Posix systems.
- * A new class, VMRuntimeMXBeanImpl, is used to implement
- the low-level support of the runtime management bean.
- VMs should use it to supply the input arguments and start
- time of the VM. In addition, one of sun.boot.class.path
- or java.boot.class.path should be defined by the VM to
- support the optional boot class path access functionality.
- * The Unsafe class was moved back to the place expected by the JSR 166
- reference implementation. We've also added a couple other new VM
- classes to support the JSR 166 code -- sun.reflect.Reflection and
- sun.reflect.misc.ReflectUtil.
- * Another new class, VMClassLoadingMXBeanImpl, is used to implement
- the low-level support of the class loading management bean.
- VMs need to supply it with information about how many classes
- are currently loaded, how many have been unloaded and whether
- verbose class loading output is on or off. Provision should also
- be made for the latter to be toggled at runtime.
- * VMThreadMXBeanImpl is used to implement the low-level support
- of the thread management bean. Providing this interface requires
- providing a fair amount of information about threads, including
- optional time and contention monitoring, and instances of the
- new ThreadInfo class in java.lang.management. getState() has also
- been added to the VMThread interface; this is required by the bean
- as well as java.lang.Thread.
- * VMMemoryMXBeanImpl is used to implement the low-level support
- of the memory management bean. Providing this interface requires
- providing information about the levels of heap and non-heap memory,
- and the number of objects eligible for garbage collection.
- * VMCompilationMXBeanImpl is used to allow for optional compilation
- time support for Just-In-Time compilers.
- * VMMemoryPoolMXBeanImpl is used to implement the low-level support
- of the memory pool beans. Providing this interface requires
- providing memory usage statistics for each supported bean.
- * VMManagementFactory provides the names of the memory pools,
- memory managers and garbage collectors maintained by the virtual
- machine. These are used to create the beans by the ManagementFactory.
- * VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide
- low-level support for memory managers (including the specific subclass
- of garbage collecting memory managers). The interfaces for these
- require no more than enumerating the number of collections and the
- time spent (for garbage collectors) and a relationship to the memory
- pools (for all), along with a validity check.
- New in release 0.91 (May 15, 2006)
- * Experimental activation (java.rmi.activation) support, including RMI
- activation daemon and persistent naming service tools.
- * Experimental printing support: The API implementation of the javax.print
- packages has been finished and work on the printing provider implementation
- started. Currently supported features from the Java Print Service API are
- print service discovery (CUPS registered printers), single document print
- jobs and support for client-formatted print data. An example application
- (see: examples/gnu/classpath/examples/print/Demo) has been added to show
- the API usage for service discovery and printing of files.
- * The GTKToolkit now gives access to the both the system clipboard and
- system selection.
- * Custom mouse cursor support has been added to the gtk+ peers. And cursors
- can now also be set on light-weight components.
- * Free Swing improvements: Support for OceanTheme has been mostly completed
- and turned on as default Metal theme. X11-style Copy and Paste behavior in
- text components with the middle mouse button. Support cursor changes on
- various components when resizing. Support for Look and Feel window
- decorations has been added.
- * Updated locale data information to CLDR 1.3.
- * Various bugs in Classpath's SecureRandom implementations have been
- fixed; that class now respects the "securerandom.source" security
- property and the "java.security.egd" system property.
- * Support for assistive technologies has been added to AWT and Swing.
- Runtime interface changes:
- * A new class, VMArray, is now available which separates the native
- array creation method from java.lang.reflect.Array.
- * A new class, gnu.classpath.Unsafe, is provided for handling the
- new low-level operations required by java.util.concurrent.
- * The reference implementations of Method, Constructor, and Field
- now have a new native getModifiersInternal() method. The public
- getModifiers() method in each case has been rewritten in terms of
- this method.
- * The reference implementation of VMThread has been updated to handle
- the new Thread.UncaughtExceptionHandler support.
- * A new class, java.security.VMSecureRandom, is now available that is
- used to generate random numbers for seeding cryptographically-secure
- pseudo-random number generators.
- * VMClass and the reference implementations of Method, Constructor and Field
- now include a number of 1.5 methods imported from the generics branch.
- These are all optional (in the sense that the methods associated with them
- merely fail on use if the VM doesn't provide them, rather than the
- VM failing altogether), but VMs should aim to support them where possible.
- * The implementation of java.lang.instrument has been merged to the main
- branch from the generics branch.
- * The VM interfaces of the main branch and the generics branch are now
- consistent with one another. As a result, the main branch includes an
- additional environ() function in VMSystem and an additional argument has
- been added to nativeSpawn() in VMProcess.
- * Annotation support is now available in the main branch, if the VM supports
- it. The VM should implement VMClass.getDeclaredAnnotations,
- Constructor.getAnnotation, Constructor.getDeclaredAnnotations,
- Field.getAnnotation, Field.getDeclaredAnnotations, Method.getAnnotation and
- Method.getDeclaredAnnotations.
- * java.lang.Package now has a new constructor that takes the defining
- ClassLoader as an extra argument. If you use a custom version of
- VMClassLoader, please switch it to use this constructor.
- * The reference implementation of VMClassLoader.getBootPackages() now
- reads the META-INF/INDEX.LIST resource using the java.boot.class.path
- system property.
- New in release 0.90 (March 6, 2006)
- * Free Swing improvements: JTable columns are rearrangeable and
- resizeable with mouse. Painting and scrolling are now much
- faster. Plain text components now support highlighting and
- copy+paste to the system clipboard. Support for styled text has been
- improved, including some very basic HTML support. JFileChooser is
- now usable. Global event dispatching has been implemented. Memory
- consumption of Swing components has been reduced. Lots of general
- bugfixes. Added new system property to turn off Graphics2D use in
- Swing, even if Graphics2D is available: gnu.javax.swing.noGraphics2D
- * AWT. Improved support for mixing "lightweight" and "heavyweight"
- Components in Containers. Better support for dynamically updated
- menus. Better 1.0 event model support for Scrollbars. Better class
- documentation of gtk+ awt peers.
- * GNU Crypto and Jessie have been merged into GNU Classpath; this
- provides Classpath with a wide array of cryptographic algorithms
- (ciphers, message digests, etc.) and implementations of SSL version
- 3 and TLS version 1. These roughly complement the public
- `java.security.' `javax.crypto,' and `javax.net.ssl' packages, and
- are service providers implementing the underlying algorithms.
-
- * Updated HTTP and FTP URLConnection protocol handlers. HTTPS support
- out of the box.
- * Unicode 4.0.0 is supported. Character now includes support for using
- ether a char or an int to identify code points.
- * More correct handling of Object methods and serialization support
- for Proxy and abstract classes.
- * The new folder tools includes GIOP and RMI stub and tie source code
- generators, IOR parser and both transient and persistent GIOP naming
- services.
- * Added experimental support for dynamic creation of the RMI stubs
- using proxy classes. The rmic compiler is no longer required (unless
- for research and specific stubs).
- * XML validaton support for RELAX NG and W3C XML schema namespace
- URIs. RELAX NG pluggable XML schema datatype library API and an
- implementation for XML Schema Datatypes
- (http://www.w3.org/TR/xmlschema-2/).
- * Updated StAX implementaton to be compatible with final JSWDP 2.0.
- * The default back end for java.util.prefs has been changed. The new
- default is capable of saving and restoring preferences to and from
- the file system.
- * javax.imageio.plugins.bmp implementation.
- * Added --enable-collections configure option which builds
- "collections.jar", a 1.1 VM compatibility jar.
- * gnu.regexp updated from GNU/Posix syntax to support util.regex
- syntax including various Unicode blocks, categories and properties.
- Runtime interface changes:
- * A new class, VMMath, is now available which separates the native
- mathematical functions from java.lang.Math. The previous fdlibm
- implementation now forms the reference material for this class.
- * Updated VMObjectInputStream class to return Thread context class
- loader if no other class loader is found.
- * Updated documentation on InstrumentationImpl in vmintegration guide.
- New in release 0.20 (Jan 13, 2006)
- * New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX,
- XPath and XSLT improvements. Support for XInclude and XML Base added.
- Conformance is now regularly tested against various test-suites at
- http://builder.classpath.org/xml/ See also doc/README.jaxp.
- * Full beans XMLEncoder implementation.
- * javax.sound.sampled implementation.
- * javax.print.attribute and javax.print.event implementated.
- * Lots of new datatransfer, print swing and swing.text work and optimization.
- * Additional 1.5 support. Including new (separate) generic branch release.
- * SecurityManager cleanups and start of review of all Permission checks
- (includes adding lots of new checks to the Mauve test-suite).
- * Buildable on cygwin.
- * Fully buildable as "in-workspace" library-plus-vm inside (native) Eclipse
- see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- * Full example that shows a real world CORBA and Free Swing implementation.
- See examples/gnu/classpath/examples/CORBA/swing/README.html
- * A list of bug fixes can be found at:
- http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.20
- Runtime interface changes:
- * New method VMStackWalker.getClassLoader() was added to avoid an infinite
- loop between getCallingClassLoader() and Class.getClassLoader().
- * The included fdlibm implementation has seen several cleanups to handle
- new architectures and namespacing issues (in particular for ppc, darwin
- and non-C99 compilers). Please double check any arithmetic test against
- new platforms/runtimes.
- * The gnu.java.net.Plain[Datagram]Socket implementations have been
- turned into VM reference classes with JNI/Posix implementations.
- New in release 0.19 (Nov 2, 2005)
- * The Swing RepaintManager has been reworked for more efficient painting,
- especially for large GUIs.
- * The Swing layout manager OverlayLayout has been implemented, the BoxLayout
- has been rewritten to make use of the SizeRequirements utility class and
- caching for more efficient layout.
- * Improved accessibility support for Swing.
- * The java.net.HttpURLConnection implementation no longer buffers the
- entire response body in memory. This means that response bodies
- larger than available memory can now be handled.
- * The Andrew Watson, Vice President and Technical Director of the Object
- Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
- 0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
- Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
- node in a highly interoperable CORBA world.
- * Classpath now includes the first working draft to support the RMI over
- IIOP protocol. The current implementation is capable for remote invocations,
- transferring various Serializables and Externalizables via RMI-IIOP protocol.
- It can flatten graphs and, at least for the simple cases, is interoperable
- with Sun's jdk 1.5.
- * Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
- users with a Qt4 installation can build the qt-peers with the argument
- --with-qt4dir=<Qt4-installation-dir>.
- * Significant progress has been made in the implementation of the
- javax.swing.plaf.metal.* package, with most UI delegates in a working state
- now. Please test this with your own applications and provide feedback that
- will help us to improve this package.
- * The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
- highlight various features in our free-swing implementation. And includes
- a look and feel switcher (Metal default, Ocean or GNU).
- Runtime interface changes:
- * Changed implementation of VMClassLoader.getPackage(s) : new method
- VMClassLoader.getBootPackages should be implemented by the vm, and sould
- return a string array of boot package names ("java.lang", "java.net", ...).
- Feedback from vm implementors for usability and relevance of the
- getBootPackages method would be greatly appreciated.
-
- New in release 0.18 (Sep 6, 2005)
- * GNU JAWT implementation, the AWT Native Interface, which allows direct
- access to native screen resources from within a Canvas's paint method.
- GNU Classpath Examples comes with a Demo, see examples/README.
- * awt.datatransfer updated to 1.5 with supports for FlavorEvents.
- The gtk+ awt peers now allow copy/paste of text, images, uris/files
- and serialized objects with other applications and tracking
- clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
- serialized objects are supported). A GNU Classpath Examples
- datatransfer Demo was added to show the new functionality.
- * org.omg.PortableInterceptor and related functionality in other packages
- is now implemented:
- - The sever and client interceptors work as required since 1.4.
- - The IOR interceptor works as needed for 1.5.
- * The org.omg.DynamicAny package is completed and passes the prepared tests.
- * The Portable Object Adapter should now support the output of the
- recent IDL to java compilers. These compilers now generate servants and
- not CORBA objects as before, making the output depended on the existing
- POA implementation. Completing POA means that such code can already be
- tried to run on Classpath. Our POA is tested for the following usager
- scenarios:
- - POA converts servant to the CORBA object.
- - Servant provides to the CORBA object.
- - POA activates new CORBA object with the given Object Id (byte array)
- that is later accessible for the servant.
- - During the first call, the ServantActivator provides servant for this
- and all subsequent calls on the current object.
- - During each call, the ServantLocator provides servant for this call
- only.
- - ServantLocator or ServantActivator forwards call to another server.
- - POA has a single servant, responsible for all objects.
- - POA has a default servant, but some objects are explicitly connected
- to they specific servants.
- The POA is verified using tests from the former cost.omg.org.
- * The javax.swing.plaf.multi.* package is now implemented.
- * Editing and several key actions for JTree and JTable were implemented.
- * Lots of icons and look and feel improvements for Free Swing basic and
- metal themes were added. Try running the GNU Classpath Swing Demo in
- examples (gnu.classpath.examples.swing.Demo) with:
- -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
- -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
- * Start of styled text capabilites for java.swing.text.
- * NIO FileChannel.map implementation, fast bulk put implementation for
- DirectByteBuffer (speeds up this method 10x).
- * Split gtk+ awt peers event handling in two threads and improve gdk lock
- handling (solves several AWT lock ups).
- * Speed up awt Image loading.
- * Updated TimeZone data against Olson tzdata2005l.
- * Make zip and jar UTF-8 "clean".
- * "native" code builds and compiles (warning free) on Darwin and Solaris.
- Runtime interface changes:
- * All native resource "pointers" in the VM interface classes are now exposed
- as gnu.classpath.Pointer objects. This might impact runtimes that
- optimize and support java.nio.DirectByteBuffers. Creating these classes
- and accessing the contents as void * pointers for the native reference JNI
- implementation is done through the JCL_NewRawDataObject and JCL_GetRawData
- functions.
- * Simplified the Class/VMClass interface.
- * Removed loadedClasses map from ClassLoader. It's now the VMs responsibility
- to manage the list of defined and loaded classes for each class loader.
- * Moved native methods from java.lang.reflect.Proxy to VMProxy.
- * Added hook to VMClassLoader to allow VM to do class caching.
- New Untested/Disabled Features:
- The following new features are included, but not ready for production
- yet. They are explicitly disabled and not supported. But if you want
- to help with the development of these new features we are interested
- in feedback. You will have to explicitly enable them to try them out
- (and they will most likely contain bugs). If you are interested in any
- of these then please join the mailing-list and follow development in
- CVS.
- * QT4 AWT peers, enable by giving configure --enable-qt-peer.
- * JDWP framework, enable by deleting the jdwp references from
- lib/standard.omit and vm/reference/standard.omit. No default
- implementation is provided. Work is being done on gcj/gij integration.
- * StAX java.xml.stream, enable by deleting the gnu.xml.stream and
- java.xml.stream references in lib/standard.omit.
- New in release 0.17 (Jul 15, 2005)
- * gnu.xml fix for nodes created outside a namespace context.
- * Add support for output indenting and cdata-section-elements output
- instruction in xml.transform.
- * xml.xpath corrections for cases where elements/attributes might have
- been created in non-namespace-aware mode. Corrections to handling of
- XSL variables and minor conformance updates.
- * DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
- traversal enumerations implemented.
- * JInternalFrame colors and titlebar draw properly.
- * JTree is working up to par (icons, selection and keyboard traversal).
- * JMenus were made more compatible in visual and programmatic behavior.
- * JTable changeSelection and multiple selections implemented.
- * JButton and JToggleButton change states work properly now.
- * JFileChooser fixes.
- * revalidate and repaint fixes which make Free Swing much more responsive.
- * Correctly handle system call interrupts and timeouts in native nio
- and net functions.
- * MetalIconFactory implemented.
- * Handle image loading errors correctly for gdkpixbuf and MediaTracker.
- * Added Tree World to GNU Classpath examples Free Swing demo.
- * FileChannel.lock() and FileChannel.force() implemented.
- * java.util.logging.FileHandler now rotates files.
- * Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
- * Corba bug fixes and documentation updates.
- * Updated gcj build infrastructure.
- * Documentation fixes all over the place.
- See http://developer.classpath.org/doc/
- * VM Integration Guide updates with a full section on VM/Classpath hooks.
- New in release 0.16 (Jun 30, 2005)
- * Better GTK scrollbar peer implementation when using GTK >= 2.6.
- * GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
- * BufferedImage and GtkImage rewrites. All image drawing operations
- should now work correctly (flipping requires gtk+ >= 2.6)
- * Future Graphics2D, Image and Text work is documented at:
- http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
- * Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
- JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
- can call add() and setLayout() directly on them, which will have the same
- effect as calling getContentPane().add() and getContentPane().setLayout().
- * The JTree interface has been completed. JTrees now recognizes mouse clicks
- and selections work, but the visual implementation is not yet complete.
- Work on expansion and collapsing of the tree nodes is being implemented.
- * BoxLayout works properly now.
- * Fixed GrayFilter to actually work.
- * Metal SplitPane implemented.
- * Lots of free swing text and editor stuff work now.
- * When gtk+ 2.6 or higher is installed the default log handler will produce
- stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
- * The CORBA implementation is now a working prototype that should support
- features up till 1.3 inclusive.
- We would invite groups writing CORBA dependent applications to
- try Classpath implementation, reporting any possible bugs.
- The CORBA prototype is interoperable with Sun's implementation v 1.4,
- transferring object references, primitive types, narrow and wide
- strings, arrays, structures, trees, abstract interfaces and
- value types (feature of CORBA 2.3) between these two platforms.
- The remote exceptions are transferred and handled correctly.
- The stringified object references (IORs) from various sources are
- parsed as required.
- The transient (for current session) and permanent (till jre restart)
- redirections work.
- Both Little and Big Endian encoded messages are accepted.
- The implementation is verified using tests from the former cost.omg.org.
- The current release includes working examples (see the examples directory),
- demonstrating the client-server communication, using either CORBA Request
- or IDL-based stub (usually generated by a IDL to java compiler).
- These examples also show how to use the Classpath CORBA naming service.
- The IDL to java compiler is not yet written, but as our library must be
- compatible, it naturally accepts the output of other idlj implementations.
- * New --with-vm-classes configure option, and new 'build' setting
- for --with-glibj. (Only for integrators.)
- Runtime interface changes:
- * Start of a generic JDWP framework in gnu/classpath/jdwp.
- This is unfinished, but feedback (at classpath@gnu.org) from runtime
- hackers is greatly appreciated. Although most of the work is currently
- being done around gcj/gij we want this framework to be as VM neutral as
- possible. Early design is described in:
- http://gcc.gnu.org/ml/java/2005-05/msg00260.html
- * Native method VMClass.getModifiers() now takes an additional
- boolean parameter.
- * Deprecated native method VMClassLoader.defineClass(ClassLoader,
- String, byte[], int, int) has been replaced by
- VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
- ProtectionDomain)
- * VMClassLoader.loadClass(String name, boolean resolve) is now native,
- replacing the former version which just returned null.
- * Deprecated native method VMClassLoader.getPrimitiveClass(String) has
- been replaced by new native method VMClassLoader.getPrimitiveClass(char).
- * Previously empty implementations of methods VMThread.countStackFrames(),
- VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
- been removed; these methods are now native methods.
- * Fields "exceptionTypes" and "parameterTypes" have been removed from
- Contructor.java and getExceptionTypes() and getParameterTypes() are
- now native methods.
- New in release 0.15 (Apr 29, 2005)
- * The old character encoding framework (gnu.java.io.EncodingManager)
- has been replaced by a system based completely on nio.charset
- providers. Many converters have been added, both the io, lang and nio
- frameworks now use the same set of converters and the whole character
- stream framework (Readers and Writers) have been optimized. For some
- workloads this leads to 2x till 20x speedups.
- The default charsets supported are:
- Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
- Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
- ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
- ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
- MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
- MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
- UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
- Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
- Windows1256, Windows1257, Windows1258.
- Many more encoding are supported through the new IconvProvider
- depending on the platform iconv support. GNU libiconv is recommended.
- The IconvProvider is currently not enabled by default. To enable it
- define the system property gnu.classpath.nio.charset.provider.iconv=true.
- Some runtimes might choose to enable this by default by setting it
- through VMSystemProperties. We would like to get feedback on whether
- enabling or disabling the IconvProvider by default results in the
- highest speedups.
- * Free swing metal and pluggable look and feels have been improved.
- The GNU Classpath free swing example can now be run with different
- "skins" by setting the system property swing.defaultlaf to the GNU,
- Basic or Metal look and feel.
- * Some of the org.omg.CORBA classes and packages have now been
- implemented. The Savannah bug tracker contains additional tasks for
- which we are seeking help.
- * Fixed compatibility problems in the java.beans which affected
- Eclipse's Visual Editor Project.
- * New completely lock free (Inheritable)ThreadLocal implementation.
- * javax.swing.text.rtf framework added which can handle simple (plain)
- text tokens.
- * Support for parsing html files into Level 2 Document Object Model
- (org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
- javax.swing.text.html framework added.
- Runtime interface changes:
- * jni.h changed to better support compiling runtimes implementing jni;
- see VM integration guide for details.
- * New --enable-default-toolkit option to configure can be used to set
- the fully qualified class name of the default AWT toolkit to use.
- If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
- is used.
- * New --disable-core-jni option can be used to disable building the
- "core" JNI libraries. This is primarily useful if your VM can use the
- Gtk peers but not the core JNI libraries.
- * New system property "gnu.classpath.boot.library.path" can be specified
- to define the location of the JNI libraries. It is by all means meant
- ONLY for VM implementors and GNU Classpath hackers. See the hacking
- guide for more information.
- * The helper methods currentLoader() and allocateObject() for
- java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
- Reference implementations are provided.
- * java.net.InetAddress now uses VMInetAddress for runtime/platform
- specific methods getLocalHostname(), getHostByAddr() and
- getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
- for runtime/platform specific getInterfaces() support. Default
- (Posix/GNU JNI) implementations are provided.
- * VMClass has a new method getModifiers(Class, boolean) which can be
- used to get the real modifiers for an inner class or the ones
- specified by the InnerClasses attribute.
- * All (possible) runtime specific methods of Object and Double are now
- in VMObject and VMDouble. Where possible generic reference
- implementations are provided.
- * The reference implementation of VMClassLoader now handles zip files
- on the boot loader class path in getResources().
- Other changes:
- New in release 0.14 (Feb 25, 2005)
- * Character encoders and decoders have been added for:
- iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
- iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
- ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
- UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
- * Full documentation for all classes can be generated (again) by using
- the --with-gjdoc configure option.
- * javax.awt.imageio support through gdkpixbuf.
- Runtime interface changes:
- * VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
- currentClassLoader() is no longer needed, and there are also two new
- methods with non-native implementations. VM implementors are encouraged
- to provide more efficient versions.
- * VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
- New in release 0.13 (Jan 6, 2005)
- * The http url protocol handler has been replaced with a full HTTP/1.1
- version from GNU inetlib.
- * A new ftp url protocol handler has been added also from GNU inetlib.
- * java.beans has been updated to 1.4 including support for XMLEncoder
- and XMLDecoder.
- * The java.util.Locale support is now based on the Common Locale Data
- Repository (CLDR) Project (see http://www.unicode.org/cldr/).
- GNU Classpath provides support for more than 250 locales now.
- This new support is experimental and the GNU Classpath hackers are
- working together with runtime developers and the unicode consortium
- to improve them in the future.
- If your runtime misdetects your locale or if the default locale gives
- problems please try running with -Duser.language=en and -Duser.region=US
- to fall back on a known good locale.
- * Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
- org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
- different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
- libxmlj DOM and libxmlj XSL by setting different system properties.
- Also provided is a preliminary XPath 1.0 implementation.
- The libxmlj versions are build around libxml2 and libxslt and have to
- be enabled during build time by the --enable-xmlj configure flag.
- The current support is equal to the last released GNU JAXP 1.3 release.
- These packages will be maintained as part of the GNU Classpath core classes
- in the future. For more information, conformance results and documentation
- on selecting different implementations see doc/README.jaxp.
- * More AWT accessible support.
- * AWT gtk+ peers component layout, dialog placement, keyboard focus
- handling and text positioning have been improved.
- * ImageIO interfaces are more complete.
- * JList, JTable and JTree have been hugely improved.
- * java.awt.Robot support with GdkRobot in the gtk+ awt peers.
- Needs XTest Extension (libXtst) XServer support.
- * New --disable-examples configure argument.
- Runtime interface changes:
- * Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
- to lazily register an exit handler.
- * The java.lang.Class constructor now automatically sets the protection
- domain for array classes, based on the protection domain of the component
- type class.
- * New gnu.classpath.VMSystemProperties class. This replaces the
- system properties initialization in VMRuntime. Note that it is
- now the VMs responsibility to set one additional property:
- gnu.cpu.endian should be set to "big" or "little".
- * VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
- and has only one argument, the name of the library.
- * String and StringBuffer now call VMSystem.arraycopy() directly and don't
- go through java.lang.System. Be careful to not initialize java.lang.System
- early in the bootstrap sequence in your VM runtime interface classes.
- * Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
- has been updated. Also, VMThread.sleep() now has a default non-native
- implementation, but it is a generic implementation that ignores the
- nano-seconds argument. Runtime hackers are encouraged to provide a more
- efficient version.
- * There is prelimenary support for nio direct byte buffers.
- See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
- you add support for this to your runtime.
- New in release 0.12 (Nov 14, 2004)
- * GNU Classpath's JAR implementation now has preliminary support for
- signed entries, for so called "signed JAR" file support. Signed JAR
- files are one of the key security features of managed runtimes, and
- allows code to run privileged given unforgeable proofs of identity.
- * A much improved version of X.509 certificates has been added,
- including a robust certificate path checking algorithm. Also
- included is an implementation of the RSA signature scheme.
- * Full java.awt.color implementation, with all standard ICC profiles,
- except for PhotoYCC color space.
- * java.beans 1.4 updates and bug fixes.
- * java.awt.image support updated to 1.4.
- * Improved build process. Uses less memory with gcj and C code is
- buildable with -Werror on most platform. Please configure with
- --enable-Werror and report any remaining issues.
- * Big-endian (PowerPC) fixes for native awt GTK+ peers.
- * Checkstyle support, see scripts/checkstyle-config.xml.
- * Better AWT focus management fro GTK+ peers.
- * Much faster and better fonts support
- (for both gdk Graphics and cairo Graphics2D)
- * AWT Choice fixes for hidden components.
- * HTTP Connection Handler fixes for POST support.
- * Much fuller collection documentation.
- * Lots of Calendar bug fixes.
- * More javax.imageio support.
- * Better AWT Help MenuBar support.
- * Lookahead support for regular expressions.
- * Serialization object stream fixes for multiple ClassLoader scenarios.
- * Swing TabbedPane, ColorChooser and ComboBox improvements.
- * Start of JTree functionality.
- * Improved Eclipse 3 support for GNU Classpath based runtimes.
- Runtime interface Changes:
- * New --enable-java-lang-system-explicit-initialization configuration
- option. (Warning, will be replaced in next release, please consult
- the mailinglist.)
- * The reference implementation of VMClassLoader has default
- implementations for getResource(s) and provides support for a new
- default getSystemClassLoader implementation.
- New in release 0.11 (Sep 13, 2004)
- * javax.swing.Spring and SpringLayout support.
- * Added pluggable look and feel support for BasicTextFieldUI and
- BasicToolBarSeparatorUI.
- * java.swing.text support for (Default and Layered) Highlighter, FieldView,
- PlainView, TabExpander and TabableView added.
- * Start of JTable and JTree implementation.
- * Internal Swing frames work.
- * JMenu and JPopupMenu work.
- * New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
- * java.awt.image LookupTables and kernel support.
- * Improved java.awt.image.BufferedImage support.
- * AWT 1.0 event model support.
- * GNU Classpath now comes with some example programs (see examples/README).
- * New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
- javax.net.ssl, javax.security.auth, javax.security.auth.callback,
- javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
- and org.ietf.jgss packages are now officially part of GNU Classpath.
- Extra crypto algorithms can be obtained from the GNU Crypto project,
- a full TLS implementation is provided by the Jessie project.
- http://www.gnu.org/software/gnu-crypto/
- http://www.nongnu.org/jessie/
- * Frame.setIconImage() support.
- * AWT GDKGraphics scaling.
- * New configure flag --enable-gtk-cairo to build Graphics2D implementation
- build on cairo and pangoft2. Enabled at runtime by defining the system
- property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
- * javax.swing.JSpinner implemented.
- * Extensive documentation update for java.util collection classes.
- * java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
- * GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
- tool integrators are encouraged to directly integrate GNU JAXP.
- This release has been tested against GNU JAXP 1.1.
- http://www.gnu.org/software/classpathx/jaxp/jaxp.html
- * JColorChooser, JComboBox and JTextField implemented, including example
- uses in GNU Classpath Examples swing Demo.
- Runtime interface Changes:
- * java.lang.Compiler now uses the new java.lang.VMCompiler; there is
- a reference implementation that most VMs can use.
- * java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
- implementation that should work on most Posix like systems.
- * java.util.TimeZone has been split into a platform independent class and
- a platform dependent class VMTimeZone. GNU Classpath comes with a generic
- way to get at the default time zone for Posix/GNU-like platforms.
- * [VM]AccessController improvements. In particular it handles
- `doPrivileged' calls better, and allows for recursive `doPrivileged'
- calls in the same Thread. (see vm/reference/java/security/)
- New in release 0.10 (Jul 9, 2004)
- * java.net.URL now uses application classloader to load URLStreamHandlers
- and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
- * java.io.File.deleteOnExit() implementation.
- * java.text multiple new features and bug fixes
- (only 2 out of the 1000+ java.text Mauve tests now fail).
- * Better (non-black) default AWT System colors.
- * AWT lists use GTK treeviews.
- * Proper AWT focus management has been implemented.
- * Swing menus and scrollpanes are beginning to work.
- * Swing splitpanes, dialogs and internal frames were added.
- * Swing repainting / double buffering was redone.
- * Font management and Pango DPI conversion fixes.
- * A lot of AWT imaging and event bugs have been picked out.
- * More of javax.swing.text has been implemented.
- * javax.swing.Timer has been reimplemented.
- * java.security.AccessController has been implemented
- (see runtime section).
- * The default java.lang.SecurityManager now uses AccessController.
- * New java.beans.Statement and Expression implementations.
- * Small FileChannel implementation speed improvement for traditional
- JNI based systems.
- * Regenerated all included JNI header files with gcjh (3.5 CVS),
- removes extra extern modifier and allows stricter compiler warning.
- * More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
- -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
- made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
- * Double.toString() and Float.toString() now work properly on 64-bit
- PowerPC systems.
- * PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
- * Build system refactored and removed old Japhar specific support.
- * The gnu.java.awt.EmbeddedWindow class has been improved, and now
- supports embedding AWT windows in other top-level X windows.
- This functionality is required by gcjwebplugin.
- * gcjwebplugin, an applet viewer that can be embedded into several web
- browsers, has been extensively tested with this release of classpath.
- (See http://www.nongnu.org/gcjwebplugin/)
- * Runtime environments based on GNU Classpath 0.10 should be able to
- start up Eclipse 3.0 out of the box now.
- Runtime interface Changes:
- * VMProcess.destroy() default implementation fixes.
- * Fixed the "portable native sync" code; it had been broken since
- Classpath release 0.06, when we upgraded to GTK+2.
- Classpath's AWT peers use GTK+. GTK+ uses GLIB. GLIB by default uses
- the platform's native threading model -- pthreads in most cases.
- If the Java runtime doesn't use the native threading model, then you should
- specify --portable-native-sync when configuring Classpath, so that GLIB will
- use the Java threading primitives instead. (For a superior alternative,
- see below.)
- * The VM can set the system property
- gnu.classpath.awt.gtk.portable.native.sync instead of using the
- --portable-native-sync configure-type option.
- See doc/vmintegration.texinfo for details.
- * We intend that the next release of GNU Classpath will require the VM
- to provide JNI 1.2. Classpath currently uses only JNI 1.1, except for
- one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
- If this poses problems, please raise them on the classpath mailing list.
- * The reference implementation of VMThread.holdsLock(Object) now has
- a default implementation written in java. For efficiency and to
- prevent spurious wakeups a real 'native' runtime version can be supplied.
- * There is a new java.security.VMAccessController class that runtimes need
- to implement to properly support SecurityManagers. The default
- implementation that comes with GNU Classpath makes sure that ANY attempt
- to access a protected resource is denied when a SecurityManager is
- installed. Which is pretty secure, but also no very useful.
- Please see the documentation in
- vm/reference/java/security/VMAccessController.java,
- and please give feedback on the GNU Classpath mailinglist whether or not
- the current AccessController framework is flexible enough.
- New in release 0.09 (May 2, 2004)
- * Includes updated GNU JAXP version from 2004-02-01.
- * Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
- * java.io is now implemented by delegating most tasks directly to java.nio.
- * Reworked/Optimized implementations of java.nio.Buffer and subclasses.
- * New javax.print, javax.print.attribute[.standard] and javax.print.event
- packages and classes.
- * java.text attributed iterators support.
- * New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
- classes.
- * GNU Classpath can now load service providers that are described via
- META-INF/services/* resources in extension JARs. This is useful for
- implementing the various APIs that are supposed to be extensible via
- custom plugins. For details, please see the documentation of
- gnu.classpath.ServiceFactory.
- Application developers are strongly discouraged from calling glibj
- internal packages. Instead, they might want invoke the newly implemented
- javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
- method for loading plug-ins.
- * New developers wanting to help the GNU Classpath project might want to
- review the greatly expanded Hacker Guide included in the doc directory
- or online at http://www.gnu.org/software/classpath/docs/hacking.html
- Also the FAQ has been expanded. And when working from CVS you can now use
- a simple autogen.sh script to get all autotools magic done automagically.
- * New configure option --with-glibj which defines how to install the glibj
- class files as zip, as flat directory files or both (zip|flat|both)
- [default=zip]. When working with multiple runtimes some of which might
- not support bootstrap classes in zip files the --with-glibj=both option
- is recommended (this does take extra disc space).
- * Two big code drops from the libgcj gui branch updating various java.awt
- and javax.swing classes.
- * Multiple java.net.InetAdress fixes and java.rmi fixes.
- * ServerSocket.accept() now restarts listening when system call interrupted.
- * Much cleanups to make standard API doc valid XHTML (not completed yet).
- * A scan for unused variables and non-static invocation of static methods
- turned up a couple of subtle bugs which have now all been fixed.
- * The Mauve testsuite has been cleaned up considerable and lots of issues
- in the GNU Classpath core class implementation have been fixed.
- VM Interface changes:
- * java.lang.Class/VMClass interface was changed. The interface now no
- longer requires an instance of VMClass for each Class instance. Instead
- the field vmdata in Class is now of type Object.
- * GNU Classpath now assumes that JNI calls SetXField can modify final
- fields. This was previously used silently for System.in/out/err and should
- be considered as a feature now.
- * A new VMProcess and a sample JNI C implementation are now provided to
- make Runtime.exec() work out of the box on some systems. This requires
- a small change to VMRuntime.exec() when a runtime wants to use it as the
- default java.lang.Process implementation.
- * The implementation of most of java.io through java.nio moved serveral
- runtime specific I/O methods. Most methods do have a generic default native
- C JNI implementation in native/jni/java-nio.
- * Runtime support methods for java.io.File have been moved to VMFile which
- also comes with a default JNI C implementation.
- * To support the new service provider mechanism runtimes must make sure that
- extension JARs are made accessible via the default context class loader.
- New in release 0.08 (2004/12/03)
- * java.util.regexp implementation through gnu.regexp wrappers.
- * java.net.URI implementation.
- * Working implementation of javax.swing.undo.
- * java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
- equations; implementation adapted from the GNU Scientific Library.
- * Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
- of EmbeddedWindow support.
- * BufferedReader speed improvements.
- * Improved useabilty of java.text implementation for several applications.
- * ObjectInputStream is much faster and more compatible with other
- implementations.
- * Fix handling of alias methods, where a method has been deprecated in
- favour of a new one with the same funtion but a different name.
- (See Deprecated Methods section in the GNU Classpath Hacking Guide.)
- * javax.print.attribute.standard added.
- * Lots of java.nio, java.net, java.io
- * Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.
- VM Interface changes:
- * Split native methods in java.lang.Runtime into java.lang.VMRuntime.
- * Resources are now also loaded/needed through the bootstrap classloader
- (gnu.regexp needs MessageBundle included in glibj.zip
- Fixed Classpath bugs:
- #6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
- wrong results
- #7099 EventListenerList.getListenerCount should accept null argument
- #7104 EventListenerList.add does not work
- #7105 EventListenerList.remove does not work
- #7107 DefaultBoundedRangeModel.setValue and friends should not throw
- And lots more.
- New in release 0.07 (2003/30/11)
- * Works with libtool 1.5 (and 1.4.3).
- * java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango.
- Lots and lots improvements on the peers.
- * java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D:
- Subdivision and flatness calculation implemented.
- * java.awt.geom.FlatteningPathIterator: Working implementation.
- * gnu.java.awt.BitwiseXORComposite helper class.
- * New rmic compilers (jikes, kjc) support.
- * java.text bug fixing and 1.4 updates (Currency).
- * Hashtable and HashMap function more similar to other implementations.
- * javax.naming and java.beans classloader fixes.
- * URL parsing, URLConnection, protocol and (needed) permission fixes.
- * More java.nio implementation
- (API complete, but implementation not finished yet).
- * Lots of java.net code cleanup.
- * Improved documentation.
- * Numerous bug fixes in almost every package, and lots of updates for
- 1.4 functionality.
- * Fixed Classpath bugs:
- #2944 Incorrect synchronization in java.util.logging.ErrorManager
- #6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results
- #6076 java.awt.geom.GeneralPath constructor sometimes hangs
- #6089 java.awt.geom.GeneralPath.getPathIterator does not work
- [...]
- VM Interface changes:
- * Thread has been split in a VM-independent Thread class and a VM-dependent
- VMThread class.
- New in release 0.06 (2003/22/08)
- * Update java.awt peers to GTK+2.
- * java.awt.GridBagLayout implementation.
- * javax.swing.border implementation.
- * java.security and java.security.cert updated to 1.4 spec.
- * New JNI native target code layer. See native/target/readme.txt.
- * --enable-regen-headers configure flag for automatic jni .h file generation.
- * Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
- needed for compiling.
- * Lots of improvements and/or new classes for java.awt, java.awt.dnd,
- java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
- java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
- javax.swing.text.
- VM Interface changes:
- * VMClassLoader.loadClass(), the bootstrap classloader called by
- Class.forName() and ClassLoader.loadClass(), may now return null when
- a class is not found instead of throwing a new ClassNotFoundException.
- This is a performance optimization in some cases. This also changes
- the Class.forName() reference code.
- * Native methods in Class have been moved to VMClass. A few additional
- methods are also available in VMClass to provide optional performance
- improvements.
- * A VM can now supply its own String.intern() strategy through the
- VMString class. The supplied VMString reference class implements the
- original WeakHashMap strategy.
- * Float and Double to/from bits conversion functions can now be supplied by
- the VM through VMFloat and VMDouble. Default JNI conversion methods are
- supplied.
- New in release 0.05 (2003/02/15)
- * Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
- * Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
- and tools for GNU Classpath, available separately from
- http://www.gnu.org/software/classpathx/crypto/crypto.html.
- * Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
- of standard tools such as gjdoc, a javadoc replacement, and others. Future
- releases of GNU Classpath will begin to include these tools, available
- separately from http://www.gnu.org/software/cp-tools/.
- * Java primitives can be used to support AWT native threading, see
- the --enable-portable-native-sync configure option which may become the
- default in a future release.
- * Include file jni.h has been updated to the 1.4 specification.
- * VM specific internal types for jobject, jfieldID, and jmethodID are
- supported in jni.h. More details can be found by reading the comment
- in include/jni.h.in. By default the old definitions are used instead.
- * New VM helper class java.io.VMObjectStreamClass which should provide
- the hasClassInitializer() method. Previously ObjectStreamClass used
- Class.getDeclaredMethod("<clinit>") but according to the spec this
- should always throw NoSuchMethodException for class initialization methods.
- A JNI reference implementation is provided as
- vm/reference/java-io/java_io_VMObjectStreamClass.c
- * There have been numerous infrastructure improvements
- * Configure option --enable-gjdoc to generate javadoc-like output
- * Gjdoc output is included with distribution, see doc/api/html/
- * DESTDIR fully supported for install and uninstall
- * Runtime.execInternal contract changed to allow for null `env'
- and to accept `dir' argument.
- * VMObject.getClass() removed. It was never used.
- * java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
- VM specific java.lang.VMThrowable to get at the VM state and (if needed)
- the StackTraceElements for a particular exception. A default implementation
- (that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
- * The vm/reference classes from the gnu.vm.stack and their counterparts
- ExecutionStack and StackFrame in gnu.java.lang have been removed since they
- are not actually part of the VM interface anyway.
- * The GPLed com.sun.javadoc classes have been moved to the gjdoc application
- from the GNU Classpath Tools project. See for more information the homepage
- at: <http://www.gnu.org/software/cp-tools/>.
- New in release 0.04 (2002/05/05)
- * Additional configure options to disable zip creation and installation as
- well as disable gtk peer native compilation.
- * Addition of java.nio, java.util.logging, and javax.swing.
- * Integration of most or all of the ORP patches to date, the purpose of
- which are to make it possible to use JBOSS with ORP and Classpath. This
- is still in a testing phase however.
- * Significant changes in the reference VM interface that may require
- support from the JVMs.
- * Lots of bugfixes.
- New in release 0.03 (2002/02/08)
- * More merges with libgcj have been performed including java.math which now
- provides a pure Java implementation of that package.
- Current status at <http://gcc.gnu.org/java/libgcj-classpath-compare.html>
- * A pure Java implementation (Jazzlib) of java.util.zip is available.
- * Added the java.rmi implementation that Transvirtual donated to the FSF.
- * Includes jni.h now, eliminating the need to specify a particular VM
- via configure.
- * No proprietary classes or programs are required to compile.
- Compiles out of the box with jikes or gcj.
- * Separation of compiling Java source and native libraries through the
- configure mechanism. If given no arguments, configure will setup the
- subsequent build to only produce Java bytecode (.class files). More
- information is available in INSTALLING.
- * Support for compiling in a separate directory, as an example you may
- cd classpath-0.03; mkdir build; cd build; ../configure; make
- * Works with Orp 1.0.9 out of the box. Build instructions can be found at
- <http://www.gnu.org/software/classpath/doc/orp.html>
- * Lots of bugfixes that were found by using Classpath with the gcj, Orp,
- SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
- <http://savannah.gnu.org/support/?group_id=85>
- * Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
- API specification. The current status can be found at
- <http://www.gnu.org/software/classpath/status.html>
- * All files are now distributed under the same terms. Added clarification to
- GPL exception.
- New in release 0.02 (2001/01/06)
- * Support for printing exceptions with Japhar 0.09 + patch included in
- resource/japhar-0.09.patch.1.
- * Typos, assorted bugfixes.
- New in release 0.01 (2000/11/20)
- * More packages are included now, though many remain untested.
- * Support for Japhar 0.09 included.
- New in release 0.00 (1999/02/01)
- * First official development release of clean room class library for Java
- * Following packages included:
- -- java.beans
- -- java.io
- -- java.lang
- -- java.lang.reflect
- -- java.math
- -- java.net
- -- java.security (partial and non-functioning)
- -- java.security.acl
- -- java.security.interfaces
- -- java.util
- * Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
- missing and/or untested.
- * Support for Japhar (http://www.japhar.org/) virtual machine is included.
- Requires the current Japhar from CVS.
- * Extensive javadoc comments for public API included
- * Licensed under the GNU Library General Public License (see COPYING.LIB)
- * Does not depend on any non-free code - developed in a "clean room"
- environment.
|