PowerToys 0.58 update rolls out native ARM64 version of the app

Microsoft has once again updated the tools for PowerToys for Windows, bringing it to version 0.58. This new update doesn’t add any new user-facing features, but it does make some important under-the-hood changes, including preparation for the upcoming ARM64 version of the app. Currently, PowerToys is designed for x64 processors only, which means that in order to run on ARM devices like the Surface Pro X, it needs to use emulation, which affects performance. Many of the necessary components for running PowerToys on ARM64 are now included in the package, so hopefully, we don’t have to wait long.

However, that’s not all that has changed with this update. The team has done some work under the hood to bring the PowerToys up to more modern standards. For one thing, it’s no longer using the old WebBrowser control for Web content, and has switched to WebView2, powered by the Chromium-based Microsoft Edge browser.

Similarly, PowerToys 0.58 drops all uses of .NET Core 3.1 and switches entirely to .NET 6, so it is more current. And on a final note on the development side, the PowerToys Settings window now runs on WinUI 3, the latest version of Microsoft’s UI framework. Previously, it was using XAML islands to incorporate a UWP-style design into a Win32 app, but WinUI 3 brings all those elements together as well and this is new. The team says that this transition should resolve some bugs related to the use of XAML islands, so things should work better overall.

Apart from this, there are several minor improvements and tweaks in PowerToys 0.58, which improve the overall experience. If you want to see everything that has been corrected, you can read the full list of changes below.

powertoys 0.58 changelog

Mango

  • Spell check fix in code. Thanks @jsoref!
  • Fix CI error related to spell checking due to GitHub API change. Thanks @jsoref!
  • Fixed the documentation references for GitHub. Thanks @Cyl18!

ARM64

  • Prepare the solution and properties files for the ARM64 port. Thanks @Snickler!
  • Port to ARM64 Unhandled exception handler. Thanks @Snickler!
  • The port of settings projects to ARM64. Thanks @Snickler!
  • Most PowerToys port to ARM64. Thanks @Snickler!
  • Port of debug utilities to ARM64.

always on top

  • Fix for top-most position resetting windows for some applications. (this was a hotfix for 0.57)

color picker

  • The CIEXYZ format is now shown properly in upper case.

fancy area

  • Restore rounded corners on Windows 11 and add a setting to control this behavior. (this was a hotfix for 0.57)
  • Fixed an edge case where Windows Terminal windows would not snap when opened. (this was a hotfix for 0.57)
  • Improved narrator support in the grid editor. (this was a hotfix for 0.57)
  • Fixed a bug when reinstalling rounded corners on Windows 11. (this was a hotfix for 0.57)
  • Not resizing properly for windows at different dpi settings. (this was a hotfix for 0.57)
  • The resolution extracted from the screen identifier so that the zones are not reset when the resolution changes.
  • Scale the canvas layout while editing according to the new scaling/resolution.
  • Shipping a new tool to help debug Windows interactions with FancyZones.

file Explorer

  • Fix for Crash in Dev File Preview if the settings file was not created yet. (this was a hotfix for 0.57)
  • New file types added in dev file preview (“.reg”, “.xslt”, “.xsd”, “.wsdl”, “.ino”, “.pde”, “.razor”). Thanks @aaroon-junker!
  • Fix existing “File still in use” issue in Dev File Preview. Thanks @aaroon-junker!
  • Dev File Preview is now able to interpret file extensions in a case-insensitive manner. Thanks @aaroon-junker!
  • SVG and Markdown viewers no longer use WebBrowser and instead uses WebView2.
  • Markdown Preview now respects dark mode settings on Windows. Thanks @davidgiacometti!

mouse utility

  • Fix for a bug not activating shortcuts set to icons when Mouse Utility was activated on specific monitor configurations.

powertoys run

  • Fix for PowerToys running using high CPU and memory while updating its settings. (this was a hotfix for 0.57)
  • Add a “Run as a different user” feature to Programs, Shells, and Search plugins. Thanks @htcfreek! (this was a hotfix for 0.57)
  • Fix for WindowWalker crashing when the Virtual Desktop registry key is not set. Thanks @htcfreek! (this was a hotfix for 0.57)
  • Fix for VS Code workspace not using user’s path variable right after install or update. Thanks @ricardosantos9521! (this was a hotfix for 0.57)
  • Fix for a system plugin slowing PowerToys run when multiple network interfaces are present. Thanks @htcfreek! (this was a hotfix for 0.57)
  • Fix for program plugins not showing special shortcuts with empty targets such as Control Panel. (this was a hotfix for 0.57)
  • Additional logging for terminal plugin. Thanks @davidgiacometti! (this was a hotfix for 0.57)
  • The Web Search and URI plugins now have better code for detecting the default browser.
  • Fix for service plugin that is not correctly manipulating service names with spaces. Thanks @davidgiacometti!
  • Fix for terminal plugin not recognizing profiles correctly. Thanks @davidgiacometti!
  • The latest VSCode Insiders build is not showing up in the VSCode Workspace plugin. Thanks @JacobDeuchert!
  • Increased precision of floating numbers in Unit Converter Plugin.
  • VSCode Workspaces now get portable installations of VS Code. thanks @ harvastam
  • Resolved the problem of starting PowerToys run when the desktop is not initialized. Thanks @davidgiacometti!

Adjustment

  • Settings now run on WinUI3 instead of XAML islands.
  • When runner is started as administrator the settings are no longer run as administrator.

Runner

  • To avoid writing to the log in a loop, use a sensible default time for rechecking for updates. (this was a hotfix for 0.57)
  • If the installation is up to date, Runner cleans up the update directory. Thanks @davidgiacometti!

installer

  • The .exe installer distributes a signed .msi inside the bootstrapper. (this was a hotfix for 0.57)
  • Removed the .NET Core dependency from the installer.
  • Partial support for the ARM64 installer.
  • .NET updated to 6.0.4.
  • To try and fix installation issues, force update all files on reinstall/update.

Development

  • PowerToys no longer carries a dependency on .NET Core.
  • WinUI3 is a new dependency. Due to this the settings now target win10-x64 and win10-arm64.

The last few updates to PowerToys have focused primarily on quality improvements rather than new features, but that’s not necessarily a bad thing. These under-the-hood changes should make the app easier to maintain going forward. Recently, we noticed that a new PowerToys feature called Peak is in development, although it is not yet available. It’s essentially a Windows version of macOS’s Quick Look, so you can quickly view files without opening them in their respective apps.

If you’re interested, you can download PowerToys 0.58 from GitHub today, or check for updates within the app if you already have them.

Leave a Reply