0.8.3rc1 release notes (plain text format)

Please review and post your comments to the mailing list. I'm starting the
release process tonight with the 0.8.3 branch. It's a bit more detailed than
previous logs, but I think I got all the significant changes that might
impact an unwary user.

John C Barstow
----------------
USER-VISIBLE CHANGES
 -  NAntContrib is now distributed with NAnt.
  To better support the frequently-used NAntContrib extensions, the library
is now distributed as part of the NAnt release.

 -  Preliminary Linux support with Mono 0.25.
   This is the first release with Linux support, so please report any issues
you encounter. The next release will be fully tested and documented on boht
Linux and Windows.

 -  New Tasks
   See the user documentation for usage details.
   )  cvs:  Performs various CVS tasks.
   )  cvs-checkout:  Checkout source from CVS.
   )  cvs-update:  Update source from CVS.
   )  mcs:  Compile using the mono compiler.  Note that the functionality of
this task will be likely be incorporated into the csc task.
   )  solution: compile .sln directly.  In most cases, this means you no
longer have to preprocess a solution with the slingshot tool.

 -  Changed Tasks
   See the section below for details.

 -  Fileset References
   You can now define a named fileset and refer to it anywhere a fileset is
used.
----------------
DEVELOPER-VISIBLE CHANGES
 -  Namespace changes
   There have been major code reorganizations since the last release.
   )  "SourceForge" is no longer part of the NAnt namespaces.
   )  Split classes up into Tasks and Types.
   )  Task assemblies now have their own namespaces.
   )  Removed Msft prefix from base classes.
 -  Logging framework changed.  The logging framework is now based on
Log4Net.
   )  Refactored NAnt (build) logging system : moved to an event driver
logging system, and allow thresholds to be set.  The build outcome is now
completely handled by the loggers.
   )  Replaced the LogListener with an IBuildLogger interface for loggers
and an IBuildListener interface for build listeners.
   )  The ConsoleLogger is replaced by a DefaultLogger, which always logs to
the console, and which can also be configured to log to a file (using the
-logfile option).
   )  The static Log class is removed and replaced by instance methods on
the Project and Task classes.  These instance methods actually fire events
that get handled by the build logger and buid listeners.
   )  Added a Level enum that is used to assign a priority (level) to a
message.  This allows messages to be filtered on their priority.
   )  Added a strongly typed collection for the build listeners.
   )  Updated all existing logging statements to use the new logging system
instead of the static Log class.  Assigned levels to the existing logging
statements.
   )  Added MailLogger that can be used to send the build results as an
email, see xml docs for how its to be configured

 -  Many, many style/structure/documentation fixes.  More that are worth
listing here.

 -  Fixed NUnit2 support for filesets.

 -  Prevent warnings for using obsolete methods to allow NDoc Document.Nant
to build on .NET 1.1 runtime.

 -  Nightly.xml No longer depends on NAntContrib tasks.
 -  Moved mail task and test back into core as its working fine on linux
now.

 -  New attribute-driven command-line parser.           
----------------
SLINGSHOT CHANGES
 -  Fixed defect: slingshot now handles the fact that sln/proj files might
have a disparate list of configurations. 

 -  Fixed defect: if a configuration name contains whitespace, it is
referenced in the slingshot output .build file w/ hyphens replacing
whitespace, as nant can't deal w/ blanks in target names. 

 -  Added flexibility: the Clean.* targets are generated from the existing
list of configurations, in addition to the only hardcoded DebugClean and
ReleaseClean targets. 

 -  Fixed limitation around references: references that are set to "Copy
Local=true" get copied to the build directory before compilation. otherwise,
the reference paths are explicitly listed in <references><includes>. 

 -  New parameter: (per a suggestion from a user who replied to my notice of
impending changes) starting slingshot with the parameter replacerefs=...
triggers the reference paths to be replaced with the name of the build
configuration. for example, if projB references
d:\proj\projA\bin\Debug\projA.dll, when you slingshot projB with parameter
"replacerefs=Debug", the reference to projA will look like
d:\proj\projA\bin\${slingshot.config}\projA.dll. when you then build
projB.build for config Release, the projA reference will look like this:
d:\proj\projA\bin\Release\projA.dll. 

 -  Added support for WarningLevel (now that it's available in nant)
----------------
COMMAND-LINE CLIENT CHANGES
 -  Changed target back to the default argument.

 -  Moved company information (http://nant.sourceforge.net) from help text
to logo banner

 -  Added support for running default.build if there are multiple build
files in a directory.

 -  Added support for collection-based command-line options, with the
following restrictions :
        ) property type should implement ICollection
        ) collection should have an Add method with one parameter
        ) The parameter of the Add method should be strongly-typed
        ) collection should have a default public constructor
        ) the property should have a setter if the collection is not
initialized (null reference)

 -  Fixed "bug" where ApplicationException would no longer be throw when no
matching buildfile is found after searching the directory tree upwards.

 -  Updated short form of buildfile to -f.

 -  Added -q shortname for -quiet command-line option.

 -  Changed description of -indent command-line option.

 -  Added command-line option for adding build listeners.

 -  Updated xml documentation.

 -  Added command-line options for filtering build output (-debug and
-quiet).

 -  Jarek's patch to allow setting of the default framework from the command
line.
 -  ?fixes bug 729778?

 -  Always use identifier mono-1.0 for mono framework, no use in always
creating new framework configurations for every mono release
----------------
CHANGED TASKS
<exec>
  - added support for an environment optionset to the exec task
  - fixed optionset so that it correctly returns optionvalues
<VJC>
  - added attribute for setting the warninglevel (0-4)
  - added attribute for specifiying list of warnings that should be
suppressed by the 

<JSC>
- added support for codepage compiler flag to csc and jsc tasks
- added attribute for setting the warninglevel (0-4)

<CSC>
- added support for codepage compiler flag to csc and jsc tasks
- renamed optionoptimize attribute to optimize
- added attribute for setting the warninglevel (0-4)
- added attribute for specifiying list of warnings that should be suppressed
by the compiler
patch from Justin Santa Barbara to add optimize flag to csc
- fixed csc example

<nantSchema>
- added makefile for building on linux. Also a new bin directory for lnx
specific binaries

<mcs>
- removed mcs task. the csc task in combination with the framework support
should be used instead.

<nant>
- fixed problem with basedir in nested <nant> build being incorrect if
basedir="." is used
- have the new project inherit the default framework from the current
project

<MSI>
- Only creates msm com class if needed. Patch by Justin Santa Barbara
[EMAIL PROTECTED]
- Commit to the database more often, to help narrow failure points.  Also, I
removed re-initializing the database object after commits.

<delete>
- added #if mono statements to work around a File.SetAttributes bug in mono
- reenabled File.SetAttributes on Mono build as bug #41999 has been fixed

<copy>
- fix for copytask breakage on linux
- reenabled File.SetAttributes on Mono build as bug #41999 has been fixed

<if>
- fixed logging bug with parenthesis instead of brace. Caused <if
uptodate...> to fail erroneously.

<gac>
- Tom jordans Patch for gactask

<CL><LINK>
- on demand compile support for link and cl tasks
- unit tests for the cl and link tasks
- moved visualCpptasks into Win32Assemblies so it doesn't get built in a
mono/linux build

<fileset>
- added support for fileset references. Framework for making all types
referencable but only implemented forfilesets right now

<exec>
- remove Timeout from ExecTask, make Timeout in ExternalProgramBase a task
attribute and make it writable. 
- Throw buildexception is process has not exited after timeout.

<mail>
- re-enabled usage of StringWriter constructor with CultureInfo as this bug
in Mono is fixed
- code restructure
- no longer have empty strings as default.
- bcc and cc are no longer set to an empty string when not specified in
buildfile, thereby preventing problems with bug #45746.


-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to