Login | Register
My pages Projects Community openCollabNet

Release Notes - Version History

Version 1.3 - TBD

Breaking changes:

  • GetSolutionProjects - The path information for the returned projects has changed. See below for details

New Tasks:

  • RoboCopy

New functionality for existing tasks:

  • GetSolutionProjects - Now retrieves the project GUID and the full path to the project file.

GetSolutionProjects task changes:

The path information returned for the projects that are found within a solution file has changed. The Output parameter still returns a collection of Items representing each project within the solution file. However, the metadata available on each Item has changed.

WAS:

  • ItemSpec (default value) - The project file path information exactly as it is stored in the solution file. It is usually in the form of a path relative to the solution file. For example: TestProject\TestProject.csproj
  • ProjectName - The name of the project. Example: TestProject

NOW:

  • ItemSpec (default value) - The full path to the project file, calculated by combining the path to the solultion file with the relative path of the project as stored in the solution file. For example: c:\code\MyTestSolution\TestProject\TestProject.csproj
  • ProjectName - Unchanged
  • ProjectGUID - The GUID used to identify and reference the project within the rest of the solution file.
  • ProjectPath - The project file path information exactly as it is stored in the solution file. This new metadata contains the value that used to be the ItemSpec (default value) of the Item. For example: TestProject\TestProject.csproj

If you have build scripts that make use of relative project paths returned by the GetSolutionProject task, you will have to modify the uses of the created ItemProperty to reference the ProjectPath metadata.

  <GetSolutionProjects Solution="$(SolutionFile)" >

    <Output TaskParameter="Output" ItemName="ProjectFiles" />

  </GetSolutionProjects>

  <Message Text="@(ProjectFiles)" /> <!-- OLD way to reference the relative project path -->

  <Message Text="%(ProjectFiles.ProjectPath)" /> <!-- NEW way to reference the relative project path -->

Version 1.2 - February 25, 2007

NOTE: If you are installing using the .MSI file, you will need to uninstall any previous version through Add/Remove Programs. Otherwise, you will get an error that the software already exists, and the installation will abort.

Breaking changes:

  • Version - Algorithms for calculating BuildType and RevisionType have changed. See below for details
  • SvnClient - No longer includes --non-interactive and --no-auth-cache switches by default. See below for details

New Tasks:

  • AspNet.InstallAspNet
  • GacUtil
  • IIS.WebDirectoryScriptMap
  • IIS.WebDirectorySetting
  • Install.InstallAssembly
  • Install.UninstallAssembly
  • JavaScript.JSCompress
  • Math.Modulo
  • Prompt
  • Regex.RegexMatch
  • Regex.RegexReplace
  • Solution.GetSolutionProjects
  • SqlServer.ExecuteDDL
  • Subversion.SvnCopy
  • TemplateFile.TemplateFile
  • Tfs.TfsVersion
  • Xml.XmlMassUpdate
  • Xml.XmlQuery

New functionality for existing tasks:

  • AssemblyInfo - can now generate class file
  • Divide - TruncateResult property added to enable integer division
  • Script - Script can now return a value

Bug fixes:

  • FileUpdate
  • FxCop
  • IIS.WebDirectoryCreate
  • NUnit
  • RegistryRead
  • Subversion tasks
  • XmlRead

Version task changes:

The Version task has changed significantly in this release. It no longer requires the use of the VersionFile attribute to persist the version number. Additionally, the algorithms for calculating the Build and Revision numbers have changed. This section describes the old and new behavior of the various BuildTypes and RevisionTypes, as well as alternative methods for replicating the original behavior.

BuildType:

  • None - original value is returned
  • Automatic
    • WAS: returned number of days since January 1, 2000.
    • NOW: returns number of days since StartDate (defaults to January 1, 2000)
  • Increment - returns original value + 1
  • Date
    • WAS: returned date in format YYMMDD
    • NOW: Removed. Task will fail with an error. Use the FormattedTime property of the Time task to generate a number in this format. For Example:

          <Time Format="yMMdd">

            <Output TaskParameter="FormattedTime" PropertyName="Build" />

          </Time>


      Keep in mind that as of 2007, Build numbers generated this way will exceed the maximum value allowable for AssemblyVersion components, and will cause a compilation error.
  • DateIncrement
    • WAS: returned number of days since StartDate
    • NOW: Removed. Task will fail with an error. Use Automatic instead.

RevisionType:

  • None - original value is returned
  • NonIncrement
    • WAS: original value is returned
    • NOW: Removed. Task will fail with an error. Use None instead.
  • Automatic
    • WAS: returned number of seconds since midnight. After 6:12PM, values could not be used as components of the AssemblyVersion attribute.
    • NOW: a number that starts at 0 at midnight, and constantly increases throughout the day (changing roughly every 1.3 seconds). Guaranteed to be safe for components of the AssemblyVersion attribute.
    NOTE: You can replicate the original behavior by using the Script task. For example:

      <Script Language="c#" Code="public static string ScriptMain(){ return ((int)DateTime.Now.TimeOfDay.TotalSeconds).ToString(); }">

        <Output TaskParameter="ReturnValue" PropertyName="Revision" />

      </Script>


    Keep in mind that after 6:12PM, Revision numbers generated this way will exceed the maximum value allowable for AssemblyVersion components, and will cause a compilation error.
  • Increment
    • WAS (BuildType is not DateIncrement): returned original value + 1
    • WAS (BuildType is DateIncrement): returned original value + 1 if Build number has not changed, otherwise returned 0
    • NOW: always returns original value + 1
  • BuildIncrement (NEW)
    • NOW: returns original value + 1 if Build number has not changed, otherwise returns 0.
      Note that this is similar to the old Increment functionality, except that it works with all BuildTypes.

SvnClient task changes:

The SvnClient task no longer automatically appends the --non-interactive and --no-auth-cache switches to all commands. This enables you to use svn commands which do not support those switches (for example: revert).
If you have build scripts that make use of the SvnClient task and want to preserve the original behavior, you will have to set the switches explicitly in the Arguments attribute.

For example:

    <SvnClient Command="diff" Arguments="--non-interactive --no-auth-cache"/>

Note that all of the specific svn tasks (SvnCheckout, SvnCommit, etc) still include the switches by default -- only the generic SvnClient has changed.

Version 1.1 - March 31, 2006

New Tasks:

  • Attrib
  • ILMerge
  • FileUpdate
  • FxCop
  • IIS.AppPoolController
  • IIS.AppPoolCreate
  • IIS.AppPoolDelete
  • IIS.WebDirectoryCreate
  • IIS.WebDirectoryDelete
  • Move
  • Script
  • ServiceQuery
  • Sleep
  • SourceSafe tasks
  • SqlExecute
  • Subversion.SvnInfo
  • TaskSchema
  • Time
  • WebDownload
  • Xslt

Version 1.0 - December 12, 2005

First stable release