Skip to content

Releases: icsharpcode/ILSpy

ILSpy 6.0 Preview 2

08 Jan 09:56
72b9cdc

Choose a tag to compare

ILSpy 6.0 Preview 2 Pre-release
Pre-release

UI Improvements

New Language Features

  • Support for generic and static local functions
  • C# 7.3 pattern-based fixed statement

Enhancements

  • Support VB Select Case on string
  • Analyzer follow type forwarders (#1846 by @yyjdelete)

Bug fixes

  • Display System.Void as struct (#1835 by @yyjdelete)
  • Properly decompile auto events with tuples
  • Do not change accessibility of non-transformed local functions
  • Improve drag&drop support (#1860)
  • Fix bug in stackalloc initializer detection involving Span<decimal> (see #1855 by @yyjdelete)
  • Fix DotNetCorePathFinder to properly support netstandard2.1

dotnet ilspycmd Tool

  • New option: usepdb (for improved variable naming)
  • Breaking change: option debuginfo renamed to genpdb

ILSpy 6.0 Preview 1

02 Dec 13:22

Choose a tag to compare

ILSpy 6.0 Preview 1 Pre-release
Pre-release

BREAKING CHANGES / IN DEVELOPMENT

  • The main new UI feature is a multi-tab docking interface. Please put it to the test and report bugs!
  • ILSpy 6.0 will require at least .NET 4.7.2 (v5.0 required .NET 4.6.2)

New Language Features

New Features

Decompiler Engine Improvements & Bugfixes

  • Added struct constructor initializer pattern
  • DotNetCorePathFinder: Various bug fixes when working with .net core assemblies
  • Transform post-increment on float/double (#1769 thanks to @Chicken-Bones)
  • Fix extra minus sign when formatting -0 on .NET Core 3.0 (#1790 thanks to @Chicken-Bones)
  • Fix sealed modifier on interface methods with no body (#1792 thanks to @Chicken-Bones)
  • Fix NullReferenceException when foreach decompilation is turned off (#1754 thanks to @davidwengier)
  • Fixed performance problem when using an assembly from a MemoryStream (#1763 thanks to @yyjdelete)

UI Improvements

  • New icons (based on VS 2017 icon pack) (#1704 thanks to @Rpinski)
  • Use XAML for icons (high DPI)
  • Docking and multi tab support (see #1725 and #1801)
  • RichText Tooltips (#1654)
  • Folding for XAML output (thanks to @jogibear9988)

dotnet ilspycmd Tool

  • #1740: Add LanguageVersion, RemoveDeadCode and RemoveDeadStores switches

ILSpy 5.0.2

02 Nov 16:59

Choose a tag to compare

This is a bug fix release.

  • Fix crash while resolving .NET core references
  • Respect language settings in display class transformation
  • Use specialized generic types if a specialized variable is captured
  • Stack overflow when decompiling a bool -> bool? conversion
  • Expand using declarations setting was not saved

ILSpy 5.0.1

07 Oct 07:03

Choose a tag to compare

This is a bug fix release.

  • VSIX: Fixes for reference assemblies, type navigation
  • PDBgen: Fix for sequence points generation
  • Add support for null propagation on array access: arr?[i]
  • Additional smaller fixes and improvements

ILSpy 5.0

19 Sep 17:03

Choose a tag to compare

ILSpy 5.0

New Language Features

New Features

  • Decompile a set of assemblies to a solution (#1550 by @dymanoid)
  • New BAML Decompiler
  • MSIX for Microsoft Store: @onovotny added build support (including Azure Pipelines).
  • Generate VS Windows Forms Designer-compliant code if a method is identified as Windows Forms InitializeComponent
  • Added new RemoveDeadStores option.
  • Added new AlwaysShowEnumMemberValues option.

Decompiler Engine Improvements & Bugfixes

  • Improved stability of decompiler and disassembler on invalid metadata tokens.
  • Improved decompilation in case not all types/references are available.
  • Added switch-on-string pattern for empty string case.
  • Add support for ReadOnlySpan<T> initialization pattern
  • Improved decompilation of ref readonly delegates and return types.
    • Improved decompilation of ref typed expressions, in particular ref/in extension methods and in parameters.
  • Improved support for Mono yield return state machines and closure types.
  • Improved decompilation of LINQ queries
  • PDB generator now can emit "method stepping information" for async #1422

Improvements & Bugfixes

  • Many minor bug and stability fixes.
  • Improved performance in ILInlining step
  • VSIX: Fix issue of missing dependencies

UI Improvements

  • Avoid blocking the UI when waiting on assembly load while restoring the saved position in the treeview
  • Support obfuscated names in treeview and search #1359
  • Escape non-printable characters in IL view
  • Rework C# decompiler options dialog (unify language settings panel)
  • Make indentation of decompiled code configurable.
  • Chinese translation by @maikebing (#1299) screenshots
  • Small improvements in search panel by @mcpiroman (#1476)
  • Show error message if an entity cannot be analyzed instead of crashing.
  • Improved linking in the decompiler view:
    • method group / delegate references
    • the constructor of an attribute is reachable, by clicking on the open/close parenthesis.
    • fixed fields are now properly linked
  • Added matching bracket highlighting
  • Updated to AvalonEdit 6.0 Preview

dotnet ilspycmd Tool

  • Add -d|-debuginfo option See Demo app
  • Add -r|-referencepath option

Architectural Changes

  • We dropped support for all TFMs except netstandard2.0 #1416
  • Reactivate many tests from old decompiler

Known issues & limitations

  • C# 8.0 nullable reference types metadata only supports the latest format. Note that this is a breaking change and assemblies generated by older preview versions of C# 8 are not supported. (See #1619 (comment))
  • Generic local functions are not yet supported (#1588)
  • "Open assembly from GAC" may require administrator privileges (#1498)
  • Matching bracket highlighting does not yet support all language features that introduce new syntax.

ILSpy 5.0 RC1

09 Sep 07:14

Choose a tag to compare

New Language Features

Improvements & Bugfixes

  • Added new RemoveDeadStores option.
  • Added switch-on-string pattern for empty string case.
  • Improved decompilation in case not all types/references are available.
  • Many minor bug and stability fixes.

ILSpy 5.0 Preview 4

12 Aug 07:02

Choose a tag to compare

ILSpy 5.0 Preview 4 Pre-release
Pre-release

New Language Features

New Features

Improvements & Bugfixes

  • C# 8.0 nullable reference types metadata was updated to the latest format. Note that this is a breaking change and assemblies generated by older preview versions of C# 8 are no longer supported.
  • Improved decompilation of ref typed expressions, in particular ref/in extension methods and in parameters.
  • Improved support for Mono yield return state machines and closure types.
  • Improved stability of decompiler and disassembler on invalid metadata tokens.
  • Many minor bug and stability fixes. For a complete list of all changes since preview3 see here.

UI Improvements

  • Improved linking in the decompiler view:
    • method group / delegate references
    • the constructor of an attribute is reachable, by clicking on the open/close parenthesis.
  • Added matching bracket highlighting
  • Updated to AvalonEdit 6.0 Preview

Known issues & limitations

  • C# 8.0 nullable reference types metadata was updated to the latest format. Note that this is a breaking change and assemblies generated by older preview versions of C# 8 are no longer supported. (See #1619 (comment))
  • Generic local functions are not yet supported (#1588)
  • "Open assembly from GAC" may require administrator privileges (#1498)
  • Matching bracket highlighting does not yet support all language features that introduce new syntax.

ILSpy 5.0 Preview 3

08 Jul 11:49

Choose a tag to compare

ILSpy 5.0 Preview 3 Pre-release
Pre-release

This preview does not include any new language features.

Improvements & Bugfixes

  • VSIX: Fix issue of missing dependencies
  • MSIX support: @onovotny added build support (including Azure Pipelines). Not published in the store yet, see #1540
  • Tests updated to latest Roslyn implementation
  • Many minor bug and stability fixes (details)

ILSpy 5.0 Preview 2

12 May 05:42

Choose a tag to compare

ILSpy 5.0 Preview 2 Pre-release
Pre-release

New Language Features

  • C# 7.3 Indexing movable fixed buffers: Fixed buffers can be indexed into without first being pinned.
  • Use Unsafe intrinsics to represent IL operations that cannot be expressed in C#.

Improvements & Bugfixes

  • Improved decompilation of ref readonly delegates and return types.
  • Improved linking and display of fixed fields in the decompiler view.
  • Improved support for C# 8.0 nullable reference types: dynamic?
  • Many minor bug and stability fixes.

UI Improvements

  • Rework C# decompiler options dialog (unify language settings panel)
  • Make indentation of decompiled code configurable.
  • Chinese translation by @maikebing (#1299) screenshots
  • Small improvements in search panel by @mcpiroman (#1476)
  • Show error message if an entity cannot be analyzed instead of crashing.

ILSpy 5.0 Preview 1

10 Mar 16:59

Choose a tag to compare

ILSpy 5.0 Preview 1 Pre-release
Pre-release

New Language Features

  • C# 8.0: Nullable Reference Types
  • C# 7.3: unmanaged generic constraint

Improvements & Bugfixes

  • PDB generator now can emit "method stepping information" for async #1422
  • Generate VS Windows Forms Designer-compliant code if a method is identified as Windows Forms InitializeComponent
  • Add support for ReadOnlySpan initialization pattern
  • Improved decompilation of LINQ queries
  • Improved performance in ILInlining step
  • New BAML Decompiler

UI Improvements

  • Avoid blocking the UI when waiting on assembly load while restoring the saved position in the treeview
  • Support obfuscated names in treeview and search #1359
  • Escape non-printable characters in IL view
  • Reactivate SearchMsdnContextMenuEntry

dotnet ilspycmd Tool

  • Add -d|-debuginfo option See Demo app
  • Add -r|-referencepath option

Architectural Changes

  • We dropped support for all TFMs except netstandard2.0 #1416
  • Reactivate many tests from old decompiler