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:
-
ValidationMessagecontrol was renamed to Validator and itsValidatedValueproperty is now justValuewhich is much more convenient to use. -
Validate.EnabledandValidate.Targetwas renamed toValidation.EnabledandValidation.Targetbecause it makes more sense. -
Instead of writing
ViewModelProtection(ViewModelProtectionSettings.SignData)we now writeProtect(ProtectMode.Sign). This is similar to theBind(Direction.ServerToClient). -
The
AddAttributesToRenderandRender...methods in DotVVM controls has a new signature - instead of theRequestContext contextparameter they now getIDotvvmRequestContext context. We decided to remove theRequestContextclass completely because it didn't contain anything important and only wrappedIDotvvmRequestContext. -
The
app.UseDotVVMmethod now requires a generic parameter which points to a class implementing theIDotvvmStartupinterface. In theConfiguremethod 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 theConfiguremethod 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
DotvvmRequestContextclass we had theRedirectmethod 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 intoRedirectToUrlandRedirectToRoutemethods which is more clear. The same applies to theRedirectPermanentmethod. Now we haveRedirectToUrlPermanentandRedirectToRoutePermanent.
- The
OnExceptionmethod 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.