Skip to content

Bump ICSharpCode.Decompiler from 9.1.0.7988 to 11.0.0.9375 - #11120

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/main/ICSharpCode.Decompiler-11.0.0.9375
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/main/ICSharpCode.Decompiler-11.0.0.9375

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor

Pinned ICSharpCode.Decompiler at 11.0.0.9375.

Release notes

Sourced from ICSharpCode.Decompiler's releases.

11.0

The major news item of this release cycle is us porting ILSpy from WPF to Avalonia. With this port, ILSpy is now available on Linux and Mac in addition to Windows. Do note that there is no longer a WPF frontend, it was entirely removed in favor of the new Avalonia one.

Aside from this already major UI work, a few other long-standing UI features from our wish list made it into ILSpy:

  • File / Open from NuGet feed
  • File / Open from running process (all platforms!)
  • Window / Bookmarks (full-featured bookmarks implementation for the decompiled C# view)
  • View / Options / Display / Show Omnibar (breadcrumb/search bar feature at the top of decompiled code)

A second focus area was improving the ilspycmd story for agentic development. Download numbers for our dotnet tool took off in the last quarter of 2025, and agents like Claude are the reason for that (downloads are now exceeding 70k/week). Given we are using Claude as well, we found a few areas lacking that needed improvement, especially to save on token spend:

  • PR #​3924: ilspycmd: add --member for single-member decompilation
  • PR #​3801: Fix #​3797: resolve ilspycmd -t type names with fuzzy matching
  • PR #​3951: Add --dump-table metadata dump mode to ilspycmd

Together with list/extract embedded resources, decompile BAML to XAML which shipped in 10.1, we now have a good set of optimized options for the most common scenarios in skills and tool calling available for you.

A part of this initiative was hardening:

  • PR #​3843: Bound XamarinCompressedFileLoader against crafted XALZ headers
  • PR #​3842: Bound WebCilFile section access against mapped-view length
  • PR #​3841: Harden BAML reader against crafted-resource crashes
  • PR #​3840: Bound .rsrc resource-tree parsing against crafted input
  • PR #​3838: Guard against OOB read when bundle signature is at file start

The third pillar of this release is fixing long-standing annoyances and in general investing in tech debt, eg fuzzing our decompiler engine with NuGet packages. A lot (!) of the changes detailled in the release notes for preview 1 and rc deal with exactly those many small to big improvements.

Finally, we'd like to point out one retirement: the VS2017/2019 add-in has been removed, we continue to support VS2022-2026.

What is new since RC?

  • PR #​3976: Fix #​3451: qualify an explicit implementation as the type implements it
  • PR #​3971: Fix #​3510: keep exporting a project when a member cannot be decompiled
  • PR #​3969: Keep null-conditional LINQ chains in method syntax — @​sailro, thank you!
  • PR #​3970: Generate DecompilerSettings boilerplate from [DecompilerSetting] attributes
  • PR #​3967: Keep ref-returning switches as statements — @​sailro, thank you!
  • PR #​3950: Reconstruct nested deconstruction designations
  • PR #​3956: Fix #​3952: decompile VB.NET anonymous types and queries to valid C#
  • PR #​3959: Fix overflow approximating fractions of large negative constants
  • PR #​3960: Fix overflow computing the element count of a multi-dim array initializer
  • PR #​3961: Recognize a protected copy constructor on a sealed record
  • PR #​3958: Fix crash decompiling reference assemblies with stripped method bodies
  • PR #​3955: Fix #​3954: name the entry point of a top-level program 'Main'

For a full list of changes click here.

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.

11.0-rc

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

... (truncated)

11.0-preview1

[!WARNING]
We DO NOT own the domain ilspy[.]org See #​3709
Download ILSpy only from GitHub Releases!

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.

Avalonia Cross Platform Port

  • PR #​3755: Avalonia 12 Port and Removal of the WPF UI
  • PR #​3759: Metadata explorer cleanup, flags-filter fixes, and WPF row-details parity
  • PR #​3766: Round-trip the legacy WPF SessionSettings shape
  • PR #​3768: Build, test, and package ILSpy on Linux and macOS in CI
  • PR #​3861: Show text-based resources inline with syntax highlighting
  • PR #​3875: Avalonia 12.1
  • PR #​3876: Keep BAML decompilation working when WPF assemblies are missing

New Features

  • PR #​3847: Unpack !AvaloniaResources into per-file resource tree nodes
  • PR #​3801: Fix #​3797: resolve ilspycmd -t type names with fuzzy matching
  • PR #​3789: Add a bookmarks feature for the decompiled C# view
  • PR #​3786: Add omnibar breadcrumb and search bar above the decompiled code
  • PR #​3769: Make the override modifier a link to the overridden member
  • PR #​3762: Add Open from NuGet feed dialog for browsing and opening packages

User Interface

  • PR #​3857: Fix #​2078: Generic local functions not highlighted properly
  • PR #​3855: Fix #​3845: Add option to expand XML documentation comments
  • PR #​3814: Toggle the fold under the right-click, not at the caret
  • PR #​3812: Syntax-colour analyzer signatures with bold type names (#​2164)

Enhancements

  • PR #​3872: Decompile await on dynamic expressions
  • PR #​3837: Fix #​3804: decompile foreach over inline array
  • PR #​3791: Fix #​3777: decompile runtime async without a separate C# 15 setting
  • PR #​3843: Bound XamarinCompressedFileLoader against crafted XALZ headers
  • PR #​3842: Bound WebCilFile section access against mapped-view length
  • PR #​3841: Harden BAML reader against crafted-resource crashes
  • PR #​3816: Allow overriding an assembly's target framework for reference resolution
  • PR #​3840: Bound .rsrc resource-tree parsing against crafted input
  • PR #​3838: Guard against OOB read when bundle signature is at file start
  • PR #​3818: Display the IL 'tail.' prefix in C# output
  • PR #​3808: Migrate the VS extension to an SDK-style VSIX (dotnet build) and retire the VS2017/2019 add-in
  • PR #​3802: Fix #​3799 and three related stackalloc initializer decompilation defects
  • PR #​3780: Compute public-key tokens with a managed SHA-1
    ... (truncated)

10.1.1

[!WARNING]
We DO NOT own the domain ilspy[.]org See #​3709
Download ILSpy only from GitHub Releases!

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

Bug Fixes

  • Fix: Stop the assembly list from disposing removed assemblies

10.1

[!WARNING]
We DO NOT own the domain ilspy[.]org See #​3709
Download ILSpy only from GitHub Releases!

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

New Language Features

Enhancements

  • #​3730: List/extract embedded resources, decompile BAML to XAML in ilspycmd. This was added to address existing workarounds for decompilation skills.
  • #​3732: Reduce build warnings: lift IDisposable, fix CS9336 precedence bug, dispose evicted assemblies

Bug fixes

  • Fix #​3734: Search pane flickers when navigating to search result in large assembly
  • Fix #​3705: Code window is empty when select a .baml and refresh

For a full list of changes click here.

10.0.1

[!WARNING]
We DO NOT own the domain ilspy[.]org See #​3709
Download ILSpy only from GitHub Releases!

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

Bug fixes

  • Fix #​3723: InvalidCastException when navigating to Metadata -> Tables -> 00 Module node
  • Fix #​3718: Incorrect current line, when click on ResolutionScope link in 01 TypeRef table
  • Fix #​3711: InvalidCastException when "Loading..." node is selected
  • Fix #​3703: Primary constructor is public

Enhancements

  • #​3715: Add CompilerOptions.UseRoslyn4_14_0
  • #​3713: Use releaseTag with fallback to downloadUrl in updates.xml
  • #​3695: .NET 11 for Tests

For a full list of changes click here.

10.0

[!WARNING]
We DO NOT own the domain ilspy dot org See #​3709
Download ILSpy only from GitHub Releases!

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

New Language Features

  • C# 13: allows ref struct constraint
  • C# 14: extension members
  • #​3467: C# 12 InlineArrays
  • Update pattern detection to Roslyn 5.0 RTM
  • #​3500: Added .NET 10 as test target

User Interface

  • Dedicated UI and Decompiler APIs for C# 14 extensions #​3680
  • Navigate visible history (see #​3591 by @​miloush)
  • Removed translations (see #​3648)
  • #​3521: Add API to set an initially highlighted entity after navigation
  • Improve WordBreak in CustomDialog (see #​3535 by @​CreateAndInject)
  • Use AssemblyWarning when AssemblyReference load faulted (see #​3013 by @​workgroupengineering)
  • Refactoring of EntityToString API (see #​3635)

Enhancements

  • CSharpConversions: General improvements, fixing various missing rules for C# up to version 9.
  • #​3344: Support ckfinite IL opcode in decompiler
  • #​3563: Disassembler: Add support for ildasm /caverbal format
  • Detection of records and primary constructors: various bugfixes and improvements. (Special thanks to @​sonyps5201314 and @​mmusu3)
  • #​3519: Add API diff feature. Please see the PR for how this feature works.
  • #​3494: Add dynamic ILSpy settings options to ILSpyCmd
  • #​3489: Make WholeProjectDecompiler.CreateDecompiler protected virtual to make the decompilation pipeline extensible.

Contributions

  • Allow extracting multiple package entries (see #​3508 by @​CreateAndInject)
  • Render operating system name as well as architecture if present (see #​3653 by @​MatthewSteeples)
  • Improve decompilation of unmanaged function pointers (see #​3620 by @​ds5678)
  • Improve decompilation of pre-increment operators (see #​3472 by @​ds5678)
  • Support batch PDB generation (see #​3619 by @​sonyps5201314)
  • TargetFramework and TargetServices APIs are now public (see #​3501 by @​nikitalita)
  • Allow creating a MetadataFile with a MetadataReader / MetadataStringDecoder (see #​3487 by @​lordmilko)
  • Add configuration option to check for overflow and underflow (see #​3484 by @​ds5678)
  • Support disassembling single file bundle for ILSpy (see #​3398 by @​cshung)
  • Refactor for cross platform port (see #​3641by @​lextm)
  • Fix in erroneously being applied to this (see #​3682 by @​nikitalita)
  • Update TransformCollectionAndObjectInitializers to check for init-only properties (see #​3678 by @​nikitalita)
  • Fix PowerShell PostBuild failing when solution path contains spaces (see #​3669 by @​Myself-Bloons)
  • Replace FileVersionInfo.GetVersionInfo with DecompilerVersionInfo.Version constant (see #​3667 by @​MattParkerDev)
  • Support allows ref struct constraint (see #​3537 by @​jjonescz)
  • Allow passing an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler (see #​3529 by @​lordmilko)
  • Add DecompilerSettings.ExpandParamsArguments (see #​3534 by @​MSchmoecker)
  • Add DecompilerSettings.AlwaysMoveInitializer: Always move initializer from static constructor to field initializer (see #​3540 by @​miloush)
    ... (truncated)

10.0-preview3

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

Enhancements

  • Dedicated UI and Decompiler APIs for C# 14 extensions #​3680

Contributions

  • Fix in erroneously being applied to this (see #​3682 by @​nikitalita)
  • Update TransformCollectionAndObjectInitializers to check for init-only properties (see #​3678 by @​nikitalita)
  • Fix PowerShell PostBuild failing when solution path contains spaces (see #​3669 by @​Myself-Bloons)
  • Replace FileVersionInfo.GetVersionInfo with DecompilerVersionInfo.Version constant (see #​3667 by @​MattParkerDev)
  • Render operating system name as well as architecture if present (see #​3653 by @​MatthewSteeples)
  • Refactor for cross platform port (see #​3641by @​lextm)

Bug Fixes

  • Fix #​3655: ExtractPackageEntryContextMenuEntry
  • Fix #​3684: Hide compiler-generated base-class forwarding accessor methods
  • Fix #​3674: Incorrect derived types shown, when generic type inherit from non-generic type with the same name.
  • Fix #​3671: TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization.

For a full list of changes click here.

10.0-preview2

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

New Language Features

  • Update pattern detection to Roslyn 5.0 RTM
  • C# 13: allows ref struct constraint
  • C# 14: extension members

Enhancements

  • CSharpConversions: General improvements, fixing various missing rules for C# up to version 9.
  • #​3344: Support ckfinite IL opcode in decompiler
  • #​3563: Disassembler: Add support for ildasm /caverbal format
  • Detection of records and primary constructors: various bugfixes and improvements. (Special thanks to @​sonyps5201314 and @​mmusu3)

User Interface

  • #​3521: Add API to set an initially highlighted entity after navigation
  • Navigate visible history (see #​3591 by @​miloush)
  • Improve WordBreak in CustomDialog (see #​3535 by @​CreateAndInject)
  • Use AssemblyWarning when AssemblyReference load faulted (see #​3013 by @​workgroupengineering)
  • Refactoring of EntityToString API (see #​3635)
  • Removed translations (see #​3648)

Contributions

  • Allow extracting multiple package entries (see #​3508 by @​CreateAndInject)
  • Support allows ref struct constraint (see #​3537 by @​jjonescz)
  • Allow passing an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler (see #​3529 by @​lordmilko)
  • Add DecompilerSettings.ExpandParamsArguments (see #​3534 by @​MSchmoecker)
  • Add DecompilerSettings.AlwaysMoveInitializer: Always move initializer from static constructor to field initializer (see #​3540 by @​miloush)
  • Improve decompilation of unmanaged function pointers (see #​3620 by @​ds5678)
  • Improve decompilation of pre-increment operators (see #​3472 by @​ds5678)
  • Fix #​3462: Scrolling with scroll wheel breaks after using file search (see #​3538 by @​tom-englert)
  • Support batch PDB generation (see #​3619 by @​sonyps5201314)
  • Fixes for primary constructors (see #​3614 by @​mmusu3)
  • Improve inlining of boxed values (see #​3587 by @​ds5678)
  • List name first in ILSpy title for multiple instances (see #​3589 by @​miloush)
  • Improve Framework Id detection (see #​3581 by @​ds5678)
  • Enable detection of .NET version without TargetFrameworkAttribute (see #​3580 by @​ds5678)
  • Do not create object initializers for tuples (see #​3579 by @​ds5678)
  • Fix lower case type name conflicting with variable name (see #​3572 by @​ds5678)
  • Fix regression in decompiling local functions with default parameters (see #​3560 by @​ds5678)
  • Copy-propagate the stack slot for collection initializers (see #​3554 by @​ds5678)
  • Normalize UTF-8 BOM Marks and ps1 Indention (see #​3546 by @​petercrabtree)
  • Minor Dev Environment Fixes (.editorconfig cleanup, typo fix, .gitignore tweak) (see #​3544 by @​petercrabtree)
  • Replace GeneratePdbForAssembly with GeneratePdbForAssemblies to improve user experience and remove redundant code. (see #​3630 by @​sonyps5201314)
  • Fix the issue where PDBs generated by ILSpy do not match (see #​3629 by @​sonyps5201314)
  • Do not use ObservableObject when ObservableObjectBase is sufficient. (see #​3644 by @​tom-englert)

API Clean-up

  • Removed legacy UnresolvedUsingScope
  • Renamed ResolvedUsingScope to UsingScope
  • Removed legacy ToTypeReference
    ... (truncated)

10.0-preview1

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

New Language Features

  • #​3467: C# 12 InlineArrays
  • #​3500: Added .NET 10 as test target
  • #​3500: Added minimal language feature support to successfully detect new code patterns used in .NET 10

Enhancements

  • #​3519: Add API diff feature. Please see the PR for how this feature works, and in the collapsed region at the end of the release notes how such an API diff report could look like (full file is attached to release as ICSharpCode.Decompiler9.1to10Preview1Changes_ApiDiff.md).
  • #​3494: Add dynamic ILSpy settings options to ILSpyCmd
  • #​3489: Make WholeProjectDecompiler.CreateDecompiler protected virtual to make the decompilation pipeline extensible.

Contributions

  • Add configuration option to check for overflow and underflow (see #​3484 by @​ds5678)
  • Allow creating a MetadataFile with a MetadataReader / MetadataStringDecoder (see #​3487 by @​lordmilko)
  • Add an option to not transform Activator.CreateInstance<T>() to new T() (see #​3497 by @​DoctorKrolic)
  • TargetFramework and TargetServices APIs are now public (see #​3501 by @​nikitalita)
  • Support disassembling single file bundle for ILSpy (see #​3398 by @​cshung)
  • Fix stack overflow exception in CSharpResolver (see #​3471 by @​ds5678)
  • Handle explicit optional parameter after default parameter (see #​3470 by @​ds5678)
  • Fix disassembler output, correcting flag(NUM) to flags(NUM) (see #​3473 by @​hez2010)
  • Fix null reference exception when writing resource files (see #​3474 by @​ds5678)
  • Fix SDK-style (modern) inter-project references (see #​3502 by @​petercrabtree)
  • Fix incorrect method match for static methods with instance signature (see #​3504 by @​MSchmoecker)

Performance

  • #​3486: Remove XML serialization from DecompilerSettings in ILSpy

Bug fixes

  • Fix #​3464: Missing cast in interpolated string
  • Fix #​3482: Drag and Drop is no longer working in the Assemblies tree view.
  • Fix #​3492: Do not crash, if field used by RuntimeHelpers.InitializeArray is malformed.

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

ICSharpCode.Decompiler Assembly Changes (API diff)

Changed Types

ICSharpCode.Decompiler.DecompilerSettings

Member Type Operation
Clone() : DecompilerSettings Method Removed
ParamsCollections : bool Property Added
UseObjectCreationOfGenericTypeParameter : bool Property Added
InlineArrays : bool Property Added
CheckForOverflowUnderflow : bool Property Added
Clone() : DecompilerSettings Method Added

... (truncated)

Commits viewable in compare view.

@dependabot dependabot Bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Aug 18, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) August 18, 2026 08:25
---
updated-dependencies:
- dependency-name: ICSharpCode.Decompiler
  dependency-version: 11.0.0.9375
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/nuget/main/ICSharpCode.Decompiler-11.0.0.9375 branch from b38dec3 to f791f1f Compare August 25, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants