Dotfuscator 6.0 Beta: Entering the Next Era of Dotfuscator

Dotfuscator 6.0 is now available, with cross-platform support and more!

Today we’re announcing the first new major-version release of Dotfuscator in thirteen years: Dotfuscator Professional 6.0 Beta. It’s an exciting new release with major new capabilities, but before we get into that, let’s take a look at why it’s been so long since we had a major release and why we’re choosing to do one now.

For development teams, adding Dotfuscator to a build pipeline can often seem like a challenge; the value it adds is mostly gained by the surrounding business, and the cost of adding it is mostly borne by the development team. We understand that constraint, which is why we focus on making Dotfuscator as easy to integrate and maintain as possible. If you’re a long-time user of Dotfuscator, you’ve probably experienced that – release after release of painless upgrades. That’s our “first do no harm” philosophy in action.

Dotfuscator has been on version 4.x since 2007. We’ve managed to avoid major breaking changes that entire time, even while adding major new features, support for new .NET versions like 4.0 and 4.5, and support for Visual Studio versions from 2010 to 2019.

Now, though, with the clear direction from Microsoft that .NET Core is the future, plus the growing popularity of Xamarin and non-Windows development environments, and the ongoing evolution of IDEs and build environments, it’s time for Dotfuscator to fully embrace modern development platforms so that we can continue to provide painless integration and painless upgrades, far into the future.

To that end, we’re proud to announce Dotfuscator Professional 6.0 Beta with cross-platform support for building under .NET Core and Mono, on Windows, Mac, and Linux. While Dotfuscator has long had support for processing apps that target Mono or (more recently) .NET Core, this is the first release where Dotfuscator’s build components can run under .NET Core 3 or Mono on Windows, Mac, and Linux. For example, Dotfuscator can now run under the dotnet command line, or from Visual Studio for Mac, or on an Azure DevOps Services or Visual Studio App Center Mac-based Xamarin build for iOS or Android.

Note that running on the .NET Framework is, and will continue to be, fully supported. The new .NET Core and Mono support is an addition to our .NET Framework support.

With this release, we’re also taking the opportunity to remove some long-deprecated features that are tied to the historical architecture of the .NET platform. The biggest of these changes is the removal of the Visual Studio integrated UI (i.e. .dotfuproj projects) in favor of our MSBuild Targets (which now have cross-platform support!). We introduced the new MSBuild Targets in 2018 and they have been a clear improvement for our users – they make it easier to start using Dotfuscator, easier to integrate it into the build, and easier to maintain the integration. If you are using the Visual Studio integrated UI, now is the time to migrate your project.

This release is our first step into a new era for Dotfuscator: no longer tied to the “Visual Studio on Windows” paradigm of historical .NET, more flexible to fit a multitude of build scenarios, and still exceptionally easy to start using, integrate into a build, and maintain across upgrades – regardless of your .NET platform.

With that said, this is a Beta release, so you should carefully read the Beta Release Notes before upgrading. They provide more detail about the new platform support and a summary of the features that have been removed. That page also provides links to all the other resources you’ll need to learn more about this release.

This Beta is a supported release for licensed users, within the limitations described on the Release Notes page. You are welcome to upgrade your production systems to use it, and you should expect the same high level of protection and runtime reliability as any other Dotfuscator release. Not all features are complete, however, and there are known issues. Upgrading to the final 6.0 release might also require manually removing the Beta before installing 6.0.

As always – but especially with this Beta – we encourage you to send us your feedback. We want to hear what works and doesn’t work for you with this release. Please download Dotfuscator and let us know what you think!