-
- Dropped support for all .NET Framework versions prior to .NET 4.6.2
- Dropped support for .NET 3.1 and 5
- Dropped support for ARM (ARM64 is still supported)
-
- #397 - Light mode broken
- #449 - Cannot serialize a non-public type 'System.Windows.Controls.DataGridHeadersVisibilityToVisibilityConverter'.
- #450 - Fix brush binding errors (thanks @Garzuuhl)
- #459 - Issue with debugging applications that do not have an process path.
- Color values are now displayed with the same width as brushes
- Instances of classes are no longer created during property discovery
- Fixed detection of read only properties
- Fixed loaded of settings
-
- #435 - Add "StartMinimized" Setting + Functionality (thanks @BButner)
- #436 - [Feature request] show current version
- #453 - Better target windows titles (thanks @miloush)
- Improved property filter
- Property values are now included when filtering
- Regex is now explicit instead of implicit
- Improved performance for attached properties
- Improved performance of style retrieval
- Improved performance of resource key retrieval
-
- #417 - StackOverflowException on Ctrl+Shift (thanks @miloush)
-
- #405 - After upgrading my app to .net 8 snoop no longer works with it
-
- #404 - Snoop does not show version
-
- Dropped support for all .NET Framework versions prior to .NET 4.5.2
- Dropped support for .NET 3.0
- Added support for .NET versions >= 6 (by not explicitly blocking versions greater than 6)
- #316 - Improved settings management and storage
Settings do not rely onSystem.Configuration
anymore.
The new system allows sharing of settings between different snooped applications.
It also allows to define settings for whole directory trees.
-
- #300 - An error has occured in developing .NET 6 Desktop App
- #313 - Error: Collection was modified; enumeration operation may not execute.
- #318 - Styles from application apply to Snoop UI if DefaultStyleKey is overwritten by application
- #319 - Wrong style being displayed in property inspector if DefaultStyleKey is overwritten.
- #333 - Dual Monitor high dpi window sizes and positions broken (thanks @Algorithman)
- #374 - Unhandled InvalidCastException when running on .NET 7
-
- Editing
Color?
andEnum?
values works now - Improved resource lookup (used to get resource keys for resources)
- Added dark theme
- #278 - Adorner Layer not visible on certain controls (Snoop now reports a diagnostic error when there is no adorner layer for the selected element)
- #283 - [Feature Request] Be able to import filters or make them available across applications. (solved by #316)
- #314 - Hide properties from Snoop?
You can now hide properties from Snoop by adding[System.ComponentModel.BrowsableAttribute(false)]
to your property.
It's only shown then if the "Show uncommon properties" is enabled. - #320 - System resources are not shown in the tree
- #326 - Enable Snoop to show the dev tools of browser controls
- #339 - Value selector when dependency property type is a nullable enum.
- Editing
-
- Editing values works again
-
- Dropped support for all .NET versions prior to .NET 4.5.1
-
- Path for entries from
ResourceDictionary
is now displayed correctly when delving - Detaching Snoop now properly pops the menu mode. Prior to this certain keyboard keys, like DEL or LEFT or RIGHT etc., stopped working.
- Detaching Snoop now properly detaches it's exception handler
- Fixed a performance regression in the window finder when using mouse cursor drop
- Fixed an exception when application contains invalid resource definitions
- Suppressed exceptions while trying to get property information
- #220 - StackOverflowException in ProperTreeViewItem.ArrangeOverride
- #221 - DPI aware Issue?
- #232 - System.NotSupportedException
- #252 - Display Scaling
- #254 - Exception at SnoopMainBaseWindow.FindRoot() with background dispatcher hosted visual
- #266 - Out of memory exception in snoop after target app was converted from .NET 4.8 to .NET 5
- Path for entries from
-
- Maximum displayed events in events viewer are now persisted in settings
- Added menu items to close the current snoop window, open the folder containing the settings for the currently running application and reset the current settings
- Added support for
ThreeState
bool values in the properties grid - Tracking mode change: Holding CTRL is replaced by a mode setting as it was triggered all the time when copying text, switching tabs etc..
- Support for ARM/ARM64
- Support for .NET 5 and .NET 6
- Binding errors are now resolved in an explicit lazy way to prevent it from fixing the error silently.
Starting with .NET 5 binding errors are resolved automatically in most cases by using the newBindingDiagnostics
class from WPF. - Made
Color
properties editable - #38 - Export tree (thanks @amake for the basic idea and starting point)
- #103 - Feature Request: Persist Tracked Events Settings
- #210 - Add dedicated "Diagnostics" view
- #212 - Add binding diagnostics
- #213 - Add DynamicResource diagnostics
- #219 - Add a warning to zoomer if target has TextOptions.TextFormattingMode=Display
- #226 - Add support for ARM/ARM64
- #227 - Add support for .NET 6
- #279 - Improve filter box tooltip
- #285 - Improvements to the highlight adorner
-
-
#40 - Message: Cannot set Expression. It is marked as 'NonShareable' and has already been used.
-
#45 - Keystrokes go to Visual Studio main window when inspecting Visual Studio (thanks @KirillOsenkov)
-
#66 - System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
-
#101 - My Style is being applied to the "Change Target" Window
-
#120 - Screenshot feature produces pixelated low-res image for larger windows
-
#150 - Format and parse property values with the same format provider
-
#151 - Dependency properties are filtered wrong and less properties are shown than should be
-
#152 - Magnified view only works for main window
-
#156 - Delve BindingExpression throws exception
-
#159 - Errors require STA
-
#177 - Could not query process information.
-
#188 - Crash when inspecting app with VisualTargetPresentationSource from ModernWpf
-
Snoop now properly selects the targeted window on startup
-
Snooping multiple app domains now also works for app domains that use shadow copies of assemblies
-
Snooping multiple app domains now also checks for multiple dispatchers in each app domain
-
-
- You no longer have to have installed any Microsoft Visual C++ Redistributable(s)
- Added a lot more tracing to the injection process. This tracing can be viewed with DbgView.
- Because of #151 there are now a lot more properties being shown.
As a way to reduce the noise a new option to filter uncommom properties was added. The default value for that istrue
, so uncommon properties are hidden by default.
If you want to show uncommon properties from types likeTypography
orNumberSubstitution
etc. just disable the new switch right beside the default value switch. - Added "Copy XAML" to the context menu of the property grid. Please note that this feature is not finished and the generated XAML is not very good. I hope to improve this in the future.
- #82 - Missing possibility of copying value of the specific node
- #98 - .NETCore 3.0 support
- #108 - SnoopWPF on "Disabled" control state?
- #129 - Command line args
- #139 - Value Input did not support NewLine (\r\n)
This is achieved by a new detail value editor. - #140 - CTRL_SHIFT stops working
- #141 - Add support to view logical tree
- #142 - Add support to view ui automation tree (wpf automation peers)
- #144 - Add support for showing behaviors (added by @dezsiszabi in #149)
- Snoop now filters uncommon properties by default
- Snoop is now able to show
MergedDictionaries
fromResourceDictionary
- Snoop now has two tracking modes.
- Holding CTRL tries to skip template parts
- Holding CTRL + SHIFT does not skip template parts
- #161 - Drastically improved performance of AppChooser.Refresh() (thanks @mikel785)
- #162 - Usability improvements for process dropdown (thanks @mikel785)
- #181 - Add inspection of Popup without opening it
- #190 - Events view - editible events history max count (thanks @X39)
-
- #53 - Path Data values have wrong format (should use invariant culture) (thanks @jongleur1983)
- #55 - Keyboard events not passed to snoop UI window (thanks @stutton)
- #56 - Snoop crash when application shutdown (solved by using System.Windows.Forms.Clipboard)
- #83 - Unhandled Exception when changing WPF Trace Level to Activity Tracing (thanks @miloush)
- #86 - Fatal ExecutionEngineException when process has hidden windows without composition target (thanks @gix)
- #99 - Prevent window from being restored on screen that's disconnected/off
- #100 - Snoop 2.10 crashes when snooping a WPF App that uses AvalonDock
- #106 - Refresh fails because "process has exited" (thanks @jmbeach)
-
- #32 - Try to use
AutomationProperties.AutomationId
forVisualTreeItem
name if element name is not specified. (thanks @paulspiteri) - #73 - Add options to prevent multiple dispatcher question and setting of owner on snoop windows
- #89 - Improved exception handling and error dialog
- #92 - Adding support for snooping elevated processes from a non elevated snoop instance
- #116 - Doesn't find PresentationSource hosted in CustomTaskPane (ElementHost) in Office VSTO Add-in
This means snoop is now able to spy on multiple app domains. - #119 - Adding hyperlink for current delve object to enable explorer navigation
- The window finder was rewritten to not use a separate window but a dynamically generated mouse cursor instead
- #32 - Try to use
-
- Dropped support for .NET 3.5
- You now need Visual C++ 2015 Runtime to run snoop
-
- Added a new triggers tab to view triggers from ControlTemplates and Styles