github icsharpcode/ILSpy v11.0-rc
ILSpy 11.0 Release Candidate

4 hours ago

This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.

Note for Mac users: see https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-the-macos-artifact because the ILSpy.app is neither signed nor notarized.

New Features

  • PR #3936: Add "Open from running process" dialog
  • PR #3951: Add --dump-table metadata dump mode to ilspycmd
  • PR #3924: ilspycmd: add --member for single-member decompilation

User Interface

  • PR #3932: Metadata row details: full-width layout and a decompiler-styled editor for text blobs
  • PR #3927: Fix #2879: show stored FieldList/MethodList values for memberless types
  • PR #3922: Fix #749: toggle a member's fold together with its documentation
  • PR #3923: Fix #781: click highlights member references, Ctrl+Click navigates
  • PR #3918: Fix #633: Overrides analysis and this/base keyword navigation
  • PR #3906: Show hover tooltips for dynamic member accesses

Enhancements

  • PR #3933: Convert float/double += 1 into increment and decrement expressions
  • PR #3926: Generate and resolve xml doc ID strings at the metadata level
  • PR #3917: Represent VB.NET parameterized properties as accessor methods in C# output
  • PR #3899: Don't undo the compiler's &&-to-& optimization
  • PR #3889: Reimplement cross-platform single-instance handling
  • PR #3904: Proper event tracing for ICSharpCode.Decompiler and ICSharpCode.ILSpyX
  • PR #3902: Beautify enum declarations by referencing previously declared members

Testing / Infrastructure

  • PR #3943: Do not pass /shared to compilers that cannot reach a compiler server
  • PR #3941: Skip redundant push builds for branches with an open PR
  • PR #3928: Add pretty test for C# 13 ref struct interfaces / allows ref struct
  • PR #3919: Preserve Debug Steps tree state across filter sessions
  • PR #3914: Support Roslyn 1.x/2.x compiler configurations in tests on non-Windows
  • PR #3915: Revive TypeInferenceTests from NRefactory and cover the C# standard inference rules
  • PR #3912: Revive NRefactory conversion tests and cover all of C# standard chapter 10
  • PR #3907: Generate version-info files with CRLF on all platforms

Contributions

  • PR #3903: Provide a WholeProjectDecompiler constructor with no default parameter values — @ds5678, thank you!
  • PR #3934: Publicize IProjectFileWriter implementations — @ds5678, thank you!
  • PR #3910: Fix #3909: emit nullable override disambiguators — @sailro, thank you!
  • PR #3911: Fix #3908: use the async iterator element type for yield — @sailro, thank you!
  • PR #3896: Fix #3895: keep byref-like ToString in string concatenation — @sailro, thank you!
  • PR #3893: Fix #3892: preserve unsafe for pointer constructors — @sailro, thank you!

Bug Fixes

  • PR #3949: Fix #3803: Crash on nested deconstruction of custom structs
  • PR #3947: Fix #3230: do not emit base-list interfaces the base list cannot name
  • PR #3948: Fix #3652: Apostrophe in identifiers must not start a char literal
  • PR #3929: Fix #2032: avoid propagating mutated SROA fields
  • PR #3942: Fix #3938: nested-type members must not inherit ExtensionInfo
  • PR #3916: Fix #1603: recognize foreach over enumerators that cannot be disposable
  • PR #3905: Fix #1638: identify renamed yield state machine members via method impls
  • PR #3898: Fix #3891: don't reduce nesting when there is no else block
  • PR #3886: Fix #3858: Detect automatic events on the ILAst instead of the C# AST

Don't miss a new ILSpy release

NewReleases is sending notifications on new releases.