Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
530 commits
Select commit Hold shift + click to select a range
fb7b9ee
Arrow-key navigation between flag-filter chips
siegfriedpammer May 15, 2026
d30ef0f
Typed debug-directory child nodes
siegfriedpammer May 15, 2026
53db111
Port #3705 — async wait for load before refresh path-walk
siegfriedpammer May 15, 2026
51ff654
Republish AssemblyList + search refresh + throttle
siegfriedpammer May 15, 2026
71e2be6
Port the three remaining assembly-list-change subscribers
siegfriedpammer May 15, 2026
1f5b424
Layout persistence via ILSpy.Layout.json sidecar
siegfriedpammer May 15, 2026
f562805
Toolbar parity — Manage Lists, Show Search, WPF order
siegfriedpammer May 15, 2026
7dfbf6c
Toolbar icons for Refresh/Sort/CollapseAll + test
siegfriedpammer May 15, 2026
fba85ee
Drop LMB double-click as a "new tab" gesture
siegfriedpammer May 15, 2026
ce808b5
Hoist Debug Steps state into the ViewModel
siegfriedpammer May 15, 2026
f9afc9d
Speed up Copy/SelectAll tests via smaller decompile target
siegfriedpammer May 16, 2026
8a00383
Dockables own their view so slot-sharing panes render their own content
siegfriedpammer May 16, 2026
6e97272
STJ dock serializer translated from the Newtonsoft baseline
siegfriedpammer May 16, 2026
d66c7d6
Merge StartupLog into a categorized AppLog
siegfriedpammer May 16, 2026
04915ec
Dotnet-format using-directive ordering across the project
siegfriedpammer May 16, 2026
0b8ae0b
Prune navigation history when assemblies are removed
siegfriedpammer May 16, 2026
ed5dfab
Tab-switch syncs the assembly-tree selection
siegfriedpammer May 17, 2026
edfb65a
DebugStepCommand calls Debugger.Launch if not attached
siegfriedpammer May 17, 2026
a8f6522
Count document tabs globally for closable splits
siegfriedpammer May 17, 2026
2510e70
Search: <angle brackets> opt in to private/compiler-generated entities
siegfriedpammer May 17, 2026
7ef3c4b
ILAst and IL get bracket-matching via CSharpBracketSearcher
siegfriedpammer May 17, 2026
7ed97e4
Wire the dock factory's locators eagerly before the chrome
siegfriedpammer May 17, 2026
fd218c0
Toolbar language-version dropdown affects decompile output
siegfriedpammer May 17, 2026
12adc2f
Compare assemblies tab actually renders the diff tree
siegfriedpammer May 21, 2026
137d922
Dock layout persistence drops session-only document state
siegfriedpammer May 21, 2026
746f875
Assembly tree Ctrl+LMB stops conflicting with multi-selection
siegfriedpammer May 21, 2026
522616a
DEBUG builds expose per-AST-transform C# languages
siegfriedpammer May 21, 2026
2d47228
Hover tooltip signature wraps instead of clipping
siegfriedpammer May 21, 2026
acce802
GAC browser rebuilt as a five-column sortable grid
siegfriedpammer May 21, 2026
93c4b24
Window menu lists open document tabs
siegfriedpammer May 21, 2026
58f5ac2
Sort results setting reaches the search pipeline
siegfriedpammer May 21, 2026
2f6536d
Tree-view options reach the assembly tree
siegfriedpammer May 22, 2026
045f9a6
VS-style preview tabs + Options polish
siegfriedpammer May 22, 2026
945217f
Enable server GC
siegfriedpammer May 22, 2026
b6cbcd6
Cache + filter Dock descendant scan
siegfriedpammer May 22, 2026
fc90bcf
--navigateto skips the saved-path restore
siegfriedpammer May 22, 2026
0ff063b
Throttle background-load sweep + lengthen cooldown
siegfriedpammer May 22, 2026
5e4146c
Pin tab without spawning a new preview tab
siegfriedpammer May 23, 2026
fcd9ebb
Disable language switching for metadata + compare tabs
siegfriedpammer May 23, 2026
1475103
Bump to Avalonia 12.0.3
siegfriedpammer May 23, 2026
a576d20
CompareView "Show Identical" now actually filters rows
siegfriedpammer May 23, 2026
449092c
Pin button matches close button size + hover background
siegfriedpammer May 23, 2026
7918a33
Make MEF-menu separators visible
siegfriedpammer May 23, 2026
23d8270
Opt-in startup phase logging
siegfriedpammer May 23, 2026
4d9a888
Tolerate either field or property in Images lookup
siegfriedpammer May 23, 2026
baa64c0
Surface C# 15.0 in the Languages dropdown
siegfriedpammer May 23, 2026
3b7a898
Stop awaiting decompiles those tests never read
siegfriedpammer May 23, 2026
bb114b2
Prevent FailFast when an assembly is unloaded mid-decompile
siegfriedpammer May 23, 2026
6dbd842
Port ILSpy.ReadyToRun plugin
siegfriedpammer May 23, 2026
90a4432
Drop the area-prefix convention from the commit guideline
siegfriedpammer May 23, 2026
408ce30
Project the main menu into the macOS system menu bar via NativeMenu
siegfriedpammer May 23, 2026
c46602d
Show startup exceptions in a dedicated error window
siegfriedpammer May 23, 2026
b883299
Rename ILSpy.Wpf.slnf -> ILSpy.Desktop.slnf with updated contents
siegfriedpammer May 25, 2026
8abf325
Bundle the app for macOS (.icns + Info.plist + BuildMacAppBundle target)
siegfriedpammer May 28, 2026
2e9f050
Fix bottom-of-Options content unreachable at max scroll
siegfriedpammer May 28, 2026
5e37e62
Show MEF-declared icons on main menu and context menus
siegfriedpammer May 28, 2026
dd79acd
Restore Properties/AssemblyInfo.cs so the DLL gets the right version
siegfriedpammer May 28, 2026
9427f76
Re-group File menu so DEBUG items aren't mixed with assembly loading
siegfriedpammer May 28, 2026
4d40041
Wire the AssemblyListGAC icon for "Open from GAC"
siegfriedpammer May 28, 2026
6d8fff6
Re-group View menu so Navigation comes before Tree operations
siegfriedpammer May 28, 2026
00c6844
Bump version to 11.0-preview1
siegfriedpammer May 28, 2026
7c9f4a6
Order Window menu items deterministically
siegfriedpammer May 28, 2026
3969714
Group Help menu items under an explicit category
siegfriedpammer May 28, 2026
0ff931c
Promote Help items into the macOS application menu
siegfriedpammer May 28, 2026
cb4c3ff
Break the toolbar Sort / Collapse order tie
siegfriedpammer May 28, 2026
4d45514
Re-categorise assembly tree context-menu entries
siegfriedpammer May 28, 2026
83b1410
Group decompiler text view / metadata grid context menus
siegfriedpammer May 28, 2026
08167f8
Port Load Dependencies + Open Command Line Here, add MMB hint
siegfriedpammer May 28, 2026
3bebaae
Hide the spurious menu scroll chevrons on Simple theme
siegfriedpammer May 28, 2026
fe45e37
Show the full version in the title bar on DEBUG builds
siegfriedpammer May 28, 2026
b4c709d
Distinguish enum and const fields in the assembly tree
siegfriedpammer May 28, 2026
7c7c17c
Author manual Light/Dark brushes for the surfaces ILSpy paints itself
siegfriedpammer May 28, 2026
3174b8e
Extend Light/Dark brushes to window, panes, menus, and input controls
siegfriedpammer May 28, 2026
5004392
Don't decompile every type when the user clicks a namespace node
siegfriedpammer May 28, 2026
b1045f4
Port the missing icon variants and the Copy glyph from the WPF tree
siegfriedpammer May 28, 2026
2d658f3
Cap the resource string table width when embedded in the editor
siegfriedpammer May 28, 2026
0e9f422
Route extension-block methods through DecompileExtension on click
siegfriedpammer May 28, 2026
5978f51
Group "Compare..." under Analyze instead of Navigate
siegfriedpammer May 28, 2026
8bd738c
Keep folding state across tab switches, not just Back / Forward
siegfriedpammer May 28, 2026
905f6fb
Enlarge assembly-tree expander click target to 16x16
siegfriedpammer May 29, 2026
75a5c2a
Restore distinct metadata tree-node icons
siegfriedpammer May 29, 2026
8b26f2c
Add "Add preconfigured list" to Manage Assembly Lists
siegfriedpammer May 29, 2026
dc1ae9c
Show About page and seed running framework on first run
siegfriedpammer May 29, 2026
63fa6d1
Add missing decompiler-settings resource strings
siegfriedpammer May 30, 2026
2868ae9
Restore C# GetCodeMappingInfo and GetEntityName overrides
siegfriedpammer May 30, 2026
fc93090
Restore decompiler view-state by pulling it on navigation capture
siegfriedpammer Jun 1, 2026
7bad279
Host tab content in a ContentControl and cache it across tab switches
siegfriedpammer Jun 1, 2026
d57c239
Add owned-view ownership tests
siegfriedpammer Jun 1, 2026
5a64659
Make Options and About singleton document tabs
siegfriedpammer Jun 1, 2026
d2382cc
Colour the update banner by state and fix dark-mode text
siegfriedpammer Jun 1, 2026
d2df519
Let the native menu derive item enabled-state from CanExecute
siegfriedpammer Jun 1, 2026
8fb1883
Fix assembly-tree selection: Ctrl+A and click-to-collapse
siegfriedpammer Jun 1, 2026
795a3be
Fix Load Dependencies dropping the assemblies it resolved
siegfriedpammer Jun 1, 2026
56afcf8
Factor repeated headless-test setup into shared helpers
siegfriedpammer Jun 2, 2026
f466b23
Add per-step visual breakpoints to the headless UI tests
siegfriedpammer Jun 2, 2026
be4625f
Adapt DecompilerViewTests to the shared test helpers
siegfriedpammer Jun 2, 2026
bb94f85
Fix macOS app menu by populating NativeMenu in place
siegfriedpammer Jun 2, 2026
91133c1
Keep the tree selection put when right-clicking a node
siegfriedpammer Jun 3, 2026
34e6ef1
Sync the tree selection to the active document tab
siegfriedpammer Jun 3, 2026
1659b8e
Rename the preview-tab 'pin' concept to 'freeze'
siegfriedpammer Jun 3, 2026
e4fe6e7
Give the preview tab a purple snowflake instead of a blue pin
siegfriedpammer Jun 3, 2026
0f88723
Route every tree selection to the one preview tab
siegfriedpammer Jun 3, 2026
738b798
Pin the preview tab to index 0 and make it immovable
siegfriedpammer Jun 3, 2026
002742c
Switch to the Avalonia 12 DevTools (WithDeveloperTools) bridge
siegfriedpammer Jun 4, 2026
18f6087
Drop the redundant "Freeze current tab" main-menu entry
siegfriedpammer Jun 4, 2026
b24f3ba
Consolidate Dock tab color states behind a previewTab style class
siegfriedpammer Jun 4, 2026
05c7f02
Freeze the preview tab on drag and add Ctrl+W tab close
siegfriedpammer Jun 4, 2026
0a2f2e3
Freeze the preview tab when it is floated out into its own window
siegfriedpammer Jun 4, 2026
4609e80
Tint the focused tool-pane header muted accent-blue instead of gray
siegfriedpammer Jun 4, 2026
ab2d369
Restore the per-group bulk-toggle checkbox in decompiler settings
siegfriedpammer Jun 4, 2026
5b497b3
Unify inner tab content under a single ContentPageModel base
siegfriedpammer Jun 4, 2026
bca2098
Ignore the local Claude Code session directory
siegfriedpammer Jun 4, 2026
4b0b31f
Apply the Display expand-folding options to decompilation
siegfriedpammer Jun 4, 2026
b2842b7
Re-show a closed tool pane on Analyze / Show Search
siegfriedpammer Jun 4, 2026
8d2c2e6
Show only the assembly-tree pane in the default dock config
siegfriedpammer Jun 4, 2026
c5f8834
Stop the assembly list from disposing removed assemblies
siegfriedpammer Jun 4, 2026
85965d0
Improve selected-text highlighting in the decompiler view
siegfriedpammer Jun 4, 2026
7c2ee29
Add a themed dark syntax-highlighting scheme for C#
siegfriedpammer Jun 4, 2026
a3ffa7a
Don't bleed custom node text colour through the selection
siegfriedpammer Jun 4, 2026
aea59ee
Keep tree selection in sync after Delete-unload
siegfriedpammer Jun 4, 2026
d7bce60
Add Left/Right keyboard expand-collapse and parent/child nav
siegfriedpammer Jun 4, 2026
b6c2762
Add numpad +/-/* expand-collapse to the assembly tree
siegfriedpammer Jun 4, 2026
afdb778
Share tree keyboard nav via TreeKeyboardController; add type-ahead
siegfriedpammer Jun 4, 2026
b5f1959
Test that the analyzer tree shares the keyboard navigation
siegfriedpammer Jun 4, 2026
9048a76
Fix Shift+Up/Down not shrinking the tree selection
siegfriedpammer Jun 4, 2026
85cf2bb
Scaffold a ListBox-based SharpTreeView control (Phase 1)
siegfriedpammer Jun 4, 2026
3e8e086
Add type-ahead search; prove native shift-range extend/shrink
siegfriedpammer Jun 4, 2026
6746a47
Migrate the analyzer tree to SharpTreeView
siegfriedpammer Jun 4, 2026
27770df
Add tree foreground classes + model re-filter hook for the migration
siegfriedpammer Jun 4, 2026
294d09c
Migrate the assembly tree to SharpTreeView (WIP: tests pending)
siegfriedpammer Jun 5, 2026
281c84e
Implement assembly drag-reorder on SharpTreeView
siegfriedpammer Jun 5, 2026
b606d4b
Extract shared TreeSelectionBinder; add drag-reorder insert marker
siegfriedpammer Jun 5, 2026
0ac62ea
Move tree drag-drop into SharpTreeView, delegating to SharpTreeNode
siegfriedpammer Jun 5, 2026
ab5fa46
Retarget assembly tree tests to SharpTreeView; close interaction gaps
siegfriedpammer Jun 5, 2026
0a7aa74
Resolve LanguageService/Settings fresh so the tree filter honours cur…
siegfriedpammer Jun 5, 2026
b204e42
Re-apply a pre-attach tree selection once the tree loads
siegfriedpammer Jun 5, 2026
9274b58
Add DBUSDEBUG input trail and unwrap DBus exceptions
siegfriedpammer Jun 5, 2026
761dc78
Keep the selected assembly selected when sorting the list
siegfriedpammer Jun 5, 2026
590087c
Bump Avalonia to 12.0.4 for the DBus menu-exporter exception fix
siegfriedpammer Jun 5, 2026
a95f641
Restore center-on-select in the tree; retarget the context-menu tests
siegfriedpammer Jun 5, 2026
00b7cc5
Stop DecompilerTextView leaking via the static ThemeManager
siegfriedpammer Jun 5, 2026
4d99dea
Drive decompiles to quiescence between headless tests
siegfriedpammer Jun 5, 2026
4585be8
Raise atomic ranged events from the tree flattener
siegfriedpammer Jun 5, 2026
85cbddf
Scope the About-tab test to the singleton, not the welcome page
siegfriedpammer Jun 5, 2026
556ab45
Drop the 5s cooldown before the background assembly-load sweep
siegfriedpammer Jun 5, 2026
3e8cd0b
Give tree rows a filled focus box and keyboard menu focus
siegfriedpammer Jun 6, 2026
8397731
Don't recentre the tree when selecting an already-visible row
siegfriedpammer Jun 6, 2026
76b8db7
Activate the welcome page instead of duplicating it as About
siegfriedpammer Jun 6, 2026
859a8db
Auto-expand a newly analyzed node in the analyzer tree
siegfriedpammer Jun 6, 2026
c52a3f9
Add tests for middle-click open-in-new-tab and Ctrl+R analyze
siegfriedpammer Jun 6, 2026
9d3b9eb
Delete the unused ProDataGrid TreeKeyboardController
siegfriedpammer Jun 6, 2026
62d5711
Silence nullable-deref warnings on grid.SelectedItems in tests
siegfriedpammer Jun 6, 2026
1e0b62b
Add a document-tab context menu (Close / all but this / all)
siegfriedpammer Jun 6, 2026
ea0b3f6
Offer Analyze on a right-clicked symbol in the decompiled code
siegfriedpammer Jun 6, 2026
99264bd
Re-query menu commands via a shared CommandManager
siegfriedpammer Jun 6, 2026
5f10fd9
Add Go to Definition and folding toggles to the code context menu
siegfriedpammer Jun 6, 2026
b2d2fea
Offer Decompile-to-new-tab and scope-search on a code symbol
siegfriedpammer Jun 6, 2026
160520a
Drop 18 unused PackageVersion entries from central package mgmt
siegfriedpammer Jun 6, 2026
0588da3
Export several selected assemblies as a Visual Studio solution
siegfriedpammer Jun 6, 2026
d89bf85
Make PortablePdbWriter an instance type with an embed-source option
siegfriedpammer Jun 6, 2026
60405af
Add a configurable Export Project/Solution dialog
siegfriedpammer Jun 6, 2026
18a1591
Surface fire-and-forget command failures immediately
siegfriedpammer Jun 6, 2026
c9f0074
Record a history entry when navigating to a metadata token
siegfriedpammer Jun 6, 2026
a6ad988
Show the token-kind byte in the metadata-table tab header
siegfriedpammer Jun 6, 2026
109dec5
Open the real page for "Decompile to new tab" on custom-content nodes
siegfriedpammer Jun 6, 2026
a36f6d5
Don't treat a column-header double-click as a row activation
siegfriedpammer Jun 6, 2026
5f89a84
Switch the live assembly list from Manage Assembly Lists
siegfriedpammer Jun 6, 2026
774cef5
Restore Close entries on the document-tab context menu
siegfriedpammer Jun 6, 2026
70e6b8b
Make the Window menu actually show a default-hidden tool pane
siegfriedpammer Jun 7, 2026
a34a6bf
Fall back to decompile-to-file for right-click Save Code
siegfriedpammer Jun 7, 2026
96d50e2
Run long operations in their own frozen tab
siegfriedpammer Jun 7, 2026
c92a848
Lay document tabs out on multiple rows
siegfriedpammer Jun 7, 2026
bc5a4f3
Add single/multi-line document tabs with an overflow dropdown
siegfriedpammer Jun 7, 2026
76dec0f
Update NuGet packages and rename the behaviors package
siegfriedpammer Jun 7, 2026
cd292e2
Report composition failures non-fatally and surface them to the user
siegfriedpammer Jun 7, 2026
461faed
Port the sample plugin to Avalonia
siegfriedpammer Jun 7, 2026
9d09570
Resolve assembly, resource, and namespace search results to tree nodes
siegfriedpammer Jun 7, 2026
121bd55
Restore the "Add to main list" entry for auto-loaded assemblies
siegfriedpammer Jun 7, 2026
3a1a133
Show a truncation notice when search hits the 1000-result cap
siegfriedpammer Jun 7, 2026
8a95de4
Cap decompiler output length and bridge dead Display options
siegfriedpammer Jun 7, 2026
69a55ea
Add the "IL with C#" language
siegfriedpammer Jun 7, 2026
2aeae01
Copy decompiled code as syntax- and semantic-highlighted HTML
siegfriedpammer Jun 7, 2026
35db05e
Add the theme picker to the Display options panel
siegfriedpammer Jun 7, 2026
23417a0
Restore the inline update controls on the About page
siegfriedpammer Jun 7, 2026
06f6d77
Dump every assembly when decompiling the list root
siegfriedpammer Jun 7, 2026
270ef0f
Restore per-cell tooltips across the metadata tables
siegfriedpammer Jun 7, 2026
b538e88
Add keyboard and mouse niceties to the search pane
siegfriedpammer Jun 8, 2026
e4ea9ef
Wrap long build-ilspy.yml run commands across multiple lines
siegfriedpammer Jun 8, 2026
d2f244a
Sharpen the commit-hook, line-ending, and test-run guidance
siegfriedpammer Jun 8, 2026
7d4bef6
Pin .cs working-tree line endings to CRLF
siegfriedpammer Jun 8, 2026
4bf77f1
Point the framework-dependent zip at the real build output folder
siegfriedpammer Jun 8, 2026
62d68bf
Drop WPF/TomsToolbox references from comments
siegfriedpammer Jun 8, 2026
0826bae
Record fast distinct navigations instead of collapsing them
siegfriedpammer Jun 8, 2026
50cfe73
Resolve the ref-pack version when it differs from the runtime patch
siegfriedpammer Jun 8, 2026
ddd7134
Stabilize the headless decompile-wait tests on slow CI runners
siegfriedpammer Jun 8, 2026
7effa30
Fix the Windows publish bundles for the Avalonia project layout
siegfriedpammer Jun 8, 2026
667f6ad
Add pwsh dev scripts, repo-wide lock files, and CI NuGet caching
siegfriedpammer Jun 8, 2026
8249983
Publish the Windows bundles per configuration
siegfriedpammer Jun 8, 2026
7a4dd35
Fix the installer icon path and regenerate the VSIX/MSI file lists
siegfriedpammer Jun 8, 2026
9313757
Carry all RIDs in the decompiler-test lock files
siegfriedpammer Jun 8, 2026
8488e5e
Reference DiaSymReader on every OS so the lock file is OS-stable
siegfriedpammer Jun 8, 2026
aa92f27
Decompile a tiny emitted fixture in the project-export/save/compare t…
siegfriedpammer Jun 8, 2026
fec081e
Add missing app icon on Windows
siegfriedpammer Jun 9, 2026
2ce4ccd
Show search results in a grid with sortable column headers
siegfriedpammer Jun 9, 2026
2af0289
Stop the tree auto-scrolling to the selection on in-tree gestures
siegfriedpammer Jun 9, 2026
9b0cc1e
Disable the Manage-Assembly-Lists buttons that need a selection
siegfriedpammer Jun 9, 2026
af7403c
Add a Display Options "Tab options" group for the tab strip
siegfriedpammer Jun 9, 2026
69f3d3d
Disable the tab Close menu entry when the tab can't be closed
siegfriedpammer Jun 9, 2026
28c345c
Keep metadata {Column}Tooltip props out of the grid columns
siegfriedpammer Jun 9, 2026
08521c8
Wire up the File-menu Generate portable PDB command
siegfriedpammer Jun 9, 2026
38c9fc6
Centralize MEF export lookup in AppComposition.TryGetExport
siegfriedpammer Jun 9, 2026
86f3ea1
Restore the Windows stack-extension and SortResX build targets
siegfriedpammer Jun 9, 2026
2246ff3
Drop the write-only lastTooltipSegment field
siegfriedpammer Jun 9, 2026
adf1106
Consolidate OS shell launches into ShellHelper
siegfriedpammer Jun 9, 2026
1c0e867
Centralize the desktop main-window lookup in UiContext
siegfriedpammer Jun 9, 2026
ea6ab06
Inline the remaining GetExport try/catch clones
siegfriedpammer Jun 9, 2026
68493c4
Restore the search-result context menu and column tooltips
siegfriedpammer Jun 9, 2026
2c5dca8
Collapse CloseAllTabs/CloseAllTabsExcept into CloseTabsWhere
siegfriedpammer Jun 9, 2026
d395e73
Run SortResX with pwsh on non-Windows hosts
siegfriedpammer Jun 9, 2026
f360e4a
Pair dockable activation and focus in ActivateAndFocus
siegfriedpammer Jun 9, 2026
dbd43a4
Extract the colorizer swap into SetColorizer
siegfriedpammer Jun 9, 2026
42ebbe9
Share the enclosing-assembly walk as AssemblyTreeNode.FindEnclosing
siegfriedpammer Jun 9, 2026
0b0c172
Fold the result "Open Explorer" button into output extensions
siegfriedpammer Jun 9, 2026
c3ebcc1
Reattach the misplaced DockWorkspace doc comments
siegfriedpammer Jun 9, 2026
738ae56
Add EntityReference.Resolve for the shared handle resolution
siegfriedpammer Jun 9, 2026
374b938
Extract ApplyOutput for the shared output-apply block
siegfriedpammer Jun 9, 2026
b0945d8
Extract the decompile preamble into BeginDecompile
siegfriedpammer Jun 9, 2026
1906f36
Batch the after-drop selection through SelectNodes
siegfriedpammer Jun 9, 2026
8c433ea
Add SharpTreeNode.ReloadChildren for the lazy-subtree reset
siegfriedpammer Jun 9, 2026
4ab76f4
Re-decompile the active tab on output display-setting changes
siegfriedpammer Jun 9, 2026
979d7a9
Wrap the highlighting span guard in a using scope
siegfriedpammer Jun 9, 2026
a9842df
Colour the 'required' modifier keyword
siegfriedpammer Jun 9, 2026
1520213
Colour the 'allows ref struct' anti-constraint
siegfriedpammer Jun 9, 2026
f0b74a3
Decompose DecompilerTextView's ApplyDocument and constructor
siegfriedpammer Jun 9, 2026
f159785
Extract the node-finder subsystem into TreeNodeLocator
siegfriedpammer Jun 9, 2026
3eb090b
Move metadata-grid resolution into MetadataNavigator
siegfriedpammer Jun 9, 2026
464551e
Hoist metadata row-offset and heap-view boilerplate to shared bases
siegfriedpammer Jun 9, 2026
87748e0
Override vulnerable transitive packages from the DiaSymReader chain
siegfriedpammer Jun 9, 2026
40a667f
Treat warnings as errors repo-wide
siegfriedpammer Jun 9, 2026
5635852
Bump ILSpy-tests: isolate fixtures from host warnings-as-errors
siegfriedpammer Jun 9, 2026
e0cde00
Carry all publish RIDs in the core-library lock files
siegfriedpammer Jun 9, 2026
5fe3e63
Fix Windows binaries zip: quote 7z exclusion and pin pwsh shell
siegfriedpammer Jun 9, 2026
bdf7e35
Drop the stale net10.0-windows segment from publish-output paths
siegfriedpammer Jun 9, 2026
4ae0b18
Add Debug Steps support for the C# AST pipeline
siegfriedpammer Jun 10, 2026
3d5aae4
Tighten CLAUDE.md build, comment, and edit-safety guidance
siegfriedpammer Jun 10, 2026
055006d
Refresh README and project-structure docs for the cross-platform state
siegfriedpammer Jun 10, 2026
f44697c
Show live progress in long-running operation tabs
siegfriedpammer Jun 10, 2026
34038c9
Refresh decompiler output in place on display-setting changes
siegfriedpammer Jun 10, 2026
0ad96ca
Show a Throw/Debug/Ignore dialog for assertion failures; report cancel
siegfriedpammer Jun 10, 2026
f1b40a6
Fold the full exception trace into failure reports
siegfriedpammer Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
* text=auto
*.cs text diff=csharp
*.cs text eol=crlf diff=csharp
*.sln text eol=crlf
*.csproj text eol=crlf
2 changes: 2 additions & 0 deletions .github/workflows/build-frontends.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
with:
dotnet-version: '11.0.x'
dotnet-quality: 'preview'
cache: true
cache-dependency-path: '**/packages.lock.json'

- name: Install dependencies
run: dotnet restore ILSpy.XPlat.slnf -p:RestoreEnablePackagePruning=false
Expand Down
74 changes: 50 additions & 24 deletions .github/workflows/build-ilspy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ jobs:
StagingDirectory: buildartifacts
BuildAndPublishVsix: true

defaults:
run:
shell: pwsh

steps:
- run: mkdir -p $env:StagingDirectory

Expand All @@ -37,6 +41,8 @@ jobs:
with:
dotnet-version: '11.0.x'
dotnet-quality: 'preview'
cache: true
cache-dependency-path: '**/packages.lock.json'
env:
DOTNET_INSTALL_DIR: ${{ runner.temp }}/.dotnet
DOTNET_ROOT: ${{ runner.temp }}/.dotnet
Expand All @@ -58,22 +64,32 @@ jobs:

- name: Get Version
id: version
shell: pwsh
run: |
.\BuildTools\ghactions-install.ps1
Get-ChildItem Env: | Where-Object {$_.Name -Match "^ILSPY_"} | %{ echo "$($_.Name)=$($_.Value)" } | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append

- name: Restore the application
run: dotnet restore ILSpy.sln /p:RestoreEnablePackagePruning=false /p:Configuration=${{ matrix.configuration }} /p:Platform="$env:BuildPlatform"
run: >
dotnet restore ILSpy.sln
/p:RestoreEnablePackagePruning=false
/p:Configuration=${{ matrix.configuration }}
/p:Platform="$env:BuildPlatform"

- name: Build
run: dotnet build ILSpy.sln --no-restore -c ${{ matrix.configuration }} /p:Platform="$env:BuildPlatform" /m
run: >
dotnet build ILSpy.sln --no-restore
-c ${{ matrix.configuration }}
/p:Platform="$env:BuildPlatform" /m

- name: Format check
run: dotnet-format whitespace --verify-no-changes --verbosity detailed ILSpy.sln

- name: Execute unit tests
run: dotnet test --solution ilspy.sln --configuration ${{ matrix.configuration }} --no-build --report-trx --results-directory test-results/${{ matrix.configuration }}
run: >
dotnet test --solution ilspy.sln
--configuration ${{ matrix.configuration }}
--no-build --report-trx
--results-directory test-results/${{ matrix.configuration }}

- name: Upload Test Logs
uses: actions/upload-artifact@v7
Expand All @@ -88,28 +104,26 @@ jobs:
with:
paths: "test-results/${{ matrix.configuration }}/*.trx"
folded: true

- name: Verify package contents
if: matrix.configuration == 'debug'
shell: pwsh
run: |
.\BuildTools\create-filelists.ps1
git diff --exit-code

- name: Zip ILSpy (framework-dependent)
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries.zip .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*.dll .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*.exe .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*.config .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*.json .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*\ILSpy.resources.dll .\ILSpy\bin\${{ matrix.configuration }}\net10.0-windows\*\ILSpy.ReadyToRun.Plugin.resources.dll

- name: Publish x64/arm64 framework-dependent/self-contained
shell: pwsh
run: .\publish.ps1
run: .\publish.ps1 -Configuration ${{ matrix.configuration }}

- name: Zip ILSpy (framework-dependent)
run: >
7z a -tzip $env:StagingDirectory\ILSpy_binaries.zip ${{ matrix.configuration == 'release' && '''-xr!*.pdb''' || '' }}
.\ILSpy\bin\${{ matrix.configuration }}\net10.0\win-x64\publish\fwdependent\*

- name: Zip ILSpy Release (x64 self-contained)
if: matrix.configuration == 'release'
run: 7z a -tzip $env:StagingDirectory\ILSpy_selfcontained_x64.zip .\ILSpy\bin\Release\net10.0-windows\win-x64\publish\selfcontained\*
if: matrix.configuration == 'release'
run: >
7z a -tzip $env:StagingDirectory\ILSpy_selfcontained_x64.zip '-xr!*.pdb'
.\ILSpy\bin\Release\net10.0\win-x64\publish\selfcontained\*

- name: Zip ILSpy Release (arm64 framework-dependent)
if: matrix.configuration == 'release'
run: 7z a -tzip $env:StagingDirectory\ILSpy_binaries_arm64.zip .\ILSpy\bin\Release\net10.0-windows\win-arm64\publish\fwdependent\*
if: matrix.configuration == 'release'
run: >
7z a -tzip $env:StagingDirectory\ILSpy_binaries_arm64.zip '-xr!*.pdb'
.\ILSpy\bin\Release\net10.0\win-arm64\publish\fwdependent\*

- name: Pack NuGets
if: matrix.configuration == 'release'
Expand All @@ -130,6 +144,12 @@ jobs:
run: |
msbuild ILSpy.VSExtensions.sln /t:Restore /p:Configuration="Release" /p:Platform="Any CPU"
msbuild ILSpy.VSExtensions.sln /p:Configuration="Release" /p:Platform="Any CPU"

- name: Verify package contents
if: matrix.configuration == 'debug'
run: |
.\BuildTools\create-filelists.ps1
git diff --exit-code

# https://github.com/actions/upload-artifact
- name: Upload VSIX (VS 2019) release build artifacts
Expand Down Expand Up @@ -159,7 +179,9 @@ jobs:
- name: Publish Decompiler NuGet
if: github.ref == 'refs/heads/master' && matrix.configuration == 'release'
run: |
dotnet nuget push "ICSharpCode.Decompiler\bin\Release\ICSharpCode.Decompiler*.nupkg" --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/${{ github.repository_owner }}
dotnet nuget push "ICSharpCode.Decompiler\bin\Release\ICSharpCode.Decompiler*.nupkg" `
--api-key ${{ secrets.GITHUB_TOKEN }} `
--source https://nuget.pkg.github.com/${{ github.repository_owner }}

- name: Upload ILSpyX NuGet release build artifacts
if: matrix.configuration == 'release'
Expand All @@ -172,7 +194,9 @@ jobs:
- name: Publish ILSpyX NuGet
if: github.ref == 'refs/heads/master' && matrix.configuration == 'release'
run: |
dotnet nuget push "ICSharpCode.ILSpyX\bin\Release\ICSharpCode.ILSpyX*.nupkg" --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/${{ github.repository_owner }}
dotnet nuget push "ICSharpCode.ILSpyX\bin\Release\ICSharpCode.ILSpyX*.nupkg" `
--api-key ${{ secrets.GITHUB_TOKEN }} `
--source https://nuget.pkg.github.com/${{ github.repository_owner }}

- name: Upload BamlDecompiler NuGet release build artifacts
if: matrix.configuration == 'release'
Expand All @@ -182,10 +206,12 @@ jobs:
path: ICSharpCode.BamlDecompiler\bin\Release\ICSharpCode.BamlDecompiler*.nupkg
if-no-files-found: error

- name: Publish DecomBamlDecompilerpiler NuGet
- name: Publish BamlDecompiler NuGet
if: github.ref == 'refs/heads/master' && matrix.configuration == 'release'
run: |
dotnet nuget push "ICSharpCode.BamlDecompiler\bin\Release\ICSharpCode.BamlDecompiler*.nupkg" --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/${{ github.repository_owner }}
dotnet nuget push "ICSharpCode.BamlDecompiler\bin\Release\ICSharpCode.BamlDecompiler*.nupkg" `
--api-key ${{ secrets.GITHUB_TOKEN }} `
--source https://nuget.pkg.github.com/${{ github.repository_owner }}

- name: Upload zip binaries build artifacts
uses: actions/upload-artifact@v7
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
with:
dotnet-version: '11.0.x'
dotnet-quality: 'preview'
cache: true
cache-dependency-path: '**/packages.lock.json'

- name: Build
run: dotnet build ILSpy.XPlat.slnf --configuration Release -p:RestoreEnablePackagePruning=false
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ ILSpy.Installer/wix/
/ICSharpCode.Decompiler/Properties/DecompilerVersionInfo.cs
**/.vscode/
DecompilerTests.config.json
*.trx
*.trx
# Claude Code local session/skills directory
/.claude/
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/ILSpy/bin/Debug/net10.0-windows/ILSpy.exe",
"program": "${workspaceFolder}/ILSpy/bin/Debug/net10.0/ILSpy.exe",
"args": ["--newinstance"],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
Expand Down
95 changes: 95 additions & 0 deletions BuildTools/ILSpy-x64.msi.filelist
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
av_libglesv2.dll_1592920327
Avalonia.Base.dll_3662161470
Avalonia.Controls.DataGrid.dll_2852317325
Avalonia.Controls.dll_26500233
Avalonia.DesignerSupport.dll_2963495361
Avalonia.Desktop.dll_514034519
Avalonia.Dialogs.dll_4060434414
Avalonia.dll_3833039883
Avalonia.FreeDesktop.AtSpi.dll_1504522956
Avalonia.FreeDesktop.dll_3750238816
Avalonia.HarfBuzz.dll_2718503234
Avalonia.Markup.dll_3386704754
Avalonia.Markup.Xaml.dll_664069885
Avalonia.Metal.dll_2028579576
Avalonia.MicroCom.dll_3552070355
Avalonia.Native.dll_3857345589
Avalonia.OpenGL.dll_3468209774
Avalonia.Remote.Protocol.dll_3872526704
Avalonia.Skia.dll_257695491
Avalonia.Themes.Simple.dll_1277650511
Avalonia.Vulkan.dll_3100298039
Avalonia.Win32.Automation.dll_2362864423
Avalonia.Win32.dll_109688657
Avalonia.X11.dll_2393922295
AvaloniaEdit.dll_2213061944
AvaloniaEdit.TextMate.dll_4076143289
AvaloniaUI.DiagnosticsSupport.Avalonia.dll_3867643388
CommunityToolkit.Mvvm.dll_4038306622
Dock.Avalonia.dll_1108410500
Dock.Avalonia.Themes.Simple.dll_1303068690
Dock.Controls.DeferredContentControl.dll_377850400
Dock.Controls.ProportionalStackPanel.dll_871613126
Dock.Controls.Recycling.dll_2459179469
Dock.Controls.Recycling.Model.dll_3835945558
Dock.MarkupExtension.dll_360505751
Dock.Model.dll_1776580979
Dock.Model.Mvvm.dll_3157502859
Dock.Serializer.SystemTextJson.dll_1555086763
Dock.Settings.dll_1850886471
ExCSS.dll_772095683
HarfBuzzSharp.dll_2900364429
Iced.dll_285771156
ICSharpCode.BamlDecompiler.dll_3869608554
ICSharpCode.Decompiler.dll_1358147769
ICSharpCode.ILSpyX.dll_280182658
ILCompiler.Reflection.ReadyToRun.dll_4095707141
ILSpy.deps.json_330172178
ILSpy.dll_1988090869
ILSpy.exe_66563001
ILSpy.ReadyToRun.Plugin.deps.json_2850202684
ILSpy.ReadyToRun.Plugin.dll_2425245681
ILSpy.runtimeconfig.json_3824488779
K4os.Compression.LZ4.dll_2353530913
libHarfBuzzSharp.dll_2599785683
libonigwrap.dll_1852326591
libSkiaSharp.dll_573240600
McMaster.Extensions.CommandLineUtils.dll_2961148913
MicroCom.Runtime.dll_3630179427
Microsoft.DiaSymReader.Converter.Xml.dll_831292834
Microsoft.DiaSymReader.dll_48358327
Microsoft.DiaSymReader.Native.amd64.dll_2342699291
Microsoft.DiaSymReader.PortablePdb.dll_2602715158
Microsoft.Extensions.DependencyInjection.Abstractions.dll_1531254925
Microsoft.Extensions.Logging.Abstractions.dll_2805630137
Microsoft.IO.RecyclableMemoryStream.dll_2650167861
Mono.Cecil.dll_4003804779
Mono.Cecil.Mdb.dll_3752349945
Mono.Cecil.Pdb.dll_3746779385
Mono.Cecil.Rocks.dll_3761223275
Onigwrap.dll_1000885917
ProDataGrid.FormulaEngine.dll_3266624944
ProDataGrid.FormulaEngine.Excel.dll_2369619843
ShimSkiaSharp.dll_2202132821
SkiaSharp.dll_567793248
Svg.Animation.dll_1679217935
Svg.Controls.Skia.Avalonia.dll_2801867025
Svg.Custom.dll_739443882
Svg.Model.dll_1985116459
Svg.SceneGraph.dll_2287926321
Svg.Skia.dll_3307891536
System.Composition.AttributedModel.dll_2901660890
System.Composition.Hosting.dll_883723955
System.Composition.Runtime.dll_3370703531
System.Composition.TypedParts.dll_946308639
System.Formats.Nrbf.dll_3581137783
TextMateSharp.dll_763434317
TextMateSharp.Grammars.dll_1946894414
Tmds.DBus.Protocol.dll_1424195746
Xaml.Behaviors.Interactions.Custom.dll_347586523
Xaml.Behaviors.Interactions.dll_1595414177
Xaml.Behaviors.Interactions.DragAndDrop.dll_3243006790
Xaml.Behaviors.Interactions.Draggable.dll_85775439
Xaml.Behaviors.Interactions.Events.dll_298940468
Xaml.Behaviors.Interactions.Responsive.dll_1756280471
Xaml.Behaviors.Interactivity.dll_755752773
Loading
Loading