diff --git a/.configurations/configuration.vsEnterprise.dsc.yaml b/.config/configuration.vsEnterprise.winget similarity index 100% rename from .configurations/configuration.vsEnterprise.dsc.yaml rename to .config/configuration.vsEnterprise.winget diff --git a/.configurations/configuration.vsProfessional.dsc.yaml b/.config/configuration.vsProfessional.winget similarity index 100% rename from .configurations/configuration.vsProfessional.dsc.yaml rename to .config/configuration.vsProfessional.winget diff --git a/.configurations/configuration.dsc.yaml b/.config/configuration.winget similarity index 100% rename from .configurations/configuration.dsc.yaml rename to .config/configuration.winget diff --git a/README.md b/README.md index a1b0a07c636f..78bc997c10ae 100644 --- a/README.md +++ b/README.md @@ -34,19 +34,19 @@ Microsoft PowerToys is a set of utilities for power users to tune and streamline Go to the [Microsoft PowerToys GitHub releases page][github-release-link] and click on `Assets` at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is `x64` and per-user. -[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.89%22 -[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.88%22 -[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.88.0/PowerToysUserSetup-0.88.0-x64.exe -[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.88.0/PowerToysUserSetup-0.88.0-arm64.exe -[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.88.0/PowerToysSetup-0.88.0-x64.exe -[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.88.0/PowerToysSetup-0.88.0-arm64.exe +[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.90%22 +[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.89%22 +[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.89.0/PowerToysUserSetup-0.89.0-x64.exe +[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.89.0/PowerToysUserSetup-0.89.0-arm64.exe +[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.89.0/PowerToysSetup-0.89.0-x64.exe +[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.89.0/PowerToysSetup-0.89.0-arm64.exe | Description | Filename | sha256 hash | |----------------|----------|-------------| -| Per user - x64 | [PowerToysUserSetup-0.88.0-x64.exe][ptUserX64] | 5BBA2E06603CAAE0269DFBC991095C6664FD934130335197C1BA3120E19B7CA3 | -| Per user - ARM64 | [PowerToysUserSetup-0.88.0-arm64.exe][ptUserArm64] | E79723F9F94068C699E01334C8CC0C85F37818EB4664FC772D2B545A1C37C3FA | -| Machine wide - x64 | [PowerToysSetup-0.88.0-x64.exe][ptMachineX64] | C43742DB7AA3F8B01FE7AE1DA591F0342767AFE5BBACB72F2968CE5E8EE1E3AC | -| Machine wide - ARM64 | [PowerToysSetup-0.88.0-arm64.exe][ptMachineArm64] | AEE4A67643C886336F31F86C4117BA5F01BCA5E0E99FF34524217DC91AFA7132 | +| Per user - x64 | [PowerToysUserSetup-0.89.0-x64.exe][ptUserX64] | B4F130CC96F321024A257499247F6FF6DA56612215ED3882E868AAE26C689E33 | +| Per user - ARM64 | [PowerToysUserSetup-0.89.0-arm64.exe][ptUserArm64] | F69B00F4E520EB09FA0D1D1669E21910C5225FE7A2EEDC0FA7C283B201A5F9C6 | +| Machine wide - x64 | [PowerToysSetup-0.89.0-x64.exe][ptMachineX64] | E18AC8F9023E341CF7DAD35367FB9DDDB6565D83D8155DBCDDB40AE8A24AE731 | +| Machine wide - ARM64 | [PowerToysSetup-0.89.0-arm64.exe][ptMachineArm64] | 17DEADEC601D6061D7AF4F487595CC36D9191813003CC2ECE381017F0EC71FBB | This is our preferred method. @@ -92,141 +92,103 @@ For guidance on developing for PowerToys, please read the [developer docs](/doc/ Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on. -### 0.88 - January 2025 Update +### 0.89 - February 2025 Update -In this release, we focused on new features, stability, and improvements. +In this release, we focused on new features, stability, accessibility and automation. -**Highlights** +**✨Highlights** - - New utility: ZoomIt - a screen zoom, annotation, and recording tool for technical presentations and demos. This utility from Sysinternals has had its source code released and included in PowerToys. ZoomIt will still continue to be updated and shipped by Sysinternals for users who prefer to have it as a standalone utility outside of PowerToys. Thanks [@markrussinovich](https://github.com/markrussinovich), [@foxmsft](https://github.com/foxmsft) and [@johnstep](https://github.com/johnstep) for contributing the original code and reviewing the PowerToys integration! - - Video Conference Mute has been deprecated and was removed from PowerToys. - - .Net 9.0.1 fixed many issue in WPF, improving stability for PowerToys Run. + - Enhanced Advanced Paste by adding media transcoding support to convert different video and audio file formats! Thanks [@snickler](https://github.com/snickler) for your help! + - Fixed crashes when loading thumbnails after the .NET 9 update and resolved PowerLauncher.exe blocking other MSI installers from creating shortcuts! + - Fixed accessibility issues across FancyZones, Image Resizer, and Settings to improve screen reader support and clarity! + - Enhanced UI automation framework across modules and added new tests to cover manual checks, with more improvements coming! ### General - - Applied a workaround for the Windows App SDK applications title bar override that was causing accent color to not be shown on the top bar of applications on Windows 10. Thanks [@pingzing](https://github.com/pingzing)! - - Improved the "admin application running" notification checking logic to be less demanding on resources. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - - Fixed an issue causing many utilities to crash when the GPO to disable data diagnostics was applied. + + - Fixed an issue where updating PowerToys on Windows 11 did not properly update context menu entries, impacting New+, PowerRename, Image Resizer, and File Locksmith. + - Updated .NET Packages from 9.0.1 to 9.0.2. Thanks [@snickler](https://github.com/snickler) for this. + - Enabled compatibility with VS17.3 and later, for C++23. Thanks [@LNKLEO](https://github.com/LNKLEO) for this. ### Advanced Paste - - Fixed a crash when the application was exiting. (This was a hotfix for 0.87) - - Added a Json format validation step to verify if a conversion to Json should be applied. - - Fixed accessibility issues when using a screen reader. - - Added support for all BitmapDecoder supported image file types to the Image to Text functionality. Thanks [@daverayment](https://github.com/daverayment)! - - Fixed an issue causing Advanced Paste initialization errors to hang the PowerToys main process. + - Added media transcoding support to convert different video and audio file formats, improved UI layouts, refined clipboard handling, and integrated Semantic Kernel for smarter pasting. Thanks [@snickler](https://github.com/snickler) for your help! ### FancyZones - - Removed Workspaces Editor from the exclusions list so it can be snapped by FancyZones. - -### Keyboard Manager + - Fixed accessibility by improving the text for monitors, ensuring clearer naming and help text for screen readers. - - Added an option to make a shortcut remapping only trigger with exact modifiers. +### Image Resizer + - Fixed issues with Width and Height fields in Image Resizer's Custom preset, ensuring empty values no longer cause errors, settings save correctly, and auto-scaling behaves as expected. Thanks [@daverayment](https://github.com/daverayment)! + - Fixed accessibility by ensuring screen readers announce selected image dimensions in the combo-box for better navigation. ### Monaco Preview - - Added support for .resx and .resw files in Peek and File Explorer add-ons. Thanks [@asif4318](https://github.com/asif4318)! - - Added a setting to make the code minimap toggle-able in Peek and File Explorer add-ons. Thanks [@PesBandi](https://github.com/PesBandi)! - - Fixed an issue causing Json format preview setting to not be applied correctly. - - Fixed an issue causing the wrong Monaco assets to be used at runtime. - -### Mouse Without Borders - - - Fixed an issue causing clipboard to stop working after going through a UAC screen when using the Service mode. Thanks [@YDKK](https://github.com/YDKK)! + - Fixed open link in default browser rather than Microsoft Edge. Thanks [@OldUser101](https://github.com/OldUser101)! -### New+ +### Mouse Highlighter - - Fixed an issue causing New+ to override the New file or folder creation from the File Explorer Ribbon buttons or keyboard shortcuts on Windows 10. - - When creating file or folders through a template, they should now have the current time as the last modified date. Thanks [@cgaarden](https://github.com/cgaarden)! + - Fixed a highlight released on an Administrator window will start fading, instead of staying on the screen indefinitely until the mouse button is pressed again on an unelevated window. -### Peek +### Mouse Without Borders + - Fixed an issue in service mode where copy-paste and drag-drop file transfers didn’t work, ensuring seamless file operations. + - Enabled GPO for enable/disable for Mouse Without Borders in Service Mode. Thanks [@htcfreek](https://github.com/htcfreek) for review and comments! + - Fixed code maintainability by refactoring the oversized 'Common' class in Mouse Without Borders into smaller, focused classes for better structure and clarity. Thanks [@mikeclayton](https://github.com/mikeclayton) and thanks [@htcfreek](https://github.com/htcfreek) for review! - - Fixed an issue causing Peek to not appear if it was previously minimized. Thanks [@asif4318](https://github.com/asif4318)! +### PowerRename + - Supported negative value as Start value in regular expression, e.g. ${start=-1314} + - Enhanced RegEx help by adding $, ^, quantifiers, and common patterns for better usability. Thanks [@PesBandi](https://github.com/PesBandi) and thanks [@htcfreek](https://github.com/htcfreek) for review. ### PowerToys Run - - - Fixed a transparent border issue on Windows 10. (This was a hotfix for 0.87) - - Fixed a crash in the OneNote plugin after the .Net 9 update. (This was a hotfix for 0.87) - - Fixed an issue causing the Calculator plugin to return division by zero errors when dividing by hexadecimal numbers. Thanks [@plante-msft](https://github.com/plante-msft)! - - Updated the Calculator plugin Mages library to 3.0.0 and added support for the random integer function. Thanks [@htcfreek](https://github.com/htcfreek)! - - Improved handling of non-base 10 numbers to add support for binary and octal numbers in the Calculator plugin. Thanks [@PesBandi](https://github.com/PesBandi)! - - Added a setting to enable selection of which units to use for trigonometric functions. Thanks [@OldUser101](https://github.com/OldUser101)! - - Fixed a .NET 9 regression causing the PowerToys Run dialog to not be draggable. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! - - Added context menu buttons for the VS Code Workspaces plugin, for copying the path, opening in File Explorer or in Console. Thanks [@programming-with-ia](https://github.com/programming-with-ia)! - - Added some telemetry to gather data on which hotkey is used to trigger PowerToys Run. - - Removed the workarounds that were in place to fix some WPF issues that were fixed in .NET 9.0.1. - - Fixed a typo in the Value Generator plugin messages. Thanks [@OldUser101](https://github.com/OldUser101)! + - Fixed crashes when loading thumbnails after the .NET 9 update by disabling CETCompat. + - Fixed PowerLauncher.exe blocking other MSI installers creating shortcuts. Thanks [@OneBlue](https://github.com/OneBlue)! + - Fixed Run’s dark mode detection to work reliably, preventing issues with incorrect theme detection and ensuring a smoother user experience. Thanks [@daverayment](https://github.com/daverayment)! + - Fixed list separator handling in Calculator, allowing functions with multiple arguments to work correctly across different locales. For example pow(2;3) would be replaced with pow(2,3). Thanks [@PesBandi](https://github.com/PesBandi) and thanks [@htcfreek](https://github.com/htcfreek) for review! + - Fixed angle unit conversions in the PowerToys Run calculator, allowing quick conversions between radians, degrees, and gradians. Thanks [@OldUser101](https://github.com/OldUser101)! ### Quick Accent - - Added the ć character to the Slovenian character set. Thanks [@dsoklic](https://github.com/dsoklic)! - - Added the Proto-Indo-European character set. - -### Registry Preview - - - Fixed an issue causing line breaks to not be parsed correctly for REG_MULTI_SZ values. Thanks [@htcfreek](https://github.com/htcfreek)! - - Added a tooltip to values to show multiple lines of data. Thanks [@htcfreek](https://github.com/htcfreek)! - - Added a context menu to enable copying type, value and key paths. Thanks [@htcfreek](https://github.com/htcfreek)! + - Added ǎ, ǒ and ǔ to the IPA character set. Thanks [@PesBandi](https://github.com/PesBandi)! + - Added ` (backtick) and ~ (tilde) to the VK_OEM_5 character set. Thanks [@xanatos](https://github.com/xanatos)! + - Added ς (final sigma) to the Greek character set. Thanks [@IamSmeagol](https://github.com/IamSmeagol)! ### Settings - - Made the Advanced Paste paste OpenAI configuration modal scrollable. - - Fixed the text on the Quick Accent page to refer to "character sets" instead of "character set". Thanks [@PesBandi](https://github.com/PesBandi)! - - Added the plugin's dll file version and website to the PowerToys Run plugin settings. Thanks [@htcfreek](https://github.com/htcfreek)! - - Added the Workspaces file to the list of files that gets backed up by the Back up / Restore functionality. - - Fixed an issue causing some of the selected character sets to be unselected when opening the character set expander in the Quick Accent page. - - Improved GPO logic, icons, info bar layout and enabled state of all modules settings pages. Thanks [@htcfreek](https://github.com/htcfreek)! - - Fixed some accessibility issues and refactored and improved quality of the code related to image sizes in the Image Resizer page. Thanks [@daverayment](https://github.com/daverayment)! - - Fixed mentions of "Backup" to "Back up" when it should be used as a verb. Thanks [@JackStuart](https://github.com/JackStuart)! - - Added a "New" label to Settings to better highlight new utilities that get released. Thanks [@niels9001](https://github.com/niels9001) for the UI tweaks! - -### Text Extractor - - - Fixed many accessibility and UI issues on the overlay UI. Thanks [@davidegiacometti](https://github.com/davidegiacometti)! + - Enabled GPO for the "run at startup" setting. Thanks [@htcfreek](https://github.com/htcfreek) for review and comments! + - Fixed accessibility issue by allowing screen readers to announce the group name for secondary links in Settings pages, instead of reading link descriptions without context. + - Fixed an issue where the Color Picker shortcut was not displaying correctly in the Dashboard. ### Workspaces - - Fixed an issue causing the Workspaces Editor to start outside of visible desktop area. - - Fixed an issue to maintain command line arguments for applications when trying using the "Launch and Edit" feature. - -### Video Conference Mute - - - The module has been deprecated in 0.88.0, being removed from PowerToys. + - Fixed if a window was last placed on a disconnected monitor, it launches minimized and repositions within the main monitor's visible area when restored, instead of remaining off-screen and invisible. + - Fixed on ARM64 to correctly display icons for packaged apps by resolving path mismatches. ### ZoomIt - - New utility: Zoom It - a screen zoom, annotation, and recording tool for technical presentations and demos. This utility from Sysinternals has had its source code released and included in PowerToys. ZoomIt will still continue to be updated and shipped by Sysinternals for users who prefer to have it as a standalone utility outside of PowerToys. Thanks [@markrussinovich](https://github.com/markrussinovich), [@foxmsft](https://github.com/foxmsft) and [@johnstep](https://github.com/johnstep) for contributing the original code and reviewing the PowerToys integration! + - Fixed warning C4706 and related error C2220 during build. Thanks [@xanatos](https://github.com/xanatos)! ### Documentation - - Updated the PowerToys Run documentation to reflect documentation pages for new plugins. - - Added YubicoOauthOTP plugin mention to thirdPartyRunPlugins.md. Thanks [@dlnilsson](https://github.com/dlnilsson)! + - Fixed runner-ipc.md doc on the broken link. Thanks [@daverayment](https://github.com/daverayment)! + - Fixed the new plugin checklist by updating the target framework, removing duplicates, and improving statement organization. Thanks [@hlaueriksson](https://github.com/hlaueriksson)! + - Updated runner documentation to align with the latest code structure. ### Development - - Added fuzz testing for AdvancedPaste, with a new pipeline for OneFuzz. - - Added a new CI pipeline to build with the latest WindowsAppSDK. - - Added a new CI pipeline to build with the latest webview2 from Edge Canary. - - Made the HostsUILib project AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this! - - Made FilePreviewCommon and MarkdownPreviewHandler AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this! - - Made the PowerAccent.Core project AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this! - - Cleaned up some code for AOT compatibility in the Advanced Paste module. Thanks [@snickler](https://github.com/snickler) for your help reviewing this! - - Removed the prerelease flag from the PowerToys development DSC configurations. Thanks [@denelon](https://github.com/denelon)! - - Improved Dart CI reliability by improving error messages and retrying to the step that installs the correct dotnet version. - - Improved Dart CI reliability by fixing retries when downloading the localization files. - - Improved Dart CI build times by removing the steps to build the no longer needed abstracted utility nuget packages. - - Removed the solution.props file from the solution root. - - Fixed PowerToys Run Calculator plugin tests when running in systems with different number formats. Thanks [@htcfreek](https://github.com/htcfreek)! - - Updated many .NET packages from .NET 9.0.0 to 9.0.1 for security fixes. Thanks [@snickler](https://github.com/snickler)! - - Refactored the Mouse Without Borders Common.Log.cs and Common.Receiver.cs files. Thanks [@mikeclayton](https://github.com/mikeclayton)! - -#### What is being planned for version 0.89 - -For [v0.89][github-next-release-work], we'll work on the items below: + - Stabilized pipeline on ARM64 and forked build. + - Added fuzz testing for HostUILib, added as part of pipeline for OneFuzz. + - Fixed and improved UI-Test automation framework, and added new test cases for the FancyZones and Hosts module. + - Optimized Logger function as AOT compatible, improving performance by 18%. + - Made Common.UI and Setting.UI to be AOT compatible. + +### What is being planned for version 0.90 - - Stability / bug fixes +For [v0.90][github-next-release-work], we'll work on the items below: + + - New module: PowerToys Run v2 - New module: File Actions Menu - - PowerToys Run v2 development work + - Working on installer upgrades + - Upgrading keyboard manager's editor UI + - Stability / bug fixes ## PowerToys Community diff --git a/doc/devdocs/settingsv2/dsc-configure.md b/doc/devdocs/settingsv2/dsc-configure.md index 88950872a8ea..70f116300ddc 100644 --- a/doc/devdocs/settingsv2/dsc-configure.md +++ b/doc/devdocs/settingsv2/dsc-configure.md @@ -94,5 +94,5 @@ Note that we've supplied `Debug` option, so a `%TEMP\PowerToys.DSC.TestConfigure Finally, you can test it with winget by invoking it as such: ```ps -winget configure .\configuration.dsc.yaml --accept-configuration-agreements --disable-interactivity +winget configure .\configuration.winget --accept-configuration-agreements --disable-interactivity ``` \ No newline at end of file diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/README.md b/src/dsc/Microsoft.PowerToys.Configure/examples/README.md index 750b59e2db2f..ad07c8eaf885 100644 --- a/src/dsc/Microsoft.PowerToys.Configure/examples/README.md +++ b/src/dsc/Microsoft.PowerToys.Configure/examples/README.md @@ -5,22 +5,22 @@ This folder contains samples of DSC files that can be used to configure PowerToy > [!NOTE] > PowerToys DSC user documentation can be found on [Learn Microsoft PowerToys documentation](https://aka.ms/powertoys-docs-dsc-configure). -### [configuration.dsc.yaml](./configuration.dsc.yaml) +### [configuration.winget](./configuration.winget) Sample configuration file that changes the enabled state of some modules, changes an integer setting and a hotkey setting. -### [installAndConfiguration.dsc.yaml](./installAndConfiguration.dsc.yaml) +### [installAndConfiguration.winget](./installAndConfiguration.winget) -Installs PowerToys and applies configuration.dsc.yaml to it. +Installs PowerToys and applies configuration.winget to it. -### [enableAllModules.dsc.yaml](./enableAllModules.dsc.yaml) +### [enableAllModules.winget](./enableAllModules.winget) Enables all PowerToys utilities. -### [disableAllModules.dsc.yaml](./disableAllModules.dsc.yaml) +### [disableAllModules.winget](./disableAllModules.winget) Disables all PowerToys utilities. -### [configureLauncherPlugins.dsc.yaml](./configureLauncherPlugins.dsc.yaml) +### [configureLauncherPlugins.winget](./configureLauncherPlugins.winget) Enables PowerToys Run and all its plugins and changes action keyword and global state for the Program plugin. diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/configuration.dsc.yaml b/src/dsc/Microsoft.PowerToys.Configure/examples/configuration.winget similarity index 100% rename from src/dsc/Microsoft.PowerToys.Configure/examples/configuration.dsc.yaml rename to src/dsc/Microsoft.PowerToys.Configure/examples/configuration.winget diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/configureLauncherPlugins.dsc.yaml b/src/dsc/Microsoft.PowerToys.Configure/examples/configureLauncherPlugins.winget similarity index 100% rename from src/dsc/Microsoft.PowerToys.Configure/examples/configureLauncherPlugins.dsc.yaml rename to src/dsc/Microsoft.PowerToys.Configure/examples/configureLauncherPlugins.winget diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/disableAllModules.dsc.yaml b/src/dsc/Microsoft.PowerToys.Configure/examples/disableAllModules.winget similarity index 100% rename from src/dsc/Microsoft.PowerToys.Configure/examples/disableAllModules.dsc.yaml rename to src/dsc/Microsoft.PowerToys.Configure/examples/disableAllModules.winget diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/enableAllModules.dsc.yaml b/src/dsc/Microsoft.PowerToys.Configure/examples/enableAllModules.winget similarity index 100% rename from src/dsc/Microsoft.PowerToys.Configure/examples/enableAllModules.dsc.yaml rename to src/dsc/Microsoft.PowerToys.Configure/examples/enableAllModules.winget diff --git a/src/dsc/Microsoft.PowerToys.Configure/examples/installAndConfiguration.dsc.yaml b/src/dsc/Microsoft.PowerToys.Configure/examples/installAndConfiguration.winget similarity index 100% rename from src/dsc/Microsoft.PowerToys.Configure/examples/installAndConfiguration.dsc.yaml rename to src/dsc/Microsoft.PowerToys.Configure/examples/installAndConfiguration.winget diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs index a56705ca7a28..cfb05bf22b5f 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/MainWindow.xaml.cs @@ -487,10 +487,10 @@ private async void DeleteLayout(FrameworkElement element) } } + model.Delete(); App.FancyZonesEditorIO.SerializeAppliedLayouts(); App.FancyZonesEditorIO.SerializeCustomLayouts(); App.FancyZonesEditorIO.SerializeDefaultLayouts(); - model.Delete(); } }