CCNet Version 1.8.0 release notes

It's been a while, but we're back. The switch to the new infrastructure took some more time than anticipated, but it paid off.
Also choosing for Git as source control seems to be good choice, there are already some new contributors active, and it's a lot
easier to incorporate their work. A lot of the new features and bug fixes come from the contributors, so many thanks goes to them!
Also we start with a new numbering scheme for CCNet :
The odd versions are dev builds, like 1.7. The even numbers (like 1.8) are Release versions.

Backwards compatibility issues

There were a few items that broke when upgrading to 1.5 or 1.6, sorry for that.
Here's a list of those that are known to be fixed

  • Nant : newline in <buildArgs> causes "Target ' ' does not exist in this project."
  • Git : Merge Commits in GIT are being ignored by CCnet, causing "No modifications detected."
  • CCTray : Prevent Interval Trigger from modifying cctray detail column..
  • CCTray : app balloon shows always report builds even if it is set only to show warnings or errors.
  • BuildPublisher : KeepLastXBuilds broken in 1.7
  • Package publisher has the options flatten and baseFolder again, but these are moved to packageFile , packageFolder sub-elements

What's different, needs some attention

  • Configuration_Preprocessor, it's best that you start every included file with :
    <cb:config-template xmlns:cb="urn:ccnet.config.builder" xmlns="http://thoughtworks.org/ccnet/1/5">
    look at the bottom of the Configuration_Preprocessor page for the reason,
    and Skolima also made a nice post about it
  • if you used GIT, the first build with CCNet 1.7 will list ALL changes done. This is due to the fix of the Git repository.
    Maybe it's best to delete the first build artifact, and clean up the history.xml file for each project with Git.
    Or take a backup of the history.xml files, upgrade to CCNet 1.7, and place the backup's back.

Main new features

  • xml highlighter for the BuildLog and ProjectConfiguration
  • Plastic SCM 4.0 plugin
  • Updating the dashboard activity status automatically (refreshinterval needs to be set in dashboard.config)
  • add xsl for ms-test and mstest coverage for vs2010
  • new modification filter : Multi filter
  • show description of the project in dashboard and CCtray
  • new xslt Task : allows to do XSL transformation during the build
  • Dashboard admin page has a better look, with tooltips and the packages divided in sections
  • added packages for existing xsl files, making it easier to use them.
  • added packages for existing plugins, making it easier to use them.
  • Folder wildcards like \**\ for the File_Merge_Task

Changes

Lots of bugfixes and improvements, see below for details

Bug Fixes

  • Git Source Control thinks that time is linear
  • AssemblyVersionLabeller requires a commit trigger to start labelling builds
  • vtsts source control does not seem to work in multi source control block
  • Statistics Publisher does NOT handle xpath epression, that points to an attribute, correctly
  • nant - newline in <buildArgs> causes "Target ' ' does not exist in this project."
  • PowerShellTask will error out with spaces in the scritpsDirectory value
  • RSS publisher using wrong pubDate
  • Thread safe XMLLogger
  • Finalbuilder task is unable to find Finalbuilder 7 task when running on Windows 7 x64.
  • allow force build and stop project button remain enabled in context menu
  • Visual Studio detection fails on 64-bit windows
  • Multile projects config, requires restart of ccservice to pickup changes
  • Merge Commits in GIT are being ignored by CCnet, causing "No modifications detected."
  • namespaces node for stats not recognized
  • powershelltask does not fail build
  • Prevent Interval Trigger from modifying cctray detail column..
  • state folder is not automatically created
  • Sequential task, preprocessor and array property do not mix well
  • selectParameter does not get properly streamed to XML
  • Email publisher group doc is bogus
  • Validator does not properly close configuration files
  • CCValidator crash
  • FailureTasks seems to be always empty (Issue 50 follow up)
  • document the new ApplyForceBuildsReAddTop
  • Unable to give arguments to logger in a msbuild task
  • devenv task does not pick up environment sets
  • All tasks with subtasks should display their subtasks statuses when building
  • Package publisher does not allow to select which folder to strip from file names
  • cctray throws NullReferenceException when a non-running project is aborted
  • log time outs as an error
  • KeepLastXBuilds broken in 1.7
  • The CCTray app balloon shows always report builds even if it is set only to show warnings or errors.
  • Wire up load Transport Extension event handles
  • StateDirectory is still not created
  • email publisher with gmail seems broken
  • WebDashboard - ModificationHistoryProjectPlugin - ApplicationPath is wrong
  • CCNet throws error on .Net 4.0 site
  • flatten doesn't work in ccnet 1.6
  • dashboard has text 'Toggle display of changes...' , replace with an icon
  • modification history must show all unique comments of a checkin
  • there are 2 modification sections in the build report
  • Unused node detected: xmlns:cb="urn:ccnet.config.builder"
  • When more than one LDAP converter is used for multiple domains, app crashes
  • verify if possible to make the package publisher backwards compatible (Task #119)
  • Wrong/Broken link for Xml Log Publisher task
  • SVN Exception on DeleteSource
  • Git tagCommitMessage doesn't work with "naked tag"

Features

  • Updating the dashboard activity status automatically
  • Sequential Task should display its subtasks statuts when building
  • Parallel Task should display its subtasks statuts when building
  • Have the failed tasks in the build report
  • exec task should put more details in the build log
  • Disable cb:for implicit scope
  • FileSourceControl should be capable of not being recursive
  • Plastic SCM 4.0 plugin
  • The null source control could always return a modification to always build
  • show description of the project in dashboard and CCtray
  • new modification filter : Multi filter
  • add xsl for ms-test and mstest coverage for vs2010
  • The last build time is a link to the last build report
  • add option CheckRecursively to file source control
  • DumpValue task to dump values into an XML file
  • add option to add custom parameters to the msbuild logger
  • For DumpValue task: Possibility to deactivate cdata usage in the dumped value
  • CCCmd does not give the parameter list for a project
  • baseFolder relative to working directory for PackageFolder
  • Add xml highlighter for the BuildLog and ProjectConfiguration
  • Put project name into the title of web build report
  • replacing ':' (colon) characters in CCNetBuildTime with '_' (underscore) within ccnet.config
  • working with packages in the dashboard needs some polishing
  • Add a task that allows to do XSL transformations
  • allow others to adjust prefix of default labeler
  • add properties for formatting the parts of the assembly version labeller
  • get the git short hash for the assembly version labeller
  • Save window settings for Build Parameters in CCTray
  • Basic HTTP Authentication for DefaultWebClient
  • Folder wildcards like \**\