- Internal changes
- Requires Web.Http.v1.1
- Internal changes
- Requires v1.3
- Added #1156: Cannot locate dynamically loaded assemblies in Mvc (see EnableCodeRouting(ControllerBuilder) extension method)
- Added #1161: Parent controller reference syntax
- Improved PowerShell module documentation
- Added #1154: Extract-Views support for localized views in satellite assemblies
First MvcCodeRouting.Web.Http.WebHost release
- Requires v1.2
- Moved WebHost to separate assembly/package
- Parameter Binding API
- Using regions in routes.axd to group routes by route context
- Implemented BindRouteProperties
- Fixed #1152: Both traditional and verb-based routing cannot be used in the same ApiController
- Using Guid as route name in self host
Fixed #1155: FromRoute.BinderType ignored by BindRouteProperties
- Requires v1.1
- Fix: Web.Http.FromRoute attribute does not bind when using a custom name
- Changed Web.Http MapCodeRoutes to extend HttpConfiguration instead of HttpRouteCollection. Calling CodeRoutingSettings.HttpConfiguration() is no longer needed, that method is now internal
- Copied attributes to Web.Mvc subnamespace, deprecated old attributes although they still work
- Custom default actions using DefaultAction attribute
- BinderType property on FromRoute attribute
- Base route relative (aka absolute) custom route support for controllers
- Highlight URL on routes.axd
- Display assembly file version on routes.axd
No binary changes, updated MvcCodeRouting dependency version range
- Support for loading views embedded in satellite assemblies
- Fixed #1148: RouteDebugHandler fails if RouteTable has Route with null DataTokens
First MvcCodeRouting.Web.Http CTP release
- URL generation performance improvement
- .NET 3.5 support (compiled against MVC 2)
- Fixed #1147: Generic methods should not be considered actions
Special thanks to tylerburd, Grenaderov and JoshuaGough for their invaluable feedback
- Async controller support
- MVC 4 Release Candidate support
- Added Configuration setting
- Fixed #950: Visual Studio build fails after using Extract-Views command
- Absolute custom route support
- CustomRoute attribute support for controllers
- Fixed #890: Embedded views don't work when assembly has multipart name
- Added CodeRoutingSettings.Defaults property
- Added CodeRoutingSettings.Reset() method
- Added Extract-Views powershell command, use from Package Manager Console
- Fixed #783: Default action with optional route parameters does not work
- Fixed #779: Allow multiple actions with same custom route if {action} token is present
- Added RootOnly setting
- Removed limitation that required ViewEngineCollection.EnableCodeRouting() to be called after RouteCollection.MapCodeRoutes(), when using embedded views. Now both methods can be called in any order
- Fixed #708: Optional string parameter with a null default value does not create an optional token
- Fixed #744: Create only one route for multiple actions with equal custom routes
- Fixed #746: UseImplicitIdToken is not copied to new CodeRoutingSettings instance
- Fixed #747: IgnoredControllers is wrapped by new CodeRoutingSettings instance instead of copying its items
- Automatic constraints for enum parameters and properties, using Enum.GetNames(Type)
- Custom model binder support for parameters and properties decorated with FromRouteAttribute
- Added CodeRoutingSettings constructor that takes another CodeRoutingSettings instance to copy the settings from
- Added TokenName property to FromRouteAttribute
- CodeRoutingConstraint parameter name renamed to __routecontext
- Ambiguous route check now done on actions just created and not all registered actions. This allows you to override routes
- Added UseImplicitIdToken setting, useful for existing applications that only use a generic {controller}/{action}/{id} route
- Case-only constraint on action segment formatting removed, now SomeAction can be formatted as Some-Action, or some_action, etc
BREAKING CHANGES:
- ~controller syntax now matches routes in the same baseRoute
- Fixed two bugs
- Changed RouteFormatter delegate
- Removed case-only constraint on namespace and controller segment formatting (e.g. SomeLongNamespace/SomeLongController can be formatted as some-long-namespace/some-long-controller)
- CodeRoutingConstraint hidden from RouteDebugHandler
- Added CustomRouteAttribute for custom routes
- Support for embedded views (as assembly resources), enable with CodeRoutingSettings.EnableEmbeddedViews
- Support for ControllerDescriptor (via Controller.CreateActionInvoker)
- Added complete XML documentation comments
BREAKING CHANGES:
- Removed ActionNameExtractor from CodeRoutingSettings, action names can be customized using a custom ControllerDescriptor
- Removed DefaultAction from CodeRoutingSettings (Index is the convention)
- Removed rootNamespace and assembly parameters, and settings.RootController property, and replaced with rootController. The API and the implementation are now greatly simplified thanks to this change. I strongly believe this is the definitive API
- Fixed 2 issues
- New hierarchical (a.k.a. RESTful) route support (see BookController in samples project)
- Resolved 3 issues
- Renamed MapCodeRoutes parameter baseController to rootController
- MapCodeRoutes now returns collection of created routes
- Added MapCodeRoutes baseRoute parameter
- Color formatting in RouteDebugHandler
- Added IgnoredControllers setting
- Added RouteSegmentType parameter to RouteFormatter setting
- Assembly now has strong name
- Fixed one bug
- Implemented baseRoute-aware URL generation
- Added RouteDebugHandler
- Fixed two issues
- Fixed one bug
First release