DotVVM 1.0 Beta Released
Published: 4/3/2016 10:52:00 PMToday is a big day for DotVVM. After a year of hard work, the 1.0 release has been pushed to the official Nuget feed. Also, we have published the first version of DotVVM Pro for Visual Studio 2015 and Bootstrap for DotVVM which you can try now.
Breaking Changes
We had to do many refactorings and namespace changes to make sure the public API won't it in future. Also, we have renamed some classes and controls to shorter names. Here is the list of the most important changes:
-
ValidationMessage
control was renamed to Validator and itsValidatedValue
property is now justValue
which is much more convenient to use. -
Validate.Enabled
andValidate.Target
was renamed toValidation.Enabled
andValidation.Target
because it makes more sense. -
Instead of writing
ViewModelProtection(ViewModelProtectionSettings.SignData)
we now writeProtect(ProtectMode.Sign)
. This is similar to theBind(Direction.ServerToClient)
. -
The
AddAttributesToRender
andRender...
methods in DotVVM controls has a new signature - instead of theRequestContext context
parameter they now getIDotvvmRequestContext context
. We decided to remove theRequestContext
class completely because it didn't contain anything important and only wrappedIDotvvmRequestContext
. -
The
app.UseDotVVM
method now requires a generic parameter which points to a class implementing theIDotvvmStartup
interface. In theConfigure
method of this class, you should register all controls and routes which you use in the application. This is because the Visual Studio extension - when you build a DotVVM project, the extension loads the assembly on the background and executes theConfigure
method in this class to get a list of routes and controls. Thanks to this mechanism, we can provide IntelliSense for route names, route parameters and more. You can read more about this in the DotVVM Project Contents tutorial. -
In the
DotvvmRequestContext
class we had theRedirect
method which had two overloads. The first did the redirect to a specified URL, the second redirected to a specific route with given parameters. Because the overloads did different things, we decided to split them intoRedirectToUrl
andRedirectToRoute
methods which is more clear. The same applies to theRedirectPermanent
method. Now we haveRedirectToUrlPermanent
andRedirectToRoutePermanent
.
- The
OnException
method in ExceptionFilterAttribute was renamed toOnCommandException
, because in only handles exceptions in command.
I am the CEO of RIGANTI, a small software development company located in Prague, Czech Republic.
I am Microsoft Most Valuable Professional and the founder of DotVVM project.