Releases: microsoft/PowerToys
Release v0.95.0
In the v0.95 release cycle, we focused on new features, stability, optimization improvements, and automation.
Installer Hashes
Description | Filename |
---|---|
Per user - x64 | PowerToysUserSetup-0.95.0-x64.exe |
Per user - ARM64 | PowerToysUserSetup-0.95.0-arm64.exe |
Machine wide - x64 | PowerToysSetup-0.95.0-x64.exe |
Machine wide - ARM64 | PowerToysSetup-0.95.0-arm64.exe |
Highlights
For an in-depth look at the latest changes, visit the release blog.
- NEW: The Light Switch utility in PowerToys allows you to automatically switch between light and dark themes in Windows based on the time of day.
- Command Palette delivered major search performance gains (new fuzzy matcher + smarter fallbacks) improving relevance and speed.
- Peek can now be used activated using the Space bar!
- Find My Mouse added transparent spotlight with independent backdrop opacity, boosting focus and accessibility.
- Settings now lets you delete shortcuts entirely and ignore conflicts.
- Mouse Pointer Crosshairs gained orientation options (vertical / horizontal / both) for customizable accessibility. Thanks @mikehall-ms!
- PowerRename fixed enumeration counter skipping ensuring reliable batch renames. Thanks @daverayment!
- ZoomIt restored legacy draw/snipping behaviors and fixed recording races improving reliability. Thanks @chakrik73!
Command Palette
- Reorganized core projects and introduced CoreLogger to reduce dependencies.
- Applied conditional margin for icon-only tags to tighten layout. Thanks @samrueby!
- Added setting to choose Clipboard History primary action (Paste vs Copy). Thanks @jiripolasek!
- Hardened activation flow for x-cmdpal:// links with synchronous handling + timeout. Thanks @jiripolasek!
- Enabled AOT by default for performance while simplifying publish configs.
- Cleaned and codified .editorconfig without behavior change. Thanks @jiripolasek!
- Replaced service state color dots with play/pause/stop icons for accessibility. Thanks @samrueby!
- Fixed filter dropdown sync and crash by binding SelectedValue and raising UI-thread notifications. Thanks @jiripolasek!
- Ensured long links wrap correctly in details view.
- Removed animation + enforced min width on filter dropdown for clarity. Thanks @jiripolasek!
- Restored focus to More button after ESC closes context menu improving keyboard flow.
- Marked main and toast windows as tool windows to keep them out of Alt+Tab while preserving style. Thanks @jiripolasek!
- Fixed AOT template + theming issues for filter separators. Thanks @jiripolasek!
- Introduced grid layouts (small/medium/gallery) for richer page presentation.
- Materialized result lists to avoid rescoring overhead.
- Disabled problematic selection TextToSuggest behind env flag.
- Resolved AOT warning by making IconMarginConverter partial. Thanks @samrueby!
- Major search performance improvements (new fuzzy matcher, smarter fallbacks, fewer exceptions).
- Added context menu "Show Details" command when details pane hidden.
- Reduced window flicker by avoiding unnecessary cloaking. Thanks @jiripolasek!
- Restored EmptyContent rendering for blank states. Thanks @DevLGuilherme!
- Saved new state even if prior app state file corrupt (better resilience). Thanks @jiripolasek!
- Migrated settings window to WinUI TitleBar control. Thanks @jiripolasek!
- Prevented crash on duplicate keybindings and simplified matching. Thanks @jiripolasek!
- Centralized fullscreen ignore-hotkey logic for summon handling. Thanks @jiripolasek!
- Hid search box on content pages; improved focus and a11y; added Home title. Thanks @jiripolasek!
- Synced generated resource comment to eliminate noisy diffs. Thanks @jiripolasek!
- Blocked Ctrl+I from inserting stray tab in search box.
- Logged HRESULT codes in error logs for deeper diagnostics. Thanks @jiripolasek!
- Advanced font/emoji icon classification & alignment improvements. Thanks @jiripolasek!
- Preserved fallback item icons in Settings by storing initial icon. Thanks @jiripolasek!
- Fixed breadcrumb margin misalignment (visual polish). Thanks @jiripolasek!
- Truncated overly long command labels with ellipsis to prevent overflow.
Command Palette Extensions
- Replaced localized WebSearch setting keys with stable literals and numeric history count. Thanks @jiripolasek!
- Enabled advanced markdown tables and emphasis extensions. Thanks @jiripolasek!
- Added actionable empty-state hints for File Search (search PC / open indexing settings). Thanks @jiripolasek!
- Ensured all WinGet extension assets copy reliably to output. Thanks @jiripolasek!
- Improved Run command line parsing for paths with spaces; sped up related tests.
- Updated WebSearch extension icon set for clarity and contrast. Thanks @jiripolasek!
- Added Terminal profile sort order setting including MRU tracking. Thanks @jiripolasek!
- Added Uninstall Application command (UWP direct, Win32 via Settings). Thanks @mKpwnz!
- Deferred WinGet details loading and added timing logs.
- Removed LINQ from All Apps extension for performance.
- Added standardized key chord system + shortcuts to File Search commands. Thanks @jiripolasek!
- Added Terminal channel filter & remembered selection option. Thanks @jiripolasek!
- Enabled loading local/data/app images in markdown with sizing hints. Thanks @jiripolasek!
- Added external extension reload via x-cmdpal://reload (configurable). Thanks @jiripolasek!
- Instant WebSearch history updates with in-memory store & events. Thanks @jiripolasek!
- Added keep-after-paste option and safe delete with confirmation for Clipboard History. Thanks @jiripolasek!
Environment Variables
- Replaced custom window chrome with WinUI TitleBar for cleaner, maintainable Environment Variables UI.
File Locksmith
- Adopted WinUI TitleBar to simplify window chrome while preserving appearance.
Find My Mouse
- Added transparent spotlight support with separate backdrop opacity; migrated to WASDK composition.
Hosts File Editor
- Migrated to native WinUI TitleBar for cleaner, maintainable window chrome.
Light Switch
- Introduced as a brand-new PowerToy module.
- Automatically switches between light and dark themes.
- Supports time-based scheduling or location-based sunrise/sunset switching.
- Supports using a keyboard shortcut to force a change.
- Supports filtering changes for Apps and/or System Theme.
Mouse Pointer Crosshairs
- Added Esc key to cancel active gliding cursor sequence. Thanks @mikehall-ms!
- Added orientation option (vertical / horizontal / both) for crosshairs customization. Thanks @mikehall-ms!
Mouse Without Borders
- Continued Common class refactor (part 5/7) by extracting clipboard and init/cleanup logic into focused classes. Thanks @mikeclayton!
Peek
- Added optional single Space key activation with context-aware eligibility and telemetry.
PowerRename
- Fixed enumeration counter skipping when regex replacement equals original filename (counters now advance reliably). Thanks @daverayment!
Quick Accent
- Expanded Welsh layout with acute, grave, and dieresis variants for vowels (consistent ordering). Thanks @PesBandi!
Registry Preview
- Migrated to native TitleBar and AppWindow APIs for cleaner window chrome.
Screen Ruler
- Fixed ARM64 crash by aligning curso...
Release v0.94.2
This patch release fixes several important stability issues identified in v0.94.1 based on incoming reports. Check out the v0.94.0 notes for the full list of changes.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.94.2-x64.exe | CE6654859BBAEC0E2AA49FF2E4F5C1353C4204C85A2CFB15E1E5CEC51BF3B003 |
Per user - ARM64 | PowerToysUserSetup-0.94.2-arm64.exe | 1AD77D7D60D3D353C9F6A391759B4596F43F4F21549625BB8B22EF21CF7E1B55 |
Machine wide - x64 | PowerToysSetup-0.94.2-x64.exe | A0C2A2E2EB8C86DCC6E42FE652490F41B61D9C4875F170A63EECA353E7CEBB8B |
Machine wide - ARM64 | PowerToysSetup-0.94.2-arm64.exe | 2E59B5EBB86C9B7EECC57F902F709A67103AA7AA72396FEDEDC40BB6AA67AF20 |
- #41853 - Installer: Fixed the missing vcruntime dependency error that blocked installations and caused the “Failed to load SilentFilesInUseBAFunction.dll (0x8007007e)” bootstrapper failure, restoring successful installs from GitHub, winget, and the Microsoft Store.
Release v0.94.1
This patch release fixes several important stability issues identified in v0.94.0 based on incoming reports. Check out the v0.94.0 notes for the full list of changes.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.94.1-x64.exe | E69C4E506FB1081F52A45E46FDBAC1EC198F4D83875DE025B1A6856F0A9436EF |
Per user - ARM64 | PowerToysUserSetup-0.94.1-arm64.exe | 9E884E7248EABDC4F23E7843D0416DDB3A958C3C222779F43A2B294FD65D3FD7 |
Machine wide - x64 | PowerToysSetup-0.94.1-x64.exe | E83FF71F951C32218F4F271CD3C01F8B354FDDCA16CAE74D36025D2D41296C8A |
Machine wide - ARM64 | PowerToysSetup-0.94.1-arm64.exe | 0251DA6A4B334DB33D6AB1765642132AB41B64F8D43598F623DEF38BBCA2653F |
- #41853 - Installer: Resolved the installer setup problem, enabling successful installation from GitHub, winget, and Microsoft Store by fixing the “Failed to load SilentFilesInUseBAFunction.dll (0x8007007e)” bootstrapper error.
Release v0.94
In the v0.94 release cycle, we focused on new features, stability, optimization improvements, and automation.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.94.0-x64.exe | F395CC209B1F77191F96DE3CBF2512B66C8BB4C562043BD1A3A7FD4B9C7B5BC0 |
Per user - ARM64 | PowerToysUserSetup-0.94.0-arm64.exe | EA2E430476BD54E359A401623863E5130A500A169EF9FB27BBB064ADB3887AC5 |
Machine wide - x64 | PowerToysSetup-0.94.0-x64.exe | 55D5B07AEC402D504AED8101BF4F3FBA79310198F004A4D74326F951FA7BC7A0 |
Machine wide - ARM64 | PowerToysSetup-0.94.0-arm64.exe | E111A3ED83D1FB33386A5412AC5324C15E684D89512BA988ABF12D6E95691DB5 |
Highlights
For an in-depth look at the latest changes, visit the release blog.
- PowerToys Settings added a Settings search with fuzzy matching, suggestions, a results page, and UX polish to make finding options faster.
- A comprehensive hotkey conflict detection system was introduced in Settings to surface and help resolve conflicting shortcuts. Note that the default hotkey settings (Win+Ctrl+Shift+T, Win+Ctrl+V, Win+Ctrl+T, Win+Shift+T) may overlap with existing Windows system shortcuts. This is expected. You can resolve the conflict by assigning different hotkeys.
- Mouse Utilities added a “Gliding cursor” accessibility feature to Mouse Pointer Crosshairs for single‑button cursor movement and clicking. Thanks @mikehall-ms!
- The installer was upgraded to WiX 5 after WiX 3 reached end-of-life; this move improved installer security, reliability, and community support.
- Tons of bug fixes and improvements for Command Palette, including visual updates and new support for filters on ListPages (handy for extension developers).
- Hosts Editor now has a “No leading spaces” option so active host entries can start at column 0 even if others are disabled. Thanks @mohammed-saalim!
- Context menu registration was moved from the installer to runtime to avoid loading disabled modules (runtime registrations).
- Quick Accent now supports Maltese, and frequently used accents appear first (and are remembered across sessions). Thanks @rovercoder! @davidegiacometti!
Always On Top
- Fixed the border hover cursor so it shows the arrow instead of the wait cursor. Thanks @davidegiacometti!
Command Palette
- Applied single-click activation only to pointer input; keyboard always activates immediately. Thanks @jiripolasek!
- Let context menus open at the cursor by removing window-bound constraints. Thanks @jiripolasek!
- Made error messages clearer with timestamps, HRESULTs, and full details for easier diagnosis. Thanks @jiripolasek!
- Prevented crashes and improved robustness when updating providers without commands. Thanks @jiripolasek!
- Ensured the Settings window reliably comes to the front when opened. Thanks @jiripolasek!
- Replaced the Clipboard History icon with a colorful Fluent icon. Thanks @jiripolasek!
- Hardened ContentIcon to avoid duplicate parenting and improve diagnostics. Thanks @jiripolasek!
- Standardized null checks using C# pattern matching for safer behavior.
- Improved accessibility by focusing the activation shortcut dialog and making text reachable. Thanks @chatasweetie!
- Moved the extension SDK to a stable Windows SDK and cleaned up message namespaces.
- Added path shortcuts: ~ to home, and / or \ to system root, plus UNC support. Thanks @davidegiacometti!
- Fixed a race in cancellation handling to avoid InvalidOperationException. Thanks @jiripolasek!
- Aligned separator styling with WinUI 3 for consistent visuals. Thanks @jiripolasek!
- Added ARM64 PDBs to the Extensions SDK NuGet for better debugging.
- Added single-select filters to DynamicListPage and updated Windows Services sample.
- Updated main page placeholder text to better describe what can be searched. Thanks @jiripolasek!
- Removed explicit WinAppSDK/WebView2 dependencies from toolkit and API. Thanks @rluengen!
- Added a local keyboard hook to handle the GoBack key reliably. Thanks @jiripolasek!
- Propagated alias changes safely and resolved conflicts across view models.
- Allowed providers to override Dispose with a virtual method.
- Fixed memory leaks by cleaning up removed or cancelled list items.
- Sorted DateTime extension results by relevance for better usability.
- Reduced search text “jiggling” by avoiding redundant change notifications.
- Centralized automation notifications in a UIHelper for better accessibility. Thanks @chatasweetie!
- Preserved Adaptive Card action types during trimming via DynamicDependency.
- Added an acrylic backdrop and refined styling to the context menu. Thanks @jiripolasek!
- Prevented disposed pages and Settings windows from handling stale messages. Thanks @jiripolasek!
- Made the extension API easier to evolve without breaking clients.
- Added “evil” sample pages to help reproduce tricky bugs.
- Fixed WinGet trim-safety issues by replacing LINQ with manual iteration.
- Cancelled stale list fetches to avoid older results overwriting newer ones in CmdPal.
Command Palette extensions
- Improved empty states and ranking logic for multiple extensions. Thanks @htcfreek!
- Added app icons to the All Apps "Run" context command when available.
- Restored missing builtin icons by standardizing extension dependencies.
- Unblocked local deployment by adding WinAppSDK to two sample extensions.
Hosts File Editor
- Added a "No leading spaces" option so active hosts entries can start at column 0 even when others are disabled. Thanks @mohammed-saalim!
Image Resizer
- Fixed Image Resizer localization by installing satellite resources under the WinUI 3 apps culture path.
Mouse Utilities
- Introduced "Gliding cursor" to control the pointer and click with a single hotkey for better accessibility. Thanks @mikehall-ms!
Mouse Without Borders
- Blocked Easy Mouse from switching machines during fullscreen apps, with an allow-list for exceptions. Thanks @dot-tb!
Peek
- Added Visual Studio shared project file types to XML preview and fixed bgcode handler registration. Thanks @rezanid!
- Fixes bgcode preview handler registration and events for reliable previews. Thanks @pedrolamas!
PowerRename
- Changed the Explorer accelerator key to PowErRename to avoid clashing with the New menu. Thanks @aaron-ni!
Quick Accent
- Remembered character usage across sessions so frequently used accents appear first. Thanks @davidegiacometti!
- Added Maltese language support with specific characters and the Euro symbol. Thanks @rovercoder!
- Reduced GPU usage issues by making the window Topmost only when the picker is visible. Thanks @daverayment!
Settings
- Added telemetry to track usage of the new shortcut conflict detection workflow.
- Moved the shutdown action from the title bar to a footer menu item with confirmation. Thanks @davidegiacometti!
- Implemented comprehensive hotkey conflict detection with a dedicated resolution dialog.
- Added branded visuals for Office and Copilot keys in the KeyVisual control.
- Introduced Settings search with fuzzy matching and navigation to specific controls.
- Corrected Spanish localization so product names like Awake remain in English across Settings and OOBE.
- Simplified the Advanced Paste description in Settings for quicker reading and consistent capitalization. Thanks @OldUser101!
- Localized conflict messages in the conflict window and dialog.
Installer
- Upgraded the installer to WiX 5 with silent "Files in Use" handling for smoother winget installs.
- Switched Win10 context menu mod...
Release v0.93
In the v0.93 release cycle, we focused on new features, stability, optimization improvements, and automation.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.93.0-x64.exe | DE0255AC0CA3B77957EB8B36F916C38A8C4CEBDACF245774BE4A771E5EBCEE3B |
Per user - ARM64 | PowerToysUserSetup-0.93.0-arm64.exe | B7A90D2A9A5D197C3AA223DDFAD9D9708A9E19EB108893199D3BB5E1E7893B9E |
Machine wide - x64 | PowerToysSetup-0.93.0-x64.exe | 87AD002128903949EF4B2E377865C3880CF2435E196DEA5520698AF9860D6201 |
Machine wide - ARM64 | PowerToysSetup-0.93.0-arm64.exe | F5FD52489576E41C378A5A6BAD441BE9DF1881D466BDC6C1D0BD7385880AA1A3 |
Highlights
- PowerToys settings debuts a modern, card-based dashboard with clearer descriptions and faster navigation for a streamlined user experience.
- Command Palette had over 99 issues resolved, including bringing back Clipboard History, adding context menu shortcuts, pinning favorite apps, and supporting history in Run.
- Command Palette reduced its startup memory usage by ~15%, load time by ~40%, built-in extensions loading time by ~70%, and installation size by ~55%—all due to using the full Ahead-of-Time (AOT) compilation mode in Windows App SDK.
- Peek now supports instant previews and embedded thumbnails for Binary G-code (.bgcode) 3D printing files, making it easy to inspect models at a glance. Thanks @pedrolamas!
- Mouse Utilities introduces a new spotlight highlighting mode that dims the screen and draws attention to your cursor, perfect for presentations.
- Test coverage improvements for multiple PowerToys modules including Command Palette, Advanced Paste, Peek, Text Extractor, and PowerRename — ensuring better reliability and quality, with over 600 new unit tests (mostly for Command Palette) and doubled UI automation coverage.
Command Palette
- Ensured screen readers are notified when the selected item in the list changes for better accessibility.
- Fixed command title changes not being properly notified to screen readers. Thanks @jiripolasek!
- Made icon controls excluded from keyboard navigation by default for better accessibility. Thanks @jiripolasek!
- Improved UI design with better text sizing and alignment.
- Fixed keyboard shortcuts to work better in text boxes and context menus.
- Added right-click context menus with critical command styling and separators.
- Improved various context menu issues, improving item selection, handling of long titles, search bar text scaling, initial item behavior, and primary button functionality.
- Fixed context menu crashes with better type handling.
- Fixed "Reload" command to work with both uppercase and lowercase letters.
- Added mouse back button support for easier navigation. Thanks @jiripolasek!
- Fixed Alt+Left Arrow navigation not working when search box contains text. Thanks @jiripolasek!
- Updated back button tooltip to show keyboard shortcut information. Thanks @jiripolasek!
- Fixed Command Palette window not appearing properly when activated. Thanks @jiripolasek!
- Fixed Command Palette window staying hidden from taskbar after File Explorer restarts. Thanks @jiripolasek!
- Fixed window focus not returning to previous app properly.
- Fixed Command Palette window to always appear on top when shown and move to bottom when hidden. Thanks @jiripolasek!
- Fixed window hiding to properly work on UI thread. Thanks @jiripolasek!
- Fixed crashes and improved stability with better synchronization of Command list updates. Thanks @jiripolasek!
- Improved extension disposal with better error handling to prevent crashes. Thanks @jiripolasek!
- Improved stability by fixing a UI threading issue when loading more results, preventing possible crashes and ensuring the loading state resets if loading fails. Thanks @jiripolasek!
- Enhanced icon loading stability with better exception handling. Thanks @jiripolasek!
- Added thread safety to recent commands to prevent crashes. Thanks @MaoShengelia!
- Fixed acrylic (frosted glass) system backdrop display issues by ensuring proper UI thread handling. Thanks @jiripolasek!
Command Palette extensions
- Added settings to each provider to control which fallback commands are enabled. Thanks @jiripolasek! for fixing a regression in this feature.
- Added sample code showing how Command Palette extensions can track when their pages are loaded or unloaded. Check it out here.
- Fixed Calculator to accept regular spaces in numbers that use space separators. Thanks @PesBandi!
- Added a new setting to Calculator to make "Copy" the primary button (replacing “Save”) and enable "Close on Enter", streamlining the workflow. Thanks @PesBandi!
- Improved Apps indexing error handling and removed obsolete code. Thanks @davidegiacometti!
- Prevented apps from showing in search when the Apps extension is disabled. Thanks @jiripolasek!
- Added ability to pin/unpin Apps using Ctrl+P shortcut.
- Added keyboard shortcuts to the Apps context menu items for faster access.
- Added all file context menu options to the Apps items context menu, making all file actions available there for better functionality.
- Streamlined All Apps extension settings by removing redundant descriptions, making the UI clearer.
- Added command history to the Run page for easier access to previous commands.
- Fixed directory path handling in Run fallback for better file navigation.
- Fixed URL fallback item hiding properly in Web Search extension when search query becomes invalid. Thanks @jiripolasek!
- Added proper empty state message for Web Search extension when no results found. Thanks @jiripolasek!
- Added fallback command to Windows Settings extension for better search results.
- Re-enabled Clipboard History feature with proper window handling.
- Improved Add Bookmark extension to automatically detect file, folder, or URL types without manual input.
- Updated terminology from "Kill process" to "End task" in Window Walker for consistency with Windows.
- Fixed minor grammar error in SamplePagesExtension code comments. Thanks @purofle!
Mouse Utilities
- Added a new spotlight highlighting mode that creates a large transparent circle around your cursor with a backdrop effect, providing an alternative to the traditional circle highlight. Perfect for presentations where you want to focus attention on a specific area while dimming the rest of the screen.
Peek
- Added preview and thumbnail support for Binary G-code (.bgcode) files used in 3D printing. You can now see embedded thumbnails and preview these compressed 3D printing files directly in Peek and File Explorer. Thanks @pedrolamas!
Quick Accent
- Added Vietnamese language support to Quick Accent, mappings for Vietnamese vowels (a, e, i, o, u, y) and the letter d. Thanks @octastylos-pseudodipteros!
Settings
- Completely redesigned the Settings dashboard with a modern card-based layout featuring organized sections for quick actions and shortcuts overview, replacing the old module list.
- Rewrote setting descriptions to be more concise and follow Windows writing style guidelines, making them easier to understand.
- Improved formatting and readability of release notes in the "What's New" section with better typography and spacing.
- Added missing deep link support for various settings pages (Peek, Quick Accent, PowerToys Run, etc.) so you can jump directly to specific settings.
- Resolved an issue where the settings page header would drift away from its position when resizing the settings window.
- Resolved a settings crash related to incompatible property names in ZoomIt configuration.
Documentation
- Added detailed step-by-step instructions for first-time developers building the Command Palette module, including prerequisites and Visual Studio setup guidance. Thanks @chatasweetie!
- Fixed Broken SDK Link: Corrected a broken markdown link in the Command Palette S...
Release v0.92.1
This is a patch release to fix issues in v0.92 we deemed important for stability based on incoming rates. See v0.92.0 for full release notes.
Installer Hashes
Description | Filename |
---|---|
Per user - x64 | PowerToysUserSetup-0.92.1-x64.exe |
Per user - ARM64 | PowerToysUserSetup-0.92.1-arm64.exe |
Machine wide - x64 | PowerToysSetup-0.92.1-x64.exe |
Machine wide - ARM64 | PowerToysSetup-0.92.1-arm64.exe |
Highlights
Release v0.92
In the v0.92 release cycle, we focused on new features, stability, optimization improvements, and automation.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.92.0-x64.exe | E2126F7C3BAEBEF8367D4702489654B13E211B5CCFA1E3AC437CAFC772B1A219 |
Per user - ARM64 | PowerToysUserSetup-0.92.0-arm64.exe | 5DC32A790F2B6D9C06CA3397E9ADCD382472BB2C9B45BC288D75DCB951A20FAF |
Machine wide - x64 | PowerToysSetup-0.92.0-x64.exe | 3419E846FB242D2B7DA8A4259E06DB8867770806159C665FA966E85669D258CA |
Machine wide - ARM64 | PowerToysSetup-0.92.0-arm64.exe | 367DECED2EB112B0A2F4F4828D198EAFFB1E6CEA8F7716BF533145D572ABFD13 |
Highlights
- PowerToys settings now has a toggle for the system tray icon, giving users control over its visibility based on personal preference. Thanks @BLM16!
- Command Palette now has Ahead-of-Time (AOT) compatibility for all first-party extensions, improved extensibility, and core UX fixes, resulting in better performance and stability across commands.
- Color Picker now has customizable mouse button actions, enabling more personalized workflows by assigning functions to left, right, and middle clicks. Thanks @PesBandi!
- Bug Report Tool now has a faster and clearer reporting process, with progress indicators, improved compression, auto-cleanup of old trace logs, and inclusion of MSIX installer logs for more efficient diagnostics.
- File Explorer add-ons now have improved rendering stability, resolving issues with PDF previews, blank thumbnails, and text file crashes during file browsing.
Color Picker
- Added mouse button actions so you can choose what left, right, or middle click does. Thanks @PesBandi!
Crop & Lock
- Aligned window styling with current Windows theme for a cleaner look. Thanks @sadirano!
Command Palette
- Enhanced performance by resolving a regression in page loading.
- Applied consistent hotkey handling across all Command Palette commands for a smoother user experience.
- Improved graceful closing of Command Palette. Thanks @davidegiacometti!
- Fixed consistency issue for extensions' alias with "Direct" setting and enabled localization for "Direct" and "Indirect" for better user understanding. Thanks @davidegiacometti!
- Improved visual clarity by styling critical context items correctly.
- Automatically focused the field when only one is present on the content page.
- Improved stability and efficiency when loading file icons in SDK ThumbnailHelper.cs by removing unnecessary operations. Thanks @OldUser101!
- Enhanced details view with commands implementation. (See Extension sample)
Command Palette extensions
- Added "Copy Path" command to App search results for convenience. Thanks @PesBandi!
- Improved Calculator input experience by ignoring leading equal signs. Thanks @PesBandi!
- Corrected input handling in the Calculator extension to avoid showing errors for input with only leading whitespace.
- Improved New Extension wizard by validating names to prevent namespace errors.
- Ensured consistent context items display for the Run extension between fallback and top-level results.
- Fixed missing Time & Date commands in fallback results. Thanks @htcfreek!
- Fixed outdated results in the Time & Date extension. Thanks @htcfreek!
- Fixed an issue where Web Search always opened Microsoft Edge instead of the user's default browser on Windows 11 24H2 and later. Thanks @RuggMatt!
- Improved ordering of Windows Settings extension search results from alphabetical to relevance-based for quicker access.
- Added "Restart Windows Explorer" command to the Windows System Commands provider for gracefully terminate and relaunch explorer.exe. Thanks @jiripolasek!
Command Palette Ahead-of-Time (AOT) readiness
- We’ve made foundational changes to prepare the Command Palette for future Ahead-of-Time (AOT) publishing. This includes replacing the calculator library with ExprTk, improving COM object handling, refining Win32 interop, and correcting trimming behavior—all to ensure compatibility, performance, and reliability under AOT constraints. All first-party extensions are now AOT-compatible. These improvements lay the groundwork for publishing Command Palette as an AOT application in the next release.
- Special thanks to @Sergio0694 for guidance on making COM APIs AOT-compatible, @jtschuster for fixing COM object handling, @ArashPartow from ExprTk for integration suggestions, and @tian-lt from the Windows Calculator team for valuable suggestion throughout the migration journey and review.
- As part of the upcoming release, we’re also enabling AOT compatibility for key dependencies, including markdown rendering, Adaptive Cards, internal logging and telemetry library, and the core Command Palette UX.
FancyZones
- Fixed DPI-scaling issues to ensure FancyZones Editor displays crisply on high-resolution monitors. Thanks @HO-COOH! This inspired us a broader review across other PowerToys modules, leading to DPI display optimizations in Awake, Color Picker, PowerAccent, and more.
File Explorer add-ons
- Fixed potential failures in PDF previewer and thumbnail generation, improving reliability when browsing PDF files. Thanks @mohiuddin-khan-shiam!
- Prevented Monaco Preview Handler crash when opening UTF-8-BOM text files.
Hosts File Editor
- Added an in-app “Learn more” link to warning dialogs for quick guidance. Thanks @PesBandi!
Mouse Without Borders
- Fixed firewall rule so MWB now accepts connections from IPs outside your local subnet.
- Cleaned legacy logs to reduce disk usage and noise.
Peek
- Updated QOI reader so 3-channel QOI images preview correctly in Peek and File Explorer. Thanks @mbartlett21!
- Added codec detection with a clear warning when a video can’t be previewed, along with a link to the Microsoft Store to download the required codec.
PowerRename
- Added support for $YY-$MM-$DD in ModificationTime and AccessTime to enable flexible date-based renaming.
PowerToys Run
- Suppressed error UI for known WPF-related crashes to reduce user confusion, while retaining diagnostic logging for analysis. This targets COMException 0xD0000701 and 0x80263001 caused by temporary DWM unavailability.
Registry Preview
- Added "Extended data preview" via magnifier icon and context menu in the Data Grid, enabled easier inspection of complex registry types like REG_BINARY, REG_EXPAND_SZ, and REG_MULTI_SZ, etc. Thanks @htcfreek!
- Improved file-saving experience in Registry Preview by aligning with Notepad-like behavior, enhancing user prompts, error handling, and preventing crashes during unsaved or interrupted actions. Thanks @htcfreek!
Settings
- Added an option to hide or show the PowerToys system tray icon. Thanks @BLM16!
- Improved settings to show progress while a bug report package is being generated.
Workspaces
- Stored Workspaces icons in user AppData to ensure profile portability and prevent loss during temporary folder cleanup.
- Enabled capture and launch of PWAs on non-default Edge or Chrome profiles, ensuring consistent behavior during creation and execution.
Documentation
- Added SpeedTest and Dictionary Definition to the third-party plugins documentation for PowerToys Run. Thanks @ruslanlap!
- Corrected sample links and typo in Command Palette documentation. Thanks @daverayment and @roycewilliams!
Development
- Updated .NET libraries to 9.0.6 for performance and security. Thanks @snickler!
- Updated WinAppSDK to 1.7.2 for better stability and Windows support.
- Introduced a one-step local build script that generates a signed installer, enhancing developer productivity.
- Generated portable PDBs so cross-platform debuggers can read symbol files, improving debugging experience in VSCode and other tools...
Release v0.91.1
This is a patch release to fix issues in v0.91 we deemed important for stability based on incoming rates. See v0.91.0 for full release notes.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.91.1-x64.exe | 42EA4A3E8C79A5456476D19E72B3E2AB9393A89C4DC7442EB7EE5A1E3490D38A |
Per user - ARM64 | PowerToysUserSetup-0.91.1-arm64.exe | F3F433FE04049F9197411D792AADEBF34E3BE7FE16327BD8B73D2A046ED8BAF6 |
Machine wide - x64 | PowerToysSetup-0.91.1-x64.exe | EC4BC3A8625775866B0ED4577CCF83E6EC7B1A0AD267379DDBAF4FE49C7B5BDD |
Machine wide - ARM64 | PowerToysSetup-0.91.1-arm64.exe | 9CB8911008420D0E446AE3D5CE365E447FA4DF9DCF9337F3A80F933C00FC3689 |
Highlights
- #39494 - Command Palette: Fixed regression where it ran as admin instead of the current user when PowerToys was elevated; also resolved extension launch failures occurring only in admin mode.
- #39433 - Workspaces: Fixed regression where command-line options support was expected but missing when launching classic Win32 apps (e.g. Edge, Chrome).
- #39563 - Quick Accent: Fixed regression requiring activation key to be held simultaneously with the key during the "Input delays" period for accent selection; instead, only the key needs to be held after activation.
Release v0.91
In the v0.91 release cycle, we focused on new features, stability, and automation.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.91.0-x64.exe | 190DD702EDE2D3AC27A253DF8BC2416B1AF05E6594FF25CABEE844E6D3C8CCB0 |
Per user - ARM64 | PowerToysUserSetup-0.91.0-arm64.exe | BE6C964C40147B5F7838E51A13837347756CC45E6AC5BC0DD11AF9AF605ABDCD |
Machine wide - x64 | PowerToysSetup-0.91.0-x64.exe | 2308D896D9A66C56B98AC8B3CE9B7C945C7A2315551E36C118C7ECAC4A6D05C2 |
Machine wide - ARM64 | PowerToysSetup-0.91.0-arm64.exe | 28BD1FEFA22C52279C6B600E677B425B014D1F9190EA449D6C63FC2702092DA3 |
Highlights
- We focused on greatly improving Command Palette's performance and fixing a large amount of bugs. Some new features we've added are:
- Added the ability for Command Palette to search any file using a fallback command.
- Added the ability to make the Command Palette global hotkey a low-level keyboard hook.
- Added open URL fallback command for the WebSearch extension, enabling users to directly open URLs in the browser from Command Palette.
- You can now define custom formats in the Date and Time plugins of PT Run and Command Palette. Thanks @htcfreek!
Advanced Paste
- Fixed an issue where Advanced Paste failed to create the OCR engine for certain English language tags (e.g., en-CA) by initializing the OCR engine with the user profile language. Thanks @cryolithic!
Color Picker
- Fixed an issue where a resource leak caused hangs or crashes by properly disposing of the Graphics object. Thanks @dcog989!
- Fixed an issue where Color Picker exited on Backspace keypress by ensuring it only closes when focused and aligning Escape/Backspace behavior. Thanks @PesBandi!
- Added support for Oklab and Oklch color formats in Color Picker. Thanks @lemonyte!
Command Not Found
- Updated the WinGet Command Not Found script to only enable the experimental features if they actually exist.
Command Palette
- Updated bug template to include Command Palette module.
- Fixed an issue where the toast window was not scaled for DPI, causing layout issues under display scaling.
- Fixed an issue where Up/Down keyboard navigation didn't move selection when caret was at position 0, and add continuous navigation like PT Run v1. Thanks @davidegiacometti!
- Updated the Time and Date extension code to simplify it and improve clarity.
- Fixed an issue where capitalization in the command causes failure when trying to go to the mouse pointer, resolved by adjusting the command to lowercase.
- Added open URL fallback command for the WebSearch extension, enabling users to directly open URLs in the browser from Command Palette. Thanks @htcfreek!
- Added setting to enable/disable system tray icon in CmdPal and align terminology with Windows 11. Thanks @davidegiacometti!
- Fixed an alias update issue by removing the old alias when a new one is set.
- Resolved GitHub casing conflict by migrating Exts and exts into a new ext directory, ensuring consistent structure across platforms and preventing path fragmentation.
- Fix an issue where the 'Create New Extension' command generated empty file names.
- Added the ability to make the global hotkey a low-level keyboard hook.
- Added support for JUMBO thumbnails, enabling access to high-resolution icons.
- Fixed crashes when CmdPal auto-hid itself while an MSAL dialog was opened, by preventing CmdPal from hiding if it's disabled.
- Added support for immediately selecting search text when a page is loaded.
- Fixed a bug where extension settings pages failed to reload on reopen by updating the settings form when extension settings are saved.
- Fixed an issue where the Command Palette failed to launch from the runner.
- Refactored and ported the PowerToys Run v1 calculator logic into Command Palette, added settings support, and improved fallback behavior.
- Re-added support for list item keyboard shortcuts.
- Enhanced accessibility in Command Palette by adding proper labels, refining animations, improving localization, and fixed a11y related issues.
- Ported custom format support to the Time and Date plugin, reordered and cleaned up settings, improved error messaging, and fixed edge-case crashes for more robust and user-friendly behavior. Thanks @htcfreek!
- Added fallback item for system command.
- Fixed a bug in Windows System Command where the key prompt incorrectly displayed "Empty" for the "Open Recycle Bin" action. Thanks @jironemo!
- Fixed an issue where the 'more commands' list showed commands that shouldn't be visible. Thanks @davidegiacometti!
- Fixed an issue where the details view in Command Palette displayed an oversized icon and misaligned text, aligning it with Windows Search behavior.
- Fixed a bug where empty screen content and command bar commands were cut off when using long labels, ensuring proper layout and visibility.
- Improved CmdPal’s WinGet integration by fixing version display for installed packages, enabling updates with icons, and migrating the preview winget API to a stable version.
- Fixed a bug where commands for ContentPage didn't update until after exit, by ensuring context menus are fully initialized when they change.
- Added fallback support to the TimeDate extension, enabling direct date/time queries without pre-selecting the command.
- Added import of Common.Dotnet.AotCompatibility.props across multiple CmdPal project files to enhance AOT compilation support.
- Fixed a crash in CmdPal settings caused by a null HotKey when settings.json is missing or lacks a defined hotkey. Thanks @davidegiacometti!
- Added support for filterable, nested context menus in CmdPal, including a search box to maintain focus behavior.
- Refactored CmdPal classes to improve JSON serialization and introduced new serialization contexts for better performance and maintainability.
- Added support for ahead-of-time (AoT) compilation.
- Added retry mechanism for CmdPal launch.
- Removed some unused files from CmdPal.Common to simplify codebase and facilitate marking it as AoT-compatible.
- Fixed a bug where a race condition in the update of SearchText caused the cursor in the input box to automatically jump to the end of the line, ensuring SearchText is only updated after it has actually been changed.
- Added support for searching any file in fallback command.
- Cleaned up AoT-related code to prevent duplicate operations during testing.
- Reduced CmdPal load time by parallelizing extension startup and adding timeouts to prevent misbehaving extensions from blocking others.
- Enhanced UI behavior by dismissing the details pane when the list gets emptied, avoiding inconsistent visual states.
- Added support to unset the fallback command in CmdPal when no matching command is found, ensuring cleaner reload behavior.
- Fixed a leak in the CmdPal extension template by addressing improper ComServer use.
- Prevented CmdPal window from maximizing on title bar double-click to maintain intended window behavior. Thanks @davidegiacometti!
- Fixed an issue where the Settings UI launched too small by making window dimensions DPI-aware and enforcing minimum width and height using WinUIEx.
- Fixed white flash and one-time animation issues in CmdPal by cloaking the window instead of hiding it.
- Fixed a bug where all extension settings were fetched on startup by lazy-loading extension settings, reducing initialization overhead.
- Added support for protecting CmdPal from crashes on Adaptive Card parse failure.
- Replaced shell:AppsFolder with URI activation in CmdPal to improve reliability.
- Added ability to open CmdPal settings from PowerToys Settings.
- Added ability for CmdPal to observe and dynamically update extension details by tracking property changes on the selected item.
- Bumped the toolkit version used in the CmdPal extension template to 0.2.0.
Image Resizer
- Fixed an issue where deleting an Image Resizer preset removed the wrong preset.
Keyboard Manager
- Fixed an issue where a modifier key, when set without specifying left or right, would get stuck due to incorrect key handling, by tracking the pressed keys and sending the correct key accordingly. Thanks @mantaionut!
PowerRename
- Enhanced PowerRename's time formatting capabilities by adding 12-hour time format patterns with AM/PM support. Thanks @bitmap4!
PowerToys Run
- Added support for custom formats ...
Release v0.90.1
This is a patch release to fix issues in v0.90.1 we deemed important for stability based on incoming rates. See v0.90.0 for full release notes.
Installer Hashes
Description | Filename | sha256 hash |
---|---|---|
Per user - x64 | PowerToysUserSetup-0.90.1-x64.exe | CDAF760E86D350F9FCDE7ABD0950F1C0D5E6BDC2401169E12D8FD5F82A2285D5 |
Per user - ARM64 | PowerToysUserSetup-0.90.1-arm64.exe | E26B1F27C04358A112B5D10D4ED98ABB51399DCB5C1DD2A9017D2007E9AE33AF |
Machine wide - x64 | PowerToysSetup-0.90.1-x64.exe | 0DF50C8896C73F0CC7C4E291E55350B87142824588DA6EF6334A9065392F44F5 |
Machine wide - ARM64 | PowerToysSetup-0.90.1-arm64.exe | 9356847E88A7DD43DFE428E6AA8E35B196CE7B24CC30D1C3D6771167FFC8C1E7 |
Highlights
- #38422 - Fixed an issue where v0.90 couldn't be installed from WinGet.
- #38440 - Fixed an issue where Command Palette wouldn't launch when WinGet wasn't present.
- #38460 - Fixed a crash when launching Command Palette as administrator.
- #38531 - Fixed an issue where Command Palette was attempting to install dependencies that already existed.
- #38676 - Updated .NET package to 9.0.4, Thanks @snickler!