I’m compiling information for our next Adelaide .NET User Group meetup which is focusing on the launch of .NET 6 and Visual Studio 2022.

.NET 6 is the final area in this series. It encompasses changes to both the runtime and base class libraries. There is a lot going on here, so do let me know if I’ve missed something.

Preview 1

More details in https://github.com/dotnet/core/issues/5853

ARM64

  • On Windows, we’re adding support for Windows Forms and Windows Presentation Framework (WPF)

Theme

  • Improve startup and throughput using runtime execution information (PGO)

.NET CLI

  • Response files are now supported
  • Directives

Libraries

  • New math APIs
  • Improved support for Windows ACLs
  • Portable thread pool

Runtime

  • Support for Apple Silicon (M1 Arm64), .NET Rosetta 2 Emulation
  • Improving single file apps
  • Single-file signing on macOS
  • Crossgen2
  • Dynamic PGO
  • Arm64 performance
  • Hardware-accelerating structs

Preview 2

More details in https://github.com/dotnet/core/issues/5889

Theme

  • Improve .NET Inner Loop Performance
  • .NET has a great client app development experience

.NET Libraries

  • System.Text.JsonReferenceHandler.IgnoreCycles
  • PriorityQueue
  • Better parsing of standard numeric formats
  • SignalR – Nullable annotations

Runtime

  • Framework Assemblies are compiled with Crossgen2
  • Profile guided optimization
  • JIT improvements

Preview 3

More details in https://github.com/dotnet/core/issues/5890

Libraries

  • Faster handling of structs as Dictionary values
  • Faster interface checking and casting

Runtime

  • Codegen

Tools

  • Initial .NET Hot Reload support now available for web apps

Preview 4

More details in https://github.com/dotnet/core/issues/6098

Tools

  • Hot Reload with the Visual Studio debugger and dotnet CLI

Libraries

  • System.Text.Json support for IAsyncEnumerable
  • System.Text.Json Writeable DOM Feature
  • Microsoft.Extensions.Logging compile-time source generator
  • System.Linq enhancements
  • Significantly improved FileStream performance on Windows
  • Enhanced Date, Time and Time Zone support

Runtime

  • CodeGen

.NET Diagnostics

  • EventPipe for Mono and Improved EventPipe Performance
  • IL trimming
  • Single-file publishing

CLI install of .NET 6 SDK Optional Workloads

Preview 5

More details in https://github.com/dotnet/core/issues/6099

.NET SDK

  • Optional Workload improvements
  • NuGet Package Validation
  • more Roslyn Analyzers
  • Enable custom guards for Platform Compatibility Analyzer

Windows Forms

More detail in separate post

  • default font
  • More runtime designers

Libraries

  • Dropping support for older frameworks
  • Microsoft.Extensions
  • JsonSerializer Source generation
  • WebSocket Compression
  • Socks proxy support
  • Support for OpenTelemetry Metrics
  • Vector<T> now supports nint and nuint
  • Support for OpenSSL 3
  • Add support ChaCha20/Poly1305 cryptography algorithm

Interop

  • Objective-C interoperability support

Diagnostics

  • (EventPipe/DiagnosticsServer) – MonoVM

Runtime

  • CodeGen

Preview 6

More details in https://github.com/dotnet/core/issues/6325

x64 emulation update

Tools

  • .NET SDK Optional Workload improvements
  • Crossgen2 replaces crossgen

Libraries

  • TLS support for System.DirectoryServices.Protocols
  • Improved sync-over-async performance

Runtime

  • W^X memory policy
  • CodeGen

Preview 7

More details in https://github.com/dotnet/core/issues/6444

.NET SDK

  • C# project templates modernized

Libraries

  • Reflection APIs for nullability information
  • ZipFile Respects Unix File Permissions
  • NativeMemory APIs
  • System.Text.Json serialization notifications
  • System.Text.Json serialization property ordering
  • “write raw” JSON with System.Text.Json.Utf8JsonWriter
  • Synchronous stream overloads on JsonSerializer
  • System.Text.Json.Nodes.JsonNode support for dynamic is removed
  • System.Diagnostics Propagators
  • Simplified call patterns for cryptographic operations
  • Full Case Mapping Support in Globalization Invariant Mode

Runtime

  • W^X (write xor execute) support for all platforms and architectures
  • CodeGen

Early .NET 7 Feature Preview

  • Generic Math

Release Candidate 1

More details in https://github.com/dotnet/core/issues/6569

  • Source build
  • Profile-guided optimization (PGO)
  • Dynamic PGO
  • Crossgen2
  • Security mitigations
  • HTTP/3
  • SDK workloads

Release Candidate 2

More details in https://github.com/dotnet/core/issues/6570

  • C# 10
  • .NET SDK: C# project templates modernized
  • macOS and Windows Arm64 Update

Focussed posts

In addition the following posts were made: