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

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libjava/] [classpath/] [NEWS] - Blame information for rev 14

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 jlechner
New in release 0.20
2
 
3
Runtime interface changes:
4
 
5
* New method VMStackWalker.getClassLoader() was added to avoid an infinite
6
  loop between getCallingClassLoader() and Class.getClassLoader().
7
 
8
New in release 0.19 (Nov 2, 2005)
9
 
10
* The Swing RepaintManager has been reworked for more efficient painting,
11
  especially for large GUIs.
12
 
13
* The Swing layout manager OverlayLayout has been implemented, the BoxLayout
14
  has been rewritten to make use of the SizeRequirements utility class and
15
  caching for more efficient layout.
16
 
17
* Improved accessibility support for Swing.
18
 
19
* The java.net.HttpURLConnection implementation no longer buffers the
20
  entire response body in memory.  This means that response bodies
21
  larger than available memory can now be handled.
22
 
23
* The Andrew Watson, Vice President and Technical Director of the Object
24
  Management Group, has officially assigned us 20 bit Vendor Minor Code Id:
25
  0x47430 ("GC") that will mark remote Classpath - specific system exceptions.
26
  Obtaining the VMCID means that GNU Classpath now is a recogniseable type of
27
  node in a highly interoperable CORBA world.
28
 
29
* Classpath now includes the first working draft to support the RMI over
30
  IIOP protocol. The current implementation is capable for remote invocations,
31
  transferring various Serializables and Externalizables via RMI-IIOP protocol.
32
  It can flatten graphs and, at least for the simple cases, is interoperable
33
  with Sun's jdk 1.5.
34
 
35
* Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X
36
  users with a Qt4 installation can build the qt-peers with the argument
37
  --with-qt4dir=.
38
 
39
* Significant progress has been made in the implementation of the
40
  javax.swing.plaf.metal.* package, with most UI delegates in a working state
41
  now.  Please test this with your own applications and provide feedback that
42
  will help us to improve this package.
43
 
44
* The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to
45
  highlight various features in our free-swing implementation. And includes
46
  a look and feel switcher (Metal default, Ocean or GNU).
47
 
48
Runtime interface changes:
49
 
50
* Changed implementation of VMClassLoader.getPackage(s) : new method
51
  VMClassLoader.getBootPackages should be implemented by the vm, and sould
52
  return a string array of boot package names ("java.lang", "java.net", ...).
53
  Feedback from vm implementors for usability and relevance of the
54
  getBootPackages method would be greatly appreciated.
55
 
56
New in release 0.18 (Sep 6, 2005)
57
 
58
* GNU JAWT implementation, the AWT Native Interface, which allows direct
59
  access to native screen resources from within a Canvas's paint method.
60
  GNU Classpath Examples comes with a Demo, see examples/README.
61
* awt.datatransfer updated to 1.5 with supports for FlavorEvents.
62
  The gtk+ awt peers now allow copy/paste of text, images, uris/files
63
  and serialized objects with other applications and tracking
64
  clipboard change events with gtk+ 2.6 (for gtk+ 2.4 only text and
65
  serialized objects are supported). A GNU Classpath Examples
66
  datatransfer Demo was added to show the new functionality.
67
* org.omg.PortableInterceptor and related functionality in other packages
68
  is now implemented:
69
    - The sever and client interceptors work as required since 1.4.
70
    - The IOR interceptor works as needed for 1.5.
71
* The org.omg.DynamicAny package is completed and passes the prepared tests.
72
* The Portable Object Adapter should now support the output of the
73
  recent IDL to java compilers. These compilers now generate servants and
74
  not CORBA objects as before, making the output depended on the existing
75
  POA implementation. Completing POA means that such code can already be
76
  tried to run on Classpath. Our POA is tested for the following usager
77
  scenarios:
78
    - POA converts servant to the CORBA object.
79
    - Servant provides to the CORBA object.
80
    - POA activates new CORBA object with the given Object Id (byte array)
81
      that is later accessible for the servant.
82
    - During the first call, the ServantActivator provides servant for this
83
      and all subsequent calls on the current object.
84
    - During each call, the ServantLocator provides servant for this call
85
      only.
86
    - ServantLocator or ServantActivator forwards call to another server.
87
    - POA has a single servant, responsible for all objects.
88
    - POA has a default servant, but some objects are explicitly connected
89
      to they specific servants.
90
  The POA is verified using tests from the former cost.omg.org.
91
* The javax.swing.plaf.multi.* package is now implemented.
92
* Editing and several key actions for JTree and JTable were implemented.
93
* Lots of icons and look and feel improvements for Free Swing basic and
94
  metal themes were added.  Try running the GNU Classpath Swing Demo in
95
  examples (gnu.classpath.examples.swing.Demo) with:
96
  -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFeel
97
  -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
98
* Start of styled text capabilites for java.swing.text.
99
* NIO FileChannel.map implementation, fast bulk put implementation for
100
  DirectByteBuffer (speeds up this method 10x).
101
* Split gtk+ awt peers event handling in two threads and improve gdk lock
102
  handling (solves several AWT lock ups).
103
* Speed up awt Image loading.
104
* Updated TimeZone data against Olson tzdata2005l.
105
* Make zip and jar UTF-8 "clean".
106
* "native" code  builds and compiles (warning free) on Darwin and Solaris.
107
 
108
Runtime interface changes:
109
 
110
* All native resource "pointers" in the VM interface classes are now exposed
111
  as gnu.classpath.Pointer objects. This might impact runtimes that
112
  optimize and support java.nio.DirectByteBuffers. Creating these classes
113
  and accessing the contents as void * pointers for the native reference JNI
114
  implementation is done through the JCL_NewRawDataObject and JCL_GetRawData
115
  functions.
116
* Simplified the Class/VMClass interface.
117
* Removed loadedClasses map from ClassLoader. It's now the VMs responsibility
118
  to manage the list of defined and loaded classes for each class loader.
119
* Moved native methods from java.lang.reflect.Proxy to VMProxy.
120
* Added hook to VMClassLoader to allow VM to do class caching.
121
 
122
New Untested/Disabled Features:
123
 
124
  The following new features are included, but not ready for production
125
  yet. They are explicitly disabled and not supported. But if you want
126
  to help with the development of these new features we are interested
127
  in feedback. You will have to explicitly enable them to try them out
128
  (and they will most likely contain bugs). If you are interested in any
129
  of these then please join the mailing-list and follow development in
130
  CVS.
131
 
132
* QT4 AWT peers, enable by giving configure --enable-qt-peer.
133
* JDWP framework, enable by deleting the jdwp references from
134
  lib/standard.omit and vm/reference/standard.omit. No default
135
  implementation is provided. Work is being done on gcj/gij integration.
136
* StAX java.xml.stream, enable by deleting the gnu.xml.stream and
137
  java.xml.stream references in lib/standard.omit.
138
 
139
New in release 0.17 (Jul 15, 2005)
140
 
141
* gnu.xml fix for nodes created outside a namespace context.
142
* Add support for output indenting and cdata-section-elements output
143
  instruction in xml.transform.
144
* xml.xpath corrections for cases where elements/attributes might have
145
  been created in non-namespace-aware mode. Corrections to handling of
146
  XSL variables and minor conformance updates.
147
* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
148
  traversal enumerations implemented.
149
* JInternalFrame colors and titlebar draw properly.
150
* JTree is working up to par (icons, selection and keyboard traversal).
151
* JMenus were made more compatible in visual and programmatic behavior.
152
* JTable changeSelection and multiple selections implemented.
153
* JButton and JToggleButton change states work properly now.
154
* JFileChooser fixes.
155
* revalidate and repaint fixes which make Free Swing much more responsive.
156
* Correctly handle system call interrupts and timeouts in native nio
157
  and net functions.
158
* MetalIconFactory implemented.
159
* Handle image loading errors correctly for gdkpixbuf and MediaTracker.
160
* Added Tree World to GNU Classpath examples Free Swing demo.
161
* FileChannel.lock() and FileChannel.force() implemented.
162
* java.util.logging.FileHandler now rotates files.
163
* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
164
* Corba bug fixes and documentation updates.
165
* Updated gcj build infrastructure.
166
* Documentation fixes all over the place.
167
  See http://developer.classpath.org/doc/
168
* VM Integration Guide updates with a full section on VM/Classpath hooks.
169
 
170
New in release 0.16 (Jun 30, 2005)
171
 
172
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
173
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
174
* BufferedImage and GtkImage rewrites. All image drawing operations
175
  should now work correctly (flipping requires gtk+ >= 2.6)
176
* Future Graphics2D, Image and Text work is documented at:
177
  http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
178
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
179
  JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
180
  can call add() and setLayout() directly on them, which will have the same
181
  effect as calling getContentPane().add() and getContentPane().setLayout().
182
* The JTree interface has been completed. JTrees now recognizes mouse clicks
183
  and selections work, but the visual implementation is not yet complete.
184
  Work on expansion and collapsing of the tree nodes is being implemented.
185
* BoxLayout works properly now.
186
* Fixed GrayFilter to actually work.
187
* Metal SplitPane implemented.
188
* Lots of free swing text and editor stuff work now.
189
 
190
* When gtk+ 2.6 or higher is installed the default log handler will produce
191
  stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
192
 
193
* The CORBA implementation is now a working prototype that should support
194
  features up till 1.3 inclusive.
195
  We would invite groups writing CORBA dependent applications to
196
  try Classpath implementation, reporting any possible bugs.
197
 
198
  The CORBA prototype is interoperable with Sun's implementation v 1.4,
199
  transferring object references, primitive types, narrow and wide
200
  strings, arrays, structures, trees, abstract interfaces and
201
  value types (feature of CORBA 2.3) between these two platforms.
202
  The remote exceptions are transferred and handled correctly.
203
  The stringified object references (IORs) from various sources are
204
  parsed as required.
205
  The transient (for current session) and permanent (till jre restart)
206
  redirections work.
207
  Both Little and Big Endian encoded messages are accepted.
208
  The implementation is verified using tests from the former cost.omg.org.
209
  The current release includes working examples (see the examples directory),
210
  demonstrating the client-server communication, using either CORBA Request
211
  or IDL-based  stub (usually generated by a IDL to java compiler).
212
  These examples also show how to use the Classpath CORBA naming service.
213
  The IDL to java compiler is not yet written, but as our library must be
214
  compatible, it naturally accepts the output of other idlj implementations.
215
 
216
* New --with-vm-classes configure option, and new 'build' setting
217
  for --with-glibj. (Only for integrators.)
218
 
219
Runtime interface changes:
220
 
221
* Start of a generic JDWP framework in gnu/classpath/jdwp.
222
  This is unfinished, but feedback (at classpath@gnu.org) from runtime
223
  hackers is greatly appreciated. Although most of the work is currently
224
  being done around gcj/gij we want this framework to be as VM neutral as
225
  possible. Early design is described in:
226
  http://gcc.gnu.org/ml/java/2005-05/msg00260.html
227
* Native method VMClass.getModifiers() now takes an additional
228
  boolean parameter.
229
* Deprecated native method VMClassLoader.defineClass(ClassLoader,
230
  String, byte[], int, int) has been replaced by
231
  VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
232
  ProtectionDomain)
233
* VMClassLoader.loadClass(String name, boolean resolve) is now native,
234
  replacing the former version which just returned null.
235
* Deprecated native method VMClassLoader.getPrimitiveClass(String) has
236
  been replaced by new native method VMClassLoader.getPrimitiveClass(char).
237
* Previously empty implementations of methods VMThread.countStackFrames(),
238
  VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
239
  been removed; these methods are now native methods.
240
* Fields "exceptionTypes" and "parameterTypes" have been removed from
241
  Contructor.java and getExceptionTypes() and getParameterTypes() are
242
  now native methods.
243
 
244
New in release 0.15 (Apr 29, 2005)
245
 
246
* The old character encoding framework (gnu.java.io.EncodingManager)
247
has been replaced by a system based completely on nio.charset
248
providers. Many converters have been added, both the io, lang and nio
249
frameworks now use the same set of converters and the whole character
250
stream framework (Readers and Writers) have been optimized. For some
251
workloads this leads to 2x till 20x speedups.
252
 
253
The default charsets supported are:
254
 
255
  Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
256
  Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
257
  ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
258
  ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
259
  MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
260
  MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
261
  UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
262
  Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
263
  Windows1256, Windows1257, Windows1258.
264
 
265
Many more encoding are supported through the new IconvProvider
266
depending on the platform iconv support. GNU libiconv is recommended.
267
The IconvProvider is currently not enabled by default. To enable it
268
define the system property gnu.classpath.nio.charset.provider.iconv=true.
269
Some runtimes might choose to enable this by default by setting it
270
through VMSystemProperties. We would like to get feedback on whether
271
enabling or disabling the IconvProvider by default results in the
272
highest speedups.
273
 
274
* Free swing metal and pluggable look and feels have been improved.
275
The GNU Classpath free swing example can now be run with different
276
"skins" by setting the system property swing.defaultlaf to the GNU,
277
Basic or Metal look and feel.
278
 
279
* Some of the org.omg.CORBA classes and packages have now been
280
implemented. The Savannah bug tracker contains additional tasks for
281
which we are seeking help.
282
 
283
* Fixed compatibility problems in the java.beans which affected
284
Eclipse's Visual Editor Project.
285
 
286
* New completely lock free (Inheritable)ThreadLocal implementation.
287
 
288
* javax.swing.text.rtf framework added which can handle simple (plain)
289
text tokens.
290
 
291
* Support for parsing html files into Level 2 Document Object Model
292
(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
293
javax.swing.text.html framework added.
294
 
295
Runtime interface changes:
296
 
297
* jni.h changed to better support compiling runtimes implementing jni;
298
  see VM integration guide for details.
299
* New --enable-default-toolkit option to configure can be used to set
300
  the fully qualified class name of the default AWT toolkit to use.
301
  If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
302
  is used.
303
* New --disable-core-jni option can be used to disable building the
304
  "core" JNI libraries.  This is primarily useful if your VM can use the
305
  Gtk peers but not the core JNI libraries.
306
* New system property "gnu.classpath.boot.library.path" can be specified
307
  to define the location of the JNI libraries. It is by all means meant
308
  ONLY for VM implementors and GNU Classpath hackers. See the hacking
309
  guide for more information.
310
* The helper methods currentLoader() and allocateObject() for
311
  java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
312
  Reference implementations are provided.
313
* java.net.InetAddress now uses VMInetAddress for runtime/platform
314
  specific methods getLocalHostname(), getHostByAddr() and
315
  getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
316
  for runtime/platform specific getInterfaces() support. Default
317
  (Posix/GNU JNI) implementations are provided.
318
* VMClass has a new method getModifiers(Class, boolean) which can be
319
  used to get the real modifiers for an inner class or the ones
320
  specified by the InnerClasses attribute.
321
* All (possible) runtime specific methods of Object and Double are now
322
  in VMObject and VMDouble. Where possible generic reference
323
  implementations are provided.
324
* The reference implementation of VMClassLoader now handles zip files
325
  on the boot loader class path in getResources().
326
 
327
Other changes:
328
 
329
New in release 0.14 (Feb 25, 2005)
330
 
331
* Character encoders and decoders have been added for:
332
  iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
333
  iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
334
  ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
335
  UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
336
* Full documentation for all classes can be generated (again) by using
337
  the --with-gjdoc configure option.
338
* javax.awt.imageio support through gdkpixbuf.
339
 
340
Runtime interface changes:
341
 
342
* VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
343
  currentClassLoader() is no longer needed, and there are also two new
344
  methods with non-native implementations. VM implementors are encouraged
345
  to provide more efficient versions.
346
* VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
347
 
348
New in release 0.13 (Jan 6, 2005)
349
 
350
* The http url protocol handler has been replaced with a full HTTP/1.1
351
  version from GNU inetlib.
352
* A new ftp url protocol handler has been added also from GNU inetlib.
353
* java.beans has been updated to 1.4 including support for XMLEncoder
354
  and XMLDecoder.
355
* The java.util.Locale support is now based on the Common Locale Data
356
  Repository (CLDR) Project (see http://www.unicode.org/cldr/).
357
  GNU Classpath provides support for more than 250 locales now.
358
  This new support is experimental and the GNU Classpath hackers are
359
  working together with runtime developers and the unicode consortium
360
  to improve them in the future.
361
  If your runtime misdetects your locale or if the default locale gives
362
  problems please try running with -Duser.language=en and -Duser.region=US
363
  to fall back on a known good locale.
364
* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
365
  org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
366
  different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
367
  libxmlj DOM and libxmlj XSL by setting different system properties.
368
  Also provided is a preliminary XPath 1.0 implementation.
369
  The libxmlj versions are build around libxml2 and libxslt and have to
370
  be enabled during build time by the --enable-xmlj configure flag.
371
  The current support is equal to the last released GNU JAXP 1.3 release.
372
  These packages will be maintained as part of the GNU Classpath core classes
373
  in the future. For more information, conformance results and documentation
374
  on selecting different implementations see doc/README.jaxp.
375
* More AWT accessible support.
376
* AWT gtk+ peers component layout, dialog placement, keyboard focus
377
  handling and text positioning have been improved.
378
* ImageIO interfaces are more complete.
379
* JList, JTable and JTree have been hugely improved.
380
* java.awt.Robot support with GdkRobot in the gtk+ awt peers.
381
  Needs XTest Extension (libXtst) XServer support.
382
* New --disable-examples configure argument.
383
 
384
Runtime interface changes:
385
 
386
* Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
387
  to lazily register an exit handler.
388
* The java.lang.Class constructor now automatically sets the protection
389
  domain for array classes, based on the protection domain of the component
390
  type class.
391
* New gnu.classpath.VMSystemProperties class. This replaces the
392
  system properties initialization in VMRuntime. Note that it is
393
  now the VMs responsibility to set one additional property:
394
  gnu.cpu.endian should be set to "big" or "little".
395
* VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
396
  and has only one argument, the name of the library.
397
* String and StringBuffer now call VMSystem.arraycopy() directly and don't
398
  go through java.lang.System. Be careful to not initialize java.lang.System
399
  early in the bootstrap sequence in your VM runtime interface classes.
400
* Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
401
  has been updated. Also, VMThread.sleep() now has a default non-native
402
  implementation, but it is a generic implementation that ignores the
403
  nano-seconds argument. Runtime hackers are encouraged to provide a more
404
  efficient version.
405
* There is prelimenary support for nio direct byte buffers.
406
  See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
407
  you add support for this to your runtime.
408
 
409
New in release 0.12 (Nov 14, 2004)
410
 
411
* GNU Classpath's JAR implementation now has preliminary support for
412
  signed entries, for so called "signed JAR" file support. Signed JAR
413
  files are one of the key security features of managed runtimes, and
414
  allows code to run privileged given unforgeable proofs of identity.
415
* A much improved version of X.509 certificates has been added,
416
  including a robust certificate path checking algorithm. Also
417
  included is an implementation of the RSA signature scheme.
418
* Full java.awt.color implementation, with all standard ICC profiles,
419
  except for PhotoYCC color space.
420
* java.beans 1.4 updates and bug fixes.
421
* java.awt.image support updated to 1.4.
422
* Improved build process. Uses less memory with gcj and C code is
423
  buildable with -Werror on most platform. Please configure with
424
  --enable-Werror and report any remaining issues.
425
* Big-endian (PowerPC) fixes for native awt GTK+ peers.
426
* Checkstyle support, see scripts/checkstyle-config.xml.
427
* Better AWT focus management fro GTK+ peers.
428
* Much faster and better fonts support
429
  (for both gdk Graphics and cairo Graphics2D)
430
* AWT Choice fixes for hidden components.
431
* HTTP Connection Handler fixes for POST support.
432
* Much fuller collection documentation.
433
* Lots of Calendar bug fixes.
434
* More javax.imageio support.
435
* Better AWT Help MenuBar support.
436
* Lookahead support for regular expressions.
437
* Serialization object stream fixes for multiple ClassLoader scenarios.
438
* Swing TabbedPane, ColorChooser and ComboBox improvements.
439
* Start of JTree functionality.
440
* Improved Eclipse 3 support for GNU Classpath based runtimes.
441
 
442
Runtime interface Changes:
443
 
444
* New --enable-java-lang-system-explicit-initialization configuration
445
  option. (Warning, will be replaced in next release, please consult
446
  the mailinglist.)
447
* The reference implementation of VMClassLoader has default
448
  implementations for getResource(s) and provides support for a new
449
  default getSystemClassLoader implementation.
450
 
451
New in release 0.11 (Sep 13, 2004)
452
 
453
* javax.swing.Spring and SpringLayout support.
454
* Added pluggable look and feel support for BasicTextFieldUI and
455
  BasicToolBarSeparatorUI.
456
* java.swing.text support for (Default and Layered) Highlighter, FieldView,
457
  PlainView, TabExpander and TabableView added.
458
* Start of JTable and JTree implementation.
459
* Internal Swing frames work.
460
* JMenu and JPopupMenu work.
461
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
462
* java.awt.image LookupTables and kernel support.
463
* Improved java.awt.image.BufferedImage support.
464
* AWT 1.0 event model support.
465
* GNU Classpath now comes with some example programs (see examples/README).
466
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
467
  javax.net.ssl, javax.security.auth, javax.security.auth.callback,
468
  javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
469
  and org.ietf.jgss packages are now officially part of GNU Classpath.
470
  Extra crypto algorithms can be obtained from the GNU Crypto project,
471
  a full TLS implementation is provided by the Jessie project.
472
  http://www.gnu.org/software/gnu-crypto/
473
  http://www.nongnu.org/jessie/
474
* Frame.setIconImage() support.
475
* AWT GDKGraphics scaling.
476
* New configure flag --enable-gtk-cairo to build Graphics2D implementation
477
  build on cairo and pangoft2.  Enabled at runtime by defining the system
478
  property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
479
* javax.swing.JSpinner implemented.
480
* Extensive documentation update for java.util collection classes.
481
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
482
* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
483
  tool integrators are encouraged to directly integrate GNU JAXP.
484
  This release has been tested against GNU JAXP 1.1.
485
  http://www.gnu.org/software/classpathx/jaxp/jaxp.html
486
* JColorChooser, JComboBox and JTextField implemented, including example
487
  uses in GNU Classpath Examples swing Demo.
488
 
489
Runtime interface Changes:
490
 
491
* java.lang.Compiler now uses the new java.lang.VMCompiler; there is
492
  a reference implementation that most VMs can use.
493
* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
494
  implementation that should work on most Posix like systems.
495
* java.util.TimeZone has been split into a platform independent class and
496
  a platform dependent class VMTimeZone.  GNU Classpath comes with a generic
497
  way to get at the default time zone for Posix/GNU-like platforms.
498
* [VM]AccessController improvements.  In particular it handles
499
  `doPrivileged' calls better, and allows for recursive `doPrivileged'
500
  calls in the same Thread. (see vm/reference/java/security/)
501
 
502
New in release 0.10 (Jul 9, 2004)
503
 
504
* java.net.URL now uses application classloader to load URLStreamHandlers
505
  and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
506
* java.io.File.deleteOnExit() implementation.
507
* java.text multiple new features and bug fixes
508
  (only 2 out of the 1000+ java.text Mauve tests now fail).
509
* Better (non-black) default AWT System colors.
510
* AWT lists use GTK treeviews.
511
* Proper AWT focus management has been implemented.
512
* Swing menus and scrollpanes are beginning to work.
513
* Swing splitpanes, dialogs and internal frames were added.
514
* Swing repainting / double buffering was redone.
515
* Font management and Pango DPI conversion fixes.
516
* A lot of AWT imaging and event bugs have been picked out.
517
* More of javax.swing.text has been implemented.
518
* javax.swing.Timer has been reimplemented.
519
* java.security.AccessController has been implemented
520
  (see runtime section).
521
* The default java.lang.SecurityManager now uses AccessController.
522
* New java.beans.Statement and Expression implementations.
523
* Small FileChannel implementation speed improvement for traditional
524
  JNI based systems.
525
* Regenerated all included JNI header files with gcjh (3.5 CVS),
526
  removes extra extern modifier and allows stricter compiler warning.
527
* More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
528
  -Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
529
  made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
530
* Double.toString() and Float.toString() now work properly on 64-bit
531
  PowerPC systems.
532
* PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
533
* Build system refactored and removed old Japhar specific support.
534
* The gnu.java.awt.EmbeddedWindow class has been improved, and now
535
  supports embedding AWT windows in other top-level X windows.
536
  This functionality is required by gcjwebplugin.
537
* gcjwebplugin, an applet viewer that can be embedded into several web
538
  browsers, has been extensively tested with this release of classpath.
539
  (See http://www.nongnu.org/gcjwebplugin/)
540
* Runtime environments based on GNU Classpath 0.10 should be able to
541
  start up Eclipse 3.0 out of the box now.
542
 
543
Runtime interface Changes:
544
 
545
* VMProcess.destroy() default implementation fixes.
546
* Fixed the "portable native sync" code; it had been broken since
547
  Classpath release 0.06, when we upgraded to GTK+2.
548
  Classpath's AWT peers use GTK+.  GTK+ uses GLIB.  GLIB by default uses
549
  the platform's native threading model -- pthreads in most cases.
550
  If the Java runtime doesn't use the native threading model, then you should
551
  specify --portable-native-sync when configuring Classpath, so that GLIB will
552
  use the Java threading primitives instead.  (For a superior alternative,
553
  see below.)
554
* The VM can set the system property
555
  gnu.classpath.awt.gtk.portable.native.sync instead of using the
556
  --portable-native-sync configure-type option.
557
  See doc/vmintegration.texinfo for details.
558
* We intend that the next release of GNU Classpath will require the VM
559
  to provide JNI 1.2.  Classpath currently uses only JNI 1.1, except for
560
  one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
561
  If this poses problems, please raise them on the classpath mailing list.
562
* The reference implementation of VMThread.holdsLock(Object) now has
563
  a default implementation written in java. For efficiency and to
564
  prevent spurious wakeups a real 'native' runtime version can be supplied.
565
* There is a new java.security.VMAccessController class that runtimes need
566
  to implement to properly support SecurityManagers. The default
567
  implementation that comes with GNU Classpath makes sure that ANY attempt
568
  to access a protected resource is denied when a SecurityManager is
569
  installed. Which is pretty secure, but also no very useful.
570
  Please see the documentation in
571
  vm/reference/java/security/VMAccessController.java,
572
  and please give feedback on the GNU Classpath mailinglist whether or not
573
  the current AccessController framework is flexible enough.
574
 
575
New in release 0.09 (May 2, 2004)
576
 
577
* Includes updated GNU JAXP version from 2004-02-01.
578
* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
579
* java.io is now implemented by delegating most tasks directly to java.nio.
580
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
581
* New javax.print, javax.print.attribute[.standard] and javax.print.event
582
  packages and classes.
583
* java.text attributed iterators support.
584
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
585
  classes.
586
* GNU Classpath can now load service providers that are described via
587
  META-INF/services/* resources in extension JARs. This is useful for
588
  implementing the various APIs that are supposed to be extensible via
589
  custom plugins. For details, please see the documentation of
590
  gnu.classpath.ServiceFactory.
591
  Application developers are strongly discouraged from calling glibj
592
  internal packages.  Instead, they might want invoke the newly implemented
593
  javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
594
  method for loading plug-ins.
595
* New developers wanting to help the GNU Classpath project might want to
596
  review the greatly expanded Hacker Guide included in the doc directory
597
  or online at http://www.gnu.org/software/classpath/docs/hacking.html
598
  Also the FAQ has been expanded. And when working from CVS you can now use
599
  a simple autogen.sh script to get all autotools magic done automagically.
600
* New configure option --with-glibj which defines how to install the glibj
601
  class files as zip, as flat directory files or both (zip|flat|both)
602
  [default=zip].  When working with multiple runtimes some of which might
603
  not support bootstrap classes in zip files the --with-glibj=both option
604
  is recommended (this does take extra disc space).
605
* Two big code drops from the libgcj gui branch updating various java.awt
606
  and javax.swing classes.
607
* Multiple java.net.InetAdress fixes and java.rmi fixes.
608
* ServerSocket.accept() now restarts listening when system call interrupted.
609
* Much cleanups to make standard API doc valid XHTML (not completed yet).
610
* A scan for unused variables and non-static invocation of static methods
611
  turned up a couple of subtle bugs which have now all been fixed.
612
* The Mauve testsuite has been cleaned up considerable and lots of issues
613
  in the GNU Classpath core class implementation have been fixed.
614
 
615
VM Interface changes:
616
 
617
* java.lang.Class/VMClass interface was changed. The interface now no
618
  longer requires an instance of VMClass for each Class instance. Instead
619
  the field vmdata in Class is now of type Object.
620
* GNU Classpath now assumes that JNI calls SetXField can modify final
621
  fields. This was previously used silently for System.in/out/err and should
622
  be considered as a feature now.
623
* A new VMProcess and a sample JNI C implementation are now provided to
624
  make Runtime.exec() work out of the box on some systems.  This requires
625
  a small change to VMRuntime.exec() when a runtime wants to use it as the
626
  default java.lang.Process implementation.
627
* The implementation of most of java.io through java.nio moved serveral
628
  runtime specific I/O methods. Most methods do have a generic default native
629
  C JNI implementation in native/jni/java-nio.
630
* Runtime support methods for java.io.File have been moved to VMFile which
631
  also comes with a default JNI C implementation.
632
* To support the new service provider mechanism runtimes must make sure that
633
  extension JARs are made accessible via the default context class loader.
634
 
635
New in release 0.08 (2004/12/03)
636
 
637
* java.util.regexp implementation through gnu.regexp wrappers.
638
* java.net.URI implementation.
639
* Working implementation of javax.swing.undo.
640
* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and quadratic
641
  equations; implementation adapted from the GNU Scientific Library.
642
* Lots of java.awt and gtk+ peer improvements. Also more Swing work. Start
643
  of EmbeddedWindow support.
644
* BufferedReader speed improvements.
645
* Improved useabilty of java.text implementation for several applications.
646
* ObjectInputStream is much faster and more compatible with other
647
  implementations.
648
* Fix handling of alias methods, where a method has been deprecated in
649
  favour of a new one with the same funtion but a different name.
650
  (See Deprecated Methods section in the GNU Classpath Hacking Guide.)
651
* javax.print.attribute.standard added.
652
* Lots of java.nio, java.net, java.io
653
* Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.
654
 
655
VM Interface changes:
656
* Split native methods in java.lang.Runtime into java.lang.VMRuntime.
657
* Resources are now also loaded/needed through the bootstrap classloader
658
  (gnu.regexp needs MessageBundle included in glibj.zip
659
 
660
Fixed Classpath bugs:
661
  #6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
662
        wrong results
663
  #7099 EventListenerList.getListenerCount should accept null argument
664
  #7104 EventListenerList.add does not work
665
  #7105 EventListenerList.remove does not work
666
  #7107 DefaultBoundedRangeModel.setValue and friends should not throw
667
  And lots more.
668
 
669
New in release 0.07 (2003/30/11)
670
 
671
* Works with libtool 1.5 (and 1.4.3).
672
* java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango.
673
  Lots and lots improvements on the peers.
674
* java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D:
675
  Subdivision and flatness calculation implemented.
676
* java.awt.geom.FlatteningPathIterator: Working implementation.
677
* gnu.java.awt.BitwiseXORComposite helper class.
678
* New rmic compilers (jikes, kjc) support.
679
* java.text bug fixing and 1.4 updates (Currency).
680
* Hashtable and HashMap function more similar to other implementations.
681
* javax.naming and java.beans classloader fixes.
682
* URL parsing, URLConnection, protocol and (needed) permission fixes.
683
* More java.nio implementation
684
  (API complete, but implementation not finished yet).
685
* Lots of java.net code cleanup.
686
* Improved documentation.
687
* Numerous bug fixes in almost every package, and lots of updates for
688
  1.4 functionality.
689
* Fixed Classpath bugs:
690
  #2944 Incorrect synchronization in java.util.logging.ErrorManager
691
  #6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results
692
  #6076 java.awt.geom.GeneralPath constructor sometimes hangs
693
  #6089 java.awt.geom.GeneralPath.getPathIterator does not work
694
  [...]
695
 
696
VM Interface changes:
697
 
698
* Thread has been split in a VM-independent Thread class and a VM-dependent
699
  VMThread class.
700
 
701
New in release 0.06 (2003/22/08)
702
 
703
* Update java.awt peers to GTK+2.
704
* java.awt.GridBagLayout implementation.
705
* javax.swing.border implementation.
706
* java.security and java.security.cert updated to 1.4 spec.
707
* New JNI native target code layer. See native/target/readme.txt.
708
* --enable-regen-headers configure flag for automatic jni .h file generation.
709
* Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
710
  needed for compiling.
711
* Lots of improvements and/or new classes for java.awt, java.awt.dnd,
712
  java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
713
  java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
714
  javax.swing.text.
715
 
716
VM Interface changes:
717
 
718
* VMClassLoader.loadClass(), the bootstrap classloader called by
719
  Class.forName() and ClassLoader.loadClass(), may now return null when
720
  a class is not found instead of throwing a new ClassNotFoundException.
721
  This is a performance optimization in some cases. This also changes
722
  the Class.forName() reference code.
723
* Native methods in Class have been moved to VMClass.  A few additional
724
  methods are also available in VMClass to provide optional performance
725
  improvements.
726
* A VM can now supply its own String.intern() strategy through the
727
  VMString class. The supplied VMString reference class implements the
728
  original WeakHashMap strategy.
729
* Float and Double to/from bits conversion functions can now be supplied by
730
  the VM through VMFloat and VMDouble. Default JNI conversion methods are
731
  supplied.
732
 
733
New in release 0.05 (2003/02/15)
734
* Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
735
* Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
736
  and tools for GNU Classpath, available separately from
737
  http://www.gnu.org/software/classpathx/crypto/crypto.html.
738
* Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
739
  of standard tools such as gjdoc, a javadoc replacement, and others.  Future
740
  releases of GNU Classpath will begin to include these tools, available
741
  separately from http://www.gnu.org/software/cp-tools/.
742
* Java primitives can be used to support AWT native threading, see
743
  the --enable-portable-native-sync configure option which may become the
744
  default in a future release.
745
* Include file jni.h has been updated to the 1.4 specification.
746
* VM specific internal types for jobject, jfieldID, and jmethodID are
747
  supported in jni.h.  More details can be found by reading the comment
748
  in include/jni.h.in.  By default the old definitions are used instead.
749
* New VM helper class java.io.VMObjectStreamClass which should provide
750
  the hasClassInitializer() method. Previously ObjectStreamClass used
751
  Class.getDeclaredMethod("") but according to the spec this
752
  should always throw NoSuchMethodException for class initialization methods.
753
  A JNI reference implementation is provided as
754
  vm/reference/java-io/java_io_VMObjectStreamClass.c
755
* There have been numerous infrastructure improvements
756
  * Configure option --enable-gjdoc to generate javadoc-like output
757
  * Gjdoc output is included with distribution, see doc/api/html/
758
  * DESTDIR fully supported for install and uninstall
759
* Runtime.execInternal contract changed to allow for null `env'
760
  and to accept `dir' argument.
761
* VMObject.getClass() removed. It was never used.
762
* java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
763
  VM specific java.lang.VMThrowable to get at the VM state and (if needed)
764
  the StackTraceElements for a particular exception. A default implementation
765
  (that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
766
* The vm/reference classes from the gnu.vm.stack and their counterparts
767
  ExecutionStack and StackFrame in gnu.java.lang have been removed since they
768
  are not actually part of the VM interface anyway.
769
* The GPLed com.sun.javadoc classes have been moved to the gjdoc application
770
  from the GNU Classpath Tools project. See for more information the homepage
771
  at: .
772
 
773
New in release 0.04 (2002/05/05)
774
* Additional configure options to disable zip creation and installation as
775
  well as disable gtk peer native compilation.
776
* Addition of java.nio, java.util.logging, and javax.swing.
777
* Integration of most or all of the ORP patches to date, the purpose of
778
  which are to make it possible to use JBOSS with ORP and Classpath.  This
779
  is still in a testing phase however.
780
* Significant changes in the reference VM interface that may require
781
  support from the JVMs.
782
* Lots of bugfixes.
783
 
784
New in release 0.03 (2002/02/08)
785
* More merges with libgcj have been performed including java.math which now
786
  provides a pure Java implementation of that package.
787
  Current status at 
788
* A pure Java implementation (Jazzlib) of java.util.zip is available.
789
* Added the java.rmi implementation that Transvirtual donated to the FSF.
790
* Includes jni.h now, eliminating the need to specify a particular VM
791
  via configure.
792
* No proprietary classes or programs are required to compile.
793
  Compiles out of the box with jikes or gcj.
794
* Separation of compiling Java source and native libraries through the
795
  configure mechanism.  If given no arguments, configure will setup the
796
  subsequent build to only produce Java bytecode (.class files).  More
797
  information is available in INSTALLING.
798
* Support for compiling in a separate directory, as an example you may
799
  cd classpath-0.03; mkdir build; cd build; ../configure; make
800
* Works with Orp 1.0.9 out of the box. Build instructions can be found at
801
  
802
* Lots of bugfixes that were found by using Classpath with the gcj, Orp,
803
  SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
804
  
805
* Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
806
  API specification. The current status can be found at
807
  
808
* All files are now distributed under the same terms. Added clarification to
809
  GPL exception.
810
 
811
New in release 0.02 (2001/01/06)
812
* Support for printing exceptions with Japhar 0.09 + patch included in
813
  resource/japhar-0.09.patch.1.
814
* Typos, assorted bugfixes.
815
 
816
New in release 0.01 (2000/11/20)
817
* More packages are included now, though many remain untested.
818
* Support for Japhar 0.09 included.
819
 
820
New in release 0.00 (1999/02/01)
821
* First official development release of clean room class library for Java
822
* Following packages included:
823
        -- java.beans
824
        -- java.io
825
        -- java.lang
826
        -- java.lang.reflect
827
        -- java.math
828
        -- java.net
829
        -- java.security (partial and non-functioning)
830
        -- java.security.acl
831
        -- java.security.interfaces
832
        -- java.util
833
* Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
834
  missing and/or untested.
835
* Support for Japhar (http://www.japhar.org/) virtual machine is included.
836
  Requires the current Japhar from CVS.
837
* Extensive javadoc comments for public API included
838
* Licensed under the GNU Library General Public License (see COPYING.LIB)
839
* Does not depend on any non-free code - developed in a "clean room"
840
  environment.
841
 

powered by: WebSVN 2.1.0

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