+2010-07-24 Ankit Jain <jankit@novell.com>
+
+ * ConsoleLogger.cs: Collect and dump timing information.
+
+2010-07-24 Ankit Jain <jankit@novell.com>
+
+ * ConsoleLogger.cs: Honor LoggerVerbosity.Quiet .
+
+2010-07-22 Ankit Jain <jankit@novell.com>
+
+ * ConsoleLogger.cs: Add support for parameter 'NoItemAndPropertyList'.
+
+2010-07-22 Ankit Jain <jankit@novell.com>
+
+ * Project.cs: Add reserved properties MSBuildProjectFullPath
+ and MSBuildProjectExtension .
+
+2010-07-09 Ankit Jain <jankit@novell.com>
+
+ Correctly handle precedence of ToolsVersion value coming
+ from various points.
+ * BuildEngine.cs (BuildProjectFile): Restore project.ToolsVersion .
+ * Engine.cs: Likewise. Also validate DefaultToolsVersion .
+ * Project.cs: Handle invalid tools version specified in the project
+ file, and fall back to engine's version.
+ * MSBuild.cs: Fix the precedence order, and validate.
+ * UnknownToolsVersionException.cs: New.
+
+2010-06-23 Ankit Jain <jankit@novell.com>
+
+ * TargetBatchingImpl.cs (BuildTargetNeeded): Fix var names to
+ correctly reflect what they track. Log messages when skipping
+ or building a target.
+
+2010-06-04 Ankit Jain <jankit@novell.com>
+
+ * Import.cs (EvaluateProjectPath): Add a hack to support multiple
+ msbuild extension paths. Paths can be specified via the environment
+ variable - $MSBuildExtensionsPath . ~/.config/xbuild/tasks is also
+ checked for extensions, besides the default location.
+ This explicitly looks for a "$(MSBuildExtensionsPath)" in the import
+ expression and tries to replace that with possible paths, till it
+ finds the file. In rest of the project, the property would resolve
+ to its single default value.
+
+2010-06-03 Ankit Jain <jankit@novell.com>
+
+ * Engine.cs (GetLoadedProject): Return null if project not found.
+ Based on a patch by Dale Ragan <dale.ragan@sinesignal.com> .
+
+2010-05-28 Ankit Jain <jankit@novell.com>
+
+ Fix bug #485841.
+ * DirectoryScanner.cs (ProcessInclude): Set %(RecursiveDir) only if
+ the '**' wildcard was found in the original Include.
+
+2010-04-10 Ankit Jain <jankit@novell.com>
+
+ * Project.cs (InitializeProperties): Set MSBuildBinPath to the current
+ tools path.
+
+2010-04-10 Ankit Jain <jankit@novell.com>
+
+ * TaskEngine.cs (Prepare): Throw InvalidProjectFileException instead of a generic
+ Exception.
+
+2010-04-10 Ankit Jain <jankit@novell.com>
+
+ * ConsoleLogger.cs (EventsToString): If the target being executed is
+ from an imported file, then show that.
+
+2010-04-10 Ankit Jain <jankit@novell.com>
+
+ * Project.cs: Add property MSBuildExtensionsPath32, used by silverlight
+ projects.
+
+2010-04-07 Ankit Jain <jankit@novell.com>
+
+ * ConsoleLogger.cs: Dump items and properties when a project starts
+ to build. Useful for debugging.
+ * Engine.cs (LogProjectStarted): Set the properties and items also,
+ for the project started event.
+ * Project.cs (EvaluatedPropertiesAsDictionaryEntries): New.
+ (EvaluatedItemsByNameAsDictionaryEntries): New. Required for
+ ProjectStartedEvent .
+
+2010-04-03 Ankit Jain <jankit@novell.com>
+
+ * BuildEngine.cs: Implement IBuildEngine2 instead of
+ IBuildEngine.
+ * BuildTasks.cs: Use the new extension methods for logging.
+ (InitializeTask): Emit a message informing about the assembly
+ from which the task is being loaded. Emit a useful debug message
+ incase of a InvalidCastException.
+ * Engine.cs: Add missing methods, constructors and properties related
+ to ToolsVersion support. Setup a default set of Toolsets.
+ Keep separate taskdbs' per ToolsVersion. The common tasks
+ would come from different *.tasks file, and use different
+ task assemblies.
+ (DefaultToolsVersion): Correctly set this based on the profile.
+ * LogExtensions.cs: New. Extension methods on Engine, for logging.
+ * Project.cs: Add missing methods/contructors/properties related
+ to ToolsVersion support. Add reserved properties -
+ MSBuildToolsPath and MSBuildToolsVersion .
+ * Toolset.cs: New.
+ * ToolsetCollection.cs: New.
+ * ToolsetDefinitionLocations.cs: New.
+
+2010-03-04 Ankit Jain <jankit@novell.com>
+
+ * BuildEngine.cs (LogErrorEvent): Log as warning, if
+ ContinueOnError==true, and log a corresponding message.
+ * TargetBatchingImpl.cs: Refactor to share code between the
+ batched and unbatched case. If a task fails and
+ ContinueOnError==true, then ignore the failed state.
+
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * BuildItem.cs: Track api changes.
+ (SetMetadata): Allow RecursiveDir to be set, this is set by
+ DirectoryScanner.
+ * DirectoryScanner.cs (ProcessInclude): Set RecursiveDir metadata.
+
+2010-02-19 Ankit Jain <jankit@novell.com>
+
+ * Import.cs (Evaluate): Add param @ignoreMissingImports.
+ * Project.cs (Load*): Add overloads with param @projectLoadSettings.
+ (Log*): Mark internal.
+ * ProjectLoadSettings.cs: New.
+
+2010-02-04 Ankit Jain <jankit@novell.com>
+
+ Fix bug #576589.
+ * ConditionFunctionExpression.cs (Exists): Check for directory also.
+
+2009-12-22 Ankit Jain <jankit@novell.com>
+
+ Fix bug #565849.
+ * DirectoryScanner.cs (Excludes): Change from string to ITaskItem[] .
+ * BuildItem.cs: Track api changes.
+
+2009-12-02 Ankit Jain <jankit@novell.com>
+
+ Fix bug #559990.
+ * Engine.cs (UnloadAllProjects): Don't remove items from the collection
+ being iterated over. Patch by Laurent Etiemble
+ <laurent.etiemble@gmail.com>
+
+2009-11-28 Ankit Jain <jankit@novell.com>
+
+ Fix bug #547753.
+ * BatchingImplBase.cs (DumpBucket*): New. Useful for debugging.
+ * Project.cs (Batch): New. Contains the perBatchItems and the
+ commonItems for the batch.
+ Use a stack of batches, instead of directly setting the current
+ batch items.
+ (PushBatch): New.
+ (PopBatch): New.
+ (SetBatchedItems): Make this private.
+ (GlobalProperties.set): Re-evaluating the project is not required
+ for this.
+ * TargetBatchingImpl.cs: Use the new Push/PopBatch instead of directly
+ setting the batches.
+ * TaskBatchingImpl.cs: Likewise. Refactor slightly to PopBatch in
+ finally block.
+ * Target.cs (Build): Reset the current batch to nil before evaluating
+ and building this target.
+
+2009-11-28 Ankit Jain <jankit@novell.com>
+
+ * Project.cs (TryGetEvaluatedItemByNameBatched): Item could be
+ available in either perBatchItemsByName or commonItemsByName
+ or the evaluatedItemsByName collection. Allows the use of
+ items which are not batched, but are consumed in case of batching.
+
+2009-11-26 Ankit Jain <jankit@novell.com>
+
+ * TargetBatchingImpl.cs (BuildTargetNeeded): Expand metadata
+ refs also, for Inputs and Outputs.
+
2009-10-13 Ankit Jain <jankit@novell.com>
* DirectoryScanner.cs: