# NAnt Change Log

### 0.6.0 September 18, 2001

- report build file xml errors in a useful way
- report error location when tasks are missing required attributes
- copy task updated - thanks to Ian MacLean
- **/*.cs type pattern matching now available in file sets via DirectoryScanner class
- Ian MacLean added as a project developer
- added all the environment variables to properites, ie, <echo message="path=${nant.env.PATH}"/>
- move task updated - thanks to Ian MacLean
- sleep task added - thanks to Ian MacLean
- DirectoryScanner and FileSet's scan for files AND directories now
- FileSet's cache scan results, use Scan() to rescan
- FileSet's auto initialize to their containing Task, this helps clean up the code
- copy task can now copy full directory trees
- added verbose attribute to copy task, default off, message gives number of files processed
- fixed bug with any ExternalBase tasks hanging - thanks to Sergey Chaban for reporting
- include task added
- call task added
- -verbose command line option added
- build file can now build complete distribution, try 'nant dist'

### 0.5.0 August 22, 2001

- complete overhaul of the web site and doc folder (all html files)
- made src a parent folder to be able to hold multiple assemblies in anticipation of the NAnt.Tests.dll assembly
- licensed changed to GNU General Public License
- source code placed under CVS
- tasks can now have attributes in base classes, see CompilerBase as an example - thanks to Mike Krueger
- coding conventions posted on SourceForge in the document manager
- task manager in SourceForge is now being used to track currently active tasks
- namespace changed to SourceForge.NAnt
- added basic command line parsing
- added version resource
- support for multiple build targets (try 'nant clean test')
- BuildException added to report text position in the build file where errors occur - thanks to Ian MacLean
- style task (xslt processing) added - thanks to Serge
- executable is now signed with the NAnt.key
- converted all public/protected fields to properties
- added support for user define properties
- added -set option (try 'nant -set:debug=true clean build')
- changed verions number to 0.5 to reflect the number of changes in the code base

### 0.1.5 July 22, 2001

- only compiles program if source file last write time > output last write time
- refactored compiler code into common CompilerBase class
- refactored compiler and exec task into common ExternalProgramBase class
- added <arg value="/win32res:filename"/> element to all external program tasks
- added Int32ValidatorAttribute and BooleanValidatorAttribute classes to perform error checking on task attributes after macro expansion but before task execution. Search for BooleanValidator or Int32Validator in Tasks for examples.
- changed Task attribute names to TaskAttributeAttribute and FileSetAttribute
- removed default value for task attributes (set with initial value)
- changes to Project class on how to initialize a project and run it
- right aligned task prefixes to clean up output
- added or enhanced these tasks
  - vbc, jsc, csc
  - move
  - nant
  - taskdef
  - tstamp
  - exec (failonerror attribute)

### 0.1.4 July 19, 2001

- added or enhanced these tasks
  - echo
  - fail
  - property
  - copy (respects basedir)
  - delete (respects basedir)
  - mkdir (respects basedir)
  - exec

### 0.1.3 July 18, 2001

- dependices working via depends attribute on targets
- changed name from NBuild to NAnt
- using the name "Parameter" to refer to the xml attributes in tasks because it was conflicting badly with .NET Attributes
- added FileSetParameterAttribute so that fileset parameters would autoinit
- renamed TaskAttributeAttribute to StringParameterAttribute
- broke into seperate source files (one per class)
- changed default build file from Project.xml to the first file with a .build extension

### 0.1.2 July 16, 2001

- basic functionality to have NAnt build itself (csc task)

### 0.1.1 July 5, 2001

- initial test version