1 |
766 |
jeremybenn |
New in release 0.99 (XXX XX, XXXX)
|
2 |
|
|
|
3 |
|
|
New in release 0.98 (Feb 05, 2009)
|
4 |
|
|
|
5 |
|
|
* Native support for BigInteger is now provided using the GMP
|
6 |
|
|
library. A new option, --enable/disable-gmp is provided, and
|
7 |
|
|
the option is enabled by default if GMP is found.
|
8 |
|
|
* Classpath now makes use of a new StringBuilder implementation
|
9 |
|
|
internally called CPStringBuilder. In addition to being
|
10 |
|
|
unsynchronised, like StringBuilder, this also avoids copying the
|
11 |
|
|
array when toString or substring is called. While StringBuffer/Builder
|
12 |
|
|
always retain their own array, which is only altered during resizing,
|
13 |
|
|
CPStringBuilder gives away its array when the result is generated
|
14 |
|
|
by toString()/substring() and starts afresh. The default capacity of
|
15 |
|
|
CPStringBuilder can also be configured using the
|
16 |
|
|
gnu.classpath.cpstringbuilder.capacity property. (PR21869)
|
17 |
|
|
* gjdoc is now built as part of tools.zip.
|
18 |
|
|
* Import of the Java Activation Framework from ClasspathX to provide
|
19 |
|
|
javax.activation (part of 1.6).
|
20 |
|
|
* Preliminary version of java.util.Scanner (PR30436)
|
21 |
|
|
* Reduce cost of ThreadLocal(s) to improve Jython performance (PR33690)
|
22 |
|
|
* Updated to use CLDR 1.5.1 (PR35237)
|
23 |
|
|
* Many bug fixes including:
|
24 |
|
|
- PR22851: zoneStrings in gnu/java/locale/LocaleInformation*
|
25 |
|
|
- PR31895: setCurrency(Currency) does not actually change the currency.
|
26 |
|
|
- PR32028: Make fails at gjdoc
|
27 |
|
|
- PR34840: Mismatch between Sun and Classpath's java.lang.Appendable
|
28 |
|
|
- PR35487: gcj causes ConcurrentModificationException during tomcat5
|
29 |
|
|
- PR35690: javax.tools.FileObject.toUri is in wrong case
|
30 |
|
|
- PR36085: java.util.regex escape-sequence handling
|
31 |
|
|
- PR36147: Apache Tomcat fails to read descriptors using GNU XML
|
32 |
|
|
- PR36219: gnu.xml.transform.SortKey isn't subclass
|
33 |
|
|
- PR36220: NPEs in gnu.xml.transform.* clone methods
|
34 |
|
|
- PR36221: DomDOMException running SPEC jvm 2008 xml.transform
|
35 |
|
|
- PR36477: OOME in CPStringBuilder when running Eclipse
|
36 |
|
|
- PR36522: Policy file is not read at all
|
37 |
|
|
- PR36636: gjar -u doesn't work
|
38 |
|
|
- PR36637: --without-fastjar doesn't wor
|
39 |
|
|
- PR36677: Omission bug in JDWP VirtualMachineCommandSet
|
40 |
|
|
- PR38417: gnu.java.security.util.PRNG produces easily predictable values
|
41 |
|
|
- PR38473: Segmentation fault in retrieving font outline decomposition
|
42 |
|
|
- PR38861: Support XULRunner 1.9.1.
|
43 |
|
|
- PR38912: XMLParser not interning element names
|
44 |
|
|
|
45 |
|
|
Runtime interface changes:
|
46 |
|
|
|
47 |
|
|
* VMSecureRandom has moved to gnu.java.security.jce.prng.VMSecureRandom
|
48 |
|
|
as part of the fix for PR38417.
|
49 |
|
|
* gnu.java.lang.VMCPStringBuilder has been added and should be added to
|
50 |
|
|
avoid the inefficency of reflection when creating non-copied String objects.
|
51 |
|
|
|
52 |
|
|
Bug fixes in release 0.97.2 (Jun 06, 2007)
|
53 |
|
|
|
54 |
|
|
* Include headers in the release tarball.
|
55 |
|
|
* Allow the building of tools to be optional.
|
56 |
|
|
* Only check for a Java compiler when required.
|
57 |
|
|
* Allow VMOperatingSystemMXBeanImpl to compile on Solaris.
|
58 |
|
|
* Documentation typo fixes
|
59 |
|
|
* Fix memory leak in native/jni/classpath/jcl.c
|
60 |
|
|
* Web page updates (PR classpath/22883)
|
61 |
|
|
* Fixes to pass the JSR166 TCK
|
62 |
|
|
* Use awk to construct the classlist on building
|
63 |
|
|
* Fix deadlock in Logger (PR classpath/35974)
|
64 |
|
|
* Fix regression in java.lang.String (PR classpath/35482)
|
65 |
|
|
* Allow Classpath tools to handle @file options.
|
66 |
|
|
* Allow parseInt to handle a + prefix correctly.
|
67 |
|
|
* Remove use of 1.5 language constructs in the VM layer.
|
68 |
|
|
|
69 |
|
|
Bug fixes in release 0.97.1 (Mar 11, 2007)
|
70 |
|
|
|
71 |
|
|
* Include documentation for JSR166 (java.util.concurrent)
|
72 |
|
|
* Fix STaX API compatability.
|
73 |
|
|
* Include the tools properties file in the release tarball.
|
74 |
|
|
|
75 |
|
|
New in release 0.97 (Feb 22, 2007)
|
76 |
|
|
|
77 |
|
|
Build changes:
|
78 |
|
|
|
79 |
|
|
* A copy of javah (to produce C header files from Java source code)
|
80 |
|
|
is now required to generate the files in include.
|
81 |
|
|
* The javac check has been changed so that it attempts to find ecj,
|
82 |
|
|
javac and gcj (in that order). You may override this by using
|
83 |
|
|
JAVAC=
|
84 |
|
|
|
85 |
|
|
Runtime interface changes:
|
86 |
|
|
|
87 |
|
|
* Removed VMFloat.floatToIntBits amd VMDouble.doubleToLongBits.
|
88 |
|
|
* Added new getParameterAnnotations() methods in Constructor and Method.
|
89 |
|
|
|
90 |
|
|
New in release 0.96.1 (Oct 16, 2007)
|
91 |
|
|
|
92 |
|
|
* Small compile, configure and build fixes.
|
93 |
|
|
|
94 |
|
|
New in release 0.96 (Oct 15, 2007)
|
95 |
|
|
|
96 |
|
|
* New experimental GStreamer javax.sound peer (see README.gstreamer)
|
97 |
|
|
* The JNI interface has been updated to 1.6
|
98 |
|
|
* Better support for the OpenJDK javac compiler
|
99 |
|
|
* Support for using javah via tools.zip and com.sun.tools.javah.Main
|
100 |
|
|
* Much improved Escher AWT peers
|
101 |
|
|
* Many bug fixes including improvements to AWT and Swing support
|
102 |
|
|
|
103 |
|
|
Runtime interface changes:
|
104 |
|
|
|
105 |
|
|
* Add VMFloat.toString(float) and VMFloat.parseFloat(String). Default
|
106 |
|
|
implementations are the same as previous behavior.
|
107 |
|
|
* Add new default implementations of VMMemoryMXBean.getHeapUsage()
|
108 |
|
|
and VMMemoryMXBean.getNonHeapUsage() via iteration over the memory
|
109 |
|
|
pools of the appropriate type.
|
110 |
|
|
|
111 |
|
|
New in release 0.95 (Apr 23, 2007)
|
112 |
|
|
|
113 |
|
|
* Full merge of 1.5 generics work.
|
114 |
|
|
* Added 1.6 java.util.ServiceLoader support.
|
115 |
|
|
* The ASM library is now included. A separate copy is no longer
|
116 |
|
|
needed. gjavah works out of the box now.
|
117 |
|
|
* The setReadTimeout and getReadTimeout methods have been added to
|
118 |
|
|
java.net.URLConnection. They are now fully implemented for http URLs.
|
119 |
|
|
* The java.lang.management implementation now includes the new features
|
120 |
|
|
added in 1.6
|
121 |
|
|
* java.util.TimeZone now reads time zone information from the system
|
122 |
|
|
zoneinfo files (see also runtime interface changes below).
|
123 |
|
|
* The collection classes have been updated to support all the 1.6
|
124 |
|
|
additions.
|
125 |
|
|
* java.util.spi 1.6 package has been added and is used in java.text.
|
126 |
|
|
* Bootstrappable with OpenJDK javac compiler
|
127 |
|
|
(use configure --with-javac).
|
128 |
|
|
* Large speedups (and locking behaviour updated) in Graphics2D cairo
|
129 |
|
|
and freetype support.
|
130 |
|
|
* Better detection of browser plugin mechanism for mozilla, iceweasel,
|
131 |
|
|
firefox on various platforms.
|
132 |
|
|
* Inclusion of generic javadoc classes in tools.zip to support more
|
133 |
|
|
javadoc processing tools.
|
134 |
|
|
* Added documentation for command lines options for the included GNU
|
135 |
|
|
Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid,
|
136 |
|
|
grmiregistry, gserialver and gtnameserv.
|
137 |
|
|
|
138 |
|
|
Runtime interface changes:
|
139 |
|
|
|
140 |
|
|
* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new
|
141 |
|
|
optional native methods to allow the 1.6 version of the threading
|
142 |
|
|
bean to be supported. One (getMonitorInfo) fills in information
|
143 |
|
|
about object monitor locks held by a thread and is only required
|
144 |
|
|
if the monitoring of object monitor locks is supported by the VM.
|
145 |
|
|
The other two (findDeadlockedThreads and getLockInfo) are related
|
146 |
|
|
to ownable synchronizers (part of the java.util.concurrent suite)
|
147 |
|
|
and only required if monitoring of locks relating to these is
|
148 |
|
|
supported by the VM.
|
149 |
|
|
* java.util.VMTimeZone and java.util.TimeZone have been refactored
|
150 |
|
|
to simplify the reference implementation. VMTimeZone.readtzFile()
|
151 |
|
|
and VMTimeZone.skipFully() have been removed, and a new method
|
152 |
|
|
VMTimeZone.readSysconfigClockFile() has been introduced.
|
153 |
|
|
* VMs need to set the system property "gnu.java.util.zoneinfo.dir"
|
154 |
|
|
to point to the directory where zoneinfo files live. In libgcj
|
155 |
|
|
this is set to the value of the TZDATA environment variable, or
|
156 |
|
|
"/usr/share/zoneinfo" if this is not set.
|
157 |
|
|
* VMFile has been extended to support new 1.6 methods (canExecute,
|
158 |
|
|
setReadable, setWritable, setExecutable).
|
159 |
|
|
|
160 |
|
|
New in release 0.93 (Dec 8, 2006)
|
161 |
|
|
|
162 |
|
|
* CORBA objects that exist on the same virtual machine and only are connected
|
163 |
|
|
to another ORB are now accessed directly and no longer via network. It is
|
164 |
|
|
the same feature that RMI implementation provides. These faster calls should
|
165 |
|
|
be completely transparent, as the parameters are cloned, where required.
|
166 |
|
|
Currently the direct calls are only possible for the non-deprecated objects
|
167 |
|
|
that are connected to the ORB via POA.
|
168 |
|
|
* The 'javah' tool has been added. It requires the ASM library
|
169 |
|
|
(see asm.objectweb.org); it can be enabled with the --with-asm
|
170 |
|
|
option to configure
|
171 |
|
|
* Added the rmi and corbaname URL context factories for JNDI.
|
172 |
|
|
* Fixes in the JNDI InitialContext now allows to plug-in user implementation.
|
173 |
|
|
* Removed currentClassLoader method from
|
174 |
|
|
vm/reference/java/io/ObjectInputStream.java.
|
175 |
|
|
* Added firstNonNullClassLoader method to
|
176 |
|
|
vm/reference/gnu/classpath/VMStackWalker.java. VMs are encouraged to
|
177 |
|
|
provide a more efficient implementation.
|
178 |
|
|
* Added aton method to vm/reference/java/net/VMInetAddress.java.
|
179 |
|
|
* NetworkInterface has been implemented for systems that provide the
|
180 |
|
|
`getifaddrs' function.
|
181 |
|
|
* java.nio.channels.Selector implementations have been added that use
|
182 |
|
|
the kqueue notification mechanism on Mac OS X and *BSD, and that use
|
183 |
|
|
the epoll notification mechanism on Linux 2.6.
|
184 |
|
|
* java.nio has been refactored to support more non-blocking operations
|
185 |
|
|
natively. Blocking IO classes have been refactored to call
|
186 |
|
|
non-blocking classes. Non-blocking accepts, connects, and
|
187 |
|
|
scatter-gather IO should now be better supported.
|
188 |
|
|
* HTML support for Swing has been greatly enhanced.
|
189 |
|
|
|
190 |
|
|
Runtime interface changes:
|
191 |
|
|
|
192 |
|
|
* java.net.VMNetworkInterface and java.net.NetworkInterface have been
|
193 |
|
|
updated to keep native-modified state in the former, and to simplify
|
194 |
|
|
the native code in our reference implementation.
|
195 |
|
|
* gnu.java.nio.VMChannel has been expanded to better support native
|
196 |
|
|
non-blocking IO. Most native state data (such as file descriptor
|
197 |
|
|
integers) has been abstracted away into private state in the runtime
|
198 |
|
|
interface.
|
199 |
|
|
* gnu.java.nio.VMPipe has been similarly changed.
|
200 |
|
|
* gnu.java.net.VMPlainSocketImpl has been changed to remove some
|
201 |
|
|
functionality now provided by VMChannel; datagram socket-specific
|
202 |
|
|
methods have also been moved here, deprecating VMPlainDatagramSocketImpl.
|
203 |
|
|
* gnu.java.net.VMPlainDatagramSocketImpl removed.
|
204 |
|
|
|
205 |
|
|
New in release 0.92 (Aug 9, 2006)
|
206 |
|
|
|
207 |
|
|
* GConf is used as a backend for java.util.prefs. GNU Classpath
|
208 |
|
|
thanks to Mario Torre for this contribution!
|
209 |
|
|
* libjawtgnu.so has been renamed libjawt.so for binary compatibility.
|
210 |
|
|
libjawt.so should be installed in a VM-specific directory rather
|
211 |
|
|
than directly in /usr/lib. Proprietary VMs put their libjawt.so
|
212 |
|
|
implementations in VM-specific directories but search /usr/lib first.
|
213 |
|
|
If GNU Classpath's libjawt.so is installed in /usr/lib it will create
|
214 |
|
|
problems for people who use a proprietary VM to run AWT Native
|
215 |
|
|
Interface applications.
|
216 |
|
|
* The GdkGraphics2D backend has been made the default. There is no
|
217 |
|
|
longer an explicit dependency on Cairo, the --enable-gtk-cairo
|
218 |
|
|
configure option is gone, and GTK 2.8 or higher is now required to
|
219 |
|
|
build the GTK peers.
|
220 |
|
|
* A Mozilla plugin, 'gcjwebplugin', is now included. It introduces a
|
221 |
|
|
dependency on the Mozilla plugin support headers and libraries.
|
222 |
|
|
* New java implementations of png and gif imageio readers and writers.
|
223 |
|
|
* A tools.texinfo document has been created and now includes
|
224 |
|
|
documentation about:
|
225 |
|
|
* appletviewer
|
226 |
|
|
* gcjwebplugin
|
227 |
|
|
* jarsigner
|
228 |
|
|
* keytool
|
229 |
|
|
* Several new tools are now included:
|
230 |
|
|
* appletviewer
|
231 |
|
|
* jar
|
232 |
|
|
* native2ascii
|
233 |
|
|
* serialver
|
234 |
|
|
* keytool
|
235 |
|
|
* jarsigner
|
236 |
|
|
A new configure option --enable-tool-wrappers causes wrapper
|
237 |
|
|
binaries to be built for VMs that support the JNI Invocation API.
|
238 |
|
|
* We've imported the JSR 166 (concurrency) reference implementation.
|
239 |
|
|
* javax.sound.midi providers have been added to read and
|
240 |
|
|
write standard MIDI files.
|
241 |
|
|
* A javax.sound.sampled .au and .wav file readers have been added.
|
242 |
|
|
* New Java Virtual Machine Tool Interface header, jvmti.h.
|
243 |
|
|
* AWT peers for X Windows based on Escher (a pure java X protocol
|
244 |
|
|
implementation) have been added. So far it supports AWT 1.1 style
|
245 |
|
|
Graphics, image loading via ImageIO (PNG, GIF and BMP images in this
|
246 |
|
|
release), top level components as well as mouse and keyboard input.
|
247 |
|
|
It is capable of running many Swing applications. Graphics2D and
|
248 |
|
|
AWT widgets are not yet supported with this peer set.
|
249 |
|
|
* GConf based util.peers backend (see the --enable-gconf-peer and
|
250 |
|
|
--enable-default-preferences-peer configure options).
|
251 |
|
|
* Support for batch importing trusted certificates for use with ssl
|
252 |
|
|
connections (see script/import-cacerts.sh).
|
253 |
|
|
* NIO scatter-gather channel support.
|
254 |
|
|
|
255 |
|
|
Runtime interface changes:
|
256 |
|
|
|
257 |
|
|
* A new class, VMURLConnection, is used to implement
|
258 |
|
|
URLConnection.guessContentTypeFromStream. The reference
|
259 |
|
|
implementation uses libmagic (and falls back to doing nothing if
|
260 |
|
|
libmagic is not available).
|
261 |
|
|
* The method gnu.java.io.PlatformHelper.toCanonicalForm() has been
|
262 |
|
|
replaced with a JNI implementation of VMFile.toCanonicalForm() for
|
263 |
|
|
GNU/Posix systems.
|
264 |
|
|
* A new class, VMRuntimeMXBeanImpl, is used to implement
|
265 |
|
|
the low-level support of the runtime management bean.
|
266 |
|
|
VMs should use it to supply the input arguments and start
|
267 |
|
|
time of the VM. In addition, one of sun.boot.class.path
|
268 |
|
|
or java.boot.class.path should be defined by the VM to
|
269 |
|
|
support the optional boot class path access functionality.
|
270 |
|
|
* The Unsafe class was moved back to the place expected by the JSR 166
|
271 |
|
|
reference implementation. We've also added a couple other new VM
|
272 |
|
|
classes to support the JSR 166 code -- sun.reflect.Reflection and
|
273 |
|
|
sun.reflect.misc.ReflectUtil.
|
274 |
|
|
* Another new class, VMClassLoadingMXBeanImpl, is used to implement
|
275 |
|
|
the low-level support of the class loading management bean.
|
276 |
|
|
VMs need to supply it with information about how many classes
|
277 |
|
|
are currently loaded, how many have been unloaded and whether
|
278 |
|
|
verbose class loading output is on or off. Provision should also
|
279 |
|
|
be made for the latter to be toggled at runtime.
|
280 |
|
|
* VMThreadMXBeanImpl is used to implement the low-level support
|
281 |
|
|
of the thread management bean. Providing this interface requires
|
282 |
|
|
providing a fair amount of information about threads, including
|
283 |
|
|
optional time and contention monitoring, and instances of the
|
284 |
|
|
new ThreadInfo class in java.lang.management. getState() has also
|
285 |
|
|
been added to the VMThread interface; this is required by the bean
|
286 |
|
|
as well as java.lang.Thread.
|
287 |
|
|
* VMMemoryMXBeanImpl is used to implement the low-level support
|
288 |
|
|
of the memory management bean. Providing this interface requires
|
289 |
|
|
providing information about the levels of heap and non-heap memory,
|
290 |
|
|
and the number of objects eligible for garbage collection.
|
291 |
|
|
* VMCompilationMXBeanImpl is used to allow for optional compilation
|
292 |
|
|
time support for Just-In-Time compilers.
|
293 |
|
|
* VMMemoryPoolMXBeanImpl is used to implement the low-level support
|
294 |
|
|
of the memory pool beans. Providing this interface requires
|
295 |
|
|
providing memory usage statistics for each supported bean.
|
296 |
|
|
* VMManagementFactory provides the names of the memory pools,
|
297 |
|
|
memory managers and garbage collectors maintained by the virtual
|
298 |
|
|
machine. These are used to create the beans by the ManagementFactory.
|
299 |
|
|
* VMMemoryManagerMXBeanImpl and VMGarbageCollectorMXBeanImpl provide
|
300 |
|
|
low-level support for memory managers (including the specific subclass
|
301 |
|
|
of garbage collecting memory managers). The interfaces for these
|
302 |
|
|
require no more than enumerating the number of collections and the
|
303 |
|
|
time spent (for garbage collectors) and a relationship to the memory
|
304 |
|
|
pools (for all), along with a validity check.
|
305 |
|
|
|
306 |
|
|
New in release 0.91 (May 15, 2006)
|
307 |
|
|
|
308 |
|
|
* Experimental activation (java.rmi.activation) support, including RMI
|
309 |
|
|
activation daemon and persistent naming service tools.
|
310 |
|
|
* Experimental printing support: The API implementation of the javax.print
|
311 |
|
|
packages has been finished and work on the printing provider implementation
|
312 |
|
|
started. Currently supported features from the Java Print Service API are
|
313 |
|
|
print service discovery (CUPS registered printers), single document print
|
314 |
|
|
jobs and support for client-formatted print data. An example application
|
315 |
|
|
(see: examples/gnu/classpath/examples/print/Demo) has been added to show
|
316 |
|
|
the API usage for service discovery and printing of files.
|
317 |
|
|
* The GTKToolkit now gives access to the both the system clipboard and
|
318 |
|
|
system selection.
|
319 |
|
|
* Custom mouse cursor support has been added to the gtk+ peers. And cursors
|
320 |
|
|
can now also be set on light-weight components.
|
321 |
|
|
* Free Swing improvements: Support for OceanTheme has been mostly completed
|
322 |
|
|
and turned on as default Metal theme. X11-style Copy and Paste behavior in
|
323 |
|
|
text components with the middle mouse button. Support cursor changes on
|
324 |
|
|
various components when resizing. Support for Look and Feel window
|
325 |
|
|
decorations has been added.
|
326 |
|
|
* Updated locale data information to CLDR 1.3.
|
327 |
|
|
* Various bugs in Classpath's SecureRandom implementations have been
|
328 |
|
|
fixed; that class now respects the "securerandom.source" security
|
329 |
|
|
property and the "java.security.egd" system property.
|
330 |
|
|
* Support for assistive technologies has been added to AWT and Swing.
|
331 |
|
|
|
332 |
|
|
Runtime interface changes:
|
333 |
|
|
|
334 |
|
|
* A new class, VMArray, is now available which separates the native
|
335 |
|
|
array creation method from java.lang.reflect.Array.
|
336 |
|
|
* A new class, gnu.classpath.Unsafe, is provided for handling the
|
337 |
|
|
new low-level operations required by java.util.concurrent.
|
338 |
|
|
* The reference implementations of Method, Constructor, and Field
|
339 |
|
|
now have a new native getModifiersInternal() method. The public
|
340 |
|
|
getModifiers() method in each case has been rewritten in terms of
|
341 |
|
|
this method.
|
342 |
|
|
* The reference implementation of VMThread has been updated to handle
|
343 |
|
|
the new Thread.UncaughtExceptionHandler support.
|
344 |
|
|
* A new class, java.security.VMSecureRandom, is now available that is
|
345 |
|
|
used to generate random numbers for seeding cryptographically-secure
|
346 |
|
|
pseudo-random number generators.
|
347 |
|
|
* VMClass and the reference implementations of Method, Constructor and Field
|
348 |
|
|
now include a number of 1.5 methods imported from the generics branch.
|
349 |
|
|
These are all optional (in the sense that the methods associated with them
|
350 |
|
|
merely fail on use if the VM doesn't provide them, rather than the
|
351 |
|
|
VM failing altogether), but VMs should aim to support them where possible.
|
352 |
|
|
* The implementation of java.lang.instrument has been merged to the main
|
353 |
|
|
branch from the generics branch.
|
354 |
|
|
* The VM interfaces of the main branch and the generics branch are now
|
355 |
|
|
consistent with one another. As a result, the main branch includes an
|
356 |
|
|
additional environ() function in VMSystem and an additional argument has
|
357 |
|
|
been added to nativeSpawn() in VMProcess.
|
358 |
|
|
* Annotation support is now available in the main branch, if the VM supports
|
359 |
|
|
it. The VM should implement VMClass.getDeclaredAnnotations,
|
360 |
|
|
Constructor.getAnnotation, Constructor.getDeclaredAnnotations,
|
361 |
|
|
Field.getAnnotation, Field.getDeclaredAnnotations, Method.getAnnotation and
|
362 |
|
|
Method.getDeclaredAnnotations.
|
363 |
|
|
* java.lang.Package now has a new constructor that takes the defining
|
364 |
|
|
ClassLoader as an extra argument. If you use a custom version of
|
365 |
|
|
VMClassLoader, please switch it to use this constructor.
|
366 |
|
|
* The reference implementation of VMClassLoader.getBootPackages() now
|
367 |
|
|
reads the META-INF/INDEX.LIST resource using the java.boot.class.path
|
368 |
|
|
system property.
|
369 |
|
|
|
370 |
|
|
New in release 0.90 (March 6, 2006)
|
371 |
|
|
|
372 |
|
|
* Free Swing improvements: JTable columns are rearrangeable and
|
373 |
|
|
resizeable with mouse. Painting and scrolling are now much
|
374 |
|
|
faster. Plain text components now support highlighting and
|
375 |
|
|
copy+paste to the system clipboard. Support for styled text has been
|
376 |
|
|
improved, including some very basic HTML support. JFileChooser is
|
377 |
|
|
now usable. Global event dispatching has been implemented. Memory
|
378 |
|
|
consumption of Swing components has been reduced. Lots of general
|
379 |
|
|
bugfixes. Added new system property to turn off Graphics2D use in
|
380 |
|
|
Swing, even if Graphics2D is available: gnu.javax.swing.noGraphics2D
|
381 |
|
|
|
382 |
|
|
* AWT. Improved support for mixing "lightweight" and "heavyweight"
|
383 |
|
|
Components in Containers. Better support for dynamically updated
|
384 |
|
|
menus. Better 1.0 event model support for Scrollbars. Better class
|
385 |
|
|
documentation of gtk+ awt peers.
|
386 |
|
|
|
387 |
|
|
* GNU Crypto and Jessie have been merged into GNU Classpath; this
|
388 |
|
|
provides Classpath with a wide array of cryptographic algorithms
|
389 |
|
|
(ciphers, message digests, etc.) and implementations of SSL version
|
390 |
|
|
3 and TLS version 1. These roughly complement the public
|
391 |
|
|
`java.security.' `javax.crypto,' and `javax.net.ssl' packages, and
|
392 |
|
|
are service providers implementing the underlying algorithms.
|
393 |
|
|
|
394 |
|
|
* Updated HTTP and FTP URLConnection protocol handlers. HTTPS support
|
395 |
|
|
out of the box.
|
396 |
|
|
|
397 |
|
|
* Unicode 4.0.0 is supported. Character now includes support for using
|
398 |
|
|
ether a char or an int to identify code points.
|
399 |
|
|
|
400 |
|
|
* More correct handling of Object methods and serialization support
|
401 |
|
|
for Proxy and abstract classes.
|
402 |
|
|
|
403 |
|
|
* The new folder tools includes GIOP and RMI stub and tie source code
|
404 |
|
|
generators, IOR parser and both transient and persistent GIOP naming
|
405 |
|
|
services.
|
406 |
|
|
|
407 |
|
|
* Added experimental support for dynamic creation of the RMI stubs
|
408 |
|
|
using proxy classes. The rmic compiler is no longer required (unless
|
409 |
|
|
for research and specific stubs).
|
410 |
|
|
|
411 |
|
|
* XML validaton support for RELAX NG and W3C XML schema namespace
|
412 |
|
|
URIs. RELAX NG pluggable XML schema datatype library API and an
|
413 |
|
|
implementation for XML Schema Datatypes
|
414 |
|
|
(http://www.w3.org/TR/xmlschema-2/).
|
415 |
|
|
|
416 |
|
|
* Updated StAX implementaton to be compatible with final JSWDP 2.0.
|
417 |
|
|
|
418 |
|
|
* The default back end for java.util.prefs has been changed. The new
|
419 |
|
|
default is capable of saving and restoring preferences to and from
|
420 |
|
|
the file system.
|
421 |
|
|
|
422 |
|
|
* javax.imageio.plugins.bmp implementation.
|
423 |
|
|
|
424 |
|
|
* Added --enable-collections configure option which builds
|
425 |
|
|
"collections.jar", a 1.1 VM compatibility jar.
|
426 |
|
|
|
427 |
|
|
* gnu.regexp updated from GNU/Posix syntax to support util.regex
|
428 |
|
|
syntax including various Unicode blocks, categories and properties.
|
429 |
|
|
|
430 |
|
|
Runtime interface changes:
|
431 |
|
|
|
432 |
|
|
* A new class, VMMath, is now available which separates the native
|
433 |
|
|
mathematical functions from java.lang.Math. The previous fdlibm
|
434 |
|
|
implementation now forms the reference material for this class.
|
435 |
|
|
|
436 |
|
|
* Updated VMObjectInputStream class to return Thread context class
|
437 |
|
|
loader if no other class loader is found.
|
438 |
|
|
|
439 |
|
|
* Updated documentation on InstrumentationImpl in vmintegration guide.
|
440 |
|
|
|
441 |
|
|
New in release 0.20 (Jan 13, 2006)
|
442 |
|
|
|
443 |
|
|
* New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX,
|
444 |
|
|
XPath and XSLT improvements. Support for XInclude and XML Base added.
|
445 |
|
|
Conformance is now regularly tested against various test-suites at
|
446 |
|
|
http://builder.classpath.org/xml/ See also doc/README.jaxp.
|
447 |
|
|
|
448 |
|
|
* Full beans XMLEncoder implementation.
|
449 |
|
|
|
450 |
|
|
* javax.sound.sampled implementation.
|
451 |
|
|
|
452 |
|
|
* javax.print.attribute and javax.print.event implementated.
|
453 |
|
|
|
454 |
|
|
* Lots of new datatransfer, print swing and swing.text work and optimization.
|
455 |
|
|
|
456 |
|
|
* Additional 1.5 support. Including new (separate) generic branch release.
|
457 |
|
|
|
458 |
|
|
* SecurityManager cleanups and start of review of all Permission checks
|
459 |
|
|
(includes adding lots of new checks to the Mauve test-suite).
|
460 |
|
|
|
461 |
|
|
* Buildable on cygwin.
|
462 |
|
|
|
463 |
|
|
* Fully buildable as "in-workspace" library-plus-vm inside (native) Eclipse
|
464 |
|
|
see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse
|
465 |
|
|
|
466 |
|
|
* Full example that shows a real world CORBA and Free Swing implementation.
|
467 |
|
|
See examples/gnu/classpath/examples/CORBA/swing/README.html
|
468 |
|
|
|
469 |
|
|
* A list of bug fixes can be found at:
|
470 |
|
|
http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&target_milestone=0.20
|
471 |
|
|
|
472 |
|
|
Runtime interface changes:
|
473 |
|
|
|
474 |
|
|
* New method VMStackWalker.getClassLoader() was added to avoid an infinite
|
475 |
|
|
loop between getCallingClassLoader() and Class.getClassLoader().
|
476 |
|
|
|
477 |
|
|
* The included fdlibm implementation has seen several cleanups to handle
|
478 |
|
|
new architectures and namespacing issues (in particular for ppc, darwin
|
479 |
|
|
and non-C99 compilers). Please double check any arithmetic test against
|
480 |
|
|
new platforms/runtimes.
|
481 |
|
|
|
482 |
|
|
* The gnu.java.net.Plain[Datagram]Socket implementations have been
|
483 |
|
|
turned into VM reference classes with JNI/Posix implementations.
|
484 |
|
|
|
485 |
|
|
New in release 0.19 (Nov 2, 2005)
|
486 |
|
|
|
487 |
|
|
* The Swing RepaintManager has been reworked for more efficient painting,
|
488 |
|
|
especially for large GUIs.
|
489 |
|
|
|
490 |
|
|
* The Swing layout manager OverlayLayout has been implemented, the BoxLayout
|
491 |
|
|
has been rewritten to make use of the SizeRequirements utility class and
|
492 |
|
|
caching for more efficient layout.
|
493 |
|
|
|
494 |
|
|
* Improved accessibility support for Swing.
|
495 |
|
|
|
496 |
|
|
* The java.net.HttpURLConnection implementation no longer buffers the
|
497 |
|
|
entire response body in memory. This means that response bodies
|
498 |
|
|
larger than available memory can now be handled.
|
499 |
|
|
|
500 |
|
|
* The Andrew Watson, Vice President and Technical Director of the Object
|
501 |
|
|
Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
|
502 |
|
|
0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
|
503 |
|
|
Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
|
504 |
|
|
node in a highly interoperable CORBA world.
|
505 |
|
|
|
506 |
|
|
* Classpath now includes the first working draft to support the RMI over
|
507 |
|
|
IIOP protocol. The current implementation is capable for remote invocations,
|
508 |
|
|
transferring various Serializables and Externalizables via RMI-IIOP protocol.
|
509 |
|
|
It can flatten graphs and, at least for the simple cases, is interoperable
|
510 |
|
|
with Sun's jdk 1.5.
|
511 |
|
|
|
512 |
|
|
* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
|
513 |
|
|
users with a Qt4 installation can build the qt-peers with the argument
|
514 |
|
|
--with-qt4dir=.
|
515 |
|
|
|
516 |
|
|
* Significant progress has been made in the implementation of the
|
517 |
|
|
javax.swing.plaf.metal.* package, with most UI delegates in a working state
|
518 |
|
|
now. Please test this with your own applications and provide feedback that
|
519 |
|
|
will help us to improve this package.
|
520 |
|
|
|
521 |
|
|
* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
|
522 |
|
|
highlight various features in our free-swing implementation. And includes
|
523 |
|
|
a look and feel switcher (Metal default, Ocean or GNU).
|
524 |
|
|
|
525 |
|
|
Runtime interface changes:
|
526 |
|
|
|
527 |
|
|
* Changed implementation of VMClassLoader.getPackage(s) : new method
|
528 |
|
|
VMClassLoader.getBootPackages should be implemented by the vm, and sould
|
529 |
|
|
return a string array of boot package names ("java.lang", "java.net", ...).
|
530 |
|
|
Feedback from vm implementors for usability and relevance of the
|
531 |
|
|
getBootPackages method would be greatly appreciated.
|
532 |
|
|
|
533 |
|
|
New in release 0.18 (Sep 6, 2005)
|
534 |
|
|
|
535 |
|
|
* GNU JAWT implementation, the AWT Native Interface, which allows direct
|
536 |
|
|
access to native screen resources from within a Canvas's paint method.
|
537 |
|
|
GNU Classpath Examples comes with a Demo, see examples/README.
|
538 |
|
|
* awt.datatransfer updated to 1.5 with supports for FlavorEvents.
|
539 |
|
|
The gtk+ awt peers now allow copy/paste of text, images, uris/files
|
540 |
|
|
and serialized objects with other applications and tracking
|
541 |
|
|
clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
|
542 |
|
|
serialized objects are supported). A GNU Classpath Examples
|
543 |
|
|
datatransfer Demo was added to show the new functionality.
|
544 |
|
|
* org.omg.PortableInterceptor and related functionality in other packages
|
545 |
|
|
is now implemented:
|
546 |
|
|
- The sever and client interceptors work as required since 1.4.
|
547 |
|
|
- The IOR interceptor works as needed for 1.5.
|
548 |
|
|
* The org.omg.DynamicAny package is completed and passes the prepared tests.
|
549 |
|
|
* The Portable Object Adapter should now support the output of the
|
550 |
|
|
recent IDL to java compilers. These compilers now generate servants and
|
551 |
|
|
not CORBA objects as before, making the output depended on the existing
|
552 |
|
|
POA implementation. Completing POA means that such code can already be
|
553 |
|
|
tried to run on Classpath. Our POA is tested for the following usager
|
554 |
|
|
scenarios:
|
555 |
|
|
- POA converts servant to the CORBA object.
|
556 |
|
|
- Servant provides to the CORBA object.
|
557 |
|
|
- POA activates new CORBA object with the given Object Id (byte array)
|
558 |
|
|
that is later accessible for the servant.
|
559 |
|
|
- During the first call, the ServantActivator provides servant for this
|
560 |
|
|
and all subsequent calls on the current object.
|
561 |
|
|
- During each call, the ServantLocator provides servant for this call
|
562 |
|
|
only.
|
563 |
|
|
- ServantLocator or ServantActivator forwards call to another server.
|
564 |
|
|
- POA has a single servant, responsible for all objects.
|
565 |
|
|
- POA has a default servant, but some objects are explicitly connected
|
566 |
|
|
to they specific servants.
|
567 |
|
|
The POA is verified using tests from the former cost.omg.org.
|
568 |
|
|
* The javax.swing.plaf.multi.* package is now implemented.
|
569 |
|
|
* Editing and several key actions for JTree and JTable were implemented.
|
570 |
|
|
* Lots of icons and look and feel improvements for Free Swing basic and
|
571 |
|
|
metal themes were added. Try running the GNU Classpath Swing Demo in
|
572 |
|
|
examples (gnu.classpath.examples.swing.Demo) with:
|
573 |
|
|
-Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
|
574 |
|
|
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
|
575 |
|
|
* Start of styled text capabilites for java.swing.text.
|
576 |
|
|
* NIO FileChannel.map implementation, fast bulk put implementation for
|
577 |
|
|
DirectByteBuffer (speeds up this method 10x).
|
578 |
|
|
* Split gtk+ awt peers event handling in two threads and improve gdk lock
|
579 |
|
|
handling (solves several AWT lock ups).
|
580 |
|
|
* Speed up awt Image loading.
|
581 |
|
|
* Updated TimeZone data against Olson tzdata2005l.
|
582 |
|
|
* Make zip and jar UTF-8 "clean".
|
583 |
|
|
* "native" code builds and compiles (warning free) on Darwin and Solaris.
|
584 |
|
|
|
585 |
|
|
Runtime interface changes:
|
586 |
|
|
|
587 |
|
|
* All native resource "pointers" in the VM interface classes are now exposed
|
588 |
|
|
as gnu.classpath.Pointer objects. This might impact runtimes that
|
589 |
|
|
optimize and support java.nio.DirectByteBuffers. Creating these classes
|
590 |
|
|
and accessing the contents as void * pointers for the native reference JNI
|
591 |
|
|
implementation is done through the JCL_NewRawDataObject and JCL_GetRawData
|
592 |
|
|
functions.
|
593 |
|
|
* Simplified the Class/VMClass interface.
|
594 |
|
|
* Removed loadedClasses map from ClassLoader. It's now the VMs responsibility
|
595 |
|
|
to manage the list of defined and loaded classes for each class loader.
|
596 |
|
|
* Moved native methods from java.lang.reflect.Proxy to VMProxy.
|
597 |
|
|
* Added hook to VMClassLoader to allow VM to do class caching.
|
598 |
|
|
|
599 |
|
|
New Untested/Disabled Features:
|
600 |
|
|
|
601 |
|
|
The following new features are included, but not ready for production
|
602 |
|
|
yet. They are explicitly disabled and not supported. But if you want
|
603 |
|
|
to help with the development of these new features we are interested
|
604 |
|
|
in feedback. You will have to explicitly enable them to try them out
|
605 |
|
|
(and they will most likely contain bugs). If you are interested in any
|
606 |
|
|
of these then please join the mailing-list and follow development in
|
607 |
|
|
CVS.
|
608 |
|
|
|
609 |
|
|
* QT4 AWT peers, enable by giving configure --enable-qt-peer.
|
610 |
|
|
* JDWP framework, enable by deleting the jdwp references from
|
611 |
|
|
lib/standard.omit and vm/reference/standard.omit. No default
|
612 |
|
|
implementation is provided. Work is being done on gcj/gij integration.
|
613 |
|
|
* StAX java.xml.stream, enable by deleting the gnu.xml.stream and
|
614 |
|
|
java.xml.stream references in lib/standard.omit.
|
615 |
|
|
|
616 |
|
|
New in release 0.17 (Jul 15, 2005)
|
617 |
|
|
|
618 |
|
|
* gnu.xml fix for nodes created outside a namespace context.
|
619 |
|
|
* Add support for output indenting and cdata-section-elements output
|
620 |
|
|
instruction in xml.transform.
|
621 |
|
|
* xml.xpath corrections for cases where elements/attributes might have
|
622 |
|
|
been created in non-namespace-aware mode. Corrections to handling of
|
623 |
|
|
XSL variables and minor conformance updates.
|
624 |
|
|
* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
|
625 |
|
|
traversal enumerations implemented.
|
626 |
|
|
* JInternalFrame colors and titlebar draw properly.
|
627 |
|
|
* JTree is working up to par (icons, selection and keyboard traversal).
|
628 |
|
|
* JMenus were made more compatible in visual and programmatic behavior.
|
629 |
|
|
* JTable changeSelection and multiple selections implemented.
|
630 |
|
|
* JButton and JToggleButton change states work properly now.
|
631 |
|
|
* JFileChooser fixes.
|
632 |
|
|
* revalidate and repaint fixes which make Free Swing much more responsive.
|
633 |
|
|
* Correctly handle system call interrupts and timeouts in native nio
|
634 |
|
|
and net functions.
|
635 |
|
|
* MetalIconFactory implemented.
|
636 |
|
|
* Handle image loading errors correctly for gdkpixbuf and MediaTracker.
|
637 |
|
|
* Added Tree World to GNU Classpath examples Free Swing demo.
|
638 |
|
|
* FileChannel.lock() and FileChannel.force() implemented.
|
639 |
|
|
* java.util.logging.FileHandler now rotates files.
|
640 |
|
|
* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
|
641 |
|
|
* Corba bug fixes and documentation updates.
|
642 |
|
|
* Updated gcj build infrastructure.
|
643 |
|
|
* Documentation fixes all over the place.
|
644 |
|
|
See http://developer.classpath.org/doc/
|
645 |
|
|
* VM Integration Guide updates with a full section on VM/Classpath hooks.
|
646 |
|
|
|
647 |
|
|
New in release 0.16 (Jun 30, 2005)
|
648 |
|
|
|
649 |
|
|
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
|
650 |
|
|
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
|
651 |
|
|
* BufferedImage and GtkImage rewrites. All image drawing operations
|
652 |
|
|
should now work correctly (flipping requires gtk+ >= 2.6)
|
653 |
|
|
* Future Graphics2D, Image and Text work is documented at:
|
654 |
|
|
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
|
655 |
|
|
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
|
656 |
|
|
JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
|
657 |
|
|
can call add() and setLayout() directly on them, which will have the same
|
658 |
|
|
effect as calling getContentPane().add() and getContentPane().setLayout().
|
659 |
|
|
* The JTree interface has been completed. JTrees now recognizes mouse clicks
|
660 |
|
|
and selections work, but the visual implementation is not yet complete.
|
661 |
|
|
Work on expansion and collapsing of the tree nodes is being implemented.
|
662 |
|
|
* BoxLayout works properly now.
|
663 |
|
|
* Fixed GrayFilter to actually work.
|
664 |
|
|
* Metal SplitPane implemented.
|
665 |
|
|
* Lots of free swing text and editor stuff work now.
|
666 |
|
|
|
667 |
|
|
* When gtk+ 2.6 or higher is installed the default log handler will produce
|
668 |
|
|
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
|
669 |
|
|
|
670 |
|
|
* The CORBA implementation is now a working prototype that should support
|
671 |
|
|
features up till 1.3 inclusive.
|
672 |
|
|
We would invite groups writing CORBA dependent applications to
|
673 |
|
|
try Classpath implementation, reporting any possible bugs.
|
674 |
|
|
|
675 |
|
|
The CORBA prototype is interoperable with Sun's implementation v 1.4,
|
676 |
|
|
transferring object references, primitive types, narrow and wide
|
677 |
|
|
strings, arrays, structures, trees, abstract interfaces and
|
678 |
|
|
value types (feature of CORBA 2.3) between these two platforms.
|
679 |
|
|
The remote exceptions are transferred and handled correctly.
|
680 |
|
|
The stringified object references (IORs) from various sources are
|
681 |
|
|
parsed as required.
|
682 |
|
|
The transient (for current session) and permanent (till jre restart)
|
683 |
|
|
redirections work.
|
684 |
|
|
Both Little and Big Endian encoded messages are accepted.
|
685 |
|
|
The implementation is verified using tests from the former cost.omg.org.
|
686 |
|
|
The current release includes working examples (see the examples directory),
|
687 |
|
|
demonstrating the client-server communication, using either CORBA Request
|
688 |
|
|
or IDL-based stub (usually generated by a IDL to java compiler).
|
689 |
|
|
These examples also show how to use the Classpath CORBA naming service.
|
690 |
|
|
The IDL to java compiler is not yet written, but as our library must be
|
691 |
|
|
compatible, it naturally accepts the output of other idlj implementations.
|
692 |
|
|
|
693 |
|
|
* New --with-vm-classes configure option, and new 'build' setting
|
694 |
|
|
for --with-glibj. (Only for integrators.)
|
695 |
|
|
|
696 |
|
|
Runtime interface changes:
|
697 |
|
|
|
698 |
|
|
* Start of a generic JDWP framework in gnu/classpath/jdwp.
|
699 |
|
|
This is unfinished, but feedback (at classpath@gnu.org) from runtime
|
700 |
|
|
hackers is greatly appreciated. Although most of the work is currently
|
701 |
|
|
being done around gcj/gij we want this framework to be as VM neutral as
|
702 |
|
|
possible. Early design is described in:
|
703 |
|
|
http://gcc.gnu.org/ml/java/2005-05/msg00260.html
|
704 |
|
|
* Native method VMClass.getModifiers() now takes an additional
|
705 |
|
|
boolean parameter.
|
706 |
|
|
* Deprecated native method VMClassLoader.defineClass(ClassLoader,
|
707 |
|
|
String, byte[], int, int) has been replaced by
|
708 |
|
|
VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
|
709 |
|
|
ProtectionDomain)
|
710 |
|
|
* VMClassLoader.loadClass(String name, boolean resolve) is now native,
|
711 |
|
|
replacing the former version which just returned null.
|
712 |
|
|
* Deprecated native method VMClassLoader.getPrimitiveClass(String) has
|
713 |
|
|
been replaced by new native method VMClassLoader.getPrimitiveClass(char).
|
714 |
|
|
* Previously empty implementations of methods VMThread.countStackFrames(),
|
715 |
|
|
VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
|
716 |
|
|
been removed; these methods are now native methods.
|
717 |
|
|
* Fields "exceptionTypes" and "parameterTypes" have been removed from
|
718 |
|
|
Contructor.java and getExceptionTypes() and getParameterTypes() are
|
719 |
|
|
now native methods.
|
720 |
|
|
|
721 |
|
|
New in release 0.15 (Apr 29, 2005)
|
722 |
|
|
|
723 |
|
|
* The old character encoding framework (gnu.java.io.EncodingManager)
|
724 |
|
|
has been replaced by a system based completely on nio.charset
|
725 |
|
|
providers. Many converters have been added, both the io, lang and nio
|
726 |
|
|
frameworks now use the same set of converters and the whole character
|
727 |
|
|
stream framework (Readers and Writers) have been optimized. For some
|
728 |
|
|
workloads this leads to 2x till 20x speedups.
|
729 |
|
|
|
730 |
|
|
The default charsets supported are:
|
731 |
|
|
|
732 |
|
|
Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
|
733 |
|
|
Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
|
734 |
|
|
ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
|
735 |
|
|
ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
|
736 |
|
|
MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
|
737 |
|
|
MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
|
738 |
|
|
UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
|
739 |
|
|
Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
|
740 |
|
|
Windows1256, Windows1257, Windows1258.
|
741 |
|
|
|
742 |
|
|
Many more encoding are supported through the new IconvProvider
|
743 |
|
|
depending on the platform iconv support. GNU libiconv is recommended.
|
744 |
|
|
The IconvProvider is currently not enabled by default. To enable it
|
745 |
|
|
define the system property gnu.classpath.nio.charset.provider.iconv=true.
|
746 |
|
|
Some runtimes might choose to enable this by default by setting it
|
747 |
|
|
through VMSystemProperties. We would like to get feedback on whether
|
748 |
|
|
enabling or disabling the IconvProvider by default results in the
|
749 |
|
|
highest speedups.
|
750 |
|
|
|
751 |
|
|
* Free swing metal and pluggable look and feels have been improved.
|
752 |
|
|
The GNU Classpath free swing example can now be run with different
|
753 |
|
|
"skins" by setting the system property swing.defaultlaf to the GNU,
|
754 |
|
|
Basic or Metal look and feel.
|
755 |
|
|
|
756 |
|
|
* Some of the org.omg.CORBA classes and packages have now been
|
757 |
|
|
implemented. The Savannah bug tracker contains additional tasks for
|
758 |
|
|
which we are seeking help.
|
759 |
|
|
|
760 |
|
|
* Fixed compatibility problems in the java.beans which affected
|
761 |
|
|
Eclipse's Visual Editor Project.
|
762 |
|
|
|
763 |
|
|
* New completely lock free (Inheritable)ThreadLocal implementation.
|
764 |
|
|
|
765 |
|
|
* javax.swing.text.rtf framework added which can handle simple (plain)
|
766 |
|
|
text tokens.
|
767 |
|
|
|
768 |
|
|
* Support for parsing html files into Level 2 Document Object Model
|
769 |
|
|
(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
|
770 |
|
|
javax.swing.text.html framework added.
|
771 |
|
|
|
772 |
|
|
Runtime interface changes:
|
773 |
|
|
|
774 |
|
|
* jni.h changed to better support compiling runtimes implementing jni;
|
775 |
|
|
see VM integration guide for details.
|
776 |
|
|
* New --enable-default-toolkit option to configure can be used to set
|
777 |
|
|
the fully qualified class name of the default AWT toolkit to use.
|
778 |
|
|
If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
|
779 |
|
|
is used.
|
780 |
|
|
* New --disable-core-jni option can be used to disable building the
|
781 |
|
|
"core" JNI libraries. This is primarily useful if your VM can use the
|
782 |
|
|
Gtk peers but not the core JNI libraries.
|
783 |
|
|
* New system property "gnu.classpath.boot.library.path" can be specified
|
784 |
|
|
to define the location of the JNI libraries. It is by all means meant
|
785 |
|
|
ONLY for VM implementors and GNU Classpath hackers. See the hacking
|
786 |
|
|
guide for more information.
|
787 |
|
|
* The helper methods currentLoader() and allocateObject() for
|
788 |
|
|
java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
|
789 |
|
|
Reference implementations are provided.
|
790 |
|
|
* java.net.InetAddress now uses VMInetAddress for runtime/platform
|
791 |
|
|
specific methods getLocalHostname(), getHostByAddr() and
|
792 |
|
|
getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
|
793 |
|
|
for runtime/platform specific getInterfaces() support. Default
|
794 |
|
|
(Posix/GNU JNI) implementations are provided.
|
795 |
|
|
* VMClass has a new method getModifiers(Class, boolean) which can be
|
796 |
|
|
used to get the real modifiers for an inner class or the ones
|
797 |
|
|
specified by the InnerClasses attribute.
|
798 |
|
|
* All (possible) runtime specific methods of Object and Double are now
|
799 |
|
|
in VMObject and VMDouble. Where possible generic reference
|
800 |
|
|
implementations are provided.
|
801 |
|
|
* The reference implementation of VMClassLoader now handles zip files
|
802 |
|
|
on the boot loader class path in getResources().
|
803 |
|
|
|
804 |
|
|
Other changes:
|
805 |
|
|
|
806 |
|
|
New in release 0.14 (Feb 25, 2005)
|
807 |
|
|
|
808 |
|
|
* Character encoders and decoders have been added for:
|
809 |
|
|
iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
|
810 |
|
|
iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
|
811 |
|
|
ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
|
812 |
|
|
UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
|
813 |
|
|
* Full documentation for all classes can be generated (again) by using
|
814 |
|
|
the --with-gjdoc configure option.
|
815 |
|
|
* javax.awt.imageio support through gdkpixbuf.
|
816 |
|
|
|
817 |
|
|
Runtime interface changes:
|
818 |
|
|
|
819 |
|
|
* VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
|
820 |
|
|
currentClassLoader() is no longer needed, and there are also two new
|
821 |
|
|
methods with non-native implementations. VM implementors are encouraged
|
822 |
|
|
to provide more efficient versions.
|
823 |
|
|
* VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
|
824 |
|
|
|
825 |
|
|
New in release 0.13 (Jan 6, 2005)
|
826 |
|
|
|
827 |
|
|
* The http url protocol handler has been replaced with a full HTTP/1.1
|
828 |
|
|
version from GNU inetlib.
|
829 |
|
|
* A new ftp url protocol handler has been added also from GNU inetlib.
|
830 |
|
|
* java.beans has been updated to 1.4 including support for XMLEncoder
|
831 |
|
|
and XMLDecoder.
|
832 |
|
|
* The java.util.Locale support is now based on the Common Locale Data
|
833 |
|
|
Repository (CLDR) Project (see http://www.unicode.org/cldr/).
|
834 |
|
|
GNU Classpath provides support for more than 250 locales now.
|
835 |
|
|
This new support is experimental and the GNU Classpath hackers are
|
836 |
|
|
working together with runtime developers and the unicode consortium
|
837 |
|
|
to improve them in the future.
|
838 |
|
|
If your runtime misdetects your locale or if the default locale gives
|
839 |
|
|
problems please try running with -Duser.language=en and -Duser.region=US
|
840 |
|
|
to fall back on a known good locale.
|
841 |
|
|
* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
|
842 |
|
|
org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
|
843 |
|
|
different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
|
844 |
|
|
libxmlj DOM and libxmlj XSL by setting different system properties.
|
845 |
|
|
Also provided is a preliminary XPath 1.0 implementation.
|
846 |
|
|
The libxmlj versions are build around libxml2 and libxslt and have to
|
847 |
|
|
be enabled during build time by the --enable-xmlj configure flag.
|
848 |
|
|
The current support is equal to the last released GNU JAXP 1.3 release.
|
849 |
|
|
These packages will be maintained as part of the GNU Classpath core classes
|
850 |
|
|
in the future. For more information, conformance results and documentation
|
851 |
|
|
on selecting different implementations see doc/README.jaxp.
|
852 |
|
|
* More AWT accessible support.
|
853 |
|
|
* AWT gtk+ peers component layout, dialog placement, keyboard focus
|
854 |
|
|
handling and text positioning have been improved.
|
855 |
|
|
* ImageIO interfaces are more complete.
|
856 |
|
|
* JList, JTable and JTree have been hugely improved.
|
857 |
|
|
* java.awt.Robot support with GdkRobot in the gtk+ awt peers.
|
858 |
|
|
Needs XTest Extension (libXtst) XServer support.
|
859 |
|
|
* New --disable-examples configure argument.
|
860 |
|
|
|
861 |
|
|
Runtime interface changes:
|
862 |
|
|
|
863 |
|
|
* Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
|
864 |
|
|
to lazily register an exit handler.
|
865 |
|
|
* The java.lang.Class constructor now automatically sets the protection
|
866 |
|
|
domain for array classes, based on the protection domain of the component
|
867 |
|
|
type class.
|
868 |
|
|
* New gnu.classpath.VMSystemProperties class. This replaces the
|
869 |
|
|
system properties initialization in VMRuntime. Note that it is
|
870 |
|
|
now the VMs responsibility to set one additional property:
|
871 |
|
|
gnu.cpu.endian should be set to "big" or "little".
|
872 |
|
|
* VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
|
873 |
|
|
and has only one argument, the name of the library.
|
874 |
|
|
* String and StringBuffer now call VMSystem.arraycopy() directly and don't
|
875 |
|
|
go through java.lang.System. Be careful to not initialize java.lang.System
|
876 |
|
|
early in the bootstrap sequence in your VM runtime interface classes.
|
877 |
|
|
* Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
|
878 |
|
|
has been updated. Also, VMThread.sleep() now has a default non-native
|
879 |
|
|
implementation, but it is a generic implementation that ignores the
|
880 |
|
|
nano-seconds argument. Runtime hackers are encouraged to provide a more
|
881 |
|
|
efficient version.
|
882 |
|
|
* There is prelimenary support for nio direct byte buffers.
|
883 |
|
|
See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
|
884 |
|
|
you add support for this to your runtime.
|
885 |
|
|
|
886 |
|
|
New in release 0.12 (Nov 14, 2004)
|
887 |
|
|
|
888 |
|
|
* GNU Classpath's JAR implementation now has preliminary support for
|
889 |
|
|
signed entries, for so called "signed JAR" file support. Signed JAR
|
890 |
|
|
files are one of the key security features of managed runtimes, and
|
891 |
|
|
allows code to run privileged given unforgeable proofs of identity.
|
892 |
|
|
* A much improved version of X.509 certificates has been added,
|
893 |
|
|
including a robust certificate path checking algorithm. Also
|
894 |
|
|
included is an implementation of the RSA signature scheme.
|
895 |
|
|
* Full java.awt.color implementation, with all standard ICC profiles,
|
896 |
|
|
except for PhotoYCC color space.
|
897 |
|
|
* java.beans 1.4 updates and bug fixes.
|
898 |
|
|
* java.awt.image support updated to 1.4.
|
899 |
|
|
* Improved build process. Uses less memory with gcj and C code is
|
900 |
|
|
buildable with -Werror on most platform. Please configure with
|
901 |
|
|
--enable-Werror and report any remaining issues.
|
902 |
|
|
* Big-endian (PowerPC) fixes for native awt GTK+ peers.
|
903 |
|
|
* Checkstyle support, see scripts/checkstyle-config.xml.
|
904 |
|
|
* Better AWT focus management fro GTK+ peers.
|
905 |
|
|
* Much faster and better fonts support
|
906 |
|
|
(for both gdk Graphics and cairo Graphics2D)
|
907 |
|
|
* AWT Choice fixes for hidden components.
|
908 |
|
|
* HTTP Connection Handler fixes for POST support.
|
909 |
|
|
* Much fuller collection documentation.
|
910 |
|
|
* Lots of Calendar bug fixes.
|
911 |
|
|
* More javax.imageio support.
|
912 |
|
|
* Better AWT Help MenuBar support.
|
913 |
|
|
* Lookahead support for regular expressions.
|
914 |
|
|
* Serialization object stream fixes for multiple ClassLoader scenarios.
|
915 |
|
|
* Swing TabbedPane, ColorChooser and ComboBox improvements.
|
916 |
|
|
* Start of JTree functionality.
|
917 |
|
|
* Improved Eclipse 3 support for GNU Classpath based runtimes.
|
918 |
|
|
|
919 |
|
|
Runtime interface Changes:
|
920 |
|
|
|
921 |
|
|
* New --enable-java-lang-system-explicit-initialization configuration
|
922 |
|
|
option. (Warning, will be replaced in next release, please consult
|
923 |
|
|
the mailinglist.)
|
924 |
|
|
* The reference implementation of VMClassLoader has default
|
925 |
|
|
implementations for getResource(s) and provides support for a new
|
926 |
|
|
default getSystemClassLoader implementation.
|
927 |
|
|
|
928 |
|
|
New in release 0.11 (Sep 13, 2004)
|
929 |
|
|
|
930 |
|
|
* javax.swing.Spring and SpringLayout support.
|
931 |
|
|
* Added pluggable look and feel support for BasicTextFieldUI and
|
932 |
|
|
BasicToolBarSeparatorUI.
|
933 |
|
|
* java.swing.text support for (Default and Layered) Highlighter, FieldView,
|
934 |
|
|
PlainView, TabExpander and TabableView added.
|
935 |
|
|
* Start of JTable and JTree implementation.
|
936 |
|
|
* Internal Swing frames work.
|
937 |
|
|
* JMenu and JPopupMenu work.
|
938 |
|
|
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
|
939 |
|
|
* java.awt.image LookupTables and kernel support.
|
940 |
|
|
* Improved java.awt.image.BufferedImage support.
|
941 |
|
|
* AWT 1.0 event model support.
|
942 |
|
|
* GNU Classpath now comes with some example programs (see examples/README).
|
943 |
|
|
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
|
944 |
|
|
javax.net.ssl, javax.security.auth, javax.security.auth.callback,
|
945 |
|
|
javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
|
946 |
|
|
and org.ietf.jgss packages are now officially part of GNU Classpath.
|
947 |
|
|
Extra crypto algorithms can be obtained from the GNU Crypto project,
|
948 |
|
|
a full TLS implementation is provided by the Jessie project.
|
949 |
|
|
http://www.gnu.org/software/gnu-crypto/
|
950 |
|
|
http://www.nongnu.org/jessie/
|
951 |
|
|
* Frame.setIconImage() support.
|
952 |
|
|
* AWT GDKGraphics scaling.
|
953 |
|
|
* New configure flag --enable-gtk-cairo to build Graphics2D implementation
|
954 |
|
|
build on cairo and pangoft2. Enabled at runtime by defining the system
|
955 |
|
|
property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
|
956 |
|
|
* javax.swing.JSpinner implemented.
|
957 |
|
|
* Extensive documentation update for java.util collection classes.
|
958 |
|
|
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
|
959 |
|
|
* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
|
960 |
|
|
tool integrators are encouraged to directly integrate GNU JAXP.
|
961 |
|
|
This release has been tested against GNU JAXP 1.1.
|
962 |
|
|
http://www.gnu.org/software/classpathx/jaxp/jaxp.html
|
963 |
|
|
* JColorChooser, JComboBox and JTextField implemented, including example
|
964 |
|
|
uses in GNU Classpath Examples swing Demo.
|
965 |
|
|
|
966 |
|
|
Runtime interface Changes:
|
967 |
|
|
|
968 |
|
|
* java.lang.Compiler now uses the new java.lang.VMCompiler; there is
|
969 |
|
|
a reference implementation that most VMs can use.
|
970 |
|
|
* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
|
971 |
|
|
implementation that should work on most Posix like systems.
|
972 |
|
|
* java.util.TimeZone has been split into a platform independent class and
|
973 |
|
|
a platform dependent class VMTimeZone. GNU Classpath comes with a generic
|
974 |
|
|
way to get at the default time zone for Posix/GNU-like platforms.
|
975 |
|
|
* [VM]AccessController improvements. In particular it handles
|
976 |
|
|
`doPrivileged' calls better, and allows for recursive `doPrivileged'
|
977 |
|
|
calls in the same Thread. (see vm/reference/java/security/)
|
978 |
|
|
|
979 |
|
|
New in release 0.10 (Jul 9, 2004)
|
980 |
|
|
|
981 |
|
|
* java.net.URL now uses application classloader to load URLStreamHandlers
|
982 |
|
|
and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
|
983 |
|
|
* java.io.File.deleteOnExit() implementation.
|
984 |
|
|
* java.text multiple new features and bug fixes
|
985 |
|
|
(only 2 out of the 1000+ java.text Mauve tests now fail).
|
986 |
|
|
* Better (non-black) default AWT System colors.
|
987 |
|
|
* AWT lists use GTK treeviews.
|
988 |
|
|
* Proper AWT focus management has been implemented.
|
989 |
|
|
* Swing menus and scrollpanes are beginning to work.
|
990 |
|
|
* Swing splitpanes, dialogs and internal frames were added.
|
991 |
|
|
* Swing repainting / double buffering was redone.
|
992 |
|
|
* Font management and Pango DPI conversion fixes.
|
993 |
|
|
* A lot of AWT imaging and event bugs have been picked out.
|
994 |
|
|
* More of javax.swing.text has been implemented.
|
995 |
|
|
* javax.swing.Timer has been reimplemented.
|
996 |
|
|
* java.security.AccessController has been implemented
|
997 |
|
|
(see runtime section).
|
998 |
|
|
* The default java.lang.SecurityManager now uses AccessController.
|
999 |
|
|
* New java.beans.Statement and Expression implementations.
|
1000 |
|
|
* Small FileChannel implementation speed improvement for traditional
|
1001 |
|
|
JNI based systems.
|
1002 |
|
|
* Regenerated all included JNI header files with gcjh (3.5 CVS),
|
1003 |
|
|
removes extra extern modifier and allows stricter compiler warning.
|
1004 |
|
|
* More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
|
1005 |
|
|
-Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
|
1006 |
|
|
made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
|
1007 |
|
|
* Double.toString() and Float.toString() now work properly on 64-bit
|
1008 |
|
|
PowerPC systems.
|
1009 |
|
|
* PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
|
1010 |
|
|
* Build system refactored and removed old Japhar specific support.
|
1011 |
|
|
* The gnu.java.awt.EmbeddedWindow class has been improved, and now
|
1012 |
|
|
supports embedding AWT windows in other top-level X windows.
|
1013 |
|
|
This functionality is required by gcjwebplugin.
|
1014 |
|
|
* gcjwebplugin, an applet viewer that can be embedded into several web
|
1015 |
|
|
browsers, has been extensively tested with this release of classpath.
|
1016 |
|
|
(See http://www.nongnu.org/gcjwebplugin/)
|
1017 |
|
|
* Runtime environments based on GNU Classpath 0.10 should be able to
|
1018 |
|
|
start up Eclipse 3.0 out of the box now.
|
1019 |
|
|
|
1020 |
|
|
Runtime interface Changes:
|
1021 |
|
|
|
1022 |
|
|
* VMProcess.destroy() default implementation fixes.
|
1023 |
|
|
* Fixed the "portable native sync" code; it had been broken since
|
1024 |
|
|
Classpath release 0.06, when we upgraded to GTK+2.
|
1025 |
|
|
Classpath's AWT peers use GTK+. GTK+ uses GLIB. GLIB by default uses
|
1026 |
|
|
the platform's native threading model -- pthreads in most cases.
|
1027 |
|
|
If the Java runtime doesn't use the native threading model, then you should
|
1028 |
|
|
specify --portable-native-sync when configuring Classpath, so that GLIB will
|
1029 |
|
|
use the Java threading primitives instead. (For a superior alternative,
|
1030 |
|
|
see below.)
|
1031 |
|
|
* The VM can set the system property
|
1032 |
|
|
gnu.classpath.awt.gtk.portable.native.sync instead of using the
|
1033 |
|
|
--portable-native-sync configure-type option.
|
1034 |
|
|
See doc/vmintegration.texinfo for details.
|
1035 |
|
|
* We intend that the next release of GNU Classpath will require the VM
|
1036 |
|
|
to provide JNI 1.2. Classpath currently uses only JNI 1.1, except for
|
1037 |
|
|
one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
|
1038 |
|
|
If this poses problems, please raise them on the classpath mailing list.
|
1039 |
|
|
* The reference implementation of VMThread.holdsLock(Object) now has
|
1040 |
|
|
a default implementation written in java. For efficiency and to
|
1041 |
|
|
prevent spurious wakeups a real 'native' runtime version can be supplied.
|
1042 |
|
|
* There is a new java.security.VMAccessController class that runtimes need
|
1043 |
|
|
to implement to properly support SecurityManagers. The default
|
1044 |
|
|
implementation that comes with GNU Classpath makes sure that ANY attempt
|
1045 |
|
|
to access a protected resource is denied when a SecurityManager is
|
1046 |
|
|
installed. Which is pretty secure, but also no very useful.
|
1047 |
|
|
Please see the documentation in
|
1048 |
|
|
vm/reference/java/security/VMAccessController.java,
|
1049 |
|
|
and please give feedback on the GNU Classpath mailinglist whether or not
|
1050 |
|
|
the current AccessController framework is flexible enough.
|
1051 |
|
|
|
1052 |
|
|
New in release 0.09 (May 2, 2004)
|
1053 |
|
|
|
1054 |
|
|
* Includes updated GNU JAXP version from 2004-02-01.
|
1055 |
|
|
* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
|
1056 |
|
|
* java.io is now implemented by delegating most tasks directly to java.nio.
|
1057 |
|
|
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
|
1058 |
|
|
* New javax.print, javax.print.attribute[.standard] and javax.print.event
|
1059 |
|
|
packages and classes.
|
1060 |
|
|
* java.text attributed iterators support.
|
1061 |
|
|
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
|
1062 |
|
|
classes.
|
1063 |
|
|
* GNU Classpath can now load service providers that are described via
|
1064 |
|
|
META-INF/services/* resources in extension JARs. This is useful for
|
1065 |
|
|
implementing the various APIs that are supposed to be extensible via
|
1066 |
|
|
custom plugins. For details, please see the documentation of
|
1067 |
|
|
gnu.classpath.ServiceFactory.
|
1068 |
|
|
Application developers are strongly discouraged from calling glibj
|
1069 |
|
|
internal packages. Instead, they might want invoke the newly implemented
|
1070 |
|
|
javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
|
1071 |
|
|
method for loading plug-ins.
|
1072 |
|
|
* New developers wanting to help the GNU Classpath project might want to
|
1073 |
|
|
review the greatly expanded Hacker Guide included in the doc directory
|
1074 |
|
|
or online at http://www.gnu.org/software/classpath/docs/hacking.html
|
1075 |
|
|
Also the FAQ has been expanded. And when working from CVS you can now use
|
1076 |
|
|
a simple autogen.sh script to get all autotools magic done automagically.
|
1077 |
|
|
* New configure option --with-glibj which defines how to install the glibj
|
1078 |
|
|
class files as zip, as flat directory files or both (zip|flat|both)
|
1079 |
|
|
[default=zip]. When working with multiple runtimes some of which might
|
1080 |
|
|
not support bootstrap classes in zip files the --with-glibj=both option
|
1081 |
|
|
is recommended (this does take extra disc space).
|
1082 |
|
|
* Two big code drops from the libgcj gui branch updating various java.awt
|
1083 |
|
|
and javax.swing classes.
|
1084 |
|
|
* Multiple java.net.InetAdress fixes and java.rmi fixes.
|
1085 |
|
|
* ServerSocket.accept() now restarts listening when system call interrupted.
|
1086 |
|
|
* Much cleanups to make standard API doc valid XHTML (not completed yet).
|
1087 |
|
|
* A scan for unused variables and non-static invocation of static methods
|
1088 |
|
|
turned up a couple of subtle bugs which have now all been fixed.
|
1089 |
|
|
* The Mauve testsuite has been cleaned up considerable and lots of issues
|
1090 |
|
|
in the GNU Classpath core class implementation have been fixed.
|
1091 |
|
|
|
1092 |
|
|
VM Interface changes:
|
1093 |
|
|
|
1094 |
|
|
* java.lang.Class/VMClass interface was changed. The interface now no
|
1095 |
|
|
longer requires an instance of VMClass for each Class instance. Instead
|
1096 |
|
|
the field vmdata in Class is now of type Object.
|
1097 |
|
|
* GNU Classpath now assumes that JNI calls SetXField can modify final
|
1098 |
|
|
fields. This was previously used silently for System.in/out/err and should
|
1099 |
|
|
be considered as a feature now.
|
1100 |
|
|
* A new VMProcess and a sample JNI C implementation are now provided to
|
1101 |
|
|
make Runtime.exec() work out of the box on some systems. This requires
|
1102 |
|
|
a small change to VMRuntime.exec() when a runtime wants to use it as the
|
1103 |
|
|
default java.lang.Process implementation.
|
1104 |
|
|
* The implementation of most of java.io through java.nio moved serveral
|
1105 |
|
|
runtime specific I/O methods. Most methods do have a generic default native
|
1106 |
|
|
C JNI implementation in native/jni/java-nio.
|
1107 |
|
|
* Runtime support methods for java.io.File have been moved to VMFile which
|
1108 |
|
|
also comes with a default JNI C implementation.
|
1109 |
|
|
* To support the new service provider mechanism runtimes must make sure that
|
1110 |
|
|
extension JARs are made accessible via the default context class loader.
|
1111 |
|
|
|
1112 |
|
|
New in release 0.08 (2004/12/03)
|
1113 |
|
|
|
1114 |
|
|
* java.util.regexp implementation through gnu.regexp wrappers.
|
1115 |
|
|
* java.net.URI implementation.
|
1116 |
|
|
* Working implementation of javax.swing.undo.
|
1117 |
|
|
* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
|
1118 |
|
|
equations; implementation adapted from the GNU Scientific Library.
|
1119 |
|
|
* Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
|
1120 |
|
|
of EmbeddedWindow support.
|
1121 |
|
|
* BufferedReader speed improvements.
|
1122 |
|
|
* Improved useabilty of java.text implementation for several applications.
|
1123 |
|
|
* ObjectInputStream is much faster and more compatible with other
|
1124 |
|
|
implementations.
|
1125 |
|
|
* Fix handling of alias methods, where a method has been deprecated in
|
1126 |
|
|
favour of a new one with the same funtion but a different name.
|
1127 |
|
|
(See Deprecated Methods section in the GNU Classpath Hacking Guide.)
|
1128 |
|
|
* javax.print.attribute.standard added.
|
1129 |
|
|
* Lots of java.nio, java.net, java.io
|
1130 |
|
|
* Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.
|
1131 |
|
|
|
1132 |
|
|
VM Interface changes:
|
1133 |
|
|
* Split native methods in java.lang.Runtime into java.lang.VMRuntime.
|
1134 |
|
|
* Resources are now also loaded/needed through the bootstrap classloader
|
1135 |
|
|
(gnu.regexp needs MessageBundle included in glibj.zip
|
1136 |
|
|
|
1137 |
|
|
Fixed Classpath bugs:
|
1138 |
|
|
#6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
|
1139 |
|
|
wrong results
|
1140 |
|
|
#7099 EventListenerList.getListenerCount should accept null argument
|
1141 |
|
|
#7104 EventListenerList.add does not work
|
1142 |
|
|
#7105 EventListenerList.remove does not work
|
1143 |
|
|
#7107 DefaultBoundedRangeModel.setValue and friends should not throw
|
1144 |
|
|
And lots more.
|
1145 |
|
|
|
1146 |
|
|
New in release 0.07 (2003/30/11)
|
1147 |
|
|
|
1148 |
|
|
* Works with libtool 1.5 (and 1.4.3).
|
1149 |
|
|
* java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango.
|
1150 |
|
|
Lots and lots improvements on the peers.
|
1151 |
|
|
* java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D:
|
1152 |
|
|
Subdivision and flatness calculation implemented.
|
1153 |
|
|
* java.awt.geom.FlatteningPathIterator: Working implementation.
|
1154 |
|
|
* gnu.java.awt.BitwiseXORComposite helper class.
|
1155 |
|
|
* New rmic compilers (jikes, kjc) support.
|
1156 |
|
|
* java.text bug fixing and 1.4 updates (Currency).
|
1157 |
|
|
* Hashtable and HashMap function more similar to other implementations.
|
1158 |
|
|
* javax.naming and java.beans classloader fixes.
|
1159 |
|
|
* URL parsing, URLConnection, protocol and (needed) permission fixes.
|
1160 |
|
|
* More java.nio implementation
|
1161 |
|
|
(API complete, but implementation not finished yet).
|
1162 |
|
|
* Lots of java.net code cleanup.
|
1163 |
|
|
* Improved documentation.
|
1164 |
|
|
* Numerous bug fixes in almost every package, and lots of updates for
|
1165 |
|
|
1.4 functionality.
|
1166 |
|
|
* Fixed Classpath bugs:
|
1167 |
|
|
#2944 Incorrect synchronization in java.util.logging.ErrorManager
|
1168 |
|
|
#6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results
|
1169 |
|
|
#6076 java.awt.geom.GeneralPath constructor sometimes hangs
|
1170 |
|
|
#6089 java.awt.geom.GeneralPath.getPathIterator does not work
|
1171 |
|
|
[...]
|
1172 |
|
|
|
1173 |
|
|
VM Interface changes:
|
1174 |
|
|
|
1175 |
|
|
* Thread has been split in a VM-independent Thread class and a VM-dependent
|
1176 |
|
|
VMThread class.
|
1177 |
|
|
|
1178 |
|
|
New in release 0.06 (2003/22/08)
|
1179 |
|
|
|
1180 |
|
|
* Update java.awt peers to GTK+2.
|
1181 |
|
|
* java.awt.GridBagLayout implementation.
|
1182 |
|
|
* javax.swing.border implementation.
|
1183 |
|
|
* java.security and java.security.cert updated to 1.4 spec.
|
1184 |
|
|
* New JNI native target code layer. See native/target/readme.txt.
|
1185 |
|
|
* --enable-regen-headers configure flag for automatic jni .h file generation.
|
1186 |
|
|
* Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
|
1187 |
|
|
needed for compiling.
|
1188 |
|
|
* Lots of improvements and/or new classes for java.awt, java.awt.dnd,
|
1189 |
|
|
java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
|
1190 |
|
|
java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
|
1191 |
|
|
javax.swing.text.
|
1192 |
|
|
|
1193 |
|
|
VM Interface changes:
|
1194 |
|
|
|
1195 |
|
|
* VMClassLoader.loadClass(), the bootstrap classloader called by
|
1196 |
|
|
Class.forName() and ClassLoader.loadClass(), may now return null when
|
1197 |
|
|
a class is not found instead of throwing a new ClassNotFoundException.
|
1198 |
|
|
This is a performance optimization in some cases. This also changes
|
1199 |
|
|
the Class.forName() reference code.
|
1200 |
|
|
* Native methods in Class have been moved to VMClass. A few additional
|
1201 |
|
|
methods are also available in VMClass to provide optional performance
|
1202 |
|
|
improvements.
|
1203 |
|
|
* A VM can now supply its own String.intern() strategy through the
|
1204 |
|
|
VMString class. The supplied VMString reference class implements the
|
1205 |
|
|
original WeakHashMap strategy.
|
1206 |
|
|
* Float and Double to/from bits conversion functions can now be supplied by
|
1207 |
|
|
the VM through VMFloat and VMDouble. Default JNI conversion methods are
|
1208 |
|
|
supplied.
|
1209 |
|
|
|
1210 |
|
|
New in release 0.05 (2003/02/15)
|
1211 |
|
|
* Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
|
1212 |
|
|
* Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
|
1213 |
|
|
and tools for GNU Classpath, available separately from
|
1214 |
|
|
http://www.gnu.org/software/classpathx/crypto/crypto.html.
|
1215 |
|
|
* Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
|
1216 |
|
|
of standard tools such as gjdoc, a javadoc replacement, and others. Future
|
1217 |
|
|
releases of GNU Classpath will begin to include these tools, available
|
1218 |
|
|
separately from http://www.gnu.org/software/cp-tools/.
|
1219 |
|
|
* Java primitives can be used to support AWT native threading, see
|
1220 |
|
|
the --enable-portable-native-sync configure option which may become the
|
1221 |
|
|
default in a future release.
|
1222 |
|
|
* Include file jni.h has been updated to the 1.4 specification.
|
1223 |
|
|
* VM specific internal types for jobject, jfieldID, and jmethodID are
|
1224 |
|
|
supported in jni.h. More details can be found by reading the comment
|
1225 |
|
|
in include/jni.h.in. By default the old definitions are used instead.
|
1226 |
|
|
* New VM helper class java.io.VMObjectStreamClass which should provide
|
1227 |
|
|
the hasClassInitializer() method. Previously ObjectStreamClass used
|
1228 |
|
|
Class.getDeclaredMethod("") but according to the spec this
|
1229 |
|
|
should always throw NoSuchMethodException for class initialization methods.
|
1230 |
|
|
A JNI reference implementation is provided as
|
1231 |
|
|
vm/reference/java-io/java_io_VMObjectStreamClass.c
|
1232 |
|
|
* There have been numerous infrastructure improvements
|
1233 |
|
|
* Configure option --enable-gjdoc to generate javadoc-like output
|
1234 |
|
|
* Gjdoc output is included with distribution, see doc/api/html/
|
1235 |
|
|
* DESTDIR fully supported for install and uninstall
|
1236 |
|
|
* Runtime.execInternal contract changed to allow for null `env'
|
1237 |
|
|
and to accept `dir' argument.
|
1238 |
|
|
* VMObject.getClass() removed. It was never used.
|
1239 |
|
|
* java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
|
1240 |
|
|
VM specific java.lang.VMThrowable to get at the VM state and (if needed)
|
1241 |
|
|
the StackTraceElements for a particular exception. A default implementation
|
1242 |
|
|
(that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
|
1243 |
|
|
* The vm/reference classes from the gnu.vm.stack and their counterparts
|
1244 |
|
|
ExecutionStack and StackFrame in gnu.java.lang have been removed since they
|
1245 |
|
|
are not actually part of the VM interface anyway.
|
1246 |
|
|
* The GPLed com.sun.javadoc classes have been moved to the gjdoc application
|
1247 |
|
|
from the GNU Classpath Tools project. See for more information the homepage
|
1248 |
|
|
at: .
|
1249 |
|
|
|
1250 |
|
|
New in release 0.04 (2002/05/05)
|
1251 |
|
|
* Additional configure options to disable zip creation and installation as
|
1252 |
|
|
well as disable gtk peer native compilation.
|
1253 |
|
|
* Addition of java.nio, java.util.logging, and javax.swing.
|
1254 |
|
|
* Integration of most or all of the ORP patches to date, the purpose of
|
1255 |
|
|
which are to make it possible to use JBOSS with ORP and Classpath. This
|
1256 |
|
|
is still in a testing phase however.
|
1257 |
|
|
* Significant changes in the reference VM interface that may require
|
1258 |
|
|
support from the JVMs.
|
1259 |
|
|
* Lots of bugfixes.
|
1260 |
|
|
|
1261 |
|
|
New in release 0.03 (2002/02/08)
|
1262 |
|
|
* More merges with libgcj have been performed including java.math which now
|
1263 |
|
|
provides a pure Java implementation of that package.
|
1264 |
|
|
Current status at
|
1265 |
|
|
* A pure Java implementation (Jazzlib) of java.util.zip is available.
|
1266 |
|
|
* Added the java.rmi implementation that Transvirtual donated to the FSF.
|
1267 |
|
|
* Includes jni.h now, eliminating the need to specify a particular VM
|
1268 |
|
|
via configure.
|
1269 |
|
|
* No proprietary classes or programs are required to compile.
|
1270 |
|
|
Compiles out of the box with jikes or gcj.
|
1271 |
|
|
* Separation of compiling Java source and native libraries through the
|
1272 |
|
|
configure mechanism. If given no arguments, configure will setup the
|
1273 |
|
|
subsequent build to only produce Java bytecode (.class files). More
|
1274 |
|
|
information is available in INSTALLING.
|
1275 |
|
|
* Support for compiling in a separate directory, as an example you may
|
1276 |
|
|
cd classpath-0.03; mkdir build; cd build; ../configure; make
|
1277 |
|
|
* Works with Orp 1.0.9 out of the box. Build instructions can be found at
|
1278 |
|
|
|
1279 |
|
|
* Lots of bugfixes that were found by using Classpath with the gcj, Orp,
|
1280 |
|
|
SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
|
1281 |
|
|
|
1282 |
|
|
* Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
|
1283 |
|
|
API specification. The current status can be found at
|
1284 |
|
|
|
1285 |
|
|
* All files are now distributed under the same terms. Added clarification to
|
1286 |
|
|
GPL exception.
|
1287 |
|
|
|
1288 |
|
|
New in release 0.02 (2001/01/06)
|
1289 |
|
|
* Support for printing exceptions with Japhar 0.09 + patch included in
|
1290 |
|
|
resource/japhar-0.09.patch.1.
|
1291 |
|
|
* Typos, assorted bugfixes.
|
1292 |
|
|
|
1293 |
|
|
New in release 0.01 (2000/11/20)
|
1294 |
|
|
* More packages are included now, though many remain untested.
|
1295 |
|
|
* Support for Japhar 0.09 included.
|
1296 |
|
|
|
1297 |
|
|
New in release 0.00 (1999/02/01)
|
1298 |
|
|
* First official development release of clean room class library for Java
|
1299 |
|
|
* Following packages included:
|
1300 |
|
|
-- java.beans
|
1301 |
|
|
-- java.io
|
1302 |
|
|
-- java.lang
|
1303 |
|
|
-- java.lang.reflect
|
1304 |
|
|
-- java.math
|
1305 |
|
|
-- java.net
|
1306 |
|
|
-- java.security (partial and non-functioning)
|
1307 |
|
|
-- java.security.acl
|
1308 |
|
|
-- java.security.interfaces
|
1309 |
|
|
-- java.util
|
1310 |
|
|
* Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
|
1311 |
|
|
missing and/or untested.
|
1312 |
|
|
* Support for Japhar (http://www.japhar.org/) virtual machine is included.
|
1313 |
|
|
Requires the current Japhar from CVS.
|
1314 |
|
|
* Extensive javadoc comments for public API included
|
1315 |
|
|
* Licensed under the GNU Library General Public License (see COPYING.LIB)
|
1316 |
|
|
* Does not depend on any non-free code - developed in a "clean room"
|
1317 |
|
|
environment.
|
1318 |
|
|
|