Skip to content

Feature Release

Compare
Choose a tag to compare
@michael-damatov michael-damatov released this 20 Feb 23:02
· 570 commits to master since this release

New Features

  • Automatic injection of ReSharper annotations for nullable reference types, thus enabling ReSharper to take advantage of the language annotations:
    • Automatic injection of [NotNull], [CanBeNull], [ItemNotNull], [ItemCanBeNull] annotations into the solution code (if nullable annotation context is enabled).
    • Automatic injection of [NotNull], [CanBeNull] annotations into the referenced libraries (if they were built with enabled nullable annotation context).
    • Partial support for system attributes (like [AllowNull], [MaybeNull], etc.).
  • Analyzes whether the if statement can be replaced with the null-coalescing assignment.

Improved

  • Analyzer for exceptions thrown from unexpected locations now supports IAsyncDisposable.
  • Analyzers for "unchatchable exceptions".
  • Analyzers for "unthrowable exceptions".
  • Analyzer for ReSharper annotations.
  • Analyzer for array initializers with default values.
  • Context action "add ConfigureAwait(false)" now supports await foreach and await using statements.
  • Context action "annotate with [LinqTunnel]" now supports IAsyncEnumerable.
  • Context action "annotate with [InstanceHandle]" now supports IAsyncEnumerable.

Fixed

  • The "redundant await" analyzer does not suggest to remove "async/await" when using var scope is detected