Releases: maartenba/MvcSiteMapProvider
Releases · maartenba/MvcSiteMapProvider
v4.6.22
Change Log
- NuGet Package Issue: Release 4.6.20 was missing content in many of the packages, causing upgrading to fail. This release fixes the NuGet issues, but otherwise contains no changes. It is highly recommended that you do not install 4.6.20 into any project and if you have, to upgrade to 4.6.22 ASAP.
v4.6.20
Change Log
- Bug: Patch for #412, fixes one of the issues, which is that when building a
HttpContext
with theIMvcContextFactory.CreateHttpContext(ISiteMapNode, Uri, TextWriter)
overload the query string collection was invalid because it was being passed the?
character from the string which it wasn't expecting. - Bug: Patch for #416, fixes one of the issues, which is a null reference exception in certain (possibly invalid) node configurations. The working theory is this has something to do with an invalid (non-convention based) Area configuration causing the
ControllerTypeResolver
to return null. See this comment to configure Areas to work withMvcSiteMapProvider
properly. Since this failure is due to #392 which was to enable support forMvcCodeRouting
andMvcCodeRouting
does not support MVC Areas, this proactive solution is being put in place to disable support forMvcCodeRouting
when thecontrollerType
is null (indicating it could not be determined), so the null reference exception is not thrown.
v4.6.19
Change Log
- Bug: This fix allows configuration of a Route (by name) without having to specify controller and action. This is to address a difference in behavior between configuring a route-based node and configuring a RouteLink in MVC.
- Enhancement: Streamlined the
SiteMapXmlValidator
code by removing the explicit calls toClose()
and changing to using statements. - Bug: Fixes #272, Added a separate request cache for the
SiteMap.Url
field so theAuthorizeAttributeAclModule
doesn't prevent users from being able to resolve it with different route values. - Bug: Fixes #409, Changed Unity
MvcSiteMapProviderContainerExtension
to produce instances at runtime instead of composition time. Also removed references toXmlSiteMapNodeProviderFactory
andReflectionSiteMapNodeProviderFactory
since usingParameterOverride
andDependencyOverride
makes it possible to register without explicitly binding to a constructor signature. NOTE: This update is not required, but recommended. Use the diff 3b7638a14fb6a6e8d7226f1f652bd354f8400184 to update your UnityMvcSiteMapProviderContainerExtension
. - Bug: Fixes #414, Patches the Simple Injector
MvcSiteMapProviderContainerInitializer
using .NET Reflection so it will work with both Simple Injector 2.x and 3.x. .NET reflection was required to monkey-patch this module, since the restrictive use of theObsoleteAttribute
makes the code not compile when calling methods directly (see the discussion here). It is recommended that you pick a version (2.x or 3.x) and update the configuration so it will function with that version without the monkey-patch. But, it will work fine as is if you don't have the skill or knowledge to do so. - Bug: Fixes Simple Injector packages (full package only) so that it will release Disposable controller instances.
- Bug: Fixes #392, Makes the default
SiteMapNodeUrlResolver
function with the MvcCodeRouting library. - Enhancement: In preparation for DNX core, simplified the .NET reflection call to locate the default
Index
method if it exists on a controller when usingMvcSiteMapNodeAttribute
. - Enhancement: In preparation for DNX core and per Microsoft's best practices, changed the symbolic
.Equals
comparisons to use Ordinal rather than Invariant Culture. - Enhancement: Removed unnecessary using statements and sorted using statements alphabetically.
- Enhancement: Updated .gitignore with the latest changes from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
v4.6.18
Change Log
- Bug: Fixes #380, preserved route parameters are case sensitive when using query string values, and URL gets generated with the case that is provided in the query string, rather than the configured key.
- Bug: Fixes #375, TrimEmptyGroupingNodesVisiblityProvider doesn't function correctly with nested visibility providers.
v4.6.17
Change Log
- Bug: Fixes issue described in #365, use HTTP_HOST header when available to derive the host name for the SiteMapCacheKeyGenerator, so it will work consistently with the URL resolving in a web farm or cloud environment.
- Bug: Fixes #369, using canonical URL or canonical Key in conjunction with MvcSiteMapNodeAttribute always throws a validation exception indicating that both are set.
- Bug: Corrected hint paths for MVC 4 project references, as they weren't set to the correct directory and/or file name. Windows Update KB2993928 broke the ability to build with MVC 4 references because of this issue.
- Bug: Fixes issue discussed in #345, canonical URLs are always excluded from the XML sitemap, even if they refer to the current node.
- Bug: Fixes #366, stack overflow exception when calling embedded MVC partial views within an ASPX page.
- Bug: Fix for MVC 3 compilation, which was broken after Windows Update MS14-059. Upgraded MVC 3 to conditionally use the oldest version on NuGet - 3.0.0.1 - when the Windows Update is installed, and use the 3.0.0.0 version in the Global Assembly Cache when the Windows Update is not installed. Important: If you build MvcSiteMapProvider on a machine with the Windows Update for KB2993937 installed and you are using MVC 3, all of the target machines will require Windows Update for KB2993937 as well.
v4.6.15
v4.6.13
Change Log
- Bug: Fixes #348, wrong menu level shown when none of the nodes in the specified level are user accessible.
- Bug: Fixes second issue described in #332, current node matching incorrect in cases where the node has values that are configured that are not in the route of the HTTP request.
- Enhancement: Closes #347, upgraded to automatic package restore (instead of the MSBuild package restore). This only has an impact on people who fork the source code.
- Bug: Fixes #342, removed direct dependency on WebActivator.dll from MvcSiteMapProvider.dll. WebActivator is now a dependency of MvcSiteMapProvider.MVCx. If you need to install MvcSiteMapProvider in a web project without WebActivator, install MvcSiteMapProvider.Web followed by MvcSiteMapProvider.MVCx.Core.
- Documentation: Fixed invalid parameter declarations, data type references, and miscellaneous errors in the XML API documentation of MvcSiteMapProvider.dll.
- Enhancement: Added NUnit test runner to the build process so the tests are run automatically.
v4.6.11
v4.6.10
Change Log
- Bug: Fix for preservedRouteParameters that are used as query string parameters (reported on StackOverflow). When the route is configured with an optional parameter that is not provided in the route, it is added to the route values collection as an empty value. An exception needed to be added so the query string value (if provided) will overwrite the route value in this case, which makes it act the same way MVC resolves an action method parameter. Route values still take precedence over query string values in all other cases where both are provided in the URL.
v4.6.9
Change Log
- Enhancement: Added XML documentation file to NuGet package so API documentation will be available via http://www.nudoc.com/ and other common API documentation tools.