OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [NEWS] - Blame information for rev 867

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
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
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.