Microsoft releases PowerToys 0.95 with speed improvements and new Light Switch


Microsoft has unleashed PowerToys v0.95, and it is an impressive one. This is a release cycle which is billed as offering “new features, stability, optimization improvements, and automation”, and that’s very much what this particular release is about.
The first thing to ask about any new PowerToys release is whether there are any new modules. And this time around the answer is a resounding “yes”. In addition to a raft of changes, improvements and optimizations across the suite of utilities, there is also the new Light Switch module.
While you might think that Light Switch is somehow connected to home automation, it is actually a utility for mode-switching. This new module brings something to Windows that users have been asking for for ages – and now Microsoft has provided. Light Switch is a simple tool for switching between light mode and dark mode in Windows on a schedule.
In a blog post about this release, Niels Laute – PowerToys’ Senior Product Manager – says:
Meet Light Switch, a brand-new utility that automatically switches your PC between light and dark mode! You can set custom start and end times, or let Light Switch handle it for you by using the sunrise and sunset times for your location. Want it to start a little earlier or later? Just tweak the offset to your liking. You can also choose whether the shell, apps, or both should switch – and, in case you want to toggle on the fly; just configure a keyboard shortcut
The full changelog is incredibly lengthy:
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 cursor position structure to 8-byte boundary.
Settings
- Added ability to ignore specific hotkey conflicts to reduce noise.
- Stopped creating backup directory during dry-run status checks (cleaner first-run).
- Standardized casing and localization for ZoomIt and modules header.
- Improved search results page accessibility and conditional module grouping.
ZoomIt
- Updated resource file to reflect standalone v9.01 and current copyright year. Thanks @foxmsft!
- Restored legacy draw/snipping behaviors and fixed recording race conditions. Thanks @chakrik73!
You can download PowerToys v0.95 here.