summaryrefslogtreecommitdiff
path: root/NEWS
blob: 6b479eecfe31b6552ed7740e1ccc0fc9a694516e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
New in release 0.06 (not-yet-released)

* Update java.awt peers to GTK+2.
* java.awt.GridBagLayout implementation.
* New JNI nativee target code layer. See native/target/readme.txt.
* java.swing.border implementation.
* java.security and java.security.cert updated to 1.4 spec.
* --enable-regen-headers configure flag for automatic jni .h file generation.
* Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
  needed for compiling.
* Lots of improvements and/or new classes for java.awt, java.awt.dnd,
  java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
  java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
  javax.swing.text.

VM Interface changes:

* VMClassLoader.loadClass(), the bootstrap classloader called by
  Class.forName() and ClassLoader.loadClass(), may now return null when
  a class is not found instead of throwing a new ClassNotFoundException.
  This is a performance optimization in some cases. This also changes
  the Class.forName() reference code.
* Native methods in Class have been moved to VMClass.  A few additional
  methods are also available in VMClass to provide optional performance
  improvements.
* A VM can now supply its own String.intern() strategy through the
  VMString class. The supplied VMString reference class implements the
  original WeakHashMap strategy.
* Float and Double to/from bits conversion functions can now be supplied by
  the VM through VMFloat and VMDouble. Default JNI conversion methods are
  supplied.

New in release 0.05 (2003/02/15)
* Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
* Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
  and tools for GNU Classpath, available separately from 
  http://www.gnu.org/software/classpathx/crypto/crypto.html. 
* Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
  of standard tools such as gjdoc, a javadoc replacement, and others.  Future
  releases of GNU Classpath will begin to include these tools, available
  separately from http://www.gnu.org/software/cp-tools/.
* Java primitives can be used to support AWT native threading, see 
  the --enable-portable-native-sync configure option which may become the
  default in a future release.
* Include file jni.h has been updated to the 1.4 specification.
* VM specific internal types for jobject, jfieldID, and jmethodID are
  supported in jni.h.  More details can be found by reading the comment
  in include/jni.h.in.  By default the old definitions are used instead.
* New VM helper class java.io.VMObjectStreamClass which should provide
  the hasClassInitializer() method. Previously ObjectStreamClass used
  Class.getDeclaredMethod("<clinit>") but according to the spec this
  should always throw NoSuchMethodException for class initialization methods.
  A JNI reference implementation is provided as
  vm/reference/java-io/java_io_VMObjectStreamClass.c
* There have been numerous infrastructure improvements
  * Configure option --enable-gjdoc to generate javadoc-like output 
  * Gjdoc output is included with distribution, see doc/api/html/
  * DESTDIR fully supported for install and uninstall
* Runtime.execInternal contract changed to allow for null `env'
  and to accept `dir' argument.
* VMObject.getClass() removed. It was never used.
* java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
  VM specific java.lang.VMThrowable to get at the VM state and (if needed)
  the StackTraceElements for a particular exception. A default implementation
  (that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
* The vm/reference classes from the gnu.vm.stack and their counterparts
  ExecutionStack and StackFrame in gnu.java.lang have been removed since they
  are not actually part of the VM interface anyway.
* The GPLed com.sun.javadoc classes have been moved to the gjdoc application
  from the GNU Classpath Tools project. See for more information the homepage
  at: <http://www.gnu.org/software/cp-tools/>.

New in release 0.04 (2002/05/05)
* Additional configure options to disable zip creation and installation as
  well as disable gtk peer native compilation.
* Addition of java.nio, java.util.logging, and javax.swing.
* Integration of most or all of the ORP patches to date, the purpose of 
  which are to make it possible to use JBOSS with ORP and Classpath.  This
  is still in a testing phase however.
* Significant changes in the reference VM interface that may require
  support from the JVMs.
* Lots of bugfixes.

New in release 0.03 (2002/02/08)
* More merges with libgcj have been performed including java.math which now
  provides a pure Java implementation of that package.
  Current status at <http://gcc.gnu.org/java/libgcj-classpath-compare.html>
* A pure Java implementation (Jazzlib) of java.util.zip is available.
* Added the java.rmi implementation that Transvirtual donated to the FSF.
* Includes jni.h now, eliminating the need to specify a particular VM
  via configure.
* No proprietary classes or programs are required to compile.
  Compiles out of the box with jikes or gcj.
* Separation of compiling Java source and native libraries through the 
  configure mechanism.  If given no arguments, configure will setup the
  subsequent build to only produce Java bytecode (.class files).  More
  information is available in INSTALLING.
* Support for compiling in a separate directory, as an example you may
  cd classpath-0.03; mkdir build; cd build; ../configure; make
* Works with Orp 1.0.9 out of the box. Build instructions can be found at
  <http://www.gnu.org/software/classpath/doc/orp.html>
* Lots of bugfixes that were found by using Classpath with the gcj, Orp,
  SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
  <http://savannah.gnu.org/support/?group_id=85>
* Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
  API specification. The current status can be found at
  <http://www.gnu.org/software/classpath/status.html>
* All files are now distributed under the same terms. Added clarification to
  GPL exception.

New in release 0.02 (2001/01/06)
* Support for printing exceptions with Japhar 0.09 + patch included in
  resource/japhar-0.09.patch.1.
* Typos, assorted bugfixes.

New in release 0.01 (2000/11/20)
* More packages are included now, though many remain untested.
* Support for Japhar 0.09 included.

New in release 0.00 (1999/02/01)
* First official development release of clean room class library for Java
* Following packages included:
	-- java.beans
	-- java.io
	-- java.lang
	-- java.lang.reflect
	-- java.math
	-- java.net
	-- java.security (partial and non-functioning)
	-- java.security.acl
	-- java.security.interfaces
	-- java.util
* Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
  missing and/or untested.
* Support for Japhar (http://www.japhar.org/) virtual machine is included.
  Requires the current Japhar from CVS.
* Extensive javadoc comments for public API included
* Licensed under the GNU Library General Public License (see COPYING.LIB)
* Does not depend on any non-free code - developed in a "clean room"
  environment.