# N AntContrib Release Notes

## Latest Changes

### Bug fixes

#### Tasks

##### vb6

Fixed parsing of "ResFile32" entries in .vbp file. (Pull Request #27)

## 0.92 (June 9, 2012)

### Bug fixes

#### Tasks

##### NUnit2Report

Fixed graphs so they appear correctly on modern browsers. (Pull Request #21)

Removed # prefix from anchor names. (Pull Request #20)

## 0.92-rc1 (May 23, 2012)

### Changes

#### Tasks

##### TryCatch

Moved `<trycatch>` task from NAntContrib to NAnt. (Issue #26)

##### Choose

Moved `<choose>` task from NAntContrib to NAnt. (Issue #26)

## 0.92-beta1 (May 6, 2012)

### No Updates since 0.92-alpha1

## 0.92-alpha1 (April 22, 2012)

### Changes

#### Core

##### NAntContrib Project Files

Updated NAntContrib project files to VS2010 format.

#### Functions

##### Array functions

Added Array functions to sort and reverse a string array.

### Bug fixes

#### Tasks

##### <iisapppool>

Fixed issue with <iisapppool> encountering access denied error when executing on remote machine. Issue #6

## 0.91 (October 22, 2011)

### No Updates since 0.91-rc1

Released to maintain consistency with NAnt.

## 0.91-rc1 (October 8, 2011)

### No Updates since 0.91-beta1

Released to maintain consistency with NAnt.

## 0.91-beta1 (September 25, 2011)

### Bug fixes

#### Tasks

##### <vb6>

Type library references with path ending of backslash+number (eg. vbscript.dll\3) are now parsed correctly. (bug #1745360).

Take "ResFile32" and "Desiger" files into account when checking for recompilation. (bug #1205594 and #1648001).

Reduced vb6 task problems with "Auto Increment" revision. (bug #1081472).

##### <msbuild>

Multiple targets can now be defined. (bug #3214616).

#### Functions

##### choose

Global types can now be defined in either the <when> or <otherwise> elements.

    <choose>
        <when test="${build.config == 'Debug'}">
            <patternset id="sources">
                <include name="**/*.cs" />
            </patternset>
        </when>
        <when test="${build.config == 'Release'}">
            <patternset id="sources">
                <include name="**/*.cs" />
                <exclude name="**/Instrumentation/*.cs" />
            </patternset>
        </when>
        <otherwise>
            <fail>Build configuration '${build.config}' is not supported!</fail>
        </otherwise>
    </choose>

### Additions

#### Functions

##### Windows Installer functions

Allows information on Windows Installer databases and products to be retrieved.

#### Tasks

##### <btsreceivelocation>

Allows BizTalk receive locations to be controlled.

##### <kill>

Immediately stops a given process.

When used in combination with the <exec> task, it allows processed to be spawned for a certain duration or task, and then stopped.

##### <loadproperties>

Loads a file's contents as NAnt properties.

##### <waitforexit>

Waits for a given process on the local computer to exit.

When used in combination with the <exec> task, it allows processed to be spawned for a certain duration or task, and then wait until the process is finished before continueing.

### Changes

#### Framework support

##### Mono

Fixes in both Mono and NAntContrib now allow NAntContrib to be used in Mono (both Windows and Linux).

##### .NET Framework 3.5

Updated build file to allow NAntContrib to be built against .NET Framework 3.5 and Mono 3.5 Profile.

#### Installation

##### Templates

The templates used by the `<msi>` and `<msm>` takes are now embedded in the NAntContrib assembly, and no longer need to be installed separately.

#### Tasks

##### <deliisdir>

Attempting to delete a virtual directory that does not exist, no longer results in a build failure.

## 0.85 (October 15, 2006)

### Changes

#### Tasks

##### <sql>

- Introduced "encoding" attribute to allow the encoding of files containing SQL statements to be specified. The default is the the system's current ANSI code page.

## 0.85-rc4 (June 2, 2006)

### Bug fixes

#### Tasks

##### <msi> / <msm>

- Defining "failonerror" attribute results in validation error. (bug #1227294).

##### <vb6>

- Type library and component references are not parsed correctly (bug #1184630).

##### <vssdelete>

- A file or project was destroyed if "destroy" was false, and deleted if "destroy" was true.

##### <vssget>

- Setting the "removedeleted" attribute for a "path" that refers to a file results in a COMException (This command only works on projects).

### Changes

#### Tasks

##### <fxcop>

- Added failOnAnalysisError attribute - Fail the task if analysis errors are generated by FxCop.

##### <regasm>

- Moved to NAnt project.

### Additions

#### Tasks

##### <btsdeploy>

- Deploys an assembly to a given BizTalk configuration database.

##### <btsexport>

- Exports bindings for a BizTalk assembly to an assembly binding information file.

##### <btshost>

- Allows BizTalk (in-process) host instances to be controlled.

##### <btsimport>

- Imports bindings from a given assembly binding information file into the specified BizTalk configuration database.

##### <btsorchestration>

- Performs a set of actions on a given orchestration.

##### <btsreset>

- Allows stopping, starting and resetting of BizTalk in-process host instances on the specified server.

##### <btssendport>

- Allows BizTalk send ports to be controlled.

##### <btsunbind>

- Removes all bindings for a given assembly from a BizTalk configuration database.

##### <btsundeploy>

- Removes a given assembly from a BizTalk configuration database.

##### <cccatcs>

- Displays a ClearCase config spec.

##### <cccheckin>

- Checks files into a ClearCase VOB.

##### <cccheckout>

- Checks files out of a ClearCase VOB.

##### <cclock>

- Locks ClearCase elements.

##### <ccmkelem>

- Creates elements in a ClearCase VOB.

##### <ccmklabel>

- Applies a ClearCase label.

##### <ccmklbtype>

- Creates a label object in a ClearCase VOB.

##### <ccrmtype>

- Removes elements from a ClearCase VOB.

##### <ccuncheckout>

- Uncheckout ClearCase elements.

##### <ccunlock>

- Unlocks ClearCase elements.

##### <ccupdate>

- Updates a ClearCase view.

##### <cd>

- Changes the current working directory.

##### <choose>

- Executes an alternate set of tasks depending on conditions that are individually set on each group of tasks.

##### <iisapppool>

- Allows an IIS application pool to be controlled.

##### <msbuild>

- Builds the specified targets in the project file using MSBuild.

##### <vssdelete>

- Used to delete or Destroy files or projects in Visual Source Safe. Submitted by Richard Adleta.

#### Functions

##### fileset functions

- Provides methods for interrogating filesets.

##### service functions

- Allow information on a Windows service to be retrieved.

## 0.85-rc3 (April 16, 2005)

### Bug fixes

#### Tasks

##### <msi> / <msm>

- Directories containing spaces result in error 1639 during installation (bug #1107112).
- Removed dependency of <properties> element (bug #1149861).
- Cabarc process would fail with spaces in filename (bug #1153718).
- OCX's are not registered for self-registration (bug #1165416).

### Changes

#### Tasks

##### <codestats>

- Added support for multiple line counters (patch #1108543).

##### <msi> / <msm>

- Added support for fileset references.
- Added <summaryinformation> element to specify information for the summary information stream (associated bug #1149861).
- FeatureComponents table is not removed from merge modules (even when empty)
- Added support for file, ini, and component searches. Depreciated the old syntax for registry searches. (associated bug #1149948).

## 0.85-rc2 (February 12, 2005)

### General changes

##### License

- The special exception that is part of the NAntContrib license has been modified to avoid confusion.

##### Build Script(s)

- Removed single quotes around path variable in NAnt install (bug #1153721).

### Bug fixes

#### Tasks

##### <vb6>

- Fixed issue with scanning references to determine if a project needs compiling (bug #1082302).

##### <msi> / <msm>

- Fixed issue that caused error when invoking the same `<msi>` task multiple times (bug #1040963).
- Allow schema-generated tasks to work in build files with namespace (bug #1077447).

##### <p4sync>

- Invalid command-line is generated when "force" is true (bug #1081430).

##### <sql>

- Avoid outputting separator line for empty rows.

##### <svn-checkout>

- Added '.' operator during checkout to fix issue with incorrect destination directory (bug #1078255).

##### <vsscheckout>

- Checking out single file causes error.

##### <vssget>

- Getting single file causes error (bug #1019972).

### Additions

#### Tasks

##### <fxcop>

- Analyzes managed code assemblies and reports information about the assemblies, such as possible design, localization, performance, and security improvements.

##### <mkschanges>

- Generates an XML file containing the differences between the sandbox and the project in the MKS database.

##### <mkscheckpoint>

- Checkpoints a project in an MKS Source Integrity database.

##### <mksget>

- Retrieves an item or project from MKS Source Integrity.

##### <trycatch>

- Executes a set of tasks, and optionally catches a build exception to allow recovery or rollback steps to be taken, or to define some steps to be taken regardless if the tasks succeed or fail, or both.

##### <vsshistory>

- Generates an XML file showing all changes made to a Visual SourceSafe project/file between specified labels or dates (by a given user).

### Changes

#### Tasks

##### <deliisdir>

- Added "website" attribute which allows for targeting a specific virtual site.

##### <iisdirinfo>

- Added "website" attribute which allows for targeting a specific virtual site.

##### <mkiisdir>

- Improved documentation.
- Added "uncusername" and "uncpassword" attributes.
- Added "website" attribute which allows for targeting a specific virtual site.

##### <version>

- Uses enums for the "buildtype" and "revisiontype" parameters.
- The calculated version number and its indivual components are now also exposed to build authors as properties.

##### <vssadd>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.

##### <vsscheckin>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.
- If "localpath" is not an absolute path, it will now be considered as a path relative to the project base directory.

##### <vsscheckout>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.
- Added "filetimestamp" attribute that allows the behavior for timestamps of local files to be set.
- If "localpath" is not an absolute path, it will now be considered as a path relative to the project base directory.

##### <vssdiff>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.

##### <vssget>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.
- Added "filetimestamp" attribute that allows the behavior for timestamps of local files to be set.
- If "localpath" is not an absolute path, it will now be considered as a path relative to the project base directory.

##### <vsslabel>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.

##### <vssundocheckout>

- The "user" attribute is deprecated, and has been superceded by a "username" attribute.
- The "user"/"username" attribute is no longer required. When no username is specified and "Use network name for automatic user log in" is enabled for the Visual SourceSafe database, then the current Windows username will be used to log in.
- If "localpath" is not an absolute path, it will now be considered as a path relative to the project base directory.

## 0.85-rc1 (November 28, 2004)

### New tasks

##### <depends>

- Guarantees that listed dependencies are resolved before continuing.

##### <grep>

- Searches files for a regular-expression and produces an XML report of the matches.

##### <PVCS>

- Support for PVCS has been added.

##### <Surround SCM>

- Support for Surround SCM has been added.

##### <Subversion>

- Support for Subversion has been introduced.

##### <Perforce>

- Support for Perforce SCM has been added.

### Task changes

##### <aximp>

- Moved to NAnt project.

##### <comregister>

- Minor fix to prevent file locking.
- Added support for unregistering type libraries.
- Prevented failure message boxes from being displayed when (un)registering a DLL server.
- Improved reporting of error conditions.

##### <gac>

- Documentation has been improved.
- Several issues have been fixed.

##### <mkiisdir>

- The hostname specified in the "iisserver" attribute is now taken into account when determining which site to target.
- Only those IIS-properties explicitly specified will be set.
- Added "appcreate" attribute to contol the creation of applications.
- The root directory of a site is now configurable.

##### <msi> / <msm>

- Added automatic parsing of subdirectories of components.
- Added support for registry components.
- Documentation has been improved.
- Added support for configurable merge modules.
- Several issues have been fixed.
- Added support for installing assemblies to the GAC.

##### <sql>

- Added "append" attribute that indicates whether to overwrite output file.
- Added "showheaders" attribute that specifies whether or not to display schema information.
- Column separator is changed from " " (two spaces) to ", ".
- Added "quotechar" attribute which specified the character(s) to place arround column values to prevent collisions with for instance the comma character.

##### <vb6>

- Several issues have been fixed.

##### <vssadd>

- Added support for recursive add.

##### <xsd>

- Documentation has been improved.
- Several issues have been fixed.

## 0.84 (December 26, 2003)

### Task changes

##### <regasm>

- Fixed issue when long filenames were specified for the `typelib` or `regfile` attribute.

## 0.84-rc 2 (December 21, 2003)

No changes

## 0.84-rc 1 (December 6, 2003)

### New tasks

##### <vssdif>

- Shows all changes to a Visual SourceSafe project after a specified label.

### Task changes

##### <msi> and <msm>

- For entries in the File table, the language will now be supplied.
- Nullable columns for a custom table are now properly supported.
- Added checkinterop attributes to the component and fileoverride elements.
- Support pure registry components.
- Improved error reporting.

##### <slingshot>

- Fixed bug with regards to parameters.
- Added support for Visual Studio.NET 2003 solutions.

##### <sql>

- Made task less chatty.

##### <validatexml>

- Renamed schemas child element name from `<schemaref>` to `<schema>`.

##### <version>

- Improved error reporting and documentation.

##### <vssget>

- Added `removedeleted` attribute to support removal of local files that were deleted files from the Visual SourceSafe repository.
- Added `usemodtime` attribute to support setting the timestamp of local files to the modification time of these files in the Visual SourceSafe repository.
- Added unit tests.

### Removed Tasks

##### <tlbimp>

- Moved to NAnt.

##### <tlbexp>

- Moved to NAnt.

##### <rc>

- Moved to NAnt.

##### <midl>

- Moved to NAnt.

##### <mailex>

- All functionality has been merged into the NAnt `<mail>` task.

##### <asminfo>

- Moved to NAnt.

##### <taskdef>

- Moved to NAnt.