======================== CleanCode Release Notes ======================== $Id: release_notes.txt 284 2008-05-30 00:44:49Z dellxp $ The CleanCode system encompasses Perl, Java, C#, SQL, and JavaScript libraries and programs. Perl, Java, C#, SQL, and JavaScript libraries are each packaged as a zip file. The Perl, Java, C#, and SQL zip files includes documentation as well as source. The Java zip file additionally includes a complete jar file. The JavaScript zip file includes just source; documentation is still on the "to do" list (though modules are reasonably commented). All documentation is also available on the CleanCode website (http://cleancode.sourceforge.net/) under the Products >> Documentation menu. See the release information page at http://cleancode.sourceforge.net/wwwdoc/download.html for dependent library requirements. ======================== CleanCode Change History ======================== ############################################################################# 0.9.22 2008.05.31 New SQL procedures, functions, and query support. ############################################################################# Bugfixes======== -none- Enhancements==== [SQL.Histogram] New stored procedure to generate dynamic histograms. [SQL.BoundSmoothing] New DB function supporting histogram generation. [SQL.GetDataTypeName] New DB function. [CleanCode.Data.SqlFilterBuilder] Added support for DataViews alongside DataTables. Normalized field names to be case-independent. [CleanCodeControls.Forms.QueryPicker] Added ContainerTest property and support methods for containerized testing in Visual Studio. Added xxxTableDetailsQuery to describe table fields (data type, scale, default, etc.). Removed xxxTableQuery as it is already covered by xxxColumnQuery. Added database and schema selectors to Sql Server queries. Auto-upper-case inputs for Oracle. [CleanCodeControls.Forms.SyntaxHilightTextBox] Changed colorization algorithm to do commenting last, so strings within comments are colored as standard comments. Set default font to fixed-width. Upgraded NUnit testing for C# from JUnit 2.4 to 2.4.7. Upgraded Visual Studio support from VS2005 to VS2008 (but still .NET 2.0). Cosmetic======== [SQL.SP_map] Renamed to Map due to performance recommendations (i.e. user stored procs should not begin with 'SP_"). [SQL.FN_list2tableIndexed] Renamed to list2tableIndexed. [SQL.FN_list2table] Renamed to list2table. ############################################################################# 0.9.21 2008.04.30 New C# Control ############################################################################# Bugfixes======== [CleanCodeTest.Data.AttributeDictionary] Updated one test to match recent code change. Enhancements==== [CleanCodeControls.Forms.ProgressBarMessager] New C# control that enhances a standard ProgressBar with progress messages. Cosmetic======== -none- ############################################################################# 0.9.20 2008.03.31 New Diagnostic components ############################################################################# Bugfixes======== [CleanCode-perl-v0_9_20.zip] Added missing *.thtml files for use with pod2htmltree. Enhancements==== [CleanCode.Diagnostics.AlignedTextWriterTraceListener] New C# class implementing a custom TraceListener. [CleanCode.Diagnostics.StructuredTraceSource] New C# class implementing a custom TraceSource. [CleanCode.Diagnostics.ITraceListenerIndenter] New C# interface used by AlignedTextWriterTraceListener. [CleanCode.Forms.MemoryGauge] New C# class to report memory usage. [CleanCodeControls.Forms.IdentifiedGroupBox] Added PopulateGroupBox methods. [CleanCode.IO.InstalledAssemblies] Filter out some type of randomly named system assemblies. [CleanCodeControls.Forms.SyntaxHilightTextBox] Changed SelectedOrAllText to operate on uncommented portion. Added SelectedOrAllTextWithComments to include comments if needed. [CleanCode.Data.CsvWriter] Added FieldNamesLowercase property to provide flexibility in headers. [bin/libFuncTest] Added support for DOS wildcards with globify. Cosmetic======== [CleanCode.Data.SmartTrace] Renamed to CleanCode.Diagnostics.StructuredTrace. gnedTextWriterTraceListener] New C# class implementing a custom TraceListener. [CleanCodeControls.Diagnostics.StructuredTraceSource] New C# class implementing a custom TraceSource. [CleanCodeControls.Diagnostics.ITraceListenerIndenter] New C# interface used by AlignedTextWriterTraceListener. [CleanCode.Forms.MemoryGauge] New C# class to report memory usage. [CleanCodeControls.Forms.IdentifiedGroupBox] Added PopulateGroupBox methods. [CleanCode.IO.InstalledAssemblies] Filter out some type of randomly named system assemblies. [CleanCodeControls.Forms.SyntaxHilightTextBox] Changed SelectedOrAllText to operate on uncommented portion. Added SelectedOrAllTextWithComments to include comments if needed. [CleanCode.Data.CsvWriter] Added FieldNamesLowercase property to provide flexibility in headers. [bin/libFuncTest] Added support for DOS wildcards with globify. Cosmetic======== [CleanCode.Data.SmartTrace] Renamed to CleanCode.Diagnostics.StructuredTrace. ############################################################################# 0.9.19 2008.01.31 New C# Controls ############################################################################# Bugfixes======== [1860257 CleanCodeControls.Forms.ConnectionStringManager] Enabling of DB ComboBox and test Button fixed. [1860258 CleanCodeControls.Forms.ConnectionStringManager] Now can load database name programmatically. [1879446 CleanCode.Data.MultiColumnSort] GetSortedView was unnecessarily restricting the white space around an 'order by' clause. [1879445 CleanCode.IO.UsageTracker] Fixed handling of search path for catalog files. Enhancements==== [CleanCodeControls.Forms.QueryPicker] New C# user control to manage templatized meta-query generation. [CleanCodeControls.Forms.MultiConnectionStringManager] New C# user control to manage sets of database credentials, leveraging ConnectionStringManager. [CleanCodeControls.Forms.ConnectionStringManager] Added ShowDiagnosticConnectionString property to allow control of the visibility of the connection string. Renamed SecureConnectionString to PwdFreeConnectionString. Added genuine SecureConnectionString property. Added Encrypt/Decrypt support methods. [CleanCodeControls.Support.ConnectionDetails] New C# class used by MultiConnectionStringManager. [CleanCode.Data.AttributeDictionary] Changed ToString() to return keys in sorted order. [CleanCodeControls.Forms.ConnectionStringManager] Added support for third DB choice, ODBC. Robustness improvement: control now cleans up input so that returned connection strings are guaranteed valid for the given DB type. Cleaned up setting appropriate values when DB type is changed. [CleanCode.Data.OdbcDsnInfo] New C# class for new ODBC support in ConnectionStringManager. [CleanCode.Data.SmartTrace] Added an assortment of new methods to this class. [CleanCode.Data.Utility] Added FindComboBoxItem method. Cosmetic======== [CleanCode.Data.DebugHelper] Renamed to CleanCode.Data.SmartTrace. ############################################################################# 0.9.18 2007.11.30 Minor maintenance release ############################################################################# Bugfixes======== [1835528 SQL.SP_map] SP_map does not recognize error with empty or null @AuxArray. Enhancements==== [SQL.SP_map] Completed documentation comments. [perl/bin/sqldoc2xml] Finished design, development, and documentation. [SQL.FN_list2tableIndexed] Renamed from FN_string2tableIndexed and completed documentation. [SQL.FN_list2table] Renamed from FN_string2table and completed documentation. Cosmetic======== -none- ############################################################################# 0.9.17 2007.09.30 SQL Library Added ############################################################################# Bugfixes======== -none- Enhancements==== [SQL] Added new web section for SQL library. [SQL.SP_map] Added stored procedure for array/matrix mapping. [SQL.FN_string2tableIndexed] Added function for converting a list to a table. [SQL.FN_string2table] Added function for converting a list to a table. [perl/bin/sqldoc2xml] Tool to extract XML doc-comments from SQL files. Cosmetic======== -none- ############################################################################# 0.9.16 2007.07.31 ConnectionStringManager control (C#) ############################################################################# Bugfixes======== -none- Enhancements==== [CleanCode.Data.Utility] Enhanced CleanString to ignore word spacing. [CleanCode.Data.SqlErrorCleaner] New C# class to trim error messages. [CleanCodeControls.Forms.ConnectionStringManager] Now production-ready. [CleanCode.Forms.AbstractMsgManager] Added auto-truncate to user length. [CleanCodeControls.Forms.ConnectionStringManager, .SyntaxHilightTextBox] Added Description attributes for proper documentation in Properties pane. Cosmetic======== Tweaked some efficiencies per FxCop. Updated ant from 1.6.5 to 1.7.0. ############################################################################# 0.9.15 2007.06.30 Csharp Control Update ############################################################################# Bugfixes======== Added CleanCodeTest.dll.config to allow unit tests for SyntaxHilightTextBox to run. [1704471] Added highlighting of quoted strings to SyntaxHilightTextBox. Enhancements==== [CleanCodeControls.Forms.ConnectionStringManager] New C# class to manage database credentials. [CleanCode.IO.ExecProcess] New C# class to run external processes. [CleanCodeControls.Forms.StyleAwareRichTextBox] New C# control paralleling RichTextBoxHelper. [CleanCodeControls.Forms.SyntaxHilightTextBox] Added text sizing capability. Cosmetic======== -none- ############################################################################# 0.9.14 2007.04.30 Csharp Library Update ############################################################################# Bugfixes======== [1697634 CleanCode.Data.AttributeDictionary] AttributeDictionary balks at ';' or '='. [1704437 CleanCode.Data.MultiColumnSort] Does not handle BindingSource as a DataSource [1704464 CleanCodeControls.Forms.SyntaxHilightTextBox] Flash artifact during highlighting. [1696288 CleanCode.Data.CsvReader] Compensated for ArgumentException when an empty field is encountered. Enhancements==== [CleanCode.Forms.AbstractMsgManager] Exposed some properties for customizability. [CleanCode.IO.UpdateCheck] Added capacity to handle multiple search paths for repository. [CleanCodeControls.Forms.SyntaxHilightTextBox] Added separate colorization of comments. Added ability to insert a tab character. Added commenting/uncommenting, left/right shifting, and re-highlighting commands by keystroke. Removed protected method Hilight in favor of DefineWords, invoked at instantiation rather than at each highlighting action. Cosmetic======== [CleanCode.Forms.StatusMsgManager] Renamed to ToolStripDropDownManager. ############################################################################# 0.9.13 2007.03.31 C# Library Additions ############################################################################# Bugfixes======== [CleanCode.IO.UpdateCheck] GetNewerVersion threw exception if no .exe files found. Enhancements==== [CleanCode.Data.DBHelper] Split into two; part of this class moved to new SqlFilterBuilder class. [CleanCode.Data.SqlFilterBuilder] New C# class. [CleanCode.Data.MultiColumnSort] New C# class. [CleanCode.Data.CsvReader] New C# class. [CleanCode.Data.CsvWriter] New C# class. [CleanCode.IO.UpdateCheck] Added AccessFailure property to discern the difference between no new version and no access to repository. [CleanCode.Forms.DataGridFileLoader] Added ReadFirstRowAsHeaders property to allow data with or without headers. [CleanCode.Forms.RichTextBoxHelper] Renamed StylizeText to AppendStylizedText. [CleanCode.Forms.RichTextBoxHelper] Added ColorText method. [CleanCodeControls.Forms.IdentifiedGroupBox] New C# control. [CleanCodeControls.Forms.SyntaxHilightTextBox] New C# control. [CleanCodeControls.Forms.OracleSyntaxHilightTextBox] New C# control. [CleanCodeControls.Forms.SqlServerSyntaxHilightTextBox] New C# control. Cosmetic======== -none- ############################################################################# 0.9.12 2007.01.31 Minor maintenance release ############################################################################# Bugfixes======== + [1634872 cleancode.format.JSArchive] Fixed command-line options showing in both the command-line help and the API documentation. (This code change from awhile back had not been propagated to the documentation.) + [1638068 Util/Version.js] getVersion failed on a single-digit number. Enhancements==== [printtime.pl] Added new utility for decoding date-time values. [CleanCode.Forms.RichTextBoxHelper] New C# class. Updated Perl dependencies with more recent releases. Cosmetic======== Switched from CS-RCS to SubVersion for CleanCode source control. ############################################################################# 0.9.11 2006.10.31 Minor maintenance release ############################################################################# Bugfixes======== + [1586044 CleanCode.IO.UpdateCheck] Corrected checking for change notes with certain file patterns. Enhancements==== + [com.cleancode.data.ParamMap] Fixed stray unchecked/unsafe code artifact introduced from conversion to Java 1.5. + [CleanCodeTest.Forms.StatusMsgManager] Fixed failing test case due to missing space. + Consistency improvement on 'since' clause across all languages in source code. + Quieted warning on html validation that was using css instead of html attributes. + Disconnected remaining access points to form mail, since sourceforge.net no longer supports it. + Fixed a couple ant dependencies. Cosmetic======== -none- ############################################################################# 0.9.10 2006.09.30 Ant charting upgrade and C# additions ############################################################################# Bugfixes======== + [1559769 replace.pl] The functionality for -N (to inhibit backup files) was added recently, but the command-line option itself had not been enabled. + [1567869 CleanCode.IO.UpdateCheck] Trapped UnauthorizedAccessException. Enhancements==== + [CleanCode.Xml.XPathWrangler] New class. + [CleanCode.Xml.DocumentWrangler] New class. + [CleanCode.Xml.NodeChanger] Renamed to NodeWrangler for consistency. + [CleanCode.IO.FileNavigator] New class. + [CleanCode.Forms.AbstractMsgManager] New class. + [CleanCode.Forms.StatusMsgManager] Made a subclass of new AbstractMsgManager. + [CleanCode.Forms.TextBoxMsgManager] New subclass of AbstractMsgManager. + [CleanCode.IO.LoadedAssemblies] New class. + [CleanCode.IO.UsageTracker] New class. + [CleanCode.IO.UpdateCheck] Modified to handle subdirectories as well as files. + [Pod::HtmlTree] Added SINCE to the required tags list. Cosmetic======== + Changed graphs of CleanCode ant build file from png to pdf so they are sharp at any magnification, and added specs in the graphs. ############################################################################# 0.9.09 2006.08.31 Upgrading and Testing Release ############################################################################# Bugfixes======== + [1531744 list.pl] The list utility is a web-based program that provides an explorer-like interface to a remote file system. Part of the customizable interface is specifying a common header or footer, and specifying a common passage for an entire directory (.header.htm, .footer.htm, and .directory.htm, respectively). When combining those, list.pl generated invalid HTML by copying each of these files in its entirety, instead of extracting the content of the body element alone. + [1539298 com.cleancode.net.SimpleHtmlParse] This basic HTML recognizer was able to detect attributes in double quotes but not in single quotes. + [1539299 Cleancode.IO.UpdateCheck] GetNewerVersion was not properly handling numbers within the octets of a version string. So, for example, 1.0.9.0 was considered larger than 1.0.10.0 when compared lexically. + [1367563 com.cleancode.jdbc.DBProbe] Added missing dbprobe.xml file to release. Enhancements==== + Added NUnit testing to C# library. + Upgraded JUnit testing for Java from JUnit 3.8 to 4. + Added Checkstyle (java) analysis to build. + Added FxCop (C#) analysis to build. + Upgraded Java source from 1.4 to 1.5. + Upgraded Ant from 1.6.2 to 1.6.5. + Upgraded Antcontrib references from 1.5 to 1.6. + Added DocCheck analysis to generated Java documentation. + Added basic grep analysis to find missing C# documentation elements. + Added ant-driven global update of copyright, version, and revision date. + [com.cleancode.format.REConverter] Switched from gnu.regexp to internal java.util.regex support. + [com.cleancode.format.SimpleJavadocToPod] Switched from gnu.regexp to internal java.util.regex support. + [com.cleancode.net.SimpleHtmlToText] Switched from gnu.regexp to internal java.util.regex support. + [com.cleancode.net.SimpleHtmlParse] Switched from gnu.regexp to internal java.util.regex support. + [com.cleancode.util.Common] Converted toHashSet to a generic method. + [com.cleancode.util.CollectionsPlus] Converted fill to a generic method. + [CleanCode.Data.Utility] Renamed GetNextValueInList to GetNextListValue. Converted GetNextListValue and ArrayToDictionary to generic methods. + [CleanCode.IO.Comparators] Renamed DateComparer to DateComparerAscending and added DateComparerDescending. Added VersionComparer for comparing version strings. + [CleanCode.Data.AttributeDictionary] Updated ListToDictionary to be case-insensitive on boolean values. + [CleanCode.Math.Outliers] New class for finding statistical outliers. + [CleanCode.Math.StandardDeviation] New class for finding standard deviation. Cosmetic======== + Stylistic cleanup driven by Checkstyle (Java), DocCheck (Java) and FxCop (C#). ############################################################################# 0.9.08 2006.07.20 Documentation Cleanup Release ############################################################################# The major focus of this release is the completion of the new C# library documentation, a home page for the JavaScript documentation, and consistency on the API homepage for all 4 supported languages. Bugfixes======== -none- Enhancements==== + [CleanCode.*.*] Polish and refinement to recently new C# library. + [bin/renameGroup] New standalone tool for group file renaming. Cosmetic======== -none- ############################################################################# 0.9.07 2006.06.13 C# Library Release ############################################################################# The major focus of this release is the addition of a 4th language library: C# Bugfixes======== -none- Enhancements==== + [CleanCode.*.*] Added C# class library. + [File::Handy] Added '#' character to allowable characters in untaintFileName. + [com.cleancode.xml.DocumentPlus] Updated for Java 1.5 support. + [com.cleancode.util.FilePlus] Updated readFileAsArray to omit blank lines. + [bin/replace] Added -q option to report on only files that changed. Cosmetic======== -none- ############################################################################# 0.9.06 2005.11.30 Minor maintenance release ############################################################################# Bugfixes======== + [1366598 DBI::Helper] For the user list displayed for the admin user in WebSiteInABox, the create_date field was appearing as null; timestamp2time method needed updating for newer MySql version. + [1364884 CGI::Application::Helper] Errors now being logged so that they can always be found even when non-admin is executing (WebSiteInABox). + [1364878 Net::DataMining] Key values now untainted with regard to legal file name characters, encoded URL characters, and escaped regexp characters. Enhancements==== + [bin/replace] Enhanced MultiFileReplace (replace.pl) to be more robust and standardized, using normal regular expression syntax instead of -p and -f command-line constructs. + [bin/cgiAppBase] Added config parameter to support multiple web sites for WebSiteInABox (cgiAppBase). + [Net::DataMining] Allow additional parameters to be fed to URL string. + [File::Handy] Added untaintFileName function. + [Data::Handy] Added escapeRegExp function. Cosmetic======== ############################################################################# 0.9.05 2005.07.15 Minor maintenance release ############################################################################# Bugfixes======== -none- Enhancements==== + [bin/cgiAppBase] Added new major product Website-In-A-Box that provides a ready-to-customize dynamic website with authentication, account management (create/delete/password reminder), and more. + [CGI::Application::Helper] New support class for cgiAppBase. + [DBI::Helper] New support class for cgiAppBase. + [Time::SimpleFormat] Added formatDateTime() function. + [File::Handy] Added getMatchingFiles() and removeTree() functions. + [Data::Handy] Added interpolateText() function. + [Net::SimpleMail] New module to send e-mail. Cosmetic======== -none- ############################################################################# 0.9.04 2005.02.28 Minor maintenance release ############################################################################# Bugfixes======== -none- Enhancements==== + Automated complete website and distribution build with ant. + Revised JUnitRecursiveTestRunner for use with junit task of ant. + Revised XmlTransform to work properly inside Ant context (needed to normalize path separators to forward slash). Cosmetic======== + ServerFileExplorer FAQ page had a couple bad URL references. + Added documentation to Perl and Java distributions. + New "behind-the-scenes" section added to web site. + Expanded dependency section on download page. ############################################################################# 0.9.03 2004.12.26 Minor maintenance release ############################################################################# Bugfixes======== + [1091219 com.cleancode.xml.XmlTransform] Changed diagnostic output to avoid using vertical bar, since that is the field delimiter in log files created by the LogWriter class. + [1091221 com.cleancode.data.Diagnostic] Added LOG_DIR parameter to the parameter map; it was used in the program, but the omission from the map caused an error when one tried to actually use it. + [1091222 com.cleancode.data.Diagnostic] The log file channel (as distinct from stdout, stderr, and html channels) was only initialized if a configuration file was used. It is now initialized if and only if the log file channel is actually selected. + [1091223 com.cleancode.data.Diagnostic] The log file channel (as distinct from stdout, stderr, and html channels) was recording a duplicate thread id (java version only) in the log file. + [1092957 com.cleancode.xml.XmlTransform] The XmlTransform tool XSLT-converts and Schema-validates an entire tree of XML files from one form to another. The schema validations and XSL transformations are individually selectable by switches. However, they are not unconditional switches; the operation is only performed if it is needed (by a variety of conditions such as input file newer than output file, etc.). XSLT-transformation was inadvertantly skipped when validation was turned on but then not needed for a given file. Enhancements==== + [com.cleancode.util.FilePlus] Added readFileAsArrayColumn method, allowing one to read a single column from a field-delimited file, as well as filter the input while reading it. + [com.cleancode.xml.XmlTransform] Moved Diagnostic.init and Diagnostic.exit bracket into static main program rather than part of object instance, allowing this object to be part of other objects. + [com.cleancode.data.Diagnostic] While the indirect use of diagnostics should generally not involve log file output, it certainly may. As such, the indirect mode not only automatically initializes diagnostics but now also automatically terminates diagnostics, closing any open logfiles. Note that this would only have manifested as an issue when diagnostic output was sent to the logfile channel; stdout, stderr, and html channels were unaffected. Cosmetic======== -none- ############################################################################# 0.9.02 2004.11.09 Minor maintenance release ############################################################################# Bugfixes======== + [1060224 plumb.pl] The plumb utility traverses (plumbs) the depths of included files within any Perl program by recursively examining 'use' and 'require' statements. This may involve local (user) files or system files. The system search path (from @INC) was being corrupted so system files were not being found. + [1059951 plumb.pl] The plumb utility traverses (plumbs) the depths of included files within any Perl program by recursively examining 'use' and 'require' statements. plumb was looking only for unqualified statements, as in 'use File::Handy;', neglecting qualified ones, as in 'use Util::Stuff qw(foo bar);'. The regular expression for this has been corrected. + [1043811 Data::Handy and com.cleancode.util.StringPlus] Function dollarToNumber() dropped the minus sign if the argument did not also have a dollar sign. + [1043813 Convert::SimpleHtml2Text] This module was not returning data that retained proper structure in a table when fields were empty (i.e. separating even empty fields with tabs). Updated the conversion code from the Java version to handle this. + [1057573 com.cleancode.util.StringPlus] Function dollarToNumber() lost precision in large dollar amounts; changed from float to double to fix this. Enhancements==== + [Net::DataMining] Added flexibility so that the regExpHead parameter may be a function reference or a constant, allowing on the fly regular expression construction. + [com.cleancode.data.Version] Synchronized extractVersion() with Perl algorithm. + [plumb.pl] Added detailed vs hierarchical report (-d option). Added depth limited to a specified level (-l option). + [com.cleancode.test.JUnitUIPicker] New class providing a shortcut for selecting textui or swingui in a main method of a JUnit test case. + [com.cleancode.test.JUnitRecursiveTestRunner] New standalone utility that dynamically creates a test suite of all (or selected) JUnit test cases and then runs them. Cosmetic======== + [java/perl API documentation] Added missing package overviews; minor HTML compliance cleanup. + [assorted java] Removed some simplistic test subclasses; deprecated to JUnit instrumentation. + [plumb.pl] Some refactoring to better encapsulate functions. Minor optimization to remove duplicate elements in search path. ############################################################################# 0.9.01 2004.09.28 Minor maintenance release ############################################################################# Bugfixes======== + [1035468 bin::replace.pl] Replace.pl (MultiFileReplace) displays a usage hint when invoked with no arguments, but also displayed an error about an uninitialized value; this has been fixed. + [1034789 com.cleancode.xml.XmlTransform] The tracking files .xmlvalidate and .xmltransform had a mixture of backward and forward slashes (under Windows) in the list of generated file names due to inconsistent path name construction. This has been corrected to use only forward slashes in these files, and use file-system-appropriate separator characters when actually accessing files. + [1034791 com.cleancode.format.JSArchive] Took the time to do the JavaScript compactor the right way, cleaning up a host of deficiencies including: --removed more unnecessary whitespace (typically saves additional 3-5%); --retained all, rather than most (oops:-), whitespace inside strings; --correctly handles mixed inline comments, block comments, and strings on a single line; --handles escaped string delimiters inside strings; and --catches unterminated strings; This implementation should now handle the richness of JavaScript, with one caveat: regular expressions delimited with /.../ need to use escaped characters even if the regular expression syntax does not strictly require it. For example, a single quote does not normally need to be escaped in a regular expression, but it must be when running through JSArchive, otherwise JSArchive will see it as the start of a string. + [1014492 com.cleancode.xml.DocumentPlus] For 2-parameter flavor of getSelectedElementByTagName(tag, path), when path is just "/", method now will not match element unless it is, in fact, the root element. + [1014452 com.cleancode.xml.DocumentPlus] For 3-parameter flavor of getSelectedElementByTagName(tag, attrname, attrval), when attrname is empty or null, method now will match an attribute-less element. + [1015420 com.cleancode.xml.DocumentPlus] Enhanced getElementsByTagName(String) allows one to specify either a plain tag name or a pathed tag name. The standard flavor of this method returns an empty NodeList rather than null when no nodes are found. The enhanced flavor, however, was returning null if a parent component of the path did not exist. This has been fixed to return an empty NodeList. + [1014503 File::Handy] Allow for path-less and/or extension-less name in datedFileName(). + [Net::DataMining] Changed -r behavior to operate across calls to process() method (depending on your point of view, may or may not have been a bug). Enhancements==== + [com.cleancode.xml.DocumentPlus] Expanded domain of dumpXml to handle Node instead of Element. + [com.cleancode.xml.XmlTransform] Previous behavior for files that had validated successfully in prior runs was to update the date stamp within .xmlvalidate to the time of the current run. This has been changed to retain the prior date stamp, allowing a simple 'diff' to show actual changes. + [Time::SimpleFormat] Added secondsToClock() and elapsed() functions. + [File::Handy] Added datedFileName() option to specify date other than current date. + [Data::Handy] Allow list of args instead of just a single arg to requireEnv(). Cosmetic======== + [assorted perl] Minor POD fixes. + [assorted js] Comment header updates. + [assorted java] Style cleanup and missing Javadoc elements filled in, with assist from Eclipse and checkstyle ############################################################################# 0.90 2004.05.25 Initial release ############################################################################# + N/A