Announcing DotVVM 2.2

Published: 4/23/2019 9:04:28 AM

We are thrilled to reach a new milestone – the release of DotVVM 2.2. It introduce several new features, some performance improvements and bug fixes.

New Features

Based on the feedback from Business Pack and DotVVM Dynamic Data, we have added a cache for binding expressions in the framework. Some controls need to generate a binding expressions at the runtime (from string for example), and this operation is time consuming – the expression must be parsed, validated and compiled. This cache allows to reuse bindings that have already been compiled except of compiling them again and again.

We have improved the API of the CreateValidationResult method – it doesn’t require the DotvvmConfiguration argument so it’s easier to use.

If you have hosted your DotVVM applications in the iframe, they might have been vulnerable to click-jacking. Recently, browsers added support for same site cookies, so we have turned this feature on for the CSRF cookie used by DotVVM.

The EnforceClientFormat attribute is now turned on by default. This attribute makes sure that the value in the control can be parsed. For example, if you use TextBox and bind to int? or DateTime? properties, this attribute creates a validation error if the value was invalid. Without the validation, there would be null in the viewmodel. We believe the new behavior is much more reasonable – without this attribute, it would be easy to lose data if the user makes a typo.

Fixes

In some cases, DotVVM generated unique control IDs so it can identify where exactly the postback came from. There was an issue in some combinations of nested Repeaters or in tree-like structures and the ID wasn’t generated properly or at all. We have changed the mechanism so it works reliable.

We have also fixed an issue with OWIN projects referencing Microsoft.Extensions.DependencyInjection higher than 2.0.0 – there was an issue when Context.Redirect was called.

You can find the complete list of changes in the Release notes.


Bootstrap for DotVVM 2.2 and Preview 7 of DotVVM Business Pack

We have also released new versions of Bootstrap for DotVVM with support of DotVVM 2.2.

The DotVVM Business Pack is now very close to the final release. We have published the Preview 7 which is hopefully the last one before the final release.


Support for Visual Studio 2019

We have released new versions of DotVVM for Visual Studio with project templates updated to the latest version.

Tomáš Herceg

I am the CEO of RIGANTI, small software development company located in Prague, Czech Republic.

I am a Microsoft Regional Director and Microsoft Most Valuable Professional.

I am the author of DotVVM, an open source .NET-based web framework which lets you build Line-of-Business applications easily and without writing thousands lines of Javascript code.