ILSpy v6.2 Release Notes
Release Date: 2020-09-24 // over 3 years ago-
๐ New Language Features
- C# 7.0: Deconstruction
- C# 8.0:
await foreach
- C# 8.0: Disposable
ref struct
s - C# 8.0: Enhanced
using
statements - C# 8.0:
switch
expressions - C# 9.0:
init
accessors - ๐ C# 9.0: function pointers (see #2150)
- C# 9.0: foreach with GetEnumerator extension methods
- C# 9.0: Lambda parameter discards
General
- โ Add an option to enable aggressive inlining of expressions
- โ Add option for
string.Concat
decompilation - โ Add an option to always qualify member references (by @Pathoschild, see #2114)
- ๐ ReadyToRun: Variable tracking in output (by @edkazcarlson, see #2067)
- โก๏ธ ReadyToRun: Optimized debug info output (by @cshung, see #2113)
- ๐ Work on unifying the code formatting (see #2128)
- โฌ๏ธ Tests upgraded to Roslyn 3.8.0-3.final
๐ป UI Improvements
- ๐ Improve performance of Metadata DataGridCell (see #2151)
- ๐ Fix #2107: Add ScrollViewer around DisplaySettingsPanel
- ๐ Metadata: Improvements/fixes by @srutzky, see #2134, #2135, #2145, #2147 and #2153
- โก๏ธ Updated Chinese translation
๐ Bug fixes
- ๐ Fix #2129: be more flexible about the initialization order for the async state machine
- ๐ Fix #2140: ILSpy 6.2p1 no longer respects "use discards" setting
- ๐ Fix #2139: ArgumentOutOfRangeException for some xmldoc
- ๐ Fix #2039: Code generated by VB's On Error Resume Next causes "unassigned variable" compile errors
- ๐ Fix #2156: range syntax not being detected correctly in some cases
- BAML decompiler: #2109 and #2106
- ๐ Fix #2086: Check that window belongs to ILSpy before sending it a WM_COPYDATA message.
- ๐ Fix #2090: ignore mscorlib references without public key token, when trying to resolve mscorlib. This will automatically fallback to .NET 4.0's mscorlib.dll.
- ๐ #1292: Fix some more problems with pinned locals.
- ๐ Fix #1555: Eliminate value-type temporaries emitted by mcs on field reads.
- ๐ Fix #2056: "remove branch into body" must be executed before the clone cleanup
- ๐ Fix #2101: reset removeExtraLoad flag if keepAssignmentBefore is set; implement simple case-de-duplication: abort if there are any duplicate cases.
- ๐ Fix #2100: 'value'-named auto property could not be recognized correctly.
- ๐ Fix #1441: Decompose flags enum values starting from the value with the highest Hamming Weight (popcount).