PostSharp 6.0 is the biggest refactoring since the 2.0 version released in July 2010. For a good cause: PostSharp 6.0 now runs natively in .NET Core 2.0. Previous versions of PostSharp executed only under .NET Framework at build time and the support for .NET Core was achieved by using a load of hacks that ended up being unmaintainable, warranting this big refactoring.
Let’s have a look at the new features of PostSharp 6.0 :
- Support for .NET Core 2.0-2.1 and .NET Standard 2.0.
- Support for Portable PDB.
- Support for C# 7.2.
- Ending the PostSharp versioning hell side-by-side: backward compatibility within the same major version.
- Logging: robustness to faults in the logging subsystem.
- Logging: no need to initialize before the first logged method is hit.
- Caching: preventing concurrent execution (locking).
- Visual Studio tooling: support for the new CPS-based project systems.
- GDPR compliance: we no longer collect your name and email for trial, nor use unsecure HTTP, nor use non-resettable user id hashes.
For a detailed description of all new features, see What’s New in PostSharp 6.0 in the reference documentation.
Additionally, we have updated our Support and Lifecycle Policies to put them in line with the modern Microsoft policies. We also updated our list of Supported Platforms and removed support for Visual Studio 2012 and old operating systems.
As the RC maturity level means all known bugs have been fixed, it’s a good time for you to try to update your projects to PostSharp 6.0, commit the changes in a separate branch, and report any issue you may encounter.