Skip to content

ILSpy 9.0 Preview 3

Latest
Compare
Choose a tag to compare
@christophwille christophwille released this 10 Nov 18:18
· 28 commits to master since this release

ILSpy 9.x is based on .NET 8.0. All artifacts except the self-contained distribution are built framework-dependent, which means .NET 8.0 must be installed prior to starting ILSpy.

Breaking Changes in ICSharpCode.Decompiler

  • Remove IsRef, IsOut and IsIn flags from IParameter
  • Replace ParameterModifiers with ReferenceKind.

New Language Features

  • Update pattern detection to Roslyn 4.11.0
  • Support types that provide DisposeAsync without implementing IAsyncDisposable.
  • Add support for C# 12 primary constructors.
  • Add support for C# 12 'ref readonly' parameters

Contributions

Enhancements

  • Allow running tests on ARM64 (see #3231)
  • Alow collecting analyzers annotated with ExportAnalyzerAttribute (see #3239)
  • Fix #3237: Use ref readonly locals for readonly.ldelema
  • Fix #3001: Support new resources format in ResourcesFile/ResXResourceWriter
  • Fix #3134: Include newobj, initobj and call instructions in TypeInstantiatedByAnalyzer
  • Fix #3089: Add comment regarding .constraint prefix expressed as cast in C#

Bug fixes

  • Fix #3209: Ensure using directives are added for extension methods in higher level patterns such as: foreach -> GetEnumerator(), collection initializer -> Add() and deconstruction -> Deconstruct().
  • Fix #3255: Ignore exceptions while decoding sequence point blobs.
  • Fix #2166: Unnecessary uint casts/conversions for certain bitwise operations
  • Fix #3310: Filter out copy-constructor only if it's an actual record type.

And many other fixes, for a full list click here.