We are proud to announce the release of GNU Classpath 0.99.
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example JamVM, CACAO and Kaffe can make use of an installed copy of GNU Classpath 0.99, while GCC (gcj) will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, http://www.gnu.org/software/classpath/stories.html
This release brings with it a number of interesting new features:
There have also been many bugfixes over the past year. Those relevant to 0.99 can be found at http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.99
With the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site http://developer.classpath.org provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the gjdoc tool, which is part of GNU Classpath 0.99. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.
For more information about the project see also:
GNU Classpath home page: http://www.gnu.org/software/classpath/
Developer information (wiki): http://developer.classpath.org/
Full class documentation: http://developer.classpath.org/doc/
GNU Classpath hackers: http://planet.classpath.org/
Autobuilder, current build status, build snapshots: http://builder.classpath.org/
Application test pages (wiki) http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
GNU Classpath hacking with Eclipse (wiki) http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
GNU Classpath promotion banners: http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.99 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html
File: classpath-0.99.tar.gz
SHA256sum: f929297f8ae9b613a1a167e231566861893260651d913ad9b6c11933895fecc8
New in release 0.99 (Mar 07, 2012)
- 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
The following people helped with this release:
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are proud to announce the release of GNU Classpath 0.98 "Better Late Than Never"
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, see
http://www.gnu.org/software/classpath/stories.html
This release brings with it a number of interesting new features:
developed by the ClasspathX project
(http://www.gnu.org/software/classpathx/) to provide the
javax.activation API introduced in 1.6.
There have also been many bugfixes over the past year. Those relevant to 0.98 can be found at
http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.98
With the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the
Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site (http://developer.classpath.org/) provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the gjdoc, which is now integrated into GNU Classpath. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailing list if you would like to help with this effort.
For more information about the project see also:
* GNU Classpath home page: http://www.gnu.org/software/classpath/
* Developer information (wiki): http://developer.classpath.org/
* Full class documentation: http://developer.classpath.org/doc/
* GNU Classpath hackers: http://planet.classpath.org/
* Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
* Application test pages (wiki):
* http://developer.classpath.org/mediation/Applets
* http://developer.classpath.org/mediation/FreeAWTTestApps
* http://developer.classpath.org/mediation/FreeSwingTestApps
* http://developer.classpath.org/mediation/FreeSWTTestApps
* GNU Classpath hacking with Eclipse (wiki):
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
* GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.98 is available from
ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors (http://www.gnu.org/order/ftp.html)
File: classpath-0.98.tar.gz
MD5sum: 90c6571b8b0309e372faa0f9f6255ea9
SHA1sum: 1d6e8d1b3542a35bbd1013c61fab3cfae083decb
New in release 0.98 (Feb 05, 2009)
library. A new option, --enable/disable-gmp is provided, and
the option is enabled by default if GMP is found.
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)
- 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:
The following people helped with this release:
Chris Burdess, David Daney, David Edelsohn, Daniel Frampton, Michael Franz, Jeroen Frijters, David P Grove, Andrew Haley, Laszlo Andras Hernadi, Andrew John Hughes, Matthias Klose, Byeogncheol Lee, Robert Lougher, Raif S. Naffah, Xavier Poinsard, Ian Rogers, Robert Schuster, Archit Shah, Joshua Sumali, Christian Thalinger, Mario Torre, Tom Tromey, Ralf Wildenhues, Mark Wielaard
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are proud to announce the release of GNU Classpath 0.97.2, the second bugfix release for GNU Classpath 0.97.
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example JamVM, CACAO and Kaffe can make use of an installed copy of GNU Classpath 0.97.2, while GCC (gcj) will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, see http://www.gnu.org/software/classpath/stories.html
This is the second of a new series of bugfix releases that follow a major (0.x) release. A 0.x.y release will only contain minor bug fixes. It will not cause major changes in the functionality of GNU Classpath, either for better or for worse.
With this bugfix release, the following issues have been resolved:
From the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (GCJ, CACAO, JamVM, JikesRVM etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site (http://developer.classpath.org/) provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project, which will become part of GNU Classpath itself with the release of 0.98. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implemented packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.
For more information about the project see also:
GNU Classpath home page: http://www.gnu.org/software/classpath/
Developer information (wiki): http://developer.classpath.org/
Full class documentation: http://developer.classpath.org/doc/
GNU Classpath hackers: http://planet.classpath.org/
Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
Application test pages (wiki):
http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
GNU Classpath hacking with Eclipse (wiki):
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.97.2 is available from ftp://ftp.gnu.org/pub/gnu/classpath/, one of the ftp.gnu.org mirrors (http://www.gnu.org/order/ftp.html) or the Classpath continuous integration system (http://builder.classpath.org/dist)
File: classpath-0.97.2.tar.gz
MD5sum: 6a35347901ace03c31cc49751b338f31
SHA1sum: 627e9781f9bb744b1a70e4aaff88d2d0440cbf1f
The following people helped fix bugs in Classpath 0.97.1:
Andrew John Hughes, Michael Koch, Jim Meyering, Robert Schuster, Mario Torre, Tom Tromey, Ralf Wildenhues
The following people helped with the release of Classpath 0.97 and/or 0.97.1:
Luciano Chavez, Thomas Fitzsimmons, Bernhard Fischer, Jeroen Frijters, Stefan Huehner, Andrew John Hughes, Jakub Jelinek, Ito Kazumitsu, Roman Kennke, Alexandre Oliva, Petteri Raety, Ian Rogers, Robert Schuster, Leen Toelen, Mario Torre, Dalibor Topic, Tom Tromey, David Walluck, Mark Wielaard and Ralf Wildenhues.
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are pleased to announce the release of GJDoc 0.7.9
gjdoc is the GNU documentation generation framework for
java source files. This release is mainly to make sure that gjdoc can generate documentation for the latest version of GNU Classpath (0.97.1).
The support for the 1.5 language features isn't complete, but
this release of gjdoc should be able to at least handle the basics and generate documentation for java source code files that contain generics, annotations and enumerations. Help for extending the support and update the gjdoc parser are highly appreciated.
New in release 0.7.9
(by ignoring them)
The following people contributed to this release:
Andrew John Hughes, Michael Koch and Mark Wielaard
The latest release of GNU gjdoc can always be found at
ftp://ftp.gnu.org/gnu/classpath/
We are proud to announce the release of GNU Classpath 0.97.1, the first bugfix release for GNU Classpath 0.97.
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example JamVM, CACAO and Kaffe can make use of an installed copy of GNU Classpath 0.97.1, while GCC (gcj) will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, see http://www.gnu.org/software/classpath/stories.html
This is the first of a new series of bugfix releases that follow a major (0.x) release. A 0.x.y release will only contain minor bug fixes. It will not cause major changes in the functionality of GNU Classpath, either for better or for worse.
With this bugfix release, the following issues have been resolved:
From the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (GCJ, CACAO, JamVM, JikesRVM etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site (http://developer.classpath.org/) provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.
For more information about the project see also:
GNU Classpath home page: http://www.gnu.org/software/classpath/
Developer information (wiki): http://developer.classpath.org/
Full class documentation: http://developer.classpath.org/doc/
GNU Classpath hackers: http://planet.classpath.org/
Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
Application test pages (wiki):
http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
GNU Classpath hacking with Eclipse (wiki):
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.97.1 is available from
ftp://ftp.gnu.org/pub/gnu/classpath/, one of the ftp.gnu.org mirrors
(http://www.gnu.org/order/ftp.html) or the Classpath continuous integration
system (http://builder.classpath.org/dist)
File: classpath-0.97.1.tar.gz
MD5sum: 35e81f0e0055a8b8a7a879077cf2b3c6
SHA1sum: 04486b0ce8d4da1f4111d28ae03b149cc475d6dd
The following people helped fix bugs in Classpath 0.97:
Andrew John Hughes, Petteri Raety, Robert Schuster
The following people helped with the release of Classpath 0.97:
Luciano Chavez, Thomas Fitzsimmons, Bernhard Fischer, Jeroen Frijters, Stefan Huehner, Andrew John Hughes, Jakub Jelinek, Ito Kazumitsu, Roman Kennke, Alexandre Oliva, Ian Rogers, Robert Schuster, Leen Toelen, Mario Torre, Dalibor Topic, Tom Tromey, David Walluck, Mark Wielaard and Ralf Wildenhues.
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are proud to announce the release of GNU Classpath 0.97 "I Aten't Dead"
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. For more projects based on GNU Classpath, see http://www.gnu.org/software/classpath/stories.html
Again, this release is primarily a maintenance release. The recent release of the majority of Sun's class library as Free Software on May the 8th, 2007, under the auspices of the OpenJDK project (http://openjdk.java.net) has changed the position of GNU Classpath within the community and recent efforts have focused on bringing together Classpath and OpenJDK code under the umbrella of IcedTea (http://icedtea.classpath.org) and BrandWeg
(http://icedtea.classpath.org/wiki/BrandWeg). We hope to
extend support and work together with the OpenJDK community over time.
The main feature of this release is major changes to Classpath's build system. Notably, configure now tries to find ecj, javac and gcj (in that order), with the --with-ecj and --with-javac options being removed. To override this, set JAVAC when calling configure. This brings the use of the Java compiler in line with that of the C and C++ compilers. Building also now requires a version of javah so that headers may be generated.
There have also been many bugfixes over the past four months. Those relevant to 0.97 can be found at http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.97
With the 0.95 release, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse
Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site (http://developer.classpath.org/) provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience in the future. Please contact the mailinglist if you would like to help with this effort.
For more information about the project see also:
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
sspathBanners
GNU Classpath 0.97 will shortly be available from
ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors (http://www.gnu.org/order/ftp.html) and is now available from the Classpath continuous integration system
(http://builder.classpath.org/dist)
File: classpath-0.97.tar.gz
MD5sum: 73c36efc5dc265cf8950fe43247541de
SHA1sum: c53703710c6030d105d750c9dad7ed7551be5317
New in release 0.97 (Feb 22, 2007)
Build changes:
Runtime interface changes:
The following people helped with this release:
Luciano Chavez, Thomas Fitzsimmons, Bernhard Fischer, Jeroen Frijters, Stefan Huehner, Andrew John Hughes, Jakub Jelinek, Ito Kazumitsu, Roman Kennke, Alexandre Oliva, Ian Rogers, Robert Schuster, Leen Toelen, Mario Torre, Dalibor Topic, Tom Tromey, David Walluck, Mark Wielaard and Ralf Wildenhues.
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are proud to announce the release of GNU Classpath 0.96.1 "Staying Alive", a minor bug fix release to solve some build issues.
We are proud to announce the release of GNU Classpath 0.96 "Staying Alive"
GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. More projects based on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
This release is primarily a maintenance release. The recent release of the majority of Sun's class library as Free Software on May the 8th, under the auspices of the OpenJDK project ( http://openjdk.java.net ) has changed the position of GNU Classpath within the community and recent efforts have focused on bringing together Classpath and OpenJDK code under the umbrella of IcedTea ( http://icedtea.classpath.org ) and on using the new OpenJDK code within existing Free runtime environments such as cacao ( http://www.cacaojvm.org/ ) and IKVM ( http://www.ikvm.net/ ). We hope to extend support and work together with the OpenJDK community over time.
This release switches fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. From now on we intend to no longer release both a non-generics and a generics version. But if there is demand we might consider resurrecting the non-generics 1.4 branch with selected bug-fixes (depending on having a branch maintainer). Work is on the way to also add the new 1.6 additions, a start for selected packages has been made in this release.
That said, the main feature of this release is our new experimental GStreamer peer arising from the work of Mario Torre on his Google Summer of Code project (http://code.google.com/soc/2007 ). This provides support for the javax.sound API using the GStreamer library ( http://gstreamer.freedesktop.org ), allowing any sound file supported by GStreamer to be played from Java. Full details are provided in the included README.gstreamer file. The peer is not yet ready for production use, but please try it and give us your feedback.
We've also improved our support for interacting with the outside world. Our JNI header has been updated to 1.6, we now better support choosing a compiler to use to build Classpath (either ecj or OpenJDK javac, the latter now having support for using the -J option to avoid out of memory errors) and our tools support has improved so as to better stand as a substitute for Sun's toolset.
AWT and Swing have seen a host of bug fixes and updates, including much improved Escher peers. Our thanks to Roman Kennke and others working on Classpath's GUI support. Screenshots of applications (eclipse, jedit, jfreechart, "jgecko", statcvs and more) working out of the box with GNU Classpath can be found at http://developer.classpath.org/screenshots/ .
With our last release, 0.95, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site http://developer.classpath.org/ provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience based on these two tools in the future. Please contact the mailinglist if you like to help with this effort.
For more information about the project see also:
GNU Classpath 0.96 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html
GNU Classpath 0.96 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
or the Classpath continuous integration system
http://builder.classpath.org/dist
File: classpath-0.96.tar.gz
MD5sum: 650dd3ac4ae2939f296c81f885d24a36
SHA1sum: dcb71d1f0b915f8529361faf862a850b7f404dba
New in release 0.96 (Oct 15, 2007)
(See the ChangeLog file for a full list of changes.)
Runtime interface changes:
The following people helped with this release:
Andreas Tobler, Andrew Haley, Andrew John Hughes, Casey Marshall, Chris Burdess, Christian Thalinger, Dalibor Topic, David P Grove, Francis Kung, Gary Benson, Ian Rogers, Ito Kazumitsu, Jeroen Frijters, Keith Seitz, Kyle Galloway, Mario Torre, Mark Wielaard, Matthias Klose, Paul Jenner, Robert Schuster, Robin Garner, Roman Kennke, Tania Bento, Thomas Fitzsimmons and Tom Tromey.
We would also like to thank the numerous bug reporters and testers! In addition, we'd like to extend our thanks to all those who've contributed over the years and have helped in building a thriving and friendly community around the GNU Classpath project.
We are proud to announce the release of GNU Classpath 0.95 "Take Five"
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
This release adds some serious jazz (more extensive list below):
Full merge of 1.5 generics work. Bootstrappable with OpenJDK javac
compiler. URLConnection timeout support. TimeZone can use platform
zoneinfo file when available. The Collection classes, lang.management
and util.spi have been updated to 1.6. Addition of 1.6 ServiceLoader.
Speedup for cairo and freetype Graphics2D support. The ASM library
is now included. Better detection of browser plugin mechanisms for
gcjwebplugin applet support in mozilla, iceweasel and firefox.
Screenshots of applications (eclipse, jedit, jfreechart, "jgecko",
statcvs and more) working out of the box with GNU Classpath can be
found at http://developer.classpath.org/screenshots/
This release switches fully towards the 1.5 generics work that we
previously released separately as classpath-generics. All this work is
now fully integrated in the main release and various runtimes (gcj,
cacao, jamvm, ikvm, etc) have been extended to take advantage of the
new generics, annotations and enumeration support in the core
library. From now on we intend to no longer release both a
non-generics and a generics version. But if there is demand we might
consider resurrecting the non-generics 1.4 branch with selected
bug-fixes (depending on having a branch maintainer). Work is on the
way to also add the new 1.6 additions, a start for selected packages
has been made in this release.
On November 13 2006 (now known as Java Liberation Day) Sun decided to
start releasing all its Java ME, SE and EE implementations under the
GPL. http://www.sun.com/software/opensource/java/ For the last decade
the GNU Classpath community has worked together with various other
free software projects to help people avoid the so called "Java Trap"
http://www.gnu.org/philosophy/java-trap.html As the FSF press release
welcoming the Sun announcement said: 'Now, Sun has begun disarming the
"Java Trap", turning it from a pitfall into a valuable foundation for
future free software development.'
http://www.fsf.org/news/fsf-welcomes-gpl-java.html
This release supports compiling and running the GPL OpenJDK javac
compiler using GNU Classpath based runtimes and compilers and to
compile the GNU Classpath core libraries, tools and examples with the
OpenJDK javac compiler itself. Making it a full bootstrap compiler for
GNU Classpath and related projects. We hope to extend support and work
together with the OpenJDK community over time.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided.
For each snapshot release generated documentation is provided through
the GNU Classpath Tools gjdoc project. A documentation generation
framework for java source files used by the GNU project. Full
documentation on the currently implementated packages and classes can
be found at: http://developer.classpath.org/doc/
Since gjdoc does not yet fully support all the new 1.5 language
additions used in this version of GNU Classpath the documentation has
also been generated using the GPL project sinjdoc which doesn't
provide all the features gjdoc has (-linksource, -licensetext,
-validhtml, @Link support in comments in particular) but has a better
1.5 language parser: http://developer.classpath.org/sinjdoc/
We are looking into how to extend the documentation experience based
on these two tools in the future. Please contact the mailinglist if
you like to help with this effort.
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.95 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.95.tar.gz
MD5sum: 08638bb9221460cc311a1c5508083ed8
SHA1sum: 9a3b276853a07ecc8753217a6db24afffab2cb2c
New in release 0.95 (Apr 23, 2007)
(See the ChangeLog file for a full list of changes.)
Runtime interface changes:
The following people helped with this release:
Andreas Tobler, Andrew Haley, Andrew John Hughes, Cameron McCormack,
Casey Marshall, Chris Burdess, Christian Thalinger, Dalibor Topic,
David Daney, Edwin Steiner, Francis Kung, Gary Benson, Ito Kazumitsu,
Jakub Jelinek, Jeroen Frijters, Keith Seitz, Kyle Galloway, Marco
Trudel, Mario Torre, Mark Wielaard, Matthias Klose, Petteri Raty,
Rafael Teixeira, Raif S. Naffah, Roman Kennke, Stepan Kasal, Sven de
Marothy, Tania Bento, Thomas Fitzsimmons and Tom Tromey
We would also like to thank the numerous bug reporters and testers!
We are proud to announce the release of GNU Classpath 0.93 "Dreamland"
Read on for highlights of new features in this release, pointers to
supported applications and screenshots, the status and future of the
1.4 and 1.5 generics branches. An update on the Summer of Code
student work. Plus some prelimenary ideas on cooperating with the Sun
GPL OpenJDK Java project. And the GNU Classpath commitments to the
Free Software community for the future of various projects around GNU
Classpath, the users and GNU/Linux distros relying on our work.
Highlights of new features in this release (more extensive list below):
NIO Selector epoll (linux 2.6 kernel) and kio (BSD and Darwin)
notification mechanisms added. Fast, direct call, support for in
runtime CORBA objects. Support for user JNDI context factories (plus
corbaname: and rmi: jndi urls). New javah tool included. JSSE
SSLEngine support including TLSv1.1 and pre-shared key ciphersuites.
Full lang.management MX Beans ManagementFactory implementation.
99.95% api coverage for 1.4, 95.5% api coverage for 1.5. Much
better swing HTML support (aka JGecko). Graphics2D on cairo speedups
and make it respects interpolation hints, better gradient
support and custom Composites and Paints.
Screenshots of applications (eclipse, jedit, jfreechart, "jgecko",
statcvs.png) working out of the box with GNU Classpath 0.93 can be
found at http://developer.classpath.org/screenshots/
With this release our 1.4 library work is 99.95 API complete.
Although this doesn't mean GNU Classpath is fully compatible and a
perfect drop in replacement for proprietary 1.4 JDKs yet, it is pretty
close and any divergence should be considered a bug. Our 1.5 library
work is now 95.5% API complete.
This is the last release that will have two separate library releases
for 1.4 and 1.5. The next release will be based on our 1.5 generics
branch work. We are willing to maintain a 1.4 branch based the
non-generic 0.93 release if people are interested in support for
this. Please contact the mailinglist classpath@gnu.org if you are.
This release contains two large contributions sponsored by the Google
Summer of Code project. Casey Marshall rewrote the SSL library to use
the NIO model of JSSE (implementing SSLEngine) and added support for
TLSv1.1 and pre-shared key ciphersuites. Originally developed on the
ssl-nio-branch this work is now available in the generics release.
Andrew John Hughes wrote a lang.management MX Beans ManagementFactory
implementation, which allows a runtime based on GNU Classpath to
provide various MX Beans through javax.management services that a user
can use to query the status and usage of various low level vm
resources. The the original implementation was written for GCJ, but
for this release other runtimes (e.g. jamvm and cacao) have added
support based on the generic vm-interface designed by Andrew.
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
On November 13 (now known as Java Liberation Day) Sun decided to start
releasing all its Java ME, SE and EE implementations under the GPL.
http://www.sun.com/software/opensource/java/ For the last decade the
GNU Classpath community has worked together with various other free
software projects to help people avoid the so called "Java Trap"
http://www.gnu.org/philosophy/java-trap.html As the FSF press release
welcoming the Sun announcement said: 'Now, Sun has begun disarming the
"Java Trap", turning it from a pitfall into a valuable foundation for
future free software development.'
http://www.fsf.org/news/fsf-welcomes-gpl-java.html
The new project 'OpenJDK' started by Sun will provide a full SE Java
environment. Only parts have been released now. And the GNU Classpath
community already started adopting independent parts to make them work
on a full free stack. With the 0.93 generics release you should be
able to compile and run the GPl javac compiler with some tricks.
http://gnu.wildebeest.org/diary/index.php?p=172 We hope to cooperate
more substantially with the OpenJDK community in the future.
Not all code has been released by Sun, in particular the core class
libraries will not be release till somewhere next year. And some parts
might be encumbered preventing Sun from releasing those parts. We will
try and help plugg any holes left. It is too early to claim we already
know how our communities will interact and work together. But the
general feeling is positive. Sun has been very open, clear and
cooperative about OpenJDK and letting the GNU Classpath community know
about their plans and willingness to work with the existing free
software communities.
The GNU Classpath community is happy with this development and
although it is too early to see what the future might bring we know we
have the following commitments to our developers, users, projects and
GNU/Linux distros depending on our work:
- We will not regress on freedom. For anything Sun cannot release
(now) under the GPL we will provide free replacements.
- We will not regress on coverage. The platforms, architectures,
projects and programs that run now with GNU Classpath should run in
the future.
- We will not regress on having fun, innovating and hacking together!
We want to make it easy to adopt and collaborate. We want to make it
easy for people to improve together with GNU Classpath and OpenJDK by
helping also the smaller projects and platforms with less resources to
adopt the new innovation (coordinating new VM and Platform interfaces)
Various individual GNU Classpath hackers have made personal statements
about all this (from Planet Classpath - http://planet.classpath.org/):
- Mario Torre
Watch out, we have changed history...
http://jroller.com/page/neugens?entry=watch_out_we_have_changed
- Roman Kennke
First Rays of a New Rising Sun
http://kennke.org/blog/?p=25
- Brian Jones
Nov. 13 2006, is a notable bookmark in the history of free software
http://cbj.livejournal.com/234857.html
- David Gilbert
On Walled Gardens
http://jroller.com/page/dgilbert?entry=on_walled_gardens
- Anthony Green
Now that's what I call harmony...
http://spindazzle.org/greenblog/index.php?/archives/43-Now-thats-what-I-call-harmony....html
- Casey Marshall
Free Java!
http://metastatic.org/text/Concern/2006/11/13/107/
- Andrew Hughes
Victory! Pigs Fly as Java is GPLed and javac compiles Freely
http://blog.fuseyism.com/?p=18
- Dalibor Topic
San i java
http://robilad.livejournal.com/2056.html
- Jeroen Frijters
Sun Open Sourcing Java
http://weblog.ikvm.net/PermaLink.aspx?guid=3620697a-52f4-4067-9afa-863b3066317b
- Andrew Overholt
Sun commits to "GPL + Exception"ing Their Java Implementation
http://overholt.ca/wp/?p=74
- Thomas Fitzsimmons
The New Free Java Project
http://fitzsim.org/blog/?p=13
- Mark Wielaard
Collaborate
http://gnu.wildebeest.org/diary/index.php?p=171
GNU Classpath, Sun, Java, GPL, Reflections & The Future
http://gnu.wildebeest.org/diary/index.php?p=175
- Tom Tromey
Sun Frees Java
http://tromey.com/blog/?p=293
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.93 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.93.tar.gz
MD5sum: ffa9e9cac31c5acbf0ea9eff9efa923d
SHA1sum: 336cae589ec91a4fe212c2149c57b51dab2ca002
File: classpath-0.93-generics.tar.gz
MD5sum: 9d3f5941b9fc0d8bc056344cb07a5c86
SHA1sum: 4362433a4bd985baf00a00586c355939905861ff
New in release 0.93 (Dec 8, 2006)
(See the ChangeLog file for a full list of changes.)
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.
(see asm.objectweb.org); it can be enabled with the --with-asm
option to configure
implementations.
vm/reference/java/io/ObjectInputStream.java.
vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to
provide a more efficient implementation.
`getifaddrs' function.
the kqueue notification mechanism on Mac OS X and *BSD, and that use
the epoll notification mechanism on Linux 2.6.
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.
Runtime interface changes:
updated to keep native-modified state in the former, and to simplify
the native code in our reference implementation.
non-blocking IO. Most native state data (such as file descriptor
integers) has been abstracted away into private state in the runtime
interface.
functionality now provided by VMChannel; datagram socket-specific
methods have also been moved here, deprecating
VMPlainDatagramSocketImpl.
The following people helped with this release:
Aaron M. Ucko, Andreas Tobler, Andrew John Hughes, Audrius Meskauskas,
Ben Konrath, Cameron McCormack, Casey Marshall, Chris Burdess,
Christian Elias Naur, Christian Thalinger, Dalibor Topic, David Daney,
David Fu, David Gilbert, David Pirkle, Edwin Steiner, Francis Kung,
Friedjof Siebert, Gary Benson, Guilhem Lavaux, Helmer Kraemer,
Ian Rogers, Ingo Proetel, Ito Kazumitsu, Jeroen Frijters,
Keith Seitz, Lillian Angel, Marco Trudel, Mario Torre, Mark Wielaard,
Martin Platter, Matthew Burgess, Michael Franz, Michael Koch,
Paul Jenner, Raif S. Naffah, Riccardo Mottola, Robert Lougher,
Robert Schuster, Roger Sayle, Roman Kennke, Sven de Marothy,
Tania Bento, Thomas Fitzsimmons and Tom Tromey
We would also like to thank the numerous bug reporters and testers!
We are proud to announce the release of GNU Classpath 0.92 Bling! Bling!
This is the first release that has a full graphics 2D implemenation
based on Cairo enabled by default. This enables the use of applications
like JEdit, FlickrBackup and JFreeChart out of the box. Screenshots of
CairoGraphics2D at http://www.jfree.org/jfreechart/samples-gnu.html
Also new in this release is the inclusion of an applet viewer
and plugin that can be embedded in webbrowsers or other applications.
It works on any platform supported by the various runtimes based on
GNU Classpath, including 64 bit architectures.
Some other highlights in this release (more extensive list below):
An alternative awt peer implementation based on Escher that uses the
X protocol directly. Various ImageIO providers for png, gif and bmp
images. Support for reading and writing midi files and reading .au
and .wav files have been added. Various tools and support classes
have been added for jar, native2ascii, serialver, keytool, jarsigner.
A GConf based util.peers backend has been added. Support for using
alternative root certificate authorities with the security and crypto
packages. Start of javax.management and runtime lang.managment
runtime support. NIO channels now support scatter-gather operations.
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
Also released is classpath-generics-0.92 an experimental branch with
support for all the new 1.5 language features such as generics and
enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
generics release. And you can use it to run Eclipse 3.1 with it to
develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/Applets
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
GNU Classpath 0.92 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.92.tar.gz
MD5sum: 4603ef3e593713d94788b919bc0b6c75
SHA1sum: fab3d6d360f6e9d712fc999f3f085e9f9c8c641a
File: classpath-0.92-generics.tar.gz (EXPERIMENTAL)
MD5sum: 3efacbefe0224dfe57d9049619095b32
SHA1sum: 7db4d90e36e40ec676ac813f300265849e36e223
New in release 0.92 (Aug 9, 2006)
(See the ChangeLog file for a full list of changes.)
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.
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.
dependency on the Mozilla plugin support headers and libraries.
documentation about:
* appletviewer
* gcjwebplugin
* jarsigner
* keytool
* 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.
write standard MIDI files.
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.
--enable-default-preferences-peer configure options).
connections (see script/import-cacerts.sh).
Runtime interface changes:
URLConnection.guessContentTypeFromStream. The reference
implementation uses libmagic (and falls back to doing nothing if
libmagic is not available).
replaced with a JNI implementation of VMFile.toCanonicalForm() for
GNU/Posix systems.
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.
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.
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.
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.
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.
time support for Just-In-Time compilers.
of the memory pool beans. Providing this interface requires
providing memory usage statistics for each supported bean.
memory managers and garbage collectors maintained by the virtual
machine. These are used to create the beans by the ManagementFactory.
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.
The following people helped with this release:
Andreas Tobler, Andrew John Hughes, Anthony Balkissoon, Anthony Green,
Archie Cobbs, Audrius Meskauskas, Carsten Neumann, Casey Marshall,
Chris Burdess, Christian Thalinger, C. Scott Marshall, Dalibor Topic,
David Gilbert, Francis Kung, Gary Benson, Henrik Gulbrandsen, Ingo
Proetel, Ito Kazumitsu, Jeroen Frijters, Jim Huang, Kazuya Ujihara,
Keith Seitz, Kyle Galloway, Lillian Angel, Mario Torre, Mark Wielaard,
Martin Platter, Matthew Burgess, Matthew Wringe, Matt Wringe, Michael
Barker, Miriam Schuster, Olivier Jolly, Paul Jenner, Raif S. Naffah,
Robert Schuster, Roman Kennke, Sven de Marothy, Tania Bento, Thomas
Fitzsimmons, Thomas Minor, Tom Tromey and Vivek Lakshmanan
We would also like to thank the numerous bug reporters and testers!
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
Some highlights of changes in this release (more extensive list below):
RMI activation daemon and persistent naming service tools are now
included. Print service discovery, single document print jobs and
support for client-formatted print data through CUPS has been
added. Support for custom mouse cursors, system clipboard and
selection access has been implemented. A Free Swing OceanTheme and
support for assistive technologies (accessibility) has been
added. The VM runtime interface has been merged with the generics
version to support annotations and other 1.5 language features.
GNU Classpath 0.91 does not yet support all new 1.5 additions, but
there is also an experimental GNU Classpath "generics" release.
classpath-0.91-generics contains a version of the core library that
uses the new 1.5 language features such as generics and
enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
generics release. And you can use it to run Eclipse 3.1 with it to
develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JFreeChart and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.
One of the major focuses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains more than 45.000
core library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information: http://www.sourceware.org/mauve/
This release passes 44975 out of 45537 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.91 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.91.tar.gz
MD5sum: 3ce11b4b990b108c5ab93894fcc61be6
SHA1sum: fcbfdf64f7a990f1747621772a2e9e69d0baaab7
File: classpath-0.91-generics.tar.gz (EXPERIMENTAL)
MD5sum: e79132b1b8441523b8f4f6a8f2d2910b
SHA1sum: 90be3b2115e8a0288bcb6e2d1860fe58b42c77b5
New in release 0.91 (May 14, 2006)
(See the ChangeLog file for a full list of changes.)
activation daemon and persistent naming service tools.
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 (gnu/classpath/examples/print/Demo)
has been added to show the API usage for service discovery and
printing of files.
system selection.
cursors can now also be set on light-weight components.
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.
fixed; that class now respects the "securerandom.source" security
property and the "java.security.egd" system property.
Runtime interface changes:
array creation method from java.lang.reflect.Array.
new low-level operations required by java.util.concurrent.
now have a new native getModifiersInternal() method. The public
getModifiers() method in each case has been rewritten in terms of
this method.
the new Thread.UncaughtExceptionHandler support.
used to generate random numbers for seeding cryptographically-secure
pseudo-random number generators.
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.
branch from the generics branch.
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.
supports it. The VM should implement VMClass.getDeclaredAnnotations,
Constructor.getAnnotation, Constructor.getDeclaredAnnotations,
Field.getAnnotation, Field.getDeclaredAnnotations,
Method.getAnnotation and Method.getDeclaredAnnotations.
ClassLoader as an extra argument. If you use a custom version of
VMClassLoader, please switch it to use this constructor.
reads the META-INF/INDEX.LIST resource using the java.boot.class.path
system property.
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.
--enable-gtk-cairo.
The following people helped with this release:
Andrew John Hughes, Anthony Balkissoon, Arnaud Vandyck, Audrius
Meskauskas, Bernhard Rosenkraenzer, Bryce McKinlay, Caolan McNamara,
Carsten Neumann, Casey Marshall, Chris Burdess, Christian Thalinger,
Dalibor Topic, David Gilbert, Fridjof Siebert, Gary Benson, Ito
Kazumitsu, Jeroen Frijters, John K Peterson, John Sullivan, Keith
Seitz, Lillian Angel, Mark Wielaard, Michael Barker, Michael Koch,
Nicolas Geoffray, Olivier Jolly, Paul Jenner, Rafael H. Schloming,
Raif S. Naffah, Riccardo Mottola, Robert Schuster, Roman Kennke,
Sascha Brawer, Stephen White, Sven de Marothy, Thomas Fitzsimmons,
Tom Tromey and Wolfgang Baer.
We would also like to thank the numerous bug reporters and testers!
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
Some highlights of changes in this release (more extensive list below):
JTables can be rearranged and resized. Free Swing text components
support highlighting and clipboard. Much improved styled text. Fast
event dispatching and lower memory consumption. Better support for
mixing lightweight and heavyweight components in AWT containers. GNU
Crypto and Jessie cryptographic algorithms have been added providing
ssl3/tls1 and https support. Unicode 4.0.0 support. GIOP and RMI
stub and tie source code tools. XML validaton support for RELAX NG
and W3C XML schemas. New file backend for util.prefs. Updated
gnu.regexp from POSIX to util.regex syntax.
GNU Classpath also comes in a "generic" version.
classpath-0.90-generics contains a version of the core library that
uses the new 1.5 language features such as generics and
enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
generics release. And you should be able to run Eclipse 3.1 with it to
develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JFreeChart and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.
One of the major focuses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains around 44.000
core library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information: http://www.sourceware.org/mauve/
This release passes 43856 out of 44429 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.90 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.90.tar.gz
MD5sum: cf5aaaf07fe43567fa605b33165355d7
SHA1sum: 267dcd6345b90486cce17f1c73fbf33ee0d06f7c
File: classpath-0.20-generics.tar.gz (EXPERIMENTAL)
MD5sum: 55a56f0e797c21e906c0d61620ca00eb
SHA1sum: 5863cdf1c567efd8517dc8cc5445efe272b38a21
New in release 0.90 (March 6, 2006)
(See the ChangeLog file for a full list of changes.)
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
Components in Containers. Better support for dynamically updated
menus. Better 1.0 event model support for Scrollbars. Better class
documentation of gtk+ awt peers.
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.
out of the box.
ether a char or an int to identify code points.
for Proxy and abstract classes.
generators, IOR parser and both transient and persistent GIOP naming
services.
using proxy classes. The rmic compiler is no longer required (unless
for research and specific stubs).
URIs. RELAX NG pluggable XML schema datatype library API and an
implementation for XML Schema Datatypes
(http://www.w3.org/TR/xmlschema-2/).
default is capable of saving and restoring preferences to and from
the file system.
"collections.jar", a 1.1 VM compatibility jar.
syntax including various Unicode blocks, categories and properties.
Runtime interface changes:
mathematical functions from java.lang.Math. The previous fdlibm
implementation now forms the reference material for this class.
loader if no other class loader is found.
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.
--enable-gtk-cairo.
The following people helped with this release:
Andrew John Hughes, Anthony Balkissoon, Anthony Green,
Artemus Harper, Audrius Meskauskas, Beat Wolf, Casey Marshall,
Chris Burdess, Christian Thalinger, Dalibor Topic, David Daney,
David Gilbert, Dimitri Fontaine, Egon Willighagen, Gary Benson,
Guilhem Lavaux, Ingo Proetel, Ito Kazumitsu, James Damour,
Jeroen Frijters, Keith Seitz, Lillian Angel, Mark Wielaard,
Michael Kay, Michael Koch, Nicolas Geoffray, Olivier Jolly,
Paul Jenner, Pedro Izecksohn, Rafael Teixeira, Raif S. Naffah,
Robert Schuster, Roman Kennke Stuart Ballard, Thomas Fitzsimmons,
Tom Tromey and Wolfgang Baer
We would also like to thank the numerous bug reporters and testers!
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions. More projects based
on GNU Classpath: http://www.gnu.org/software/classpath/stories.html
Some highlights of changes in this release (more extensive list below):
New StAX pull parser and SAX-over-StAX driver. Full XMLEncoder
implementation. The packages javax.sound.sampled, javax.print.attribute
and javax.print.event have been implemented. Lots of new datatransfer,
print, swing and swing.text work. Performance improvements in the
painting/layout mechanism. Additional 1.5 support, including (separate)
generic branch release. SecurityManager cleanups and start of review
of all Permission checks. Buildable on cygwin. Fully buildable as
"in-workspace" library-plus-vm inside (native) Eclipse. Real world
Free Swing and CORBA example added.
GNU Classpath 0.20 also comes in a "generic" version.
classpath-0.20-generics contains a version of the core library
that uses the new 1.5 language features such as generics and
enumerations. ECJ, JamVM, IKVM and Cacao are known to support the
generics release (*). And you should be able to run Eclipse 3.1 with
it to develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.
(*) There is one additional VM interface needed for the VMClassLoader
static final Class defineClassWithTransformers(ClassLoader loader,
String name, byte[] data, int offset, int len, ProtectionDomain pd)
Which is used for the new java.management.instrumentation support.
See the VM Integration Guide for more details:
http://www.gnu.org/software/classpath/docs/vmintegration.html
Thanks to a donation of Berkeley Signal Inc GNU Classpath now has an
official autobuilder machine which is used for quality assurance,
regression testing, conformance reports and for publishing continous
snapshots. The machine can be reached as http://builder.classpath.org/
40 people actively contributed to this release and made
605 CVS commits during the last two months of development
(excluding the generics branch work). diffstat since 0.19:
617 files changed, 89622 insertions(+), 37478 deletions(-)
More details about the various changes and contributions below.
A full list of bug reports fixed for this release can be found at:
http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.20
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
For more information about the project see also:
- GNU Classpath home page:
http://www.gnu.org/software/classpath/
- GNU Classpath and Friends meeting (Feb 25/26, Brussels, Fosdem):
http://www.gnu.org/software/classpath/events/fosdem06.html
- Roadmap
http://developer.classpath.org/support/
- Developer information (wiki):
http://developer.classpath.org/
- Full class documentation
http://developer.classpath.org/doc/
- GNU Classpath hackers:
http://planet.classpath.org/
- Autobuilder, current build status, build snapshots:
http://builder.classpath.org/
- Application test pages (wiki)
http://developer.classpath.org/mediation/FreeAWTTestApps
http://developer.classpath.org/mediation/FreeSwingTestApps
http://developer.classpath.org/mediation/FreeSWTTestApps
- GNU Classpath hacking with Eclipse (wiki)
http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
- GNU Classpath promotion banners:
http://developer.classpath.org/mediation/ClasspathBanners
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JFreeChart and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.
One of the major focuses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains around 36.000
core library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information: http://www.sourceware.org/mauve/
This release passes 35534 out of 36255 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.20 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.20.tar.gz
MD5sum: 21e34b8e8acb4f7b31296bfaf4ad560a
SHA1sum: c1a38c6c6b67d8c8092cc6af6d86d8c99dad272a
File: classpath-0.20-generics.tar.gz (EXPERIMENTAL)
MD5sum: db3c235b1ea497d7d2e5852f167d2b31
SHA1sum: 3d5f5cdd3dc51651f8b2c3765e30454931f45419
New in release 0.20 (Jan 13, 2006)
(See the ChangeLog file for a full list of changes.)
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.
(includes adding lots of new checks to the Mauve test-suite).
see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
See examples/gnu/classpath/examples/CORBA/swing/README.html
Runtime interface changes:
loop between getCallingClassLoader() and Class.getClassLoader().
new architectures and namespacing issues (in particular for ppc, darwin
and non-C99 compilers). Please double check any arithmetic test against
new platforms/runtimes.
turned into VM reference classes with JNI/Posix implementations.
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.
--enable-gtk-cairo.
The following people helped with this release:
Andreas Tobler
Qt-4.1 support
Andrew Haley
Jar work and Jonas fixes
Andrew John Hughes
1.5 generics language work
Anthony Balkissoon
Free Swing work
Anthony Green
Socket work
Archie Cobbs
New VMStackWalker work and JCVM integration
Audrius Meskauskas
Free CORBA work and various Free Swing fixes
Bryce McKinlay
Jar fixes
Caolan McNamara
Dom fixes and OpenOffice fixes
Casey Marshall
Crypto work
Chris Burdess
XML GNU JAXP work
Christian Thalinger
Various fixes, 64bit work and Cacao integration
Dalibor Topic
Build cleanups and Kaffe integration
David Daney
libgcj integration
David Gilbert
Free Swing work
Freebeans
Mysaifu Windows CE port and bug reports
Fridjof Siebert
Hashtable work
Gary Benson
Securitymanager and Permission work
Guilhem Lavaux
fdlibm cleanups, performance work and Kaffe integration
Ingo Proetel
Various fixes
Ito Kazumitsu
Regex, text and character conversion support
Jan Roehrich
Datatransfer work
Jeroen Frijters
SecurityManager, collections and IKVM integration
Joao Victor
Free Swing Timer work
John Zigman
SocketChannel testing
Keith Seitz
JDWP work
Lillian Angel
Free Swing work
Mark Wielaard
Bug fixes, packaging and release management
Nicolas Geoffray
1.5 Class Instrumentation work
Paul Jenner
Installation and cygwin work
Petteri Raty
Configuration and Gentoo integration work
Raif S. Naffah
Security work and Eclipse integration
Riccardo Mottola
Powerpc work
Robert Schuster
XMLEncoder and beans work
Roman Kennke
Free Swing and AWT work, VM interface
Roman Schnider
AWT work
Sven de Marothy
Print and GTK+ work
Thomas Fitzsimmons
Free Swing and AWT work
Tom Tromey
Eclipse, gcj and gcjx integration
Wolfgang Baer
javax.print and friends
We would also like to thank the numerous bug reporters and testers!
GNU Classpath, essential libraries for java, is a project to create
free core class libraries for use with runtimes, compilers and tools
for the java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
Some highlights of changes in this release (more extensive list below):
Much more efficient painting for large Free Swing GUIs. Improved
accessibility support. HttpURLConnection rewrite. Official CORBA
VMCID assigned. Start of RMI over IIOP support. Qt4 support for
OS-X. Much improved Free Swing Metal theme. Free Swing Demo includes
theme switcher example (Metal, Ocean, GNU). JBoss now starts up and
Jonas testsuite passes for 95%. Support for the javax.sound.midi
framework and experimental DSSI and ALSA service providers. Early
version of the popular StAX API. Now has 96% coverage of 1.4 API.
This is the first time we also have a pre-release of our 1.5 generics
work. classpath-0.19-generics contains a version of the core library
that uses the new 1.5 language features such as generics and
enumerations. ECJ and JamVM are known to support the generics release
out of the box. And you should be able to run Eclipse 3.1 with it to
develop programs that use the new 1.5 language and core library
additions. classpath-generics is a work in progress and not as
extensively tested as our regular releases. But please try it out if
you want to help us test the new 1.5 support of the core libraries.
For this release we setup a Free Swing Test Application page
http://developer.classpath.org/mediation/FreeSwingTestApps
Please see that page for showcases of applications that work with this
release and to help test other applications.
It is also the first release that has GNU Classpath promotion banners.
http://developer.classpath.org/mediation/ClasspathBanners
Please feel free to add them to your project pages if your project is
know to work with GNU Classpath or just to promote the project.
32 people actively contributed to this release and made
787 CVS commits during the last two months of development
(excluding the generics branch work). diffstat since 0.18:
1158 files changed, 93916 insertions(+), 36407 deletions(-)
More details about the various changes and contributions below.
A full list of bug reports fixed for this release can be found at:
http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.19
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JFreeChart and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.
One of the major focuses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains around 34.000
core library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information: http://www.sourceware.org/mauve/
This release passes 33.381 out of 34.262 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.19 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.19.tar.gz
MD5sum: 0b93b1c1dd3d33ef7fb6a47dbb29e41d
SHA1sum: 43d499e8b83e04a7fc4a1d4d301638c5cec6c679
File: classpath-0.19-generics.tar.gz (EXPERIMENTAL)
MD5sum: 4c0ccc91a147af4010d19f48dbf441b3
SHA1sum: b2a2b968523b3af35cd7e44bcc4f940621b3ca66
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
New in release 0.19 (Nov 2, 2005)
(See the ChangeLog file for a full list of changes.)
painting, especially for large GUIs.
BoxLayout has been rewritten to make use of the SizeRequirements
utility class and caching for more efficient layout.
entire response body in memory. This means that response bodies
larger than available memory can now be handled.
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.
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.
OS-X users with a Qt4 installation can build the qt-peers with the
argument --with-qt4dir=<Qt4-installation-dir>.
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.
to highlight various features in our free-swing implementation. And
includes a look and feel switcher (Metal default, Ocean or GNU).
Runtime interface changes:
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 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.
--enable-gtk-cairo.
The following people helped with this release:
Andreas Tobler
Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates.
Andrew Haley
Serialization and URLClassLoader fixes.
Andrew John Hughes
Serialization fixes, Properties XML support and generic branch work.
Anthony Balkissoon
Lots of Free Swing additions.
Anthony Green
MIDI framework, ALSA and DSSI providers.
Audrius Meskauskas
Lots of new CORBA and RMI work and bugfixes.
Casey Marshall
Crypto algorithm fixes.
Chris Burdess
StAX and dom xml:id support.
Christian Thalinger
Configuration and VM inteface fixes and CACAO integration.
Dalibor Topic
Build cleanups and Kaffe integration.
David Daney
HttpURLConnection rewrite and improvements.
David Gilbert
Lots of Free Swing and metal theme additions.
David Lichteblau
JCL support library global/local reference cleanups.
Gael Thomas
VMClassLoader boot packages support sugestions.
Guilhem Lavaux
Configuration, thread and channel fixes and Kaffe integration.
Jan Roehrich
BasicTreeUI fixes.
Jeroen Frijters
Serialization fixes, better Proxy support, bug fixes and IKVM integration.
Julian Scheid
Documentation updates and gjdoc support.
Keith Seitz
JDWP support.
Lillian Angel
Lots of Free Swing additions.
Mark Wielaard
Bug fixes, packaging and release management
Martin Cordova
Suggestions for better SocketTimeoutException.
Michael Koch
Configuration fixes.
Nicolas Geoffray
VMClassLoader and AccessController improvements.
Paul Jenner
Better -Werror support.
Robert Schuster
XML and URL, AWT and Free Swing bug fixes
Roman Kennke
Lots of Free Swing additions.
Santiago Gala
AccessControlContext fixes.
Stuart Ballard
RMI constant fixes.
Sven de Marothy
BMP imageio support, CSS and TextLayout fixes.
Thomas Fitzsimmons
Lots of imageio framework additions, lots of AWT and Free Swing bug fixes.
Tom Tromey
Eclipse integration, generics work, lots of bug fixes and gcj integration.
We would also like to thank the numerous bug reporters and testers!
We are pleased to announce a new developer snapshot of GNU Classpath.
GNU Classpath, essential libraries for java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
This is our first release after "The Big Merge" with GCC/GCJ. GNU
Classpath can now be used as a subdirectory of libgcj inside the GCC
tree so it will be much easier to keep GCC up-to-date with the latest
GNU Classpath developer release snapshots.
Some highlights of changes in this release (more extensive list below):
Added GNU JAWT for awt native interface support. Datatransfer
clipboard updated to 1.5 including support for copy/paste of
serialized objects, images and files. Completed the org.omg
PortableInterceptor, DynamicAny and Portable Object Adapter
packages. Multi plaf support for Free Swing. Editing support for
JTree and JTable. Lots of icons and look and feel improvements for
Free Swing basic and metal themes. NIO FileChannel.map implemented
and DirectByteBuffer put method speedups. Image loading speedups for
awt. Support for darwin and solaris out of the box.
29 people actively contributed to this release and made 535 CVS
commits during the two months of development. diffstat since 0.17:
994 files changed, 114744 insertions(+), 13663 deletions(-)
More details about the various changes and contributions below.
A full list of bug reports fixed for this release can be found at:
http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.18
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JFreeChart and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.5.x snapshot, configure GNU
Classpath with --enable-gtk-cairo.
One of the major focuses of the GNU Classpath project is expanding
and using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains 32.000+ core
library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite.
See for more information: http://www.sourceware.org/mauve/
This release passes 31194 out of 32253 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.18 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.18.tar.gz
MD5sum: c0650c257aa93eafb709553f172f0bbb
SHA1sum: 28061c750244cac4ff0151da6aba183b94b98b25
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source
files used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
New in release 0.18 (Sep 6, 2005)
(See the ChangeLog file for a full list of changes.)
direct access to native screen resources from within a Canvas's
paint method. GNU Classpath Examples comes with a Demo, see
examples/README.
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.
packages is now implemented:
- The sever and client interceptors work as required since 1.4.
- The IOR interceptor works as needed for 1.5.
tests.
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.
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
DirectByteBuffer (speeds up this method 10x).
lock handling (solves several AWT lock ups).
Solaris.
Runtime interface changes:
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.
responsibility to manage the list of defined and loaded classes for
each class loader.
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.
lib/standard.omit and vm/reference/standard.omit. No default
implementation is provided. Work is being done on gcj/gij
integration.
java.xml.stream references in lib/standard.omit.
The following people helped with this release:
Aaron Luchko (Lots of JDWP work)
Andreas Tobler (Darwin and Solaris testing and fixing
Andrew Haley (gcj build speedups)
Anthony Balkissoon (Lots of Free Swing work including JTable editing)
Archie Cobbs (Build fixes)
Audrius Meskauskas (Lots of omg corba work plus testing and documenting)
Bastiaan Huisman (TimeZone bug fixing)
Casey Marshall (NIO FileChannel.map support, security and policy updates)
Chris Burdess (StAX work and gnu xml fixes)
Christian Schlichtherle (Zip fixes and cleanups)
Christian Thalinger (64-bit cleanups)
Dalibor Topic (Qt4 build infrastructure)
David Gilbert (Basic and Metal icon and plaf and lots of documenting)
Guilhem Lavaux (JCL native Pointer updates)
Ingo Proetel (Image, Logger and URLClassLoader updates)
Ito Kazumitsu (NetworkInterfaces implementation and updates)
Jan Roehrich (BasicTreeUI updates)
Jeroen Frijters (VMProxy and VMClassLoader updates, RMIClassLoader fixes)
Keith Seitz (Lots of JDWP work)
Kelley Cook (Build fixes)
Lillian Angel (Lots of Free Swing work including JTree editing)
Mark Wielaard (Clipboard implementation, build and release infrastructure)
Rainer Orth (Build fixes)
Robert Schuster (Documentation updates and beans fixes)
Roman Kennke (Lots of Free Swing work including styled text)
Sven de Marothy (Qt4 peers)
Thomas Fitzsimmons (Lots of gtk+ awt peer work)
Tom Tromey (Lots of fixes including coordinating The Big Merge)
Wolfgang Baer (GapContent bug fixes)
We would also like to thank the numerous bug reporters and testers!
The Portable object adapter (POA) provides deep control on CORBA request processing. The code, generated by the recent IDL to java compilers depends on available POA implementation. Implementing POA means that such code can already be tested for Classpath. Also, there is no longer need to download the obsolete IDL compilers from archive. Our POA is covered by Mauve tests from the previous cost.omg.org project. Details about Classpath POA implementation can be found at http://developer.classpath.org/doc/org/omg/PortableServer/package-summary.html
We are pleased to announce a new developer snapshot of GNU Classpath.
GNU Classpath, essential libraries for java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
This is mainly a bug fix release for issues found with eclipse 3.1 and
Free Swing applications just after our 0.16 release. But it also
includes some exciting new features.
Some highlights of changes in this release (more extensive list below):
XML DOM, XPATH and XSL fixes. Free Swing is much more responsive.
JInternalFram, JTree, JMenu, JTable, JButton and JFileChooser fixes.
FileChannel lock and force implementations added. The logging
FileHandler now rotates files. Clean locking and namespace for gtkpeer
library. System call interrupts and timeouts are now handled correctly
for net and nio. Corba bug fixes. Lots of documentation updates. The
VM Integration Guide now comes with a full section on the VM/Classpath
hooks. GNU Classpath Examples now includes a Tree World demo.
21 people actively contributed code to this release and made 171 CVS
commits during the two weeks of development. diffstat since 0.16:
3638 files changed, 25798 insertions(+), 15596 deletions(-)
More details about the various changes and contributions below.
This release passes 29508 out of 30320 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.17 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.17.tar.gz
MD5sum: eb620987422878e05ea889d5e7496c63
SHA1sum: 3b47cb37c91803fbc9d0426d97e1faa6a993615a
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source files
used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
New in release 0.17 (Jul 15, 2005)
(See the ChangeLog file for a full list of changes.)
instruction in xml.transform.
been created in non-namespace-aware mode. Corrections to handling of
XSL variables and minor conformance updates.
traversal enumerations implemented.
and net functions.
See http://developer.classpath.org/doc/
The following people helped with this release:
Aaron Luchko (JDWP updates and documentation fixes)
Andrew John Hughes (VMIntegration guide update)
Anthony Balkissoon (Lots of Free Swing updates)
Archie Cobbs (build and URLClassLoader updates)
Audrius Meskauskas (Corba and text and html parser fixes)
Casey Marshall (FileChannel lock, SystemLogger and FileHandler rotate impl.)
Chris Burdess (Lots of gnu.xml and http protocol fixes)
Dalibor Topic (Better DEBUG support)
Daniel Bonniot (Serialization fixes)
David Gilbert (Lots of documentation and MetalIconFactory implementation)
Guilhem Lavaux (Logger bug fixes)
Jeroen Frijters (Serialization fixes)
Lillian Angel (Lots of Free Swing updates)
Mark Wielaard (System call interrupts, timeouts and packaging)
Robert Schuster (TreeNode enumerations and ActionCommand and various fixes)
Roman Kennke (Lots of Free Swing updates)
Sven de Marothy (GtkImage fixes)
Thomas Fitzsimmons (gtk peer updates and restructuring)
Simon Kitching (String cleanups and optimization suggestions)
Tom Tromey (gcj build update)
Ziga Mahkovec (build fixes)
We would also like to thank the numerous bug reporters and testers!
Escape the Java Trap with GNU Classpath!
http://www.gnu.org/philosophy/java-trap.html
Join the community at http://planet.classpath.org/
GNU Classpath 0.16 "Harmony!" released.
We are pleased to announce a new developer snapshot of GNU Classpath.
GNU Classpath, essential libraries for java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
This is the first release of GNU Classpath since our Harmony
collaboration with the Apache group. Instructions for developers
wanting to try out and help with the core library implementation can
be found at: http://developer.classpath.org/
New is our wiki with simple steps to setup a quick development
environment. For example developers using cygwin can find examples
here: http://developer.classpath.org/mediation/ClasspathOnCygwin
Some highlights of changes in this release (more extensive list below):
AWT GtkScrollBar and GtkImage improvements. All image operations are
now working correctly. Graphics2D has been upgraded to use Cairo
0.5.x. Free Swing updates for 1.5 top-level compatibility. JTree
interface completed. JFileChooser has been implemented. Completed
implementations of BoxLayout, GrayFilter and SplitPane. Upgraded the
Corba features to 1.3 and included new CORBA 2.3 features. Start of
generic JDWP framework. And lots of bug fixes based on real world
application usage.
31 people actively contributed code to this release and made 389 CVS
commits during the last two months of development. diffstat since 0.15:
1248 files changed, 133649 insertions(+), 41802 deletions(-)
More details about the various changes and contributions below.
GNU Classpath 0.16 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.16.tar.gz
MD5sum: 220a9c86719a2c6bd7ba9b9877495113
SHA1sum: be6d30fbfe4d71015a455a367411a6d55df3484e
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JEdit start up on GNU Classpath based runtimes. To enable this
support install the cairo 0.5.x snapshot, configure GNU Classpath with
--enable-gtk-cairo and make sure the system property
gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
This release was explicitly tested against the last Eclipse 3.1
release (thanks to various eclipse hackers for the support). For end
user we do however recommend to use the GCJ4 packaged version of
Eclipse 3.1 that have been prepared for the various distributions:
Fedora Core
http://overholt.ca/wp/?p=27
Debian GNU/Linux
http://gnu.wildebeest.org/diary-man-di//index.php?p=19
Ubuntu
http://www.larvalstage.net/index.php?/archives/2-Introducing-Eclipse-3.1.html
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
One of the major focuses of the GNU Classpath project is expanding
and using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains ~30.000 core
library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite. This release passes 28801
of the mauve core library tests. See for more information:
http://www.sourceware.org/mauve/
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source files
used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
Here are answers to some questions you might have about this project and
this release.
1). Who should use this software?
Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.
For end users we recommend to use one of the development environments
based on GNU Classpath which combine the core libraries with compilers
and other tools needed for creating applications and libraries.
* GCC with GCJ (http://gcc.gnu.org/java/)
* Kaffe (http://www.kaffe.org/)
Both projects have CVS versions which track GNU Classpath closely.
2). What is required to build/install/run?
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.
You will also need a runtime environment. Most active GNU Classpath
hackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikes
bytecode compiler (http://www.jikes.org) for quick development. But
other environments can certainly be used to hack on the GNU Classpath
core libraries.
For other environments that might need modified version of the current
release see the README file. A complete list of virtual machines and
compilers known to be based on GNU Classpath can be found at our
website: http://www.gnu.org/software/classpath/stories.html
Note that these are just byte code execution compilers and/or
runtimes. For development of programs written in the java programming
language you will also need compilers and other tools for creating
libraries and/or executables (see question 1).
3). What platforms are supported?
GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin. We plan to
eventually support many others. Many more architectures and platforms
are supported. Check the actual runtime you use together with GNU
Classpath for detailed information on the supported platforms.
4). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
The GNU Classpath developer recently held a conference during Fosdem.
This was a standing room event and provided lot of communication between
the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
and users. The presentations of this event have been publised and should
give a good overview of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Developers wanting to help out with the project will find more
information and tools on http://developer.classpath.org/
5). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, activation, infobus, servlet, etc.) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.16 (Jun 30, 2005)
(See the ChangeLog file for a full list of changes.)
should now work correctly (flipping requires gtk+ >= 2.6)
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
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().
and selections work, but the visual implementation is not yet complete.
Work on expansion and collapsing of the tree nodes is being implemented.
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
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.
for --with-glibj. (Only for integrators.)
Runtime interface changes:
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
boolean parameter.
String, byte[], int, int) has been replaced by
VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
ProtectionDomain)
replacing the former version which just returned null.
been replaced by new native method VMClassLoader.getPrimitiveClass(char).
VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
been removed; these methods are now native methods.
Contructor.java and getExceptionTypes() and getParameterTypes() are
now native methods.
The following people helped with this release:
Andreas Jaeger (mprec updates)
Andreas Tobler (Darwin support)
Andrew John Hughes (Locale and net fixes, URI RFC2986 updates)
Andrew Overholt (File locking)
Anthony Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes)
Archie Cobbs (VM interface updates)
Audrius Meskauskas (Corba and HTML work)
Bryce McKinlay (RMI work)
Chris Burdess (XML work)
Christian Thalinger (fdlibm updates)
Dalibor Topic (SHA1PRNG and GdkPixbugDecoder updates)
David Daney (BitSet bugfixes)
David Gilbert (Lots and lots of documentation and awt/swing fixes)
Gary Benson (MessageFormat fixes)
Goffredo Baroncelli (HTTPURLConnection fixes)
Jan Roehrich (JTree fixes)
Jeroen Frijters (ClassLoader and nio cleanups)
Ka-Hing Cheung (TreePath and TreeSelection fixes)
Kalle Olavi Niemitalo (Build fixes)
Keith Seitz (JDWP work)
Kim Ho (JFileChooser implementation)
Lillian Angel (JTree implementation and lots of bug fixes)
Mark Wielaard (build fixes, GdkPixpufDecoder fixes and packaging)
Michael Koch (Locale updates, bug and build fixes)
Olga Rodimina (MenuSelectionManager)
Robert Schuster (charset and awt fixes)
Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus bugfixes all over)
Sven de Marothy (GtkImage rewrite, 2D, awt, free swing and date/time fixes)
Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo 2D support)
Tom Tromey (libgcj merging, build infrastructure and bug fixes)
Ziga Mahkovec (Graphics2D upgraded to cairo 0.5 and new regex features)
We would also like to thank the numerous bug reporters and testers!
We are pleased to announce a new developer snapshot release of GNU Classpath.
GNU Classpath, essential libraries for java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
Some highlights of changes in this release (more extensive list below):
Optimized nio and nio.charset plus io streams integration leading to
large speedups in character stream performance. To compliment this
new framework a native iconv based charset provider was added. Better
support for free swing metal and pluggable lafs. Some org.omg.CORBA
support added. Better java.beans support for the Eclipse Visual Editor
Project. Completely lock free ThreadLocal implementation added. More
javax.swing.text support for RTF and HTML. More flexible runtime
interfaces and build configuration options added.
26 people actively contributed code to this release and made 299 CVS
commits during the last two months of development. diffstat since 0.14:
993 files changed, 74259 insertions(+), 15666 deletions(-)
More details about the various changes and contributions below.
GNU Classpath 0.15 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.15.tar.gz
MD5sum: 036c23aec7cb53a43b7b9dc63a92fbbe
SHA1sum: 971bdd436b8010ab30096869f689a44d41e5a01c
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart work and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.3.0 snapshot, configure
GNU Classpath with --enable-gtk-cairo and make sure the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
One of the major focusses of the GNU Classpath project is expanding
and using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains more then 27.500
library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite. This release passes 27.325
of the mauve core library tests.
See for more information: http://sources.redhat.com/mauve/
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source files
used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
Here are answers to some questions you might have about this project and
this release.
1). Who should use this software?
Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.
For end users we recommend to use one of the development environments
based on GNU Classpath which combine the core libraries with compilers
and other tools needed for creating applications and libraries.
* GCC with GCJ (http://gcc.gnu.org/java/)
* Kaffe (http://www.kaffe.org/)
Both projects have CVS versions which track GNU Classpath closely.
2). What is required to build/install/run?
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.
You will also need a runtime environment. Most active GNU Classpath
hackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikes
bytecode compiler (http://www.jikes.org) for quick development. But
other environments can certainly be used to hack on the GNU Classpath
core libraries.
For other environments that might need modified version of the current
release see the README file. A complete list of virtual machines and
compilers known to be based on GNU Classpath can be found at our
website: http://www.gnu.org/software/classpath/stories.html
Note that these are just byte code execution compilers and/or
runtimes. For development of programs written in the java programming
language you will also need compilers and other tools for creating
libraries and/or executables (see question 1).
2). What platforms are supported?
GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin. We plan to
eventually support many others. Many more architectures and platforms
are supported. Check the actual runtime you use together with GNU
Classpath for detailed information on the supported platforms.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
The GNU Classpath developer recently held a conference during Fosdem.
This was a standing room event and provided lot of communication between
the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
and users. The presentations of this event have been publised and should
give a good overview of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Developers wanting to help out with the project will find more
information and tools on http://developer.classpath.org/
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, activation, infobus, servlet, etc.) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.15 (Apr 29, 2005)
(See the ChangeLog file for a full list of changes.)
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.
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.
implemented. The Savannah bug tracker contains additional tasks for
which we are seeking help.
Eclipse's Visual Editor Project.
text tokens.
(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
javax.swing.text.html framework added.
Runtime interface changes:
see VM integration guide for details.
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.
"core" JNI libraries. This is primarily useful if your VM can use the
Gtk peers but not the core JNI libraries.
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.
java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
Reference implementations are provided.
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.
used to get the real modifiers for an inner class or the ones
specified by the InnerClasses attribute.
in VMObject and VMDouble. Where possible generic reference
implementations are provided.
on the boot loader class path in getResources().
The following people helped with this release:
Andreas Tobler (Security warning fixes, fdlibm merging and cleanups)
Andrew Haley (FileChannel optimizations)
Andrew John Hughes (URL/URI, rmi.naming, java.text, Currency and generics)
Archie Cobbs (RPM spec file, VMClassLoader fixes, jni cleanups)
Audrius Meskauskas (Lots of corba work, javax.swing.text.html and dom parser)
Casey Marshall (x509 and asn1/der fixes)
Chris Burdess (writeUTF optimization, html2 dom support and net protocols)
Dalibor Topic (FileChannel fixes, kaffe porting)
David Daney (InetAddress fixes)
David Gilbert (awt documentation, font fixes)
Guilhem Lavaux (VMSelector and IndexColorModel fixes)
Ito Kazumitsu (DecimalFormat parse fixes)
Jeroen Frijters (nio optimizations, VMClass fixes, ThreadLocal rewrite)
Luca Barbieri (FileChannel.tryLock fixes)
Mark Wielaard (cleanups and packaging)
Michael Franz (OSX testing)
Michael Koch (VM interface restructuring, libgcj merging, lots of bug fixing)
Mike Stump (fdlibm ppc64 fixes)
Olafur Bragason (PipedInputStream bug reporting)
Patrik Reali (Website maintenance)
Rei Odaira (VMSelector bug reporting)
Riccardo Mottola (Darwin6 testing)
Robert Schuster (java.beans, boot.library.path, jni fixes, mediation work)
Roman Kennke (Lots of free swing work, MediaTracker and RTF work)
Sven de Marothy (io, nio and charset optimizations and rewrites)
Thomas Fitzsimmons (URL, gtk-peers and free swing work)
Tom Tromey (build and code cleanups, jni merging with libgcj and generics)