NEWS 69 KB

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