All Versions
20
Latest Version
Avg Release Cycle
32 days
Latest Release
1293 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v6.0-preview2 Changes
January 08, 2020๐ป UI Improvements
- ๐ Ready2Run (by @cshung see https://github.com/icsharpcode/ILSpy/wiki/ILSpy.ReadyToRun)
- ๐ Metadata Explorer (see https://github.com/icsharpcode/ILSpy/wiki/Metadata-Explorer)
- Assembly list dropdown in toolbar, enhanced assembly list management
- โ Add "Reset to defaults" in Options dialog
๐ 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
asstruct
(#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 involvingSpan<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 togenpdb
-
v6.0-preview1 Changes
December 02, 2019๐ฅ 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
- 0๏ธโฃ C# 8.0 Default Interface Methods
- C# 8.0 Async streams (currently not covering
await foreach
) - C# 8.0 await using
- C# 8.0 Readonly members
๐ 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
-
v5.0.2 Changes
November 02, 2019๐ 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
-
v5.0.1 Changes
October 07, 2019๐ 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
-
v5.0 Changes
September 19, 2019ILSpy 5.0
๐ New Language Features
- C# 8.0: Nullable Reference Types
- C# 7.3:
unmanaged
generic constraint - ๐ 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#.
- ๐ C# 7.0 Generalized async return types
- C# 7.0 Local functions (#1586)
- C# 7.0 Throw expressions (#1600)
๐ 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 particularref
/in
extension methods andin
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
- ๐ Improved support for Mono
๐ 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.
-
v5.0-rc1 Changes
September 09, 2019๐ New Language Features
- ๐ C# 7.0 Generalized async return types
๐ 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.
-
v5.0-preview4 Changes
August 12, 2019๐ New Language Features
- C# 7.0 Local functions (#1586)
- C# 7.0 Throw expressions (#1600)
๐ 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 particularref
/in
extension methods andin
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.
-
v5.0-preview3 Changes
July 08, 2019This 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)
-
v5.0-preview2 Changes
May 12, 2019๐ 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.
-
v5.0-preview1 Changes
March 10, 2019๐ 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