- ZoomIt: Added panoramic/scrolling screenshot capture, text extraction when snipping, and break timer improvements with screen saver mode and optional computer lock
- Image Resizer: Migrated from WPF to WinUI 3, enabling future AOT compilation for 1.5-3x performance improvements and aligning with Windows 11 design language
- Command Palette: Made the Dock window stay on top of all other windows by default, automatically yielding when a full-screen app is detected
- Command Palette: Improved full-screen detection for the activation shortcut, adding rapid-press breakthrough to bypass suppression and live diagnostics in Settings
- Command Palette: Added plain text viewer and image viewer content types for extensions, enabling safe display of raw text and zoomable images directly in the content pane
- Display Management: Re-enabled the PowerDisplay module with installer integration, a new icon and logo, DPI-related fixes, and UI/UX improvements
- Peek: Added auto-detection of file name encoding when previewing zip files, fixing garbled text for archives created on non-UTF-8 systems
- Quick Accent: Added subscript and superscript Unicode characters to the Special Characters set for keys 0-9, A, E, N, X, Y, Z, and math operators
- PowerToys Run: Fixed a command breakout issue in the Shell plugin by escaping double quotes in user input before passing to shell processes
- Settings: Fixed arrow key icons rendering as box placeholders by switching from glyph codepoints to standard Unicode arrow characters
- Fixed 13 WMC1506 XAML compiler warnings by changing OneWay bindings to OneTime on non-observable properties, eliminating dead subscriptions in #46726
- Added plain text viewer and image viewer content types for extensions, enabling safe display of raw text and zoomable images directly in the content pane in #43964. Thanks @jiripolasek!
- Improved full-screen detection for the activation shortcut, separating D3D fullscreen from heuristic busy state, adding live diagnostics in Settings, and providing an opt-in rapid-press breakthrough to bypass suppression in #45891. Thanks @jiripolasek!
- Made the Dock window stay on top of all other windows by default, automatically yielding when a full-screen app is detected, with a new setting to disable this behavior in #46163. Thanks @jiripolasek!
- Introduced a new pin-to-Dock dialog that gives users more control over how commands are pinned in #46436
- Enabled FancyZones layout commands to be pinned into the Dock by assigning stable command IDs in #46198
- Added a setting to select network speed display units (bits/s, bytes/s, or binary bytes/s) in the Performance Monitor extension in #46320
- Fixed the Window Walker Close window command to respect the "Keep open after closing window" setting and automatically refresh the window list in #45721. Thanks @jiripolasek!
- Fixed an exception when converting calculator results to hex/binary/octal for large numbers by switching to BigInteger-based conversion in #46176. Thanks @jiripolasek!
- Fixed the Time & Date extension page to compute results on-demand, breaking a possible infinite refresh loop in #46396. Thanks @jiripolasek!
- Fixed inline code text being invisible on light-theme backgrounds in the Details and Content panels by adding theme-aware styling in #46739
- Fixed the Window Walker "Not Responding" tag being illegible in dark mode by removing a hardcoded color in favor of the theme-aware brush in #46924
- Fixed the Dock context menu incorrectly following the active item in the Command Bar instead of showing its own menu in #46420. Thanks @jiripolasek!
- Fixed duplicate "Pin to..." context menu entries appearing on top-level home page commands after hiding and reopening the window in #46458
- Fixed binary file corruption (invisible icons) when creating new extensions via the built-in "Create Extension" command in #46490. Thanks @jiripolasek!
- Fixed screen reader announcing "Enter Alias" instead of "Alias" on the Extension settings page, reducing confusing duplicate announcements in #45906
- Added screen reader announcements for shortcut key information on the settings button, improving accessibility for assistive technology users in #46164. Thanks @jiripolasek!
- Fixed keyboard navigation double Tab stop in the details panel so Tab moves directly to interactive controls in #46346
- Prevented PgUp/PgDown keyboard navigation from selecting non-interactive items such as separators or section headers in #46439. Thanks @jiripolasek!
- Added a guard to prevent a crash when navigating back with an empty navigation stack in #46493. Thanks @jiripolasek!
- Moved each built-in extension to its own settings file, preventing the shared settings file from being silently overwritten, with transparent migration from the legacy file in #46685
- Hardened ListViewModel fetch synchronization to handle overlapping refreshes, cancellation, and re-entrant ItemsChanged scenarios in #46429. Thanks @jiripolasek!
- Refactored settings and app state to be immutable end-to-end using copy-on-write record patterns, eliminating a class of concurrency bugs during persistence in #46451
- Extracted persistence logic from settings and app state models into dedicated service classes, improving separation of concerns and testability in #46312
- Added a new logging infrastructure (CmdPalLogger, provider, and extension method) that integrates Microsoft.Extensions.Logging and routes output through ManagedCommon.Logger in #46768
- Added Copilot instructions and skills to the extension template so new extensions include AI-assisted development guidance out of the box in #46683
- Removed a legacy workaround for FontIconSource.CreateIconElement icons not being visible, as the issue was fixed in Windows App SDK 1.8.4 in #45790. Thanks @jiripolasek!
- Updated CommunityToolkit.WinUI packages to 8.2.251219 and removed SearchBar debouncer workaround hacks that are no longer needed in #46027
- Updated the PowerToys extension solution filter to include missing project dependencies in #46136. Thanks @jiripolasek!
- Fixed keyboard focus restoration on the Extensions settings page so that Shift+Tab navigation returns to the previously selected extension card in #45903. Thanks @jiripolasek!
- Reverted focus restoration on the Extensions settings page that was causing clicks to open the wrong extension item in #46642. Thanks @jiripolasek!
- Fixed Calculator extension unit tests failing under non-English cultures by pinning the C++ evaluator to the classic locale in #46911
- Fixed a type rename missed during a merge gap that broke compilation in #46599. Thanks @jiripolasek!
- Fixed a build-breaking merge inconsistency in DockWindow caused by concurrent changes in #46639. Thanks @jiripolasek!
- Moved developer documentation to the standard doc/devdocs/modules/cmdpal location, consistent with other modules in #46926
- Re-enabled the PowerDisplay module in PowerToys with installer integration, a new icon and logo, DPI-related fixes, and UI/UX improvements in #46489
- Migrated Image Resizer from WPF to WinUI 3, enabling future AOT compilation for 1.5-3x performance improvements and aligning with Windows 11 design language in #45288
- Fixed missing PNG encoder settings by applying codec-specific encoder properties in the transcode path and passing the PNG interlace option to the WinRT encoder in #46695
- Added auto-detection of file name encoding when previewing zip files, fixing garbled text for archives created on non-UTF-8 systems in #44799. Thanks @oxygen-dioxide!
- Fixed a command breakout issue in the Shell plugin by escaping double quotes in user input before passing to shell processes in #45554. Thanks @RinZ27!
- Removed unused XAML namespace declarations from PowerLauncher XAML files, cleaning up dead references in #46221
- Added subscript and superscript Unicode characters to the Special Characters set for keys 0-9, A, E, N, X, Y, Z, and math operators in #45540. Thanks @Salehnaz!
- Added the missing Icelandic accented letter i to the VK_I key definition in #46424. Thanks @squirrelslair!
- Added Shift+N capitalization support for superscript Latin small letter n, mapping to modifier letter capital N in #46571. Thanks @PesBandi!
- Fixed the Quick Accent character sets list being cropped and not reflowing when the Settings window is resized in #45986. Thanks @daverayment!
- Fixed arrow key icons rendering as box placeholders by switching from glyph codepoints to standard Unicode arrow characters in #46454
- Updated the shortcut conflict checkbox label from "Ignore shortcut" to "Ignore conflict" for clarity in #46318
- Refactored PadImage to use an out parameter and improved bitmap disposal to prevent memory leaks in the OCR capture pipeline in #44906. Thanks @adelobosko!
- Added panoramic/scrolling screenshot capture, text extraction when snipping, and break timer improvements with screen saver mode and optional computer lock in #46506. Thanks @foxmsft, @MarioHewardt, and @markrussinovich!
- Fixed ZoomIt x86 build compatibility by emulating the _mm_cvtsi128_si64 intrinsic with _mm_storel_epi64 for 32-bit targets in #46529. Thanks @foxmsft!
- Updated the Windows Implementation Library (WIL) to version 1.0.250325.1, now managed centrally via Directory.Packages.props in #43503
- Upgraded the check-spelling CI action to v0.0.26, fixing spell-check failures on fork PRs and updating exclusion patterns in #46851. Thanks @jsoref!
- Added contributor names from a recent PR to the spellchecker allow-list to prevent CI spelling errors in #46765. Thanks @jiripolasek!
- Reverted the pinning of the check-spelling action to v0.0.26 after determining it was unrelated to the pipeline issue in #46749
- Pinned the check-spelling GitHub Action to v0.0.26 to attempt to fix CI pipeline blocking PRs from forked repositories in #46746
- Fixed the build.ps1 script so the -RestoreOnly switch works correctly and added support for .slnf solution filter files in #46012. Thanks @raycheung!
- Resolved StyleCop SA1614 warnings by adding meaningful text to previously empty XML parameter documentation tags in #46706
- Resolved StyleCop SA1623 warnings by updating 29 property XML doc summaries to use required prefixes across multiple modules in #46717
- Resolved StyleCop SA1616 warnings by adding meaningful descriptions to 6 previously empty return-value XML doc tags in #46718
- Resolved StyleCop SA1622 warning by adding a meaningful description to an empty generic type parameter XML doc tag in #46707
- Documented three missing telemetry events in DATA_AND_PRIVACY.md covering module editor launches, dock configuration, and editor open methods in #46371
- Fixed MSTEST0017 analyzer warnings by correcting the argument order in 22 Assert calls across 8 test files to follow MSTest conventions in #46712
- Added comprehensive unit tests for Hosts ValidationHelper (IPv4, IPv6, hostname validation) and ColorPicker format conversions (CMYK, HSB, HSI, HWB, CIE XYZ, CIE LAB, Oklab, Oklch, and more) in #46679
- Cleaned up root-folder Markdown files by consolidating bullet styles, fixing spelling and grammar, converting HTML to Markdown, and applying sentence-case headers in #46582. Thanks @Jay-o-Way!
- Added comprehensive DSC (Desired State Configuration) documentation with per-module reference pages, settings examples, and an overview guide covering 25+ PowerToys modules in #42554. Thanks @Gijsreyn!