πŸ—ΊοΈ WpfHexEditor

May 21, 2026 Β· View on GitHub

This document tracks all planned and in-progress features for the WpfHexEditor IDE. Features already shipped are in CHANGELOG.md.

Legend: πŸ”§ In Progress Β· πŸ”œ Planned Β· βœ… Done (see CHANGELOG)

πŸ“… Last revised: 2026-05-20

Current IDE build: 0.6.5.96 β€” DiffViewer Phase 2 complete (word-level diff, .patch export, 3-way merge), ClassDiagram incremental Roslyn live-sync, Entropy Heatmap viewport rendering.


πŸ”§ In Progress

Feature #TitleDescriptionProgress
#100IDE Localization27 languages wired β€” 77.9% DynamicResource coverage across all panels, menus, context menus, dialogs, and toolbar buttons. Per-assembly LocalizedResourceDictionary pattern. Remaining: code-behind-set strings (proper nouns, technical configs, icon glyphs intentionally left in English).~78%
#81Plugin SandboxOut-of-process isolation via HWND embedding + full IPC bridge (menus, toolbar, events). HWND parenting, Job Object resource control, IPC HexEditor event bridge done. Auto-isolation engine done. IDE EventBus IPC bridge done. Plugin signing + signature validation done (ADR-SB-01). Remaining: gRPC migration, hot-reload from sandbox.~40%
#84Code Editor β€” VS-Like AdvancedFull feature set shipped: navigation bar, 57+ language definitions (incl. F# + VB.NET), URL hover/click, find/replace, split view, IEditorPersistable, Ctrl+Click cross-file nav, LSP multi-location popup, Alt+Click rect selection, drag-to-move, #region colorization, shared UndoEngine, data-driven folding (4 strategies), comment-aware brace matching, 790+ .whfmt definitions, gutter diagnostics, multi-caret, diagnostics integration, full LSP suite, word wrap, auto-close brackets/quotes + skip-over + wrap-selection (#163 βœ…), end-of-block hover hint βœ…, word highlight βœ…, sticky scroll with line numbers (#160 βœ…), Find All References + dockable panel (#157 βœ…), bracket pair colorization (#162 βœ…), color swatch preview (#168 βœ…), format-on-save (#159 partial βœ…), Ctrl+Click links & emails (ADR-CTRL-LINK-01 βœ… v0.6.4.6), Roslyn semantic inline hints upgrade (ADR-ROSLYN-INLINEHINTS-01 βœ… v0.6.4.6 β€” IReferenceCountProvider, whfmt-driven CanProvide), full LSP code formatting (CodeFormattingService + CodeFormatter + RoslynFormattingProvider βœ…), code minimap (MinimapControl βœ… #161), smart indentation (SmartIndentService βœ… #164), column ruler guides (CE_RulerBrush + options wired βœ… #165), expand/collapse all folds (FoldingEngine.CollapseAll/ExpandAll βœ… #167), inline gutter change markers (ChangeMarkerGutterControl + GutterChangeTracker βœ… #166 β€” CE_GutterAdded/Modified/Deleted Γ— 18 themes, save-point hash diff), peek definition (#158 βœ… β€” InlinePeekHost, Alt+F12), LSP inlay hints layer (LspInlayHintsLayer βœ… β€” parameter name pills, CE_InlayHint* tokens), LSP declaration hints layer (LspDeclarationHintsLayer βœ… β€” RunDebug above test methods, reference counts), incremental document sync (IIncrementalSyncClient βœ… β€” TextDocumentSyncKind=2). Remaining: inline value hints (debug-session variable overlay, via #85 LSP).
#101–103MSBuild & VS Solution SupportOpen .sln files; build/rebuild/clean via MSBuild API; output routed to Build channel; severity coloring; auto-focus; project templates; error list navigation; incremental build with dirty tracking (IIncrementalBuildTracker, FSW per project, BuildDirtyAsync()); orange dirty dot in Solution Explorer (Ctrl+Alt+F7); parallel project builds (SemaphoreSlim-gated Task.WhenAll, MaxParallelProjects from AppSettings, Interlocked-safe counters); build progress bar in status bar βœ…; VB.NET project template write (VbNetConsoleAppTemplate βœ…). Remaining: VB.NET item group editing, nested solution folders.~70%
#104–106Assembly Explorer + Decompilation.NET PE tree, C# decompilation β†’ CodeEditorSplitHost (syntax-highlighted, read-only) βœ…, ILSpy backend, VB.NET decompilation βœ…, CFG Canvas, Assembly Diff, Assembly Search, XRef View, Decompile Cache, Ctrl+Click external symbol decompilation via FindAssemblyPath (AppDomain + runtime + NuGet) + CSharpSkeletonEmitter pipeline; ECMA-335 tokenβ†’offset (PeOffsetResolver βœ…); hex sync (AssemblyHexSyncService βœ…); blank-panel dual-cache bug fixed βœ…. Remaining: plugin panel improvements, PDB source-link matching.~60%
#107Document ModelIDocumentBuffer / DocumentBuffer (thread-safe, Dispatcher-marshalled); IBufferAwareEditor implemented by CodeEditor, TextEditor, MarkdownEditorHost, CodeEditorSplitHost, XamlDesignerSplitHost, HexEditor (HexEditor.BufferAware.cs partial β€” ByteModified debounce 300ms, OpenStream(MemoryStream) reload, 10MB cap); DocumentManager buffer lifecycle; LspBufferBridge (300 ms debounce β†’ DidChange); LspDocumentBridgeService; HexEditor block undo/redo (ADR-UNDO-01 βœ… β€” paste/cut/delete as single undo step, UndoGroup composite, coalescence, VS-style history dropdown); HexEditor ↔ CodeEditor shared UndoEngine βœ… v0.6.4.10 (IUndoAwareEditor, HexByteUndoEntry, DocumentBuffer undo wiring). Remaining: multi-editor collaboration.~50%
#85–86LSP Engine / SmartCompleteFull JSON-RPC LSP client (LspClientImpl); ServerCapabilities parse; 10 LSP providers: completion (LSP-first + local fallback), hover, signature help, code actions (Ctrl+.), rename (F2), inlay hints, code lens, semantic tokens, breadcrumb bar, workspace symbols (Ctrl+T); LspDocumentSync (DidOpen/DidChange/DidClose); LspStatusBarAdapter; LspServersOptionsPage; F# (fsautocomplete) + VB.NET server entries βœ… (Roslyn in-process for C#/VB.NET β€” ADR-ROSLYN-01); 30 new tokens Γ— 18 themes; call hierarchy (LspCallHierarchyProvider + CallHierarchyPanel βœ… Shift+Alt+H); linked editing (LspLinkedEditingProvider βœ…), incremental document sync (IIncrementalSyncClient, TextDocumentSyncKind=2 βœ… Phase 3), pull-diagnostics interface (IDiagnosticsModeClient, UsesPullDiagnostics βœ… Phase 3), LSP inlay hints (LspInlayHintsLayer βœ…), LSP declaration hints (LspDeclarationHintsLayer βœ…). Remaining: inline value hints.~70%
#172Structure EditorVisual .whfmt binary template editor β€” block DataGrid with field types/offsets, drag-drop block reordering, Ctrl+F search, validation pipeline, undo/redo, StructurePopToolbar, BlockTypeBadge, LiveWhfmtBuffer, VariablesTab redesign, TestTab with live binary preview, variable cross-reference validation, expression SmartComplete, options page, SimpleBlockInterpreter, ForensicPattern tolerant converter. Remaining: live binary preview sync, complex type support (arrays, unions, conditionals, bitfields), template validation engine, import/export template packages.~30%
#156Class Diagram PluginπŸ”§ ~85% Done β€” DSL v2 + syntax-highlighted pane (classdiagram.whfmt + CodeEditorSplitHost), 3 layout strategies (Force-Directed / Hierarchical / Swimlane), canvas minimap drag + corner-snap + hide, left-panel TreeView with colored selectable members, collapsible sections + dual metrics badge, hover tooltips (400 ms), context menu (ZoomToRect, clipboard export), scrollbars, session state save/restore; live arrow redraw during drag βœ… v0.6.5.95; round-trip Roslyn sync phases 1A–7 done (ADR-021–036); SVG exporter (ClassDiagramSvgExporter) βœ…; PNG export (ClassDiagramExportService.ExportPngAsync βœ…); incremental Roslyn live-sync (AnalyzeFilesIncremental + _pendingChanges bag β€” only changed files re-parsed, positions preserved βœ… v0.6.5.96). Remaining: VB.NET partial class merging in incremental path.~85%

πŸ”œ Planned β€” IDE Core & Build

Feature #TitleDescription
#36Service Container / DIβœ… Done β€” IServiceContainer SDK contract + ServiceContainerAdapter; AppServiceCollection (MEF β†’ Microsoft.Extensions.DependencyInjection 8.0); Singleton/Scoped/Transient lifecycle.
#37Global CommandBusβœ… Done β€” CommandBus / ICommandBus; all IDE actions routed; CommandRegistry (~45 commands).
#38Keyboard Shortcuts & Bindingsβœ… Done β€” KeyBindingService / IKeyBindingService; configurable gestures; KeyboardShortcutsPage; conflict detection; plugin-extensible.
#39User Preferences PersistenceConfigurationManager, per-section schemas, plugin config API, export/import, cross-session persistence.
#40Centralized Logging & DiagnosticsLogService (Info/Warning/Error/Debug), DiagnosticService (perf metrics), LogSink abstraction, Output + Error Panel integration.
#77Workspace System & State SerializationPlugin lazy loading fully done (ADR-LAZY-01 βœ… v0.6.4.6 β€” manifest stubs, single-click activation, panel persistence across restarts). Multi-workspace management with project-specific settings β€” remaining.
#78Command System (Internal IDE Commands)βœ… Done β€” WpfHexEditor.Commands project; central command registry; KeyBindingService; KeyboardShortcutsPage; TitleBar launcher.
#79Scripting / Automation Engineβœ… Done v0.6.5.95 β€” Dockable Roslyn scripting console; async execution; output history; ScriptingModule; .hxscript automation via terminal.
#82Service Registry & Dependency Injectionβœ… Done β€” IServiceContainer SDK + ServiceContainerAdapter; central DI container exposing all IDE services to plugins via IServiceRegistry.
#83Options Document / IDE SettingsUnified options panel for editor behavior, themes, plugins, and workspace config with live preview.
#87Workspace Templatesβœ… Done v0.5.2 β€” TemplateManager, ProjectScaffolder, 3 built-in JSON templates, NewProjectDialog.
#100IDE Localization Engine(In Progress ~78% β€” see above)
#101.sln Parser(In Progress β€” see above) Remaining: nested solution folders, shared projects, full project graph.
#102C# / VB.NET Project Support(In Progress) .csproj parsing via MSBuild Locator. Remaining: VB.NET write support, item group editing.
#103MSBuild API Integration(In Progress β€” see above) Build/rebuild/clean done. Parallel project builds βœ…. Incremental builds βœ…. Remaining: error list navigation with file/line jump.

πŸ”œ Planned β€” Ultimate IDE Architecture (VS-Level)

Feature #TitleDescriptionRemarque
#153Visual Scripting / Graph ViewNode-based visual representation for binary structures, memory flow, or data pipelines; plugin-extensible graphs for analysis and automation.New concept, not yet in the roadmap
#154Cross-Platform Ready CoreWPF/.NET 8 foundation; potential interop with WinForms; future-proof design for possible Linux/macOS port with Avalonia/MAUI. WpfHexEditor.Core.Contracts + whfmt.FileFormatCatalog already target pure net8.0 β€” first cross-platform packages.New concept, partially started

πŸ”œ Planned β€” Editors & Code Intelligence

Feature #TitleDescription
#84Code Editor β€” VS-Like Advanced(In Progress ~90% β€” see above)
#85LSP Engine(In Progress ~70% β€” see above) Remaining: inline value hints, LSP 3.18 pull-diagnostics (textDocument/diagnostic). Note: Roslyn replaces OmniSharp for C#/VB.NET (ADR-ROSLYN-01).
#86SmartComplete v4 (LSP)Advanced autocomplete, signature help, quick-info, multi-caret editing, virtual scroll for >1 GB files.
#88Dynamic Snippetsβœ… Done v0.6.5.95 β€” SnippetsManager, context-aware snippets, dynamic variables; user/plugin/language-scoped; visual in-app snippet editor; default pack + user store.
#89AI-Assisted Code Suggestionsβœ… Done v0.6.4.3 β€” AI Assistant plugin with 5 providers, 25 MCP tools, streaming chat, inline apply. Remaining: AICompletionEngine (inline ghost-text completions), AIRefactoringAssistant, plugin-extensible AI rules.
#94Advanced RefactoringRename symbol (workspace-wide), extract method/class, inline variable, move file between projects; AI-assisted suggestions.
#96Code Analysis & MetricsCyclomatic complexity, code duplication detection, dependency graphs; dedicated panel with filter/sort.
#106.NET Decompilation via ILSpy(In Progress β€” see #104–106 above) C# skeleton view + full IL disassembly per method; "Go to Metadata Token" navigation.
#157Go-to-References / Find All Referencesβœ… Done v0.6.3.7 β€” Shift+F12; WorkspaceFileCache; InlineHintsService; dockable FindReferencesPanel; F8/Shift+F8 navigation.
#158Peek Definitionβœ… Done β€” Alt+F12; InlinePeekHost; resize handle; keyboard nav; Esc to close.
#159Code Formattingβœ… Done β€” Format-on-save toggle; full LSP textDocument/formatting; RoslynFormattingProvider; Ctrl+K Ctrl+D.
#160Sticky Scrollβœ… Done v0.6.3.7 β€” Scope header pinned at top; line numbers in gutter; syntax-highlighted rows; 6 options; click to navigate.
#161Code Minimapβœ… Done β€” MinimapControl (GlyphRun canvas, click-to-scroll, viewport slider, diagnostic overlay, context menu).
#162Bracket Pair Colorizationβœ… Done v0.6.4.2 β€” BracketPairColorizationEnabled DP; BracketDepthColorizer; CE_Bracket_1/2/3/4 tokens Γ— 18 themes.
#163Auto-close Brackets & Quotesβœ… Done v0.6.3.7 β€” Auto-insert matching pairs; skip-over; wrap selection; 4 options.
#164Smart Indentationβœ… Done β€” SmartIndentService (3 strategies); respects .whfmt indent rules.
#165Column Ruler Guidesβœ… Done β€” Configurable vertical ruler lines; CE_RulerBrush token; per-language defaults via .whfmt.
#166Inline Gutter Change Markersβœ… Done β€” ChangeMarkerGutterControl; GutterChangeTracker; CE_GutterAdded/Modified/Deleted Γ— 18 themes.
#167Expand / Collapse All Foldsβœ… Done β€” FoldingEngine.CollapseAll/ExpandAll; Ctrl+M shortcuts.
#168Color Swatch Inline Previewβœ… Done v0.6.4.2 β€” Detects CSS/XAML/C# color literals; renders 12Γ—12 inline swatch.
#169TextEditor Phase 2βœ… Done β€” Multi-caret (Ctrl+Alt+Click, Ctrl+D); column/block select (Shift+Alt+drag); LSP integration; advanced encoding auto-detection; text statistics panel.
#170ImageViewer Phase 2βœ… Done β€” ImageViewerFactory + full viewer; inline color picker; histogram panel; batch export; pixel inspector overlay; animated GIF frame viewer.
#171DiffViewer Phase 2βœ… Done β€” DiffViewerFactory; DiffViewerViewModel; side-by-side + unified diff view; chunk-level accept/reject; word-level diff (MyersDiffAlgorithm.WordEdits, inline Run highlights βœ… v0.6.5.96); .patch export (DiffExportService.ExportUnifiedPatch, SaveFileDialog βœ… v0.6.5.96); 3-way merge (ThreeWayMergeEngine, MergeConflict, 3-column viewer, accept ours/theirs/both, save merged output βœ… v0.6.5.96).
#172StructureEditor Phase 2(In Progress ~30% β€” see above)
#173EntropyViewer Phase 2πŸ”§ Partial β€” EntropyViewer project exists with controls. Remaining: named section labels (overlay on chart), chart export (PNG/SVG), multi-file overlay comparison, zoom/pan, region selection β†’ jump to hex offset.
#174AudioViewer β€” Full Implementationβœ… Done β€” WpfHexEditor.Editor.AudioViewer; waveform rendering; playback controls; spectrogram view; audio metadata panel.
#175TileEditor β€” Full Implementationβœ… Done β€” TileEditorFactory + TileEditor; tile grid picker; palette editor; sprite sheet layout; pixel-level editing; export PNG/BMP; zoom 1×–16Γ—.
#176JsonEditor β€” Full Implementationβœ… Done β€” JsonEditorFactory; dedicated JSON editor; collapsible tree view. Remaining: JSON Schema validation, JSON path navigator, format/minify/sort-keys, side-by-side diff.
#177ScriptEditor Phase 2Step-debugger for .hxscript (breakpoints, watch, call stack); REPL panel (interactive HxScript console); snippet templates; syntax error underline + gutter marker; HxScript language server (LSP).
#178DisassemblyViewer Phase 2x86/x64/ARM/WASM instruction decoding; jump arrows between branch targets; symbol table overlay; address navigation bar; cross-reference to hex view; export as .asm.
#155Visual XAML Editor β€” Phase 2βœ… Core + Phase 2 done β€” ConstraintAdorner, gradient editor, binding path picker, perf overlay, responsive breakpoint bar shipped in v0.6.3. Remaining: trigger & animation timeline editor (beyond stub), data-binding wizard, "Go to Definition" for resource keys, multi-resolution DPI preview, export as standalone .xaml.
#179Document Structure Panelβœ… Done v0.6.4.6 β€” WpfHexEditor.Plugins.DocumentStructure; 8 providers; IDocumentStructureProvider SDK extension point; 18 DS_* theme tokens Γ— 18 themes.
#180Tab Groupsβœ… Done v0.6.4.6 β€” ITabGroupService SDK contract + TabGroupService; split horizontal/vertical; 16 TG_* theme tokens; keyboard shortcuts; settings page; 77 integration tests.

πŸ”œ Planned β€” Assembly & Binary

Feature #TitleDescription
#81Plugin Sandbox (gRPC Migration + Hot-Reload)HWND embedding + IPC bridge done (v0.3.0). Remaining: gRPC transport migration, collectible AssemblyLoadContext hot-reload from sandbox, plugin restart-less upgrade flow.
#97Large File OptimizationVirtualizationEngine, LazyParser, multi-core SmartComplete adapter; virtualized display for >1 GB files, incremental parsing.

πŸ”œ Planned β€” DevOps & Collaboration

Feature #TitleDescription
#41Plugin MarketplaceMarketplaceManager β€” browse, install, update from online registry; signed .whxplugin packages.
#42Plugin Security & SandboxingPermission declarations at install time, integrity verification, AppDomain isolation.
#43Plugin Auto-UpdateUpdateService / UpdateChecker, rollback support, scheduled checks for IDE + plugins.
#44Integrated Debuggerβœ… Done v0.6.5.110 β€” DebugModule (merged from WpfHexEditor.Plugins.Debugger); DebuggerServiceImpl; IDebugAdapterRegistry / IDebugVisualizerRegistry SDK; nine debug panels; VS-style Call Stack toolbar.
#90Debugger β€” Multi-ProjectMulti-project debug sessions via EventBus; supports scripts, plugins, and workspace projects.
#91bOutput Panel β€” Debug FiltersContext-menu filters in the Output panel (exceptions, module load/unload, thread exit). Requires Integrated Debugger (#44 βœ…).
#91Git IntegrationπŸ”§ ~40% β€” GitChangesPanel (stage/unstage/commit/discard, diff preview), push/pull/fetch toolbar, branch picker popup, stash manager, status bar adapter, GitHistoryPanel, BlameGutterControl; 18 GC_* tokens. Not yet integration-tested β€” real-repo operations unverified.
#93Plugin Installer / Marketplace UIPlugin search UI, download/update manager, sandbox enforcement at install time.
#95Unit Testing Panelβœ… Done β€” WpfHexEditor.Plugins.UnitTesting; DotnetTestRunner; TrxParser; UnitTestingPanel; auto-run on BuildSucceededEvent; xunit/nunit/mstest auto-detection.
#98Multi-User CollaborationMulti-cursor real-time editing, document sync, contextual chat/comments per line.

πŸ”œ Planned β€” UX & Infrastructure

Feature #TitleDescription
#99Advanced UI/UXNotificationManager, WorkspaceLayoutAdapter; contextual inline notifications, layout persistence per workspace, full docking for all panels.

πŸ”œ Planned β€” Quality, Tooling & Operations

Feature #TitleDescription
#45Plugin & Script TestingTestRunnerService β€” automated functional, compatibility, security and performance tests for plugins and scripts before execution or installation.
#46Integrated Documentation & Contextual HelpIn-IDE documentation browser and context-sensitive help for all components (menus, commands, panels, plugins, APIs).
#47Notification & Alert SystemCentralized NotificationService β€” inline toast alerts, priority levels, EventBus integration, plugin-extensible notification hooks.
#48Monitoring & AnalyticsIDE health dashboard β€” plugin CPU/RAM usage, event frequency, command stats, latency tracking; exportable reports.
#49Export / Import Projects & ConfigurationsFull export/import of workspace configs, settings, plugin lists, templates and keybindings for portability and backup.
#54Auto-Save & Restoreβœ… Done β€” AutoSaveService in WpfHexEditor.Editor.DocumentEditor; automatic session backup at configurable intervals; full restore on crash.
#58Reporting & DashboardsDedicated report panel β€” code quality metrics, plugin health, build history, test results; filterable and exportable.
#63Smart Session Backup & Auto-ResumeIntelligent session snapshot (open files, cursors, layout, unsaved changes); seamless resume after restart or crash.
#65Interactive Tutorials & OnboardingStep-by-step interactive onboarding for new users; contextual tutorial overlays for major features; plugin authors guide.
#67Global Backup & Config VersioningVersion-controlled snapshots of all IDE configurations, plugin manifests and workspace templates; rollback support.
#69Dependency Monitoring & Plugin CompatibilityDetect plugin dependency conflicts, SDK version mismatches, and incompatible combinations; alerts before install/update.
#71CI Integration for Plugins & ScriptsTrigger automated plugin test suites and script validation from CI pipelines; webhook support; result reporting via Output Panel.

πŸ”œ Planned β€” Distribution & Web Presence

Feature #TitleDescription
#108Official WebsitePublic project website β€” landing page, feature showcase, screenshots, documentation browser, changelog, download links and plugin registry.
#109Installable PackageSelf-contained installer for the IDE β€” MSI / MSIX / WinGet package; auto-update channel; no .NET SDK required for end users; optional silent install for enterprise.

πŸ”œ Planned β€” Binary Analysis & Reverse Engineering

Feature #TitleDescription
#110String Extraction Panelβœ… Done v0.6.5.95 β€” StringExtractionPanel + StringExtractorPanel; ASCII/Unicode/custom-encoding scan; minimum-length filter; one-click jump to hex offset; CSV export.
#111Cryptographic Hash Inspectorβœ… Done β€” HashInspectorPanel + HashInspectorViewModel; MD5/SHA-1/SHA-256/SHA-512/CRC-32/Adler-32; real-time over selection or full file; copy-to-clipboard; reference-hash comparison.
#112Embedded File CarverDetect and extract embedded PE files, ZIP archives, PNG images, and other magic-byte signatures from within a binary; carved blobs open as virtual child documents.
#113YARA Rule EngineAuthor, compile, and run YARA rules directly in the IDE; matches highlighted in hex view and listed in a results panel with offset, length, and rule name.
#114PE Import / Export Table AnalyzerParse PE32/PE64 IAT and Export Directory; display resolved DLL and function names side-by-side with raw offsets; flag suspicious ordinal-only imports.
#115Binary Patch RecorderRecord every byte modification as a named, annotated patch; export as binary diff, IDA script, or human-readable .patch file for reproducible patching.
#116Obfuscation & Packing DetectorHeuristic analysis of section entropy, suspicious imports, and known packer watermarks (UPX, Themida, MPRESS); produces a risk score and actionable report.
#117Memory Snapshot ViewerLoad Windows mini-dump (.dmp) or Linux core-dump files; display memory regions, thread stacks, loaded modules, and heap blocks in the hex view with structured overlays.
#119Byte Frequency & Bigram HeatmapπŸ”§ Partial β€” ByteFrequencyPanel + ByteFrequencyService + ByteFrequencyViewModel done. Remaining: bigram (256Γ—256 dot-plot), multi-file overlay comparison.
#124Hex Bookmarks & Named Regionsβœ… Done β€” BookmarkService, EnhancedBookmark, BookmarkGroup, BookmarksPanel, BookmarkExportService; persistent named bookmarks with groups, colors, comments; JSON import/export.
#139Grammar File SupportAdd support for loading and parsing .syn grammar files from Synalysis; enable syntax highlighting, structured parsing, and integration with memory/code analysis workflows.

πŸ”œ Planned β€” Security & Forensics

Feature #TitleDescription
#118File Signature Databaseβœ… Partially done v0.6.4.75 β€” EmbeddedFormatCatalog ships 790+ format definitions with magic-byte signatures, MIME types, confidence scoring, and auto-detection on open; whfmt.FileFormatCatalog NuGet published. Remaining: user-extensible custom signatures (currently embedded-only).
#120XOR / ROT Cipher DecoderBrute-force single-byte XOR keys and ROT offsets over a selection; score candidates by ASCII printability; display top results with one-click "apply to selection".
#121Audit Log & Forensic Session JournalRecord every user action (open, edit, navigate, export) with timestamps and byte-range context into a tamper-evident journal, exportable as signed HTML or JSON report.
#122Certificate & ASN.1 InspectorParse DER/PEM X.509 certificates, PKCS#7/12 containers, and raw ASN.1 structures embedded in any binary; tree-view with field names, OIDs, validity dates, and key parameters.
#123Vulnerability Pattern ScannerCurated byte-pattern rules (stack cookies, heap metadata, safe SEH markers) that flag potential vulnerability indicators in native binaries directly in the hex view.

πŸ”œ Planned β€” Developer Productivity

Feature #TitleDescription
#125Regex Search over Hex & ASCIIFull regex search across hex byte patterns (e.g. \xDE\xAD.{2}\xBE\xEF) and decoded ASCII simultaneously, with match highlighting, results list, and replace support.
#126Byte-Range CalculatorInline calculator panel for arithmetic, bitwise, and shift operations on raw byte values; accepts hex/decimal/binary input; shows two's-complement and IEEE-754 float interpretations.
#127Column / Block SelectionRectangular block selection across hex and ASCII panes; paste, fill, or export selected columns as independent byte arrays β€” essential for fixed-width record formats.
#128Binary Template MarketplaceCommunity-driven repository of binary template definitions; browse, search, install, and auto-update format templates (PE, ELF, ZIP, PNG, MP4, etc.) from within the IDE.
#129Multi-File Hex Session TabsTrue independent hex editor sessions per tab with separate cursors, selections, undo stacks, and bookmarks β€” enabling parallel analysis of multiple binaries.
#130Changeset Review Panelβœ… Done β€” ChangesetEditorFactory + WpfHexEditor.Editor.ChangesetEditor; diff-style view of all pending unsaved byte modifications; offset, original value, new value, age; per-change accept/reject controls before save.

πŸ”œ Planned β€” IDE Infrastructure

Feature #TitleDescription
#131Plugin Dependency Graph PanelInteractive directed-graph visualization of all loaded plugins, their service dependencies, and SDK version constraints; detects cycles and orphaned dependencies.
#132Theme Designer & Live PreviewIn-IDE XAML brush editor to create, fork, and export custom themes; changes applied live to all dockable panels; themes packaged as .whtheme files.
#133Command Palette (Ctrl+Shift+P)βœ… Done v0.6.3.6 β€” CommandPaletteWindow + CommandPaletteService; VS Code-style fuzzy-search palette; 9 modes (>/@/:/#/%/?/Tab); frequency boost; context boost; file search; content grep; CommandPaletteOptionsPage.
#134Extension Point DebuggerDeveloper panel listing every SDK extension point (menus, toolbar, statusbar, eventbus) registered by each plugin with live invocation counts and last-call stack.
#135Workspace File WatcherMonitor all open project files for external changes (from other processes or Git operations); prompt to reload, diff, or merge changes without closing the editor tab.
#138Welcome Screen Redesignβœ… Done v0.6.5.95+ β€” VS Start Page-style welcome panel: template cards (8 cards wired to onNewFile/onOpenFile/onOpenProject), enriched recent file rows (icon + dir + date + pin/remove), search filter, categorised news feed with filter pills, WelcomeNewsService (JSONβ†’changelog fallback, 30-min cache), MruService pin/unpin/remove, 7 WS_* theme tokens Γ— 18 themes, 10 new AppResources keys Γ— 28 satellites.

πŸ”œ Planned β€” Network & Protocol Analysis

Feature #TitleDescription
#136PCAP / Network Capture ViewerLoad .pcap and .pcapng files; display packet list, layer breakdown (Ethernet/IP/TCP/UDP/TLS), and raw payload bytes in the hex view.
#137Protocol Dissector Plugin APIPlugin contract allowing third parties to register custom protocol dissectors; dissected fields appear in the ParsedFields panel and hex view overlays.

πŸ”œ Planned β€” IDE Infrastructure Phase 2

Feature #TitleDescription
#179Quick File Open (Ctrl+P)VS Code-style fuzzy file picker across entire solution; recent files first; preview on hover; open at line (filename:42); filter by extension; excludes .gitignore patterns.
#180Terminal Phase 2Full ANSI / Xterm-compatible emulation (256-color, SGR codes, mouse events); terminal split panes (horizontal/vertical); SSH / WSL session integration; persistent command history across restarts; REPL hosting (Python/Node/Ruby); macro recording & playback.
#181Build System Phase 2Parallel project builds (MSBuild -m flag); build cancel button (kills MSBuild process); per-project build duration profiling in Output panel; pre/post-build event steps UI; distributed build cache (optional); cross-platform build (dotnet CLI fallback).
#182Docking Phase 2Persistent floating window positions (saved on close, restored on next session); keyboard panel switcher (Ctrl+Tab-like cycle across all panels); multi-item tabbed float windows (group panels in a single float).
#183EventBus Phase 2Async event delivery (non-blocking handlers via Task); per-event filtering / routing rules; cross-process plugin events via IPC; plugin-publishable custom events via SDK; event delivery metrics (latency, queue depth) in Monitoring panel.
#184Project System Phase 2Lazy project loading (defer heavy projects until first open); solution-wide find & replace (Ctrl+Shift+H); project dependency graph view; .gitignore support in folder loader; bulk rename/move items; nested project groups (>1 level).
#185Settings Phase 2Per-workspace settings override (.whsettings in project root); named settings profiles (switch between Debug/Release/Presentation modes); settings import/export UI; settings keyword search; keyboard shortcut conflict detection + resolution dialog.

πŸ”œ Planned β€” Plugins Phase 2

Feature #TitleDescription
#186AssemblyExplorer Phase 2Full ILSpy backend wiring (replaces Skeleton fallback) βœ… partial; ECMA-335 tokenβ†’offset (PeOffsetResolver βœ…); hex sync (AssemblyHexSyncService βœ…). Remaining: PDB symbol + source-link matching UI, plugin panel improvements.
#187ArchiveStructure Phase 2In-place archive editing (add/remove/rename entries without re-pack); multi-format packer (TAR/GZ/XZ/BR); compression ratio analysis per entry; drag-and-drop files into archive panel.
#188FileComparison Phase 2Diff algorithm choice (LCS / Myers / Histogram β€” selectable in toolbar); binary patch export (.bdiff / xdelta format); unified diff view mode; 3-way merge βœ… v0.6.5.96 (base + ours + theirs β€” ThreeWayMergeEngine, conflict resolution UI, save merged output). Remaining: diff algorithm selector in toolbar, .bdiff/xdelta binary patch format.
#189DiagnosticTools Phase 2Memory leak heuristic (detect growing gen2 objects across GC cycles); GC pressure analyzer (alert on LOH allocations); thread deadlock detector (wait graph); flame graph for CPU samples.

πŸ”œ Planned β€” LSP & Language Intelligence Phase 3

Feature #TitleDescription
#190LSP Phase 3Call hierarchy (LspCallHierarchyProvider + CallHierarchyPanel βœ… Shift+Alt+H); linked editing (LspLinkedEditingProvider βœ…). Remaining: inline value hints (debug scope expression eval), LSP 3.18 pull-diagnostics (textDocument/diagnostic), type hierarchy (Ctrl+F12).
#191Core Source Analysis (Roslyn)C# incremental Roslyn parser replacing regex-based SourceOutlineEngine; VB.NET / F# parser support; cross-language symbol resolution; semantic model for LSP providers; #if / #pragma conditional compilation region handling.
#192F# Full Language SupportFSharp.whfmt syntax definition (keywords, computation expressions async { } / seq { } / task { }, active patterns, discriminated union arms, F# operators |> / >> / <-); LanguageRegistry registration for .fs / .fsx / .fsi; LspServerRegistry auto-detect fsautocomplete (Ionide) with PATH check + install hint; Assembly Explorer F# decompilation language mapping; DocumentManager extension map update. See DevPlan #9.
#193VB.NET Full Language SupportVBNet.whfmt syntax definition (VB.NET keywords, End Class / End Sub / End Function block detection, #Region / #End Region named folding, ' line comments, ''' XML-doc comments, &H / &B / &O number literals, attribute <…> patterns); LanguageRegistry registration for .vb; OmniSharp vbnet language ID registration; Assembly Explorer VB.NET language mapping. See DevPlan #9.

πŸ”œ Planned β€” HexEditor Control (Internal β€” Low-Level)

Features internal to the WPFHexaEditor control itself β€” engine, ByteProvider, rendering, selection, in-buffer manipulation. Not panels or plugins.

Feature #TitleDescription
#194Streaming ByteProvider for files >4 GBSwitch large-file path to MemoryMappedFile with sliding 64 KB views; lift the current ~2 GB ceiling; lazy materialization of edit deltas. Enables forensic disk image analysis without saturating RAM.
#195Copy-on-write virtual editsReplace whole-buffer mutation with Dictionary<long, byte> overlay merged on read. Allows multi-GB files to be edited paying only for actual changes; foundation for true streaming edits.
#196Undo/Redo branching treeReplace linear undo stack with a DAG of edit states; preserves alternative branches when the user undoes then makes new edits. Exposed via IUndoEngine extension; visualized in existing history dropdown.
#197Insert / Delete bytes (true)Real shift-the-rest insertion and deletion (currently overwrite-only). Requires IByteProvider to support gap-buffer / piece-table semantics so multi-GB files don't recopy. Foundation for ROM patching, exploit dev, container repair.
#198Atomic save (file.tmp + rename)Audit + harden ByteProvider.Save to write to a sibling tempfile then MoveFileEx(REPLACE_EXISTING); eliminates partial-write corruption on crash/poweroff.
#199External file change detectionFileSystemWatcher integration; detect when the open file is modified by another process; prompt user reload / merge / keep-mine; coalesce rapid events with 250 ms debounce.
#200GlyphRun caching for hex cellsCache one frozen GlyphRun per byte value (256 entries) instead of formatting on every render pass; major scroll performance gain. Same approach for ASCII column.
#201Dirty-rectangle renderingReplace global InvalidateVisual() with line-level invalidation; only redraw lines whose bytes changed. Cuts redraw cost dramatically on selection-only and caret-only updates.
#202DataInspector throttle during inertia scrollSuppress inspector recompute during high-velocity scroll (>200 lines/s); resume on scroll-stop. Eliminates input-lag during fast navigation in big files.
#203Pixel-perfect cell alignmentSnap each hex cell origin to integer device pixels; eliminate sub-pixel glyph blur on non-HiDPI screens. Wire UseLayoutRounding=true and verify with RenderOptions.SetEdgeMode.
#204Rectangular / column selection (Alt+drag)Block-rectangle selection across rows; copy/fill/XOR operates on the rect. Mirrors the TextEditor rect-select that already shipped (Editor.Core ADR). High-impact for structured-binary work.
#205Multi-range selection (Ctrl+click)Maintain a list of disjoint selected ranges; copy/fill/replace/XOR fan out across all ranges. Compatible with existing SelectionStart/Stop via a SelectionRanges collection.
#206Insert / Overwrite caret toggle (Insert key)Standard text-editor toggle missing in most hex editors; status-bar indicator; respects #197 insert mode when ON.
#207Bit-level cursor (sub-nibble)Extend the existing nibble caret to single-bit positioning (Shift+Arrow toggles bits). Enables direct flag-byte editing without external calculator.
#208Regex / hex-pattern searchPattern syntax \x4D\x5A.{2}\x90 (yara-like); already partial via SearchEngine β€” promote to first-class Find dialog with capture groups and replace.
#209Fill with repeated patternFill range with multi-byte pattern (0xDEADBEEF) instead of single byte; existing FillBytes extension.
#210Bitwise ops on selectionXOR / AND / OR / NOT against repeated key or rolling key; in-place; undo-aware (single UndoGroup). Useful for plain-XOR cipher peeling.
#211Endianness swap on selectionSwap 16/32/64-bit words in place over a selection; preserves caret; single undo entry.
#212Hash / checksum live panel for selectionReal-time CRC16/32, MD5, SHA-1/256/512, BLAKE3, Adler32 over the active selection; updates on selection change with debounce. Surfaces existing hash backends.
#213Sparse-file aware editingDetect sparse / NTFS-compressed source files; preserve hole layout on save (FSCTL_SET_SPARSE / FSCTL_SET_ZERO_DATA).
#214Raw volume / disk access\\.\PhysicalDriveN and \\.\C: open paths with elevated-permission gate; read-only by default; locked behind explicit IPermissionService.RequireElevation() consent.

πŸ”œ Planned β€” HexEditor Control (Internal β€” High-Level UX)

Feature #TitleDescription
#215Configurable columns (show/hide/reorder)Toggle visibility of offset / hex / ASCII / custom-encoding columns; drag-to-reorder; persisted per editor instance. Add UTF-16 LE/BE, EBCDIC, custom codepage panes.
#216Dynamic bytes-per-rowReplace fixed BytePerLine=16 with auto (snap to 8/16/24/32 based on viewport width) and fluid (fill viewport, no snap). Wired through the existing BytePerLine DP.
#217Range highlighting (persistent)Color a [start,end] range with a custom brush that survives scroll; distinct from bookmarks (point markers) and search hits (transient). API: AddHighlight(range, brush, label).
#218Inline annotationsPer-line gutter icon with hover tooltip ("PE header signature"); attached to a [start,end] range; persisted in workspace; collaborative-friendly.
#219Vertical mini-mapCompressed full-file overview pane on the right (Γ -la VS Code text minimap, but byte-density colored by entropy / change / search density); click to jump. Reuses the entropy LUT from the EntropyVisualizer plugin.
#220Configurable ruler headerRender offset row in hex / dec / oct; alignment 0/4/8/16; user-toggleable group separators.
#221Smart Ctrl+G goto parserParse 0x100, 1024, +0x10 (relative), -1 (from EOF), RVA:0x4000, Section:.text+0x10, Symbol:main (debugger join). Replaces today's int-only parser.
#222Structural breadcrumb barWhen the active file is parsed via whfmt, show "PE.OptionalHeader.DataDirectories[2]" at top of the editor; click each segment to jump. Reuses existing BreadcrumbBar widget.
#223Back / Forward navigation historyBrowser-style Alt+Left / Alt+Right; stack of visited offsets bounded to 100 entries; survives scroll, not just goto.
#224Smooth scroll animation60 fps animated transition on PageDown / Home / End / programmatic ScrollToOffset; respects Reduced motion accessibility setting.
#225Type-aware editingWhen the caret sits on a parsed uint32 field, typing 42 writes 2A 00 00 00 and live-previews the diff in a popover; Esc cancels. Requires #222 structural awareness.
#226Inline structural validationEdits that break a parsed checksum / CRC / structure are highlighted red with a tooltip explaining which constraint failed; non-blocking (the edit applies, but the warning persists).
#227Modification templatesApply named templates ("PE relocation", "PNG IHDR width=N") to a selection; templates ship from whfmt and from a user folder; preview-then-apply.
#228Live edit preview popoverMini-bubble over the cursor while typing a new byte: shows the proposed value + decoded interpretations (int/float/string/etc.) before commit.
#229Split viewβœ… Done v0.6.5.16 β€” HexEditorSplitHost wraps two HexEditor instances sharing the same ByteProvider; independent scroll/selection/caret; inline toggle button at top of scrollbar; focus borders (split mode only); ByteProvider.DataChanged event propagates all mutation types (modify/insert/delete) to the peer pane; breadcrumb bar, format detection blocks, undo/redo and custom background overlays all synced to secondary pane; status bar hidden on secondary; standalone-safe; IDocumentEditor delegation (undo/redo always via primary where shared UndoEngine lives).
#230Locked / pinned panesFreeze one half of a split at a fixed offset while the other scrolls; useful for keeping a header table visible while exploring later regions.
#231Ghost overlay for visual diffRender a second buffer in transparent overlay on top of the current one; quick visual binary diff without leaving the editor.
#232Smart paste auto-detectionDetect clipboard format on paste: 0x41 0x42, 4142, AB, base64, hex-with-spaces, C array literal β€” convert and paste in one action. Status-bar hint shows detected source format.
#233Screen reader (UIA) supportAnnounce caret movements ("byte 0x4D 'M' at offset 0x100, in section .text"); selection range readout; expose hex cells as UIA DataItem controls.
#234High-contrast WCAG AA paletteDedicated theme tokens with verified AA contrast ratios; activated automatically when Windows HighContrast is on; documented per-token contrast measurements.
#235Complete keyboard-only navigationAudit & close every gap: all context-menu actions reachable via keyboard, focus visuals on all interactive cells, custom shortcut tab to jump caret to status bar / breadcrumb / inspector.

βœ… Recently Shipped

FeatureVersion / Release
DiffViewer Phase 2 β€” word diff + .patch export + 3-way merge (#171 complete) β€” Text tab with side-by-side line diff; word-level inline highlights (MyersDiffAlgorithm.WordEdits); Export .patch (unified diff format); 3-way merge tab (ThreeWayMergeEngine β€” base/ours/theirs, auto-accept single-side, conflict resolution buttons, save merged output); 28-lang localized (28 new keys Γ— 28 satellites)[0.6.5.96] β€” 2026-05-20
ClassDiagram β€” incremental Roslyn live-sync (#156-A) β€” AnalyzeFilesIncremental: re-parses only changed files, preserves canvas positions of unchanged nodes; _pendingChanges ConcurrentBag drains per debounce cycle; O(1) path lookup via HashSet[0.6.5.96] β€” 2026-05-20
Entropy Heatmap viewport rendering (#095) β€” AddCustomBackgroundBlockRange SDK batch API; EntropyHeatmapService brush-cache + batch inject; EntropyWindowSizeBytes rename[0.6.5.96] β€” 2026-05-20
Welcome Screen Redesign (#138) — VS Start Page-style welcome panel: template cards, enriched recent file rows (icon + dir + date + pin/remove), search filter, categorised news feed with filter pills; WelcomeNewsService (JSON→changelog fallback, 30-min cache); MruService pin/unpin/remove; 7 WS_* theme tokens × 18 themes; 10 new AppResources keys × 28 satellites[0.6.5.95+] — 2026-05-19
ScreenRecorder plugin β€” full capture pipeline (BitBlt + DPI-aware region selector, F9/Shift+F9 global hotkey), timeline UI (thumbnails, drag-reorder, multi-select), GIF/PNG/FFmpeg export, playback scrubber, undo/redo, import/clipboard; themed + 28-lang localized; .whscr format[0.6.5.95] β€” 2026-05-17
ClassDiagram live arrow redraw β€” arrows follow nodes in real time during drag (≀60 relations); stale-arrow-after-drop fix[0.6.5.95] β€” 2026-05-17
Scripting Console panel β€” dockable Roslyn scripting console; history, output cap, CTS-safe shutdown; ScriptingModule[0.6.5.95] β€” 2026-05-17
Snippets Phase 2 β€” visual in-app snippet editor: highlight box, conflict detector, import/export, variable picker, default pack + user store[0.6.5.95] β€” 2026-05-17
Hex Diff / Patch panel β€” side-by-side binary diff, concurrent reads, TOCTOU fix, patch export[0.6.5.95] β€” 2026-05-17
Binary Analysis module β€” 5 panels: navigate, EstimateSize, CSV export[0.6.5.95] β€” 2026-05-17
ByteProvider v1.3.0 β€” DI/AOP/Slice/Metrics public API tier; 90 xUnit tests[0.6.5.95] β€” 2026-05-17
whfmt.CodeGen v1.1.3 β€” JSONC header parsing in .whfmt files[0.6.5.95] β€” 2026-05-17
WpfTerminal decoupled from IIDEHostContext β€” RoslynServiceFactory injected; Process leak fixed[0.6.5.95] β€” 2026-05-17
Build-number scheme reset β€” WpfHexEditor.App realigned from 0.6.5.225 to 0.6.5.8[0.6.5.8] β€” 2026-05-12
Code Analysis scope UX + SplitButton re-run β€” scope label (Solution/Project/File); SplitButton: left = re-run same scope, dropdown = Run Solution / Run Project… / Run File…[0.6.5.225] β€” 2026-05-09
Code Analysis Treemap context menu β€” right-click: Open File, Copy Path, Copy Metrics, Run Analysis on File, Filter to This Project, Highlight Top 10 Hotspots; 15 new keys Γ— 28 satellites[0.6.5.225] β€” 2026-05-09
DocumentEditor Glyph-Accurate Caret & Hit-Test β€” GetCharOffsetFromGlyphLines/GetCaretXYFromGlyphLines via GlyphRun pipeline; synchronous RebuildLayout in all edit paths; opens-dirty fix; GetCaretX guard[0.6.5.110] β€” 2026-05-05
DebugModule Core Integration (ADR-010) β€” WpfHexEditor.Plugins.Debugger merged into WpfHexEditor.App/Debug; nine debug panels; VS-style Call Stack toolbar; IDebugAdapterRegistry / IDebugVisualizerRegistry SDK extension points preserved[0.6.5.110] β€” 2026-05-05
HexEditor Split View (#229) β€” HexEditorSplitHost with shared ByteProvider; inline split toggle; ByteProvider.DataChanged syncs all mutation types; breadcrumb, format blocks, undo/redo propagated to secondary; focus borders; options page toggle[0.6.5.16] β€” 2026-05-04
DocEditor Page Rulers β€” interactive rulers (horizontal + vertical) tracking zoom, caret position, and resize; LayoutTransform-based zoom; drag-to-move selection[0.6.5.16] β€” 2026-05-04
Docking Layout Auto-Reset β€” corrupt or oversized saved layouts auto-reset on startup instead of crashing[0.6.5.16] β€” 2026-05-04
NuGet release wave β€” 6 standalone packages: WPFHexaEditor 3.2.0, WpfCodeEditor 0.9.8.0, WpfDocking 0.9.7.0, WpfTerminal 0.9.7.0, WpfHexEditor.Core.ByteProvider 1.1.0, whfmt.FileFormatCatalog 1.1.0[0.6.5.15] β€” 2026-05-01
IDE Localization β€” 27 languages β€” 77.9% DynamicResource coverage; all panels, menus, context menus, dialogs, toolbar buttons; per-assembly LocalizedResourceDictionary pattern; 28 satellite languages[0.6.5.15] β€” 2026-05-01
WPFHexaEditor 3.2.0 β€” Go to offset dialog (Ctrl+G); unified UndoEngine; drag-selection auto-scroll fix; BreadcrumbBar freeze + phantom row fix[0.6.5.15] β€” 2026-05-01
790+ .whfmt format definitions β€” +100 new definitions; FormatSchemaValidator wired at load time; EmbeddedFormatCatalog.GetAll() returns FrozenSet<T>[0.6.5.15] β€” 2026-05-01
whfmt.FileFormatCatalog v1.1.0 β€” FormatMatcher, FormatFileAnalyzer, CatalogQuery, FormatMetadataExtensions, FormatSummaryBuilder[0.6.5.15] β€” 2026-05-01
Structure Editor β€” visual .whfmt template editor with block DataGrid, drag-drop, validation pipeline, undo/redo, TestTab, expression SmartComplete, ForensicPattern tolerant converter[0.6.4.75] β€” 2026-04-15
Window Menu + Win32 Fullscreen β€” _Window top-level menu; F11 fullscreen via Win32 covering full monitor[0.6.4.8] β€” 2026-04-08
Git Integration G0–G7 β€” GitChangesPanel, push/pull/fetch, branch picker, stash manager, status bar adapter, GitHistoryPanel, BlameGutterControl; 18 GC_* tokens Γ— 18 themes[0.6.4.7] β€” 2026-04-07
Class Diagram Overkill Upgrade β€” syntax-highlighted DSL pane, 3 layout strategies, canvas minimap, TreeView left panel, session state save/restore; round-trip Roslyn sync phases 1A–7[0.6.4.7] β€” 2026-04-07
AI Assistant Plugin β€” 5 providers (Anthropic/OpenAI/Gemini/Ollama/Claude Code CLI), 25 MCP tools, streaming chat, inline apply, @mentions, command palette (Ctrl+Shift+A), 17 CA_* tokens Γ— 18 themes[0.6.4.3] β€” 2026-04-02
Roslyn Integration β€” In-process RoslynLanguageClient replacing OmniSharp for C#/VB.NET[0.6.4.3] β€” 2026-04-02
LSP Client Engine β€” full JSON-RPC LSP client; 10 providers; LspDocumentBridgeService; LspStatusBarAdapter; 30 tokens Γ— 18 themes[0.6.3.6] β€” 2026-03-23
Command Palette β€” Ctrl+Shift+P, 9 search modes, fuzzy scoring, frequency boost, CommandPaletteOptionsPage[0.6.3.6] β€” 2026-03-23
Command System Central β€” WpfHexEditor.Commands; CommandRegistry (~45 commands); KeyBindingService; KeyboardShortcutsPage; TitleBar launcher[0.6.3.6] β€” 2026-03-23
Document Structure Panel (#179) β€” WpfHexEditor.Plugins.DocumentStructure; 8 providers; IDocumentStructureProvider SDK; 18 DS_* tokens Γ— 18 themes[0.6.4.6] β€” 2026-04-06
Tab Groups (#180) β€” ITabGroupService SDK + TabGroupService; split horizontal/vertical; 16 TG_* tokens; 77 integration tests[0.6.4.6] β€” 2026-04-06
Visual XAML Designer β€” live WPF canvas, bidirectional canvas↔code sync (~95%), move/resize/rotate handles, property inspector, multi-select, snap grid, 4 split layouts, zoom/pan, full Phase 2/3 (ConstraintAdorner, gradient editor, binding path picker, perf overlay, responsive breakpoint bar)[0.6.0] β€” 2026-03-18
Shared UndoEngine β€” coalescing (500 ms), transactions, save-point tracking, Ctrl+Shift+Z redo; replaces both editors' custom stacks[0.6.0] β€” 2026-03-18
Unit Testing Panel (#95) β€” DotnetTestRunner, TrxParser, UnitTestingPanel; auto-run on BuildSucceededEvent; xunit/nunit/mstest auto-detection[0.6.0] β€” 2026-03-16
Plugin Sandbox β€” HWND embedding + IPC menu/toolbar/event bridges + auto-isolation + signing (#81 Phase 9-12)[0.3.0] β€” 2026-03-15
VS-style docking engine (100% in-house)[2.7.0] β€” 2026-02
Project system (.whsln / .whproj)[2.7.0] β€” 2026-02

Full history β†’ CHANGELOG.md