+2007-02-03 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildPropertyGroup (SetProperty): Throw an exception when trying to
+ set property in persisted property group.
+
+2007-01-29 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildTask.cs (Execute): Log errors that happen when invoking ITask
+ .ctor.
+
+ * ConsoleLogger.cs (TargetFinishedHandler)
+ (TaskFinishedHandler): Increment error count.
+
+2007-01-28 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItem.cs (RemoveMetadata): Remove from XML.
+ (SetMetadata): Trigger project reevaluation.
+
+2007-01-26 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildPropertyGroup.cs (SetProperty): Made it work with persisted
+ properties.
+
+2007-01-23 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildTask.cs, ConditionFactorExpression.cs, Target.cs,
+ TaskEngine.cs, UsingTask.cs, ItemReference.cs, BuildItem.cs,
+ BatchingImpl.cs, BuildProperty.cs: Track API changes.
+
+ * Expression.cs (Parse): Added allowItems parameter and made regexes
+ static.
+
+ * Import.cs (Evaluate): Moved hack from tools/xbuild/Makefile here. It
+ will try to import a.ext when given a.EXT.
+
+2007-01-21 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItemGroup.cs: Store information saying what is the last item
+ group that contains build item name.
+
+ * Project.cs (Build): Pass empty array (build default targets).
+
+2007-01-19 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * Token.cs: Commented Transform and LiteralSubExpression and added
+ FunctionName token.
+
+ * ConditionParser.cs: Removed redundant casts, rewrote
+ ParseFactorExpression () and added parsing of '!'.
+
+ * ConditionTokenizer.cs: Always skip whitespaces when getting next
+ token (no IgnoreWhiteSpace property). Don't create a token from '->'.
+ Moved ReadChar () in front of all ifs.
+
+2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItem.cs (SetMetadata): Escape when we get virtual item or item
+ from XML. (not to escape items that have parents twice).
+
+2007-01-16 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItemGroup.cs (AddNewItem): Add XML and mark project as dirty.
+ (Project): Renamed to ParentProject.
+
+ * BuildItem.cs (ctor)
+ (CopyCustomMetadata): Add null check.
+
+ * BuildPropertyGroup.cs (AddNewProperty): Reorganized.
+ (RemoveProperty): Added null check.
+
+ * TargetCollection.cs (RemoveTarget): Added null check.
+
+ * Engine.cs (UnloadProject): Added null check.
+
+ * GroupingCollection.cs (Remove): Check if removed group belongs to
+ current project.
+
+ * Project.cs (AddNewItem): Implemented.
+ (RemoveItem): Reorganized.
+ (SetProjectExtensions): Added null check.
+
+2007-01-14 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItemGroup.cs (Detach): Added.
+ (RemoveItem)
+ (RemoveItemAt): Used Detach ().
+
+ * BuildItem.cs: Made FromXml and HasParent internal and added
+ ParentItem and ParentItemGroup properties (internal).
+ (Detach): Added.
+
+ * GroupingCollection.cs (Remove): Used Detach ().
+
+ * Project.cs (ctor): Added PreserveWhitespace = false to get formatted
+ text on Save ().
+ (GetEvaluatedItemsByNameIgnoringCondition)
+ (GetEvaluatedItemsByName)
+ (GetEvaluatedProperty): Reevaluate if needed.
+ (RemoveItem)
+ (RemoveAllItemGroups)
+ (RemoveAllPropertyGroups): Implemented.
+ (DoLoad): Added closing of TextReader.
+
+2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildPropertyGroup.cs: Don't trigger reevaluation just after a
+ change but just mark that it needs it.
+
+ * Project.cs: Reevaluate when it needs reevaluation and one of
+ Evaluated* properties is used.
+
+2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * Target.cs: Throw an exception when <OnError> is not last element in
+ target.
+
+ * BuildPropertyGroup.cs (RemoveProperty): Remove from XML.
+
+ * TargetCollection.cs: If a target is already there replace it with
+ new target.
+
+ * BuildProperty.cs: Added XmlElement property.
+
+2007-01-12 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * ImportCollection.cs: Don't add imports that are already added.
+
+ * BuildItemGroup.cs: MonoTODOs.
+
+ * ConditionParser.cs (ParseAndEvaluate): Throw an exception when
+ condition can't be evaluated to bool.
+
+ * BuildPropertyGroup.cs (Evaluate): Simplify.
+
+2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildWhen.cs: Moved BindToXml () code to ctor.
+
+ * BuildItemGroup.cs, BuildPropertyGroup.cs: Added XmlElement internal
+ property needed for removing groups.
+
+ * Engine.cs: Added StartBuild () that logs build start when Build ()
+ was first called.
+
+ * GroupingCollection.cs: Added Remove () for item and property groups.
+
+ * Project.cs (AddNewImport): Implemented.
+ (AddNewItemGroup): Implemented.
+ (AddNewPropertyGroup): Implemented.
+ (AddNewUsingTaskFromAssemblyFile): Implemented.
+ (AddNewUsingTaskFromAssemblyName): Implemented.
+ (RemoveItemGroup): Implemented.
+ (RemovePropertyGroup): Implemented.
+
+2007-01-10 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * BuildItemGroup.cs (Clear): Remove from XML.
+
+ * BuildPropertyGroup.cs (AddNewProperty): Use right namespace and add
+ to Project.EvaluatedProperties.
+ (Clear): Remove from XML.
+
+2007-01-09 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * Project.cs (InitializeProperties): Added $(MSBuildProjectDirectory)
+ reserved property.
+
+2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
+
+ * GroupingCollection.cs: Use 2 iterators: add_iterator that is used by
+ Add () calls when processing a project from Import and
+ evaluate_iterator for evaluation.
+
2007-01-08 Marek Sieradzki <marek.sieradzki@gmail.com>
* Import.cs (GetFullPath): Avoid exceptions from Path.GetDirectoryName