File Release Notes and Changelog

Release Name: 2.6

Notes:
Highlights of 2.6:

  * 2.6 does not support JDK 1.3. JDK 1.4 is the new minimum require JDK version.

  * Xalan has been replaced with Saxon resulting in many fewer OutOfMemoryErrors.

  * Windows installer can now install CC as a service

  * Custom project types are now supported if they implement ProjectInterface

  * Add Ant-style launcher allowing plugins to be added just by dropping
     a jar in the correct location

  * New chart showing Checkstyle, PMD and JavaDoc violations over time.

New tags:

  * CompositeBuilder
  * ExecBootstrapper
  * include.projects
  * Harvest (AllFusionHarvestCM511)
  * MavenSnapshotDependency
  * Rake (RakeBuilder)



Changes: CruiseControl Release Notes - 2.6 general ====================== * End of support for compiling/running Cruise with JDK 1.3. New earliest supported JDK is 1.4.x. * Replace Xalan with Saxon. * Overhaul handling of threads, streams and logging when executing external processes. contrib ====================== distributed ---------------------- * Update distributed CC code for refactoring in core (CC-485). Patch by Dan Rollo * Fix bug in distributed where empty results subdirectories cause exception (CC-458). Patch by Dan Rollo * Fix bug where distributed InteractiveBuildUtility always fails to build (CC-459). Patch by Dan Rollo * Pass CC_OPTS in cruisecontrol.sh for distributed CC. Patch by Dan Rollo. * Fix bug in distributed where BuildAgent restart() and kill() never waited for build to finish (CC-517). Patch by Dan Rollo mainAsWar ---------------------- * Allows the main build loop to run in a servlet container. packager ---------------------- * packager: Based on the RpmPackager contributed earlier by Julian Simpson, but now works with rpm version 4 and also creates Debian packages. It is also done in such a way that building any other type of package should work. Contributed by Christoper Read and Julian Simpson. * packager: fix user and group in logrotate script - Patch by Markus M. May windowsInstaller ---------------------- * Fixes for windows installer (CC-505). Patch by Julian Simpson: - displays README instead of RELEASENOTES - now with Windows service - backs up logs and artifacts to your Windows profile temp dir when removing - cleans out install dir build loop ====================== Accurev ---------------------- * Fix property attribute and remove propertyOnDelete since I don't see an easy way to know if a file has been deleted. AllFusionHarvestCM511 ---------------------- * AllFusion Harvest CM 5.1.1 source control implementation, registered as "harvest" in the default plugins. Submitted by Larry Liberto. AntBuilder ---------------------- * Add optional attribute "keepgoing" to invoke ant with -keep-going flag. Submitted by Stephen George * Can once again use optional tasks with internal version of ant (CC-400). Patch by Frederic Mockel bootstrappers ---------------------- * Update all bootstrappers to throw CruiseControlExceptions on errors instead of log and continue (CC-449). Reported by Sylvain Benoist. BuildQueue ---------------------- * Fix synchronization bug (CC-540). Patch by Benjamin Burgess BuildStatus ---------------------- * Better error message when log directory doesn't exist (CC-487). Submitted by Sven Strohschein ClearCase ---------------------- * Fix error logging (CC-450). Reported by Kevin Quigley. CMSynergy ---------------------- * Use a four part project name for projects (CC-370). Reported by Antek Baranski. Patch by Robert J. Smith and Antek Baranski. ConcurrentVersionSystem ---------------------- * Remove race condition on closing error stream. * Make empty string in tag an alias for HEAD (CC-511). Fix by Benjamin Burgess CompositeBuilder ---------------------- * Add CompositeBuilder to run a list of builders and have the results of the builds combined (CC-538). Submitted by Frederic Mockel * CompositeBuilder.validate() should validate child builders. Reported by EJ Ciramella cruisecontrol.bat ---------------------- * Was failing to execute java when JAVA_HOME wasn't set (CC-492). * Was failing if there were spaces in JAVA_HOME (CC-554) CruiseControlConfig ---------------------- * Allow properties inside of preconfigured template projects. Patch by Jerome Lacoste * Allow non-default projects to be registered as plugins. Alternative project implementations need to implement ProjectInterface. * Add include.projects tag as part of CC-266. CruiseControlController ---------------------- * Prevent ConcurrentModificationException by only allowing a single thread to be parsing the config file. default-plugins.properties ---------------------- * Add ClearCaseViewstrapper (CC-482). Reported by Andy Stevens * Add ExecBootstrapper and CompositeBuilder (CC-538). * Add RakeBuilder as <rake .../> EmailPublisher ---------------------- * Add <ignore ..> child element (CC-489). Patch by Jarkko Viinamäki * Fixed bug where using SSL but not specifying mailPort would result in a NullPointerException. Reported by Michael Clark * Added validation for nested alert, always, failure, success and ignore elements. ExecBootstrapper ---------------------- * Add ExecBootstrapper which executes a command (like the ExecBuilder) during the bootstrap process (CC-538). Submitted by Frederic Mockel Launcher ---------------------- * Add Ant-style launcher (CC-268). Patch by Robert J. Smith. * Fix NPE if cc.home property not set (CC-516). Patch by Dan Rollo. LdapMapper ---------------------- * Support authentication (CC-453). Submitted by Lars Gehrken LockFileListener ---------------------- * Fix problem where listener was incorrectly deleting the lockfile. * Add documentation for lockfilebootstrapper and lockfilelistener (CC-507). Patch by Allan Wick. MavenSnapshotDependency ---------------------- * Modifications to MavenSnapshotDependency (CC-484). Submitted by Jarkko Viinamäki - made POM scanning namespace aware. Dependencies were not detected if project.xml had schema definition in the project element - added support for "ejb-client" dependency type - added echo for detected snapshot dependencies - added support for build.properties or other similiar properties file which contains key=value tags to replace ${key} type strings in project.xml * update startup scripts in binary release to use correct version of maven2 embedder lib - Reported by Valerie Maher Maven2Builder ---------------------- * fix problem where a FATAL ERROR was not detected as an error. * fix finding mvn.bat in Windows. Reported by Michael Mattox * add support for <property> child elements MKS ---------------------- * fix problem with spaces in project path (CC-558). Patch by Thomas Schüttel ModificationSet ---------------------- * now calls validate() on all child source controls. P4 ---------------------- * Command to correct for server time wasn't using the optional values such as the port (CC-469). Reported by Terri Paik * Fix problem where very short interval time (30 seconds) was causing system to run out of file handles. Fix by Jared Richardson Project ---------------------- * Add requireModifications and forceOnly attributes (CC-501). Patch by Chris Erskine * Avoid loop when forcing a build that has an exception in the bootstrapper (CC-556). Patch by Stefan Lützkendorf PropertyLabelIncrementer ---------------------- * Add attribute "defaultlabel" which is returned when property file doesn't exist (CC-470). PVCS ---------------------- * Add support for multiline comments (CC-440). Patch by Scott Heaberlin RakeBuilder ---------------------- * Add builder to call Ruby Rake (CC-564). Submitted by Kirk Knoernschild SCPPublisher ---------------------- * Add attribute "executableName" to specify alternative executable. SourceControlProperties ---------------------- * Create delegate to fix problem where properties set by the source controls persisted across builds (CC-508). StreamPumper ---------------------- * Log if consuming line fails (CC-199). Reported by Kaloyan Enimanev. SVN ---------------------- * Reset modified property to null if no modifications. Patch by Paul Hammant * Remove race condition on closing error stream. * Surround dates with double quotes when on windows (CC-447). Patch by Marco Tedone. UCM ---------------------- * Skip rmbranch and rmver events (CC-430). Patch by Olga Bondarchuk VSS ---------------------- * Asterisks in comments no longer cause StringIndexOutOfBoundsException (CC-461). Reported by Omair-Inam Abdul-Matin VssBootstrapper ---------------------- * VSSBoostrapper fix for intermitent "java.io.IOException: The handle is invalid" errors (CC-535). reporting application ====================== buildresults.xsl ---------------------- * Comment out javadoc.xsl since the information is already in the errors and warnings section. index.jsp ---------------------- * Fix invalid comment syntax in index.jsp (CC-486). Reported by Andy Stevens * Use fully qualified hostname for JMX server (CC-362). Patch by Sven Strohschein * Use cruisecontrol.jmxhost parameter if it is set in web.xml. controlpanel.jsp ---------------------- * Use fully qualified hostname for JMX server (CC-362). Patch by Rajesh Patel * Use cruisecontrol.jmxhost parameter if it is set in web.xml. Patch by Jared Richardson FileServlet ---------------------- * Fix problem where urls in directory might have double slashes. Fix by Edward Kuns * Added content length to HTTP response, this allows keep alive connections. Patch by Andreas Mandel metrics.jsp ---------------------- * New charts calculated by evaluation an XPath expression on all build logs. nant.xsl ---------------------- * Update to work with nested builds. rss.jsp ---------------------- * Use RFC-822 format for dates (CC-473). Patch by Brian Egge testdetails.xsl ---------------------- * Rewrite xsl to be more efficient. Submitted by Ivan Latysh taglib ---------------------- * Taglib tries to read a system property named "false", which, depending on security policies, may be denied (CC-525). Based on patch by R. Lemos