Releases: icsharpcode/ILSpy
ILSpy 3.2 Beta
The Visual Studio addin beta is only available here, not on the marketplace - it has been completely rewritten, please test the "Open in ILSpy" feature extensively (works on project explorer nodes such as references and Nuget packages as well as inside the text editor).
New Language Features
- C# 4.0 Dynamic binding
- C# 4.0 Named arguments
- C# 7.0 Tuple types
- C# 7.3 Attributes on backing fields of properties
Improved Pattern Detection
- C# 1.x switch-on-string
- Compound assignments for user-defined operators
Improvements in TypeSystem
- Distinguish between unkown type and no type.
- Dead code removal
Misc
- Rewrite of ILSpy.AddIn
- Search results now use a ListView with two columns, search results can be sorted by clicking on the header.
- Updated pattern detection for changes in Roslyn 2.8
- Upgrade to Mono.Cecil 0.10.0
- Various smaller bug fixes and stability improvements
ILSpy 3.1
Standalone decompiler can be downloaded directly here, the VS2017 addin and decompiler NuGet are available at the respective locations.
New Language Features
- C# 7.2 private protected (contributed)
- C# 7.2 conditional ref
- C# 7.1 async Main (contributed)
- C# 7.0 out variables
- C# 7.0 ref returns and locals
- C# 6.0 string interpolation
- C# 6.0 await in catch / finally
- C# 6.0 expression-bodied members
- C# 6.0 null propagator (null-conditional operator, succinct null checking)
Improved Mono mcs Codegen (following areas)
- switch
- lock
- foreach
- LINQ
- Delegate construction
Test Infrastructure Improvements
- Support for mcs
- Support for vbc
Improvements in TypeSystem
- Lazy-loading for nested types
- Add metadata tokens to type system
- Remove dead code
Misc
- UI: Switch to VS MEF (contributed)
- General/UI: Language version selection
- VSIX: drop VS 2015 support
- Updated pattern detection for changes in Roslyn 2.7
- Refactored ILSpy.AddIn
Bug Fixes for Roslyn
- dotnet/roslyn#25251 (Decompilation should simplify "type" usage)
- dotnet/roslyn#25246 (Decompilation cannot decompile xUnit's
Assert.All) - #1095 (C# decompilation, for flags enums always use hex prefix)
ILSpy 3.1 Release Candidate
Fixes for mcs
- LINQ
- Delegate construction
Misc
- Updated pattern detection for changes in Roslyn 2.7
- Refactored ILSpy.AddIn
Improvements in TypeSystem
- Lazy-loading for nested types (needs testing)
- Add metadata tokens to type system
- Remove dead code
Bug Fixes for Roslyn
- dotnet/roslyn#25251 (Decompilation should simplify "type" usage)
- dotnet/roslyn#25246 (Decompilation cannot decompile xUnit's
Assert.All) - #1095 (C# decompilation, for flags enums always use hex prefix)
ILSpy 3.1 Beta 1
New Language Features
- C# 7.2 private protected (contributed)
- C# 7.2 conditional ref
- C# 7.1 async Main (contributed)
- C# 7.0 out variables
- C# 7.0 ref returns and locals
- C# 6.0 string interpolation
- C# 6.0 await in catch / finally
- C# 6.0 expression-bodied members
- C# 6.0 null propagator (null-conditional operator, succinct null checking)
Improved Mono mcs Codegen (following areas)
- switch
- lock
- foreach
Test Infrastructure Improvements
- Support for mcs
- Support for vbc
Misc
- UI: Switch to VS MEF (contributed)
- General/UI: Language version selection
- VSIX: drop VS 2015 support
NuGet Release 3.0.2 (3.0.1)
ILSpy 3.0.1
This is a bugfix release for the WPF UI only (NuGet and xplat clients not updated, use 3.0.0 instead)
ILSpy 3.0
Release notes are available in the Wiki.
If you want the "good old" ILSpy, please download ILSpy_binaries_Net46_Win_3.0.0.3447.zip - this is the tried-and-true Windows WPF UI.
NuGet: https://www.nuget.org/packages/ICSharpCode.Decompiler/
Visual Studio addin: https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy
Console info: https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler.Console
PowerShell cmdlets info: https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.Decompiler.PowerShell
3.0 Beta 4
This release is currently without VSIX (broken).
Changes since Beta 3:
- NewtonSoft JSON replaced by LightJson (traded NuGet for code inclusion)
- Cecil is referenced via NuGet (instead of submodule which is kept, see #1001)
- ICSharpCode.Decompiler targets net46 instead of net461 (netstandard2.0 targetting unchanged)
- Fix --type option in ICSharpCode.Decompiler.Console
- Fix x-plat bugs in DotNetCore/DotNetCorePathFinder
3.0 Beta 3
Final Beta, feature complete!
- Expression tree support (last language feature)
- Nupkg drag & drop (contributed, thanks!)
- Support for retargetable assemblies
- Correctness improvements, bug fixes
- UI optimizations (loading speed)
3.0 Beta 2
The following are major changes that happenend in this release cycle:
- Improve handling of post-increment and compound assignments
- Add foreach over array pattern
- Pointer arithmetic
- Many correctness and bug fixes
- NuGet package includes debug symbols and source code #943 (comment)
- Frontends.sln: the x-plat console and PowerShell cmdlets projects use the NuGet package. For sample usage of the PowerShell cmdlets please see https://github.com/icsharpcode/ILSpy/blob/master/ICSharpCode.Decompiler.PowerShell/Demo.ps1. Note: works on Windows PowerShell and PowerShell Core.
- Xamarin Workbook with additional snippet-like samples https://github.com/icsharpcode/ILSpy/blob/master/DecompilerNuGetDemos.workbook (sample output can be seen in #964 (comment)). Please use Frontends.sln as well as this workbook to guide your first steps in using the Decompiler NuGet package.