New Microsoft PowerToys pre-release version 0.102.2883.0 for Windows 11



 PowerToys github:

This is a preview-channel build for the PowerToys 0.102 release train, produced from the stable branch. It follows v0.102.2862.0; these notes cover changes since that preview, not the complete 0.102 versus 0.101 changelog. This is not the final stable release.

Highlights​

  • ZoomIt: Added opt-in offline snip dictation for pasting screenshots together with transcribed speech.
  • Peek: Added plain-text fallback previews and command-line support for multiple files and folders.
  • Keyboard Manager: Added searchable key selection for empty remaps in the new editor and limited recording to the foreground editor.
  • Command Palette: Continued loading results in underfilled views and when keyboard navigation reaches the loaded end of a list.
  • Command Palette: Fixed in-place Adaptive Card updates in release builds and enabled custom elements to refresh without rebuilding the card.
  • Command Palette: Avoided repeated writes of unchanged provider and fallback settings during startup.
  • Settings: Added an interactive animated welcome scene and fixed memory growth when navigating between Home and General.
  • General: Prevented startup and read-only Settings refreshes from overwriting existing preferences.
  • CursorHide: Refreshed the former Auto Hide Cursor branding, icon, and behavior controls in Settings.

Advanced Paste​

  • Fixed the CLI root --version option to print the executable version and exit without requiring a subcommand in #51298 by @MuyuanMS

Command Palette​

  • Fixed Adaptive Cards updating in place in release builds and enabled custom elements to refresh without rebuilding the entire card in #51204
  • Loaded additional result batches when the first list or grid page does not fill the window, so more items remain accessible without a scrollbar in #51285 by @jiripolasek
  • Loaded the next result batch when keyboard navigation reaches the end of the current list, preserving selection until loading completes in #51287 by @jiripolasek
  • Fixed Ctrl+Enter targeting the wrong command in context-menu submenus and delayed the initial highlight until navigation or filtering in #51290 by @jiripolasek
  • Avoided repeatedly saving unchanged provider and fallback settings during startup in #51353

CursorHide​

  • Renamed Auto Hide Cursor to CursorHide in Settings and refreshed its icon, behavior controls, and new-feature indicators in #51123 by @Copilot and @LegendaryBlair

General​

  • Prevented startup and read-only Settings refreshes from overwriting preferences with partially initialized or stale module states in #51115 by @LegendaryBlair and @Copilot

Keyboard Manager​

  • Added searchable key selection for empty remaps in the new editor, limited recording to the foreground editor, and restored Tab navigation while recording in #51150 by @Copilot

Peek​

  • Added command-line previews for multiple files and folders, with improved relative-path handling and argument validation in #49724 by @daverayment
  • Added plain-text previews for text files with otherwise unsupported extensions instead of showing only file information in #50020 by @eglavin and @claude

Settings​

  • Added an interactive animated welcome scene featuring PowerToys module icons in #50873 by @Copilot
  • Fixed retained pages and view models that caused memory use to grow when navigating between Home and General settings in #51060 by @dotMorten and @Copilot

ZoomIt​

Development​

  • Made new Windows platform-compatibility analyzer violations fail builds so unsupported API calls are caught earlier in #51063 by @Copilot
  • Updated outdated third-party launcher plugin and author links in #51126 by @karan5028ji and @LegendaryBlair
  • Removed an obsolete Settings screenshot reference from the module project-template documentation in #51334 by @mmustafasenoglu
  • Standardized spacing before comments in module UI tests in #51264
  • Reused JSON serializer options in Advanced Paste UI tests in #51280
  • Replaced broad message passing with explicit Command Palette control and view-model ownership to support independent navigation surfaces in #51038
  • Extracted Command Palette page creation and initialization into a shared navigation service while preserving navigation behavior in #51091 by @Copilot
  • Removed the superseded Toolkit-specific neutral-language workaround while retaining shared official-build assembly metadata generation in #51291 by @LegendaryBlair and @Copilot
  • Pinned the Command Palette extension SDK build version and prepared its signing runtime for more predictable release builds in #51326 by @LegendaryBlair and @Copilot
  • Made Command Palette Extension Gallery tests use deterministic synchronization to avoid intermittent ordering failures in #51340 by @foxmsft
  • Kept Command Palette test page contexts alive through execution and cleanup to prevent intermittent view-model test failures in #51355 by @jiripolasek
  • Aligned multiline argument formatting across module UI tests without changing test behavior in #51257
  • Normalized FancyZones UI-test file endings for consistent analyzer compliance in #51258
  • Split FancyZones and File Locksmith UI-test helper types into matching source files in #51259
  • Ordered System using directives consistently in FancyZones UI tests in #51262
  • Normalized split-argument layout in FancyZones, Advanced Paste, and Environment Variables UI tests in #51265
  • Removed unnecessary parentheses from FancyZones UI tests in #51267
  • Aligned initializer indentation in FancyZones and Mouse Utilities UI tests in #51268
  • Removed redundant blank lines from FancyZones UI tests in #51272
  • Added consent-aware command and result telemetry for the Light Switch and PowerDisplay CLIs without changing their output or exit codes in #51315
  • Resolved possible-null dereference warnings in Advanced Paste and Mouse Utilities UI tests in #51274
  • Made Peek UI-test formatting use explicit format providers for consistent behavior across locales in #51260
  • Normalized closing-brace spacing in Peek UI tests in #51273
  • Resolved nullable-argument warnings in Peek UI tests in #51275
  • Aligned nullable argument types in Peek UI tests in #51276
  • Used direct indexing for indexable collections in Peek UI tests in #51278
  • Reused constant argument arrays in Peek UI tests in #51279
  • Aligned PowerRename UI-test comment spacing with analyzer requirements in #51263
  • Removed a duplicate shared-suppression source entry from the PowerRename UI-test project in #51282
  • Resolved reserved-keyword naming warnings in Screen Ruler UI tests in #51277
  • Aligned Settings UI-test parameter names with analyzer conventions in #51271
  • Made culture-sensitive operations explicit in Workspaces UI tests in #51261
  • Aligned Workspaces UI-test parameter-list formatting with analyzer requirements in #51266
  • Standardized spacing between Workspaces UI-test members in #51269
  • Kept cleanup exceptions out of finally clauses in Workspaces UI tests in #51281
  • Placed readonly fields consistently in ZoomIt UI tests in #51270

Changes needing final review​

  • Restored strict resource-language, identifier-naming, and MVVM build diagnostics in direct stable commit ce7edd480bc6, reapplying the exact change from #51065 after the official-build metadata fixes by @LegendaryBlair and @Copilot. This direct reapplication has no separate PR.


 Source:


See also:
 
  • Like
Reactions: OAT

Latest Support Threads

Latest Tutorials

Back
Top Bottom