Where we are heading


This page describes our vision of PostSharp for the next months. Note that date projections are nothing more than ballpark estimates.
Nothing in this page is legally binding. You should not rely on this roadmap for serious decision making.

To vote for features and propose new ideas, please go to our UserVoice site. See also our Support Policies.

PostSharp 5.0 (Q1 2017)

A preview of PostSharp 5.0 is already available.

This release will add new ready-made patterns and will support running .NET Core on Linux and Mac.

  • Support for .NET Core as a runtime platform (including ASP.NET Core).

  • Complete redesign of our Logging aspect, with the following features:

    • Fully customizable design, with ability to easily add custom back-ends.
    • Ability to assign the back-end at run-time.
    • Support for custom object formatters.
    • Support for .NET Framework, Windows Phone, WinRT, Xamarin, CoreCLR, Mono.
    • Support for back-ends: NLog, Log4Net, ETW, Common.Logging, Enterprise Library Semantic Logging, Serilog, Xamarin Insight, Application Insights, ASP.NET v5, System.Diagnostics.
    • Log method calls with arguments.
    • Log changes in fields or properties.
    • Log method execution time.
    • Warning when method execution time is high.
    • Exception logging preserves the call stack.
  • Caching:

    • Support for MemoryCache and Redis,
    • Declarative invalidation,
    • Distributed invalidation through pub/sub (Redis, Azure),
    • Dependencies,
    • Two-layer cache (Redis+MemoryCache).
  • MVVM aspects:

    • Command,
    • Dependency Property.
    • Event Aggregator,
    • Weak Event,
  • Miscellaneous:

    • Contracts - Ability to customize exception types,
    • Support for NuGet 3.
  • Async methods:

    • OnMethodBoundaryAspect: set return value and control flow, expose awaited Task,
    • MethodInterceptionAspect: full support for async methods (OnInvokeAsync).

PostSharp 5.1 (Q3 2017)

  • Diagnostics

    • Logging: bridges to redirect manual logging from other frameworks to PostSharp logging.
    • Performance and reliability metrics
    • Management API
  • "Enterprise" Patterns

    • Exception handling (circuit breaker, wait-and-retry, Polly integration)
    • Transaction scope
    • Memoize
    • Fault & latency injection
  • Aspect Multicasting Revamping: new object-oriented XML format for filters and eligibility custom attributes (instead of MulticastAttributeUsage).

  • Async aspects: allow async OnMethodBoundaryAspect before async MethodInterceptionAspect.

PostSharp 6.0

In this release, we plan to implement a new family of advices that have lower (almost zero) run-time performance impact.

What about UWP, Mono and build-time support for .NET Core?

Due to the lack of significant commercial usage of PostSharp for Xamarin, Windows Phone and WinRT in the last years, we decided to postpone the implementation of other platforms. If you are interested in these platforms, please contact us so we can chat about your scenario.