Fixed the SiteMapNode.ResolveUrl method so it won't cache when the protocol is *.
Changed the output directory location of the NuGet pack command in runbuild.ps1 so it can be used as a local package source for testing purposes. See https://nuget.codeplex.com/workitem/4045 for details.
Changed runbuild.ps1 to backup the CommonAssemblyInfo.cs file before making changes to it and then restore it to its original state when the build is complete.
Changed runbuild.ps1 to use the current year of the system for the copyright date so it doesn't have to be updated when the year changes.
Fixes #296, updating MvcSiteMapProvider.Web duplicates MvcSiteMapProvider_IncludeAssembliesForScan setting in web.confg.
Fixes bug described at http://stackoverflow.com/questions/22708773/mvc-sitemap-couldnt-be-found-exception, exception thrown when Mvc.sitemap file is missing, even though EnableSiteMapFile = "false".
Fixed default values for ChangeFrequency and UpdatePriority properties in MvcSiteMapNodeAttribute and MvcSiteMapNode so they always default to "Undefined" if not provided.
Bug: Removed extra call to FindSiteMapNode from within the FindSiteMapNodeFromKey method, since the url table is not likely to contain a URL that corresponds to a key.
Fixes #304, UrlPath.IsAbsoluteUrl method was misidentifying the URL as absolute when an absolute URL was added as a query string parameter, as in the case with ASP.NET error pages.
Fixes #305, exception thrown when using "visibility" as a custom attribute with MvcSiteMapNodeAttribute.
Closes #308, performance improvements for SiteMapHierarchyBuilder for large numbers of SiteMap nodes.
Added IEquality<ISiteMapNode> to the ISiteMapNode type, and override Equals, ==, !=, GetHashCode, and ToString on SiteMapNode, so the equality check uses the Key of the node if the memory location is different.
Fixes #310, added SiteMapSpooler class to ensure that ISiteMap instances don't go out of scope during the lifetime of a request, regardless of the state of the shared cache.