ccl Release History
Continue reading on ccl's main page.
Table of Contents
Release History
Version 32.69
      Version 32.69 has been released on November 23, 2003...
What's New
- Improved exception verbosity in XML/XSLT processing.
- Method getStandardDate became getDate in Util class.
- New method getName in Test class lets you overwrite
   the test class name.
- New assertion methods 'assertEquals' in ccl.util.Test.
- New method 'FileUtil.writeTempFile' to write content
   into a new temporary file.
- New convenience method 'Util.getStackTrace()'.
- New convenience method 'Util.getDateTime()'.
Fixed Bugs
- XMLImporter has to post to the full class name.
- Increased XMLImporter file limit from 2 to 256 MB.
- Util.getMonth(..) is now more picky about its input.
Version 31.67
      Version 31.67 has been released on May 9, 2003New GraphicsUtil class.
What's New
- Already released with version 30, but not announced: A
   new graphics utility class with methods to save
   components or images as gif or jpg files and other goodies.
   Thanks to J. M. G. Elliott for the Gif89Encoder package,
   which is used internally.
Bugs Fixed
- gif89encoder.jar has not been distributed with the ccl lib.
- ccl.util.test.UtilPackageTest source file has not been 
   distributed.
- ListEditDialog doesn't set the background anymore. It is
   not necessary and also sabotages some look and feels.
   Thanks to Kenneth Westelinck for this fix.
Version 30.66
      Version 30.66 has been released on May 1, 2003New table enhancing the javax.swing version.
What's New
- New table ccl.swing.CCLTable, making the swing table
   nicer looking with continuous vertical grid lines
   even over empty rows and other enhancements. Thanks 
   to Kenneth Westelinck for his code and debugging
   work on this class.
- New border ccl.swing.CCLButtonBorder, which should look
   quite familiar for most people.
- New ccl.swing.CCLButtonBorderTableCellRenderer class
   for nicer borders in table headers.
- New method SwingUtil.setCCLButtonBorderOnTableHeader
   to change the table header border.
- New ccl.swing.CCLLineBorder class, which adds variable
   line thickness for each individual line - compared to 
   javax.swing.border.LineBorder.
- New ccl.swing.GraphicsUtil.equals( Image, Image ) for
   image comparison on a pixel level.
- In the ccl.servlet.HTML class, the operation mode form
   element uses now three buttons for add, change, and
   delete instead of a selection box.
Bugs Fixed
- Applied a check that custom user look and feels don't
   get overwritten in class ccl.swing.MainJFrame.
Version 29.63
      Version 29.63 has been released on October 6, 2002Changed license from MPL 1.0 to MPL 1.1/GPL 2.0/LGPL 2.1.
What's New
- The license used for the ccl library has been modified from
   the Mozilla Public License version 1.0 to Mozilla Public
   License version 1.1 or GNU General Public License version 2
   or GNU Lesser General Public License version 2.1. The user
   is free to use the ccl library under each of these three
   licenses, whichever she/he prefers.
Fixed Bugs
- A stupid test was forgotten to be removed that could only
   succeed on my own development environment.
- Some self tests were disabled by mistake.
Version 28.61
      Version 28.61 has been released on September 22, 2002Ccl test class supports now the JUnit framework.
What's New
- Ccl test framework supports now test classes originally
   developed to use the JUnit framework.
Fixed Bugs
- A severe bug in method copyDir in class FileUtil, which has
   been reported by Jeff Quarrington.
Version 27.59
      Version 27.59 has been released on August 5, 2002A couple of small code and documentation enhancements.
What's New
- New ccl.swing.GraphicsUtil class.
- Added debugserver manual page.
- New HTML.printTitle(..) which lets you specify the text color.
- New HTML.flush() method to force to send data back to the
   client immediately.
- setBusy and isBusy methods turn frame mouse cursor to an hour
   glass and make sure no user interaction can take place 
   (in class ccl.swing.MainJFrame).
- MainJFrame has a new getHelpBroker method that can be used
   to register a Java Help broker object in your application.
- RunnableAction.actionPerformed is not final anymore. Still
   should not be overwritten normally.
- Old project files in the File menu have now automatically
   mnemonics.
Version 26.57
      Version 26.57 has been released on May 20, 2002New multipart request library and debugserver shell script.
What's New
- DebugServer has now its own shell script to start it up 
   (./bin/debugserver).
- Instead of using O'Reilly's servlets library ccl is now
   using Jason Pell's multipart request library. While 
   O'Reilly's had some severe license implications, Jason's
   library is under the LGPL.
Version 25.54
      Version 25.54 has been released on May 1, 2002A couple of small additions and bug fixes.
What's New
- New convenience method
   ccl.servlet.HTML.printFormularTextInput(..) with size of
   text field specification.
- New ccl.util.Util.centerLine(..) and formatCenter methods
   to format ascii text in center mode.
- New ccl.servlet.DebugServer which can be used to study
   details of HTTP or other network protocols.
- Slightly improved ccl.swing.DoubleList and DoubleListModel.
Fixed Bugs
- Get class path for classes without a package failed
   (ccl.util.FileUtil.getClassPath(Object)).
- Method getUserTables returned also system tables for the
   McKoi database. This is fixed now in class ccl.util.DBUtil.
- ccl.servlet.ChangedRequest is updated to the latest servlet
   api (HttpServletRequest).
- ccl.util.Util.isOSSolaris() checks now also for SunOS.
- Table name gets converted to lowercase when
   getting column info in ccl.servlet.XMLImportHandler.
   This is necessary for postgresql 7.2, this might now confuse
   other databases.
Version 24.51
      Version 24.51 has been released on December 30, 2001Minor bug fixes.
Fixed Bugs
- Added new tests for ccl.servlet.XMLImportHandler class using
   a PostgreSQL database. If the user has no JDBC driver 
   installed for this database, the tests will be skipped.
- ccl.util.Init class did not accept project file names without
   a suffix.
Version 23.50
      Version 23.50 has been released on November 27, 2001Minor bug fix with comman line option handling.
Fixed Bugs
- Text after commas in command line option descriptions got
   truncated.
Version 22.48
      Version 22.48 has been released on October 31, 2001Minor feature enhancements.
What's New
- Util.untabify() method replaces tab characters with the
   necessary number of spaces.
- New convenience method ccl.xml.XMLUtil.getValueOf(file,xpath).
- New method ccl.util.FileUtil.normalizeFileName(filename) which
   returns an absolute file name but takes the system property
   "user.dir" into account (instead of the native system's
   current directory (which can't be changed that easily in 
   Java).
- New class ccl.util.ClassPathUtil which contains methods
   moved from other classes dealing with finding files or
   directories from the classpath or inside jar archives.
Version 21.47
      Version 21.47 has been released on September 14, 2001Minor feature enhancements.
What's New
- XML helper class supports now Xalan version 2. Support for 
   Xalan version 1 has been dropped.
- New method ccl.swing.SwingUtil.maximizeWindow( Window, float )
   to set the size of a window to a given percentage of the 
   screen size.
Version 20.46
      Version 20.46 has been released on September 8, 2001New ascii text formatting methods (e.g. block mode).
What's New
- New methods to format ascii text in block mode or left
   aligned (ccl.util.Util.formatBlock(..) and ...formatLeft(..)).
   This is especially useful to be invoked from an xslt parser.
- There is new example code that demonstrates the gui framework.
   It is a base application with a frame, menu, info box, and
   help page which can be used to jump start your own
   application. Take a look at doc/guiexample/Main.java and
   doc/guiexample/ViewController.java. A precompiled project
   setup of the example with start and build script etc. can be
   found at doc/guiexample/guiexample.zip.
- Ccl lib comes with an ant build.xml script now. This should
   help to compile the whole lib on your own. The ant script does
   not yet help to compile the native Linux shared library.
- New method ccl.util.Util.systemAndWait( String ) and
   ...systemAndGetError( String ). These are just added for
   convenience, as the same methods have been there already with
   an Vector argument.
- New method ccl.util.FileUtil.getFiles( dir, prefix, suffixes )
   gets all base file and dir names inside a given directory 
   which map the given prefix and suffix list.
Bugs Fixed
- Exception in ccl.swing.DoubleList when clicking in left list
   below last line.
- Exception in ccl.util.FileUtil.copy is not printed to standard
   error anymore.
Version 19.44
      Version 19.44 has been released on July 22, 2001Minor API change.
What's New
- Moved method ccl.servlet.XMLExporter.printEscaped(..) to
   class ccl.xml.XMLUtil.escape(..). This method replaces 
   characters in a string with an XML entity reference if
   necessary. Credit for this code goes to the Apache Xerces
   project from which it is taken.
Version 18.43
      Version 18.43 has been released on July 15, 2001Minor bug fix version.
Bugs Fixed
- Return value of FileUtil.move(..) was different from what
   the documentation said.
Version 17.42
      Version 17.42 has been released on June 25, 2001Minor enhancements.
What's New
- More convenience methods for converting xml via xslt in
   ccl.xml.XMLUtil.
- New native method setLocation( Frame f, int x, int y ) for
   Linux as my last hope to workaround a nasty Java bug.
Version 16.41
      Version 16.41 has been released on June 10, 2001Minor new features.
What's New
- New class ccl.servlet.CSV to generate spread sheet data
   in csv format.
- New method in ccl.servlet.HTML to convert a null or empty
   string into a space in HTML ( ).
- Added ccl.util.Util.getFirstDayOfMonth().
Bugs Fixed
- ReflectionClassLoader failed loading classes from package
   javax in version Java 1.1.
- A bug fix in FileUtil.readStream(). End of stream was not
   always successfully recognized.
Version 15.37
      Version 15.37 has been released on April 22, 2001New XMLUtil class.
What's New
- ccl.xml.XMLUtil is an utility class which makes
   transforming xml via xslt stylesheets just as convenient
   as invoking a shell script. You provide either files or
   strings and get the transformed xml file back as a string
   or file. No need to know the classes used from Xalan in
   detail.
Bugs Fixed
- None.
Version 14.36
      Version 14.36 has been released on April 19, 2001Improved HTML formatting class.
What's New
- Class ccl.servlet.HTML has better formatting of data
   tables.
- Class ccl.util.DBUtil supports now InstantDB as well as
   Sybase.
Bugs Fixed
- None.
Version 13.33
      Version 13.33 has been released on March 11, 2001New servlet support classes and a TextViewer class.
What's New
- New class ccl.servlet.HTML.
- New class ccl.servlet.XMLExporter.
- New class ccl.servlet.XMLImporter and 
   ccl.servlet.XMLImportHandler.
- New class ccl.util.DBUtil.
- New class ccl.swing.TextViewer.
Bugs Fixed
- None.
Version 12.32
      Version 12.32 has been released on February 28, 2001Minor new features.
What's New
- Util has new methods to get formatted memory information
   (percentage of used memory etc.).
- FileUtil has new methods 'getBaseName' and 'getDirName'.
Bugs Fixed
- InputCancelDialog had a severe (off by one) bug in its
   history handling.
Version 11.31
      Version 11.31 has been released on February 11, 2001Minor new features.
What's New
- Text field input dialog (ccl.swing.InputCancelDialog)
   has optional drop down list.
- FTPUtil is a wrapper of the sun.net.ftp.FtpClient class.
   This class provides convenience methods for ftp put and
   get in binary mode.
Bugs Fixed
- FileUtil.getFiles(String,String) is now also able to
   process empty ("") file suffixes.
Version 10.29
      Version 10.29 has been released on December 2, 2000A minor bug fix.
What's New
- Method 'getTimeWithMillis' in ccl.Util.
- Shell script and batch file included to start self test.
- Makefile (with hardcoded paths) for compiling native code
   for Linux is included.
Bugs Fixed
- For applications installed under a classes directory 
   the application path was not identified correctly.
Version 9.26
      Version 9.26 has been released on October 27, 2000Init class does use awt only if necessary.
What's New
- Init class does not use awt if not necessary. The awt is
   only needed for color objects anyway. In batch mode the
   background colors is hardly of relevance. Now the class
   can be used on machines which have no X installed.
Bugs Fixed
- None.
Version 8.24
      Version 8.24 has been released on September 28, 2000Minor additions.
What's New
- ccl.util.OutputErrorStreamManager captures stdio and
   stderr streams.
Bugs Fixed
- Miscellaneous.
Version 7.22
      Version 7.22 has been released on June 30, 2000Some new GUI classes.
What's New
- New class BusyWindow, CCLTreeNode, HighlightableList,
   ListCancelMultiSelector, ListEditDialog, ListToListPanel,
	MetaJDialog, MemoryDialog, MemoryPanel, and ThreadsDialog.
- SplitPane provides workaround for 
   setDividerLocation( double ) bug in Swing JSplitPane class.
   Thanks to Marcel Nijman for this code.
- JCFUtil class which offers some helper methods for
   analyzing Java byte code files. It uses Matt Yourst's
   Java Class File library.
- New package ccl.platform with Linux class to access some
   Unix system functions (e.g. create symbolic link etc.).
Bugs Fixed
- Miscellaneous.
Version 6.20
      Version 6.20 has been released on April 17, 2000Some new GUI classes.
What's New
- New class BusyWindow, CCLTreeNode, HighlightableList,
   ListCancelMultiSelector, ListEditDialog, ListToListPanel,
	MetaJDialog, MemoryDialog, MemoryPanel, and ThreadsDialog.
- SplitPane provides workaround for 
   setDividerLocation( double ) bug in Swing JSplitPane class.
   Thanks to Marcel Nijman for this code.
- JCFUtil class which offers some helper methods for
   analyzing Java byte code files. It uses Matt Yourst's
   Java Class File library.
- New package ccl.platform with Linux class to access some
   Unix system functions (e.g. create symbolic link etc.).
Bugs Fixed
- Miscellaneous.
Version 5.18
      Version 5.18 has been released on December 16, 1999New date methods and GUI date text field.
What's New
- New GUI date text widget ccl.swing.DateField.
- New date methods in ccl.util.Util.
Bugs Fixed
- Miscellaneous.
Version 4.11
      Version 4.11 has been released on October 18, 1999New GUI/Swing package and some minor ccl.util classes.
What's New
- New GUI/Swing application framework and utility classes.
- New ThreadExitSecurityManager, History, Initializable,
   Testable classes.
Version 3.9
      Version 3.9 has been released on August 1, 1999New ccl.util classes.
What's New
- Direction, Enum, FileObject, History, Init, Option,
   ReflectionClassLoader, Singleton, SysEnv classes
   and Exitable interface.
Version 2.7
      Version 2.7 has been released on July 29, 1999New support for Windows ini or KDE config files.
Version 1.6
      Version 1.6 has been released on July 26, 1999
Chr. Clemens Lee, email to: clemens@kclee.com