After... 2 years, finally a new stable release!
Before the changelog, one important note: There will not be an official dnSpy AI integration, or an MCP server, or whatever else. Stop asking! Find an extension, make one yourself, or just vibecode it, and if it doesn't work, don't ask me, ask the extension developer... or AI.
New features:
- Added a new
String Referencestool window, which allows viewing all strings present in the .NET metadata and method bodies (thanks to @Washi1337). - Added a new .NET 10 distribution (
dnSpy-net), which is not self-contained and contains both x64 and x86 binaries. This is intended as a more modern alternative to thednSpy-netframeworkdistribution. This is the recommended distribution if you have .NET 10 already installed on your system. - Added support for the Windows 11 Snap Layout feature for dnSpy windows.
- dnSpy now detects when it is being run under Wine on Linux and disables WPF hardware acceleration to improve compatibility.
- SDK style projects can now be exported from
dnSpy.Console. - dnSpy's XML syntax highlighter now properly supports
CDATA. - Added support for the
AllowByRefLikemetadata flag on generic parameters in edit dialogs. - Added support for generating
.slnxsolution files when exporting the decompilation to a project file.
Improvements and bug fixes:
- Updated from .NET 8 to .NET 10.
- Ensure the Save Module window appears for at least some time on screen to signal that the module was actually written.
- Fixed the decompilation of the calling convention field of
DllImportfor .NET. - Fixed export of resources with
MemoryStreamtype when generatingRESXfiles. - Added additional monospace fallback fonts to improve compatibility for running dnSpy under Wine.
- Fixed incorrect thread exit codes being displayed in the debugger
Outputdialog. - Improved UI tooltips for metadata members with partially corrupted metadata.
- Added more safeguards against
StackOverflowExceptionin the decompiler. - Fixed a rare decompiler crash relating to the C#
fixedstatement. - Properly escape resource names in the treeview.
- BAML decompiler now adds
x:FieldModifierwhen necessary. - Improved exporting BAML files to project files.
- Tweaked C# decompiler variable naming algorithm.
- Fixed BAML decompiler moving readonly properties into XML attributes, resulting in invalid code.
- The assembly resolver now considers the
*.runtimeconfig.jsonfile. - Fixed incorrect syntax in IL disassembler and improved accuracy.
- Truncate the content of the long string resources when displaying them.
- Fixed unnatural scrolling on laptops equipped with precision touchpads.
- Set
DOTNET_ReadyToRunto0when debugging using CoreCLR. - Fixed decompiler crashes for runtime-async methods.
- Improved IL disassembly of exported types and nested types with namespaces.
- Updated translations.
Dependency updates:
- Updated dnlib to 4.5.0
- Updated VS MEF to 17.13.41
- Updated Roslyn to 5.3.0
- Updated NuGet.Configuration to 7.6.0
- Updated dbgshim.dll component to the latest version
New Contributors
- @zuoyuanchun made their first contribution in #337
- @SlimeNull made their first contribution in #345
- @jfevia made their first contribution in #366
- @kant2002 made their first contribution in #464
- @Washi1337 made their first contribution in #472
- @oolanlongoo made their first contribution in #420
Full Changelog: v6.5.1...v6.6.0
Thanks to everyone for reporting issues, opening pull requests, and supporting the project through other means! This release would not have been possible otherwise :P A special thanks goes out to all my current and past GitHub Sponsors for supporting this project and me working on it!
SHA-256 hashes:
dnSpy-net.zip: 025dc4e02540e9afa9ab0121c8b2a3fff5e9e515835823a74a9e5635bd4d4302
dnSpy-net-win32.zip: 6ec1271aabb6503985e4d6299b0929aaa72f995a17a68d3233d5a3363092cdca
dnSpy-net-win64.zip: 8ed48f165dc355e869f3a0037ad4f9216147f995a5ae0258b296eeef1f73aab0
dnSpy-netframework.zip: 2eadb7f4931ad1882d10477cf57185d288cacc6e3abf9958e7ae73c0a0f31dd1