Immutable
release. Only release title and notes can be modified.
System Informer 4.0
The first 4.0 release: a new kernel/user transport, a Process Monitor, Hybrid Analysis integration, a JSON settings store, a rewritten installer, and a year of fixes across the app, driver, plugins, and phnt headers.
Highlights
- Process Monitor (Tools menu): a driver-backed live log of process, thread, image, registry, file, handle and silo events with filtering, access-mask decoding, and configurable look-back.
- Hybrid Analysis integration (OnlineChecks): System Informer can now automatically check running processes and loaded images against Hybrid Analysis, showing verdicts directly in the process and module lists via a new Hybrid Analysis column. Unknown files can optionally be submitted for analysis. Results are cached locally so repeated lookups are free, and scanning is opt-in with per-service API keys, path exclusions, and rate handling built in.
- Ring-buffer informer transport in the kernel driver: large shared-memory ring instead of per-message port round-trips, with rate limiting and per-client statistics; informer callbacks run at APC/DPC level where possible.
- New installer: modern wizard with dark mode, DPI scaling, uninstaller, shortcut page, and atomic staged extraction with rollback — failed updates no longer leave a half-written directory.
- Updater: toast-notification flow with progress and actions; BITS, Delivery Optimization and Microsoft Store download back-ends.
- Low-latency mode (experimental, Windows 11): high-resolution provider timers.
- Per-monitor DPI and dark theme work throughout the app, plugins, and property sheets, including Windows 11 borders and much less resize flicker.
Application
New
- Users tab (logged-on sessions); process environment editor with multi-entry split editing; WMI tab gains MI support.
- Columns: Short user name, service Username, thread RPC usage, thread kernel stack, handle reference count/size, extended GDI/handle details, ALPC port state; GPU/NPU committed memory.
- Process tree: independent root/child sort options, Collapse/Expand All, aggregate-aware sorting; Ctrl-drag parent fix.
- Threads: Freeze/Thaw, suspended/wait-type highlighting; Modules: native/mapped highlighting and CLR metadata mapping.
- Memory strings search: parallel/bulk scanning, UTF-8, progress, sortable results.
- Services: multi-select start/pause with progress and retry; Run As: per-launch privilege selection and AppContainer launch.
- Handle protect/inherit changes without the driver; COM permission dialogs; desktop heap detection; UDP firewall-exempt port highlighting.
- System Information: reorderable sections, horizontal scrolling, per-CPU speed; overhauled tray mini-info window; energy statistics.
- Options: consolidated Highlighting page, per-tab layout persistence, advanced setting editor; settings.schema.json shipped for editors.
- Hold Shift at startup to launch the original Task Manager when System Informer is the replacement.
Fixed
- I/O delta columns sorting by cumulative values; page/IO priority in Threads tab; protection column sort; username column not updating.
- Process affinity regressions (single and multi processor groups); main window stealing foreground at startup; previous-instance restore and handle leak.
- Hangs opening the security editor and AFD socket properties; crashes on CPUs without rdtscp, in snapshot handling, on "Current Power Scheme", and with WSL info when no distro is installed.
- Settings not saving on network shares; User Notes not reloaded on restart; Windows 7 import resolution.
- Numerous memory and handle leaks, out-of-bounds reads (CPU info, syscall list, AVX search), and dark-theme painting bugs.
Kernel driver (KSystemInformer)
- Silo (container) informer; file informer now reports copy operations, access masks and image sizes; thread kernel-stack query; hash-result caching; dedicated system process for driver threads.
- Object protection reworked with broader handle-access stripping and on-demand protection; CID table population optimized; portable mode always unloads the driver on exit.
- Hardening: OBJ_DONT_REPARSE on all internal opens; message/dynamic-data validation and size math hardened; share-check/paging-file open options require MAXIMUM state; "securely created" state requires WinTcb/WinSystem creator; randomized minifilter altitude when load fails; rundown protection for hash/verify.
- Many correctness fixes: native-load race, ring-buffer signaling, informer state leak, file-op buffer/MDL handling, EPROCESS/VPB/pool-tag issues, image-mapping leak, registry post-op strings, thread handle guarantees.
Security hardening (user mode)
- Updater: the downloaded installer is now re-verified from disk and held with a deny-write handle until launched, failing closed otherwise.
- phsvc: the elevated helper now pins the client image to Systchecks integrity before accepting connections.
- Overflow-checked size math in ACL/security-descriptor, heap and config parsing; DbgHelpVerifyMicrosoftChain setting to verify the dbghelp/symsrv signing chain; remote environment address validation.
Hybrid Analysis & file reputation (OnlineChecks)
- Automatic reputation scanning of processes and modules with Hybrid Analysis; verdicts surface in a new Hybrid Analysis column and in the file properties.
- Optional automatic submission of unknown files to Hybrid Analysis for sandbox analysis.
- Opt-in setup flow with a Hybrid Analysis partner prompt; perd path exclusions so sensitive directories are never hashed orsubmitted; configurable startup delay.
- Batched hashing and requests with rate-limit handling, and a portable SQLite scan cache shared safely across multiple System Informer processes.
Plugins
- ExtendedTools: ACPI tables, TPM boot log (WBCL), Power Grid/ and Startup Tasks dialogs; per-adapter/per-node GPU columns and GPU memory mini-info; disk rate columns; better firewall monitor.
- WindowExplorer: rewritten on a window-provider model (pause/resume, message-only windows, snapshot finder); UI Automation and child-window property tabs; highlight overlay.
- ToolStatus: menu-bar mode, Find window, rendering and leak fixes.
- HardwareDevices: device-tree search and sort options; AMD RAPL fix; crash fix on driver-search page.
- NetworkTools: continuous-ping traceroute; refreshed GeoLite/IANA port data; WHOIS fixes.
- DotNetTools: rate-per-second counters; leak/crash fixes; updated CLR headers.
- All plugins: settings.json, clearer load-error messages, lower memory use.
peview
- Manifest, LoadLibrary/GetProcAddress, PDB symbol tree, dynamic-relocation tree, Resource Viewer, exception unwind, section slack and CLR metadata views; SymCrypt hashing; sort-crash and DPI fixes.
Build & project
- Rewritten CMake build (MSVC and clang-cl, x86/x64/ARM64) and build_cmake.cmd; EWDK/ESDK support; new build_msix.cmd, build_header.cmd, build_compile_commands.cmd.
- Third-party: SymCrypt, Zydis, PCRE2 SIMD added; PCRE, miniz, maxminddb, json-c, PresentMon updated.
Contributors
Thanks to everyone who contributed this cycle: @dmex, @jxy-s, @Zack-src, @diversenok, @henrypp, @mochaaP, @gremlinbeet, @zjgcjy, @RenardDev, @josediazfer, @sc1341, @MozhuCY, @ZX41R, @orbisai0security, @changdingfang, @YeDemirkiran, @rich-ayr, @robionekenobi, @pasharm, @Abrar74774, @JustasMasiulis, @ge0rdi — with first-time contributions from 18 of them.
Merged pull requests
- Update SECURITY.md by @dmex in #2565
- phnt: Trivial fixes for recent changes by @RatinCN in #2587
- Improve apartment detection by @diversenok in https://githubr/pull/2590
- Update HACKING.md by @dmex in #2582
- Update bug_report issue template by @dmex in #2603
- Add thread RPC usage column by @diversenok in https://githubr/pull/2606
- add win11 25h2 by @henrypp in #2616
- Fix gitattributes by @jxy-s in #2639
- NX flags mixup MEM_EXECUTE_OPTION_ENABLE vs *_DISABLE by @gremlinbeet in #2646
- Update actions/checkout to v5 by @dmex in #2650
- Add COM permission dialogs by @diversenok in #2651
- Fix unloaded module names by @diversenok in #2652
- Update CMakeLists.txt by @dmex in #2659
- fix: wrong condition in dvrt import control by @zjgcjy in htysteminformer/pull/2675
- phnt: Fix NtGetNextThread flags parameter comment by @m417z in #2679
- Merge dev branch by @dmex in https://github.com/winsiderss/s
- phnt: Small fixes by @RatinCN in #2666
- phnt: Improve RtlGetLastWin32Error SAL annotation by @RatinCN in #2673
- Better POGO parsing by @RenardDev in #2691
- Fix debug assert when select the menu option "Current Power Scheme" by @josediazfer in #2689
- phnt: Small fixes by @RatinCN in https://github.com/winsider
- phnt: Small improvements by @RatinCN in #2696
- phnt: Fix typedef typos by @m417z in #2697
- phnt: Delete/fix invalid Microsoft docs links by @m417z in hsysteminformer/pull/2711
- phnt: Fix incorrect NtOpenFile description in ntioapi.h by @sc1341 in #2724
- phnt: Fix SAL annotations by @m417z in #2732
- phnt: SAL and comment fixes by @RatinCN in https://github.coull/2735
- phnt: Small fixes for recent commits by @RatinCN in https://nformer/pull/2752
- phnt: Fix RtlSetUnhandledExceptionFilter SAL and type by @RatinCN in #2751
- phnt: Fix ThreadQuerySetWin32StartAddress comment by @m417z in #2778
- phnt: minor fixes for comment by @RatinCN in #2780
- phnt: correct some comments by @RatinCN in https://github.coull/2795
- Update ntafd.h by @JustasMasiulis in #2796
- phnt: Update RTL_USER_PROCESS_PARAMETERS Windows versions by @m417z in #2798
- Add NtUserCall functions by @diversenok in #2808
- phnt: minor fixes for comment by @RatinCN in #2814
- Add desktop heap detection by @diversenok in #2816
- Fix thread handle names by @diversenok in #2820
- Add meson.build for phnt by @mochaaP in #2807
- Fix page/IO priority in Threads tab by @ge0rdi in #2847
- Handle null service config path names in service file name fallback by @MozhuCY in #2853
- Fix potential index out of bounds exception in Zip.cs by @dmex with @Copilot in #2866
- phsvc/phlib: harden count-based size calculations in heap/config parsing by @ZX41R in #2879
- [WIP] Fix error message in static assert for HSTRING_REFERENCE by @dmex with @Copilot in #2882
- ntfill.h: annotate dynamically resolved routine names by @m4siderss/systeminformer/pull/2886
- phnt: Revert accidental changes, fix typos by @m417z in #2883
- phnt: fix DestinationString SAL annotations by @RatinCN in #2889
- Fix DPI handling, icon scaling, and update energy metrics by @dmex in #2894
- DotNetTools: implement rate-per-second performance counters b.com//pull/2895
- hndlprp: display ALPC port state in handle properties by @Zack-src in #2896
- memsrcht: parallel memory string scan with performance optimizations by @Zack-src in #2897
- filepool: replace PhAllocate+memset pairs with PhAllocateZero by @Zack-src in #2898
- extlv: suppress repaints during column auto-size pass by @Zack-src in #2899
- guisup: skip background erasure on combobox selection invalidation by @Zack-src in #2900
- ExtendedTools: add GPU memory mini-info section by @Zack-src in #2901
- options: enforce minimum window size to prevent controls disappearing on resize by @Zack-src in #2902
- Potential fixes for 3 code quality findings by @dmex in #2912
- Update scan.yml by @dmex in #2915
- fix: multiple memcpy calls in phlib/nativefile in nativefile.c by @orbisai0security in #2910
- phnt: Fix time-unit docs for native timeout/interval parameters by @m417z in #2932
- Update CodeQL Analysis by @dmex in https://github.com/winsid
- Update NuGet Cache by @dmex in #2946
- Fix: Add length check. by @changdingfang in #2947
- Implement column type "Short user name" by @YeDemirkiran in /systeminformer/pull/2948
- phnt: fix NLS initialization function declarations by @RatinCN in #2960
- Fix crash (0xC0000005) when searching device online or driver update by @NotEnsoul in #2969
- peview: Fix crashes when sorting nullable columns by @NotEnsoul in #2973
- SystemInformer: Fix focus loss on left-clicking items in tray mini popup list by @NotEnsoul in #2981
- devices: Fix registry key navigation in Devices> Regedit by @NotEnsoul in #2974
- Fix GPU/NPU process resident memory columns and add committed memory columns by @NotEnsoul in #2971
- phnt: fix ALPC structure layouts by @RatinCN in #2982
- CustomSetupTool: Add shortcut configuration page by @NotEnsoul in #2986
- Fix win11 border and update wizard by @NotEnsoul in https://nformer/pull/2968
- ExtendedTools: add per-adapter and per-node GPU usage columns by @NotEnsoul in #2987
- Fix multiline graph text wrapping and background rendering bb.com//pull/2988
- phnt: Fix NtGetNlsSectionPtr declaration by @RatinCN in #2992
- SystemInformer: Add ability to change section order in System Information window by @NotEnsoul in #3000
- phnt: Fix two PHNT_VERSION guards referencing undefined PHNT_WINDOWS* macros by @rich-ayr in #3005
- phnt: NtRaiseHardError is never noreturn by @mochaaP in #3032
- WindowExplorer: Add missing oleaut32 library input for link by @robionekenobi in #3017
- proctree: Fix I/O delta columns sorting by cumulative valuesb.com//pull/3031
- Remove underlines between link badges by @Abrar74774 in #3006
- NetworkTools: Add continuous ping mode to traceroute by @NotEnsoul in #3013
And many other changes... +2,493 commits, 1,501 changed files 5011.2103...v4.0.26241.138(v3.2.25011.2103...v4.0.26241.138)