[ Key ]
* = Change or information
+ = Addition
! = Bug Fix

[ December 25, 2004 - 1.0 ]
    + Added the /removedir option for cleaning directories like obj before file releases
    + Changed WriteTempXml() and the new DeleteTempXml() methods to be compiled only in DEBUG builds
    * Made path optional for Match elements (defaults to current directory) and updates schema for it
    ! Fixed XML example in the readme.txt
    + Added example xml files to docs directory
    * Updated license.txt to add Dan Moorehead and update copyright years
    + Updated prebuild.xml to take advantage of the default path attribute for match elements
    + Updated Clean to delete the obj directories

[ December 25, 2004 - 0.13 ]
    + Added dnpb.exe so that it can be used to generate the project files
    + Added dnpb.ico
    * Added parameterless Write statement to Log for writing a single line
    * Changed scehema to version 1.3 for support of icon attribute
    * Added support for All configuration name under a Project node signifying common settings for all configurations
    ! Fixed the SupressWarnings by adding the corresponding field to OptionsNode
    * Wrote documentation in docs/readme.txt
    * Added Dan Moorehead to copyrights and extended date from 2004 to 2004-2005
    * Updated prebuild.xml
    * Optimized Log class
    * Updated OutputUsage()
    * /clean targets all by default
    * No log file is used by default, /log without value specified uses default file name
    + Added support for the /pause which pauses the utility after execution to observe output


[ September 27, 2004 - 0.12.2a ]
    ! Fixed a nasty bug when trying to delete our temp file for pre-processing.

[ September 15, 2004 - 0.12.2 ]
    + Expanded platform identification, thanks to the NAnt guys for shedding some
      light on how to properly check for UNIX platforms! Thanks guys!
    * POSIX OS identifier changed to UNIX. Valid OS names are now "Win32", "UNIX",
      and "Unknown".
    ! Fixed SharpDevelop target to properly use the 'rootNamespace' attribute of
      the Project tag.
    + New command-line switch, /ppo, forces DNPB to pre-process the file and write
      the pre-processed file. This allows you to test/debug your pre-processor
      macros. No other processing will be done. You can specify a target file as
      a paramter for the /ppo switch, or DNPB will write the file 'preprocessed.xml'
      if you do not specify a file.
    + The Match tag now has a 'buildAction' attribute which functions exactly like
      the attribute of the same name for the File tag.

[ August 5, 2004 - 0.12.1 ]
    + Added environment variable expansion for all values. Environment variables
      should be listed in the form ${VAR}.

[ July 30, 2004 - 0.12.0 ]
    + Added preprocessing via XML processing information tags. Available tags
      are: <?if <exp> ?>, <?elseif <exp> ?>, <?else ?> and <?endif ?>. The
      current expression parser is very basic, but will be replaced with a more
      capable parser over time. Current operators available are: =, !=, <, >,
      <=, >=. Current test variables available: OS, RuntimeVersion, RuntimeMajor,
      RuntimeMinor, RuntimeRevision.

[ July 27, 2004 - 0.11.4 ]
    + Added 'useRegex' attribute to the Match tag. Matches can now use regular
      expressions to match filenames.
    + Added the 'assemblyName' attribute to the Project tag. Projects can now
      set their output assembly name.
    ! Fixed several bugs in the way that Project tags inheirt their parent
      Solutions configuration options. This operation should now work fully as
      intended.
    ! Due to some wierdness, Project Guid's are now stored as part of the Project
      node and created at parse time.

[ May 11, 2004 - 0.11.3 ]
    ! Fixed a bug where I was writing the wrong property name for a projects root
      namespace.
    ! Removed a DEBUG statement I had left in the code in 0.11.2.
    ! Fixed a bug in the VS2002 writer which caused the version variables to not
      be overriden correctly.
    + Added the rootNamespace property to the <Project> element, allowing you to
      specify the root namespace.
    * /target and /clean are now mutually exclusive command line switches, and
      they both now take the all option. In the case of /target all, all build
      file for all targets will be created. In the case of /clean all, the user
      will be prompted to make sure they want to do it, and if so, will clean
      all build files for all targets.

[ April 22, 2004 - 0.11.2 ]
    ! Fixed a bug with the /file command-line operator. Was using the unresolved
      file path rather then the resolved one, was making the attempt to open the
      dnpb file fail.
    ! Fixed a bug in the schema that required at least 1 solution and 1 reference
      path. We can do just fine with 0 of either of these. Some files may be all
      <Process> statements and not have any <Solution> tags.
    ! Fixed a bug that caused the project references not to be written with the
      SharpDevelop target.
    * Changed the schema to version 1.2, allowing for Configuration nodes to exist
      under project nodes. The inheritance of values is hierarchical. Meaning, if
      you define a configuration named Debug at the Soltion level, and one by the
      same name at the Project level, the one at the Project level will first
      inherit the options of the Solution level configuration, then set it's own
      options. If you define a configuration at the Project level and it does not
      exist at the Solution level, it will be created at the Solution level.
    * Project references should now work correctly across the board. Note that due
      to a restriction in Visual Studio, you can only reference projects in the same
      solution.

[ April 21, 2004 - 0.11.1 ]
    ! Fixed a problem with resolving paths in various targets. Was not properly
      setting the CWD.
    * Schema updated to 1.1, moving the ReferencePath element from the Options
      element to the Project element. This makes more logical sense, given that
      reference paths are resolved relative to the project path. Any prebuild.xml
      file referecning verison 1.0 will fail! Please update to the 1.1 schema.

[ April 19, 2004 - 0.11.0 ]
    * Added several attributes across the code to make FxCop happy
    ! Fixed bugs in reference paths being written in the VS targets.
    ! Fixed a bug in ProjectNode which was doing two CWDStack.Push() calls instead of
      a Push/Pop pair. Was wreaking havoc with <Process> tags.	
    ! Fixed some bugs in the path tracking, both the Project and Solution nodes now
      have a FullPath property, which is the full path to the file resolved at load
      time. This should fix all path relativity problems.
    + Added new /clean switch, allowing the target to clean up any files it generated.
      in accordance, the ITarget interface has been updated to support a new Clean()
      method.
    + Completed addition of the <Process> tag, to allow the referencing of external
      prebuild.xml files.
    + Added the runtime attribute to the Project element. This allows the developer
      to specify which runtime a project should target (Mono or Microsoft). This is
      of course ignored in certain targets like the Visual Studio targets.
    + Added the SharpDevelop target.

[ April 13, 2004 - 0.10.1a ]
    + Added the buildAction attribute to the File node. This is needed for dnpb
    to even be able to bootstrap itself (dnpb-1.0.xsd must be an embedded resource)

[ April 13, 2004 - 0.10.1 ]
    * First Release