diff --git a/.github/actions/spell-check/allow/code.txt b/.github/actions/spell-check/allow/code.txt
index 3afbb1f05e..b5195e1344 100644
--- a/.github/actions/spell-check/allow/code.txt
+++ b/.github/actions/spell-check/allow/code.txt
@@ -39,6 +39,7 @@ nupkg
petabyte
resw
resx
+srt
Stereolithography
terabyte
UYVY
@@ -127,6 +128,92 @@ XBUTTONDOWN
XBUTTONUP
XDOWN
+# User32.SYSTEM_METRICS_INDEX.cs
+
+CLEANBOOT
+CMOUSEBUTTONS
+CONVERTIBLESLATEMODE
+CXBORDER
+CXCURSOR
+CXDLGFRAME
+CXDLGFRAME
+CXDOUBLECLK
+CXDRAG
+CXEDGE
+CXFIXEDFRAME
+CXFOCUSBORDER
+CXFRAME
+CXFRAME
+CXFULLSCREEN
+CXHSCROLL
+CXHTHUMB
+CXICON
+CXICONSPACING
+CXMAXIMIZED
+CXMAXTRACK
+CXMENUCHECK
+CXMENUSIZE
+CXMIN
+CXMINIMIZED
+CXMINSPACING
+CXMINTRACK
+CXPADDEDBORDER
+CXSIZE
+CXSIZEFRAME
+CXSMSIZE
+CXVSCROLL
+CYBORDER
+CYCAPTION
+CYCURSOR
+CYDLGFRAME
+CYDLGFRAME
+CYDOUBLECLK
+CYDRAG
+CYEDGE
+CYFIXEDFRAME
+CYFOCUSBORDER
+CYFRAME
+CYFRAME
+CYFULLSCREEN
+CYHSCROLL
+CYICON
+CYICONSPACING
+CYKANJIWINDOW
+CYMAXIMIZED
+CYMAXTRACK
+CYMENU
+CYMENUCHECK
+CYMENUSIZE
+CYMIN
+CYMINIMIZED
+CYMINSPACING
+CYMINTRACK
+CYSIZE
+CYSIZEFRAME
+CYSMCAPTION
+CYSMSIZE
+CYVSCROLL
+CYVTHUMB
+DBCSENABLED
+IMMENABLED
+MAXIMUMTOUCHES
+MEDIACENTER
+MENUDROPALIGNMENT
+MIDEASTENABLED
+MOUSEHORIZONTALWHEELPRESENT
+MOUSEPRESENT
+MOUSEWHEELPRESENT
+PENWINDOWS
+REMOTECONTROL
+REMOTESESSION
+SAMEDISPLAYFORMA
+SERVERR
+SHOWSOUNDS
+SHUTTINGDOWN
+SLOWMACHINE
+SWAPBUTTON
+SYSTEMDOCKED
+TABLETPC
# MATH
diff --git a/.github/actions/spell-check/allow/names.txt b/.github/actions/spell-check/allow/names.txt
index c04863a1c6..92faf99ed7 100644
--- a/.github/actions/spell-check/allow/names.txt
+++ b/.github/actions/spell-check/allow/names.txt
@@ -33,10 +33,12 @@ Advaith
alekhyareddy
Aleks
angularsen
+Anirudha
arjunbalgovind
Ashish
Baltazar
Bao
+Bartosz
betadele
betsegaw
bricelam
@@ -51,6 +53,8 @@ crutkas
damienleroy
davidegiacometti
debian
+Deibisu
+Deibisu
Delimarsky
Deondre
DHowett
@@ -62,6 +66,7 @@ gabime
Galaxi
Garside
Gershaft
+Giordani
Gokce
Guo
hanselman
@@ -70,12 +75,15 @@ Heiko
Hemmerlein
hlaueriksson
Horvalds
+Howett
htcfreek
Huynh
Jaswal
jefflord
Jordi
jyuwono
+Kairu
+Kairu
Kamra
Kantarci
Karthick
@@ -92,7 +100,9 @@ martinmoene
Melman
Mikhayelyan
msft
+Mykhailo
Myrvold
+Naro
nathancartlidge
Nemeth
nielslaute
@@ -103,9 +113,13 @@ peteblois
phoboslab
Ponten
Pooja
+Pylyp
+quachpas
Quriz
randyrants
ricardosantos
+riri
+riri
ritchielawrence
robmikh
Rutkas
@@ -119,10 +133,12 @@ Seraphima
skttl
somil
Soref
+Sosnowski
stefan
Szablewski
Tadele
talynone
+Taras
TBM
tilovell
Triet
@@ -130,11 +146,9 @@ waaverecords
ycv
Yuniardi
yuyoyuppe
+Zeol
Zoltan
Zykova
-Kairu
-Deibisu
-riri
# OTHERS
@@ -169,4 +183,3 @@ xamlstyler
Xavalon
Xbox
Youdao
-
diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt
index 612077fbb0..4ad463621f 100644
--- a/.github/actions/spell-check/expect.txt
+++ b/.github/actions/spell-check/expect.txt
@@ -125,6 +125,7 @@ bootstrapper
BOOTSTRAPPERINSTALLFOLDER
bostrot
BOTTOMALIGN
+boxmodel
BPBF
bpmf
bpp
@@ -150,6 +151,7 @@ Cangjie
CANRENAME
CAPTUREBLT
CAPTURECHANGED
+CARETBLINKING
CAtl
cch
CCHDEVICENAME
@@ -252,6 +254,7 @@ CREATESCHEDULEDTASK
CREATESTRUCT
CREATEWINDOWFAILED
CRECT
+CRH
critsec
Crossdevice
CRSEL
diff --git a/.github/actions/spell-check/patterns.txt b/.github/actions/spell-check/patterns.txt
index d48cec9abd..c56e5fbb14 100644
--- a/.github/actions/spell-check/patterns.txt
+++ b/.github/actions/spell-check/patterns.txt
@@ -40,6 +40,9 @@
# tabs in c#
\$"\\t
+# Hexadecimal character pattern in code
+\\x[0-9a-fA-F][0-9a-fA-F]
+
# windows line breaks in strings
\\r\\n
diff --git a/.github/workflows/msstore-submissions.yml b/.github/workflows/msstore-submissions.yml
index 26d38e70c5..723eda1203 100644
--- a/.github/workflows/msstore-submissions.yml
+++ b/.github/workflows/msstore-submissions.yml
@@ -16,7 +16,7 @@ jobs:
run: |
release=$(curl https://api.github.com/repos/Microsoft/PowerToys/releases | jq '[.[]|select(.name | contains("Release"))][0]')
assets=$(jq -n "$release" | jq '.assets')
- powerToysSetup=$(jq -n "$assets" | jq '[.[]|select(.name | contains("PowerToysSetup"))]')
+ powerToysSetup=$(jq -n "$assets" | jq '[.[]|select(.name | contains("PowerToysUserSetup"))]')
echo ::set-output name=powerToysInstallerX64Url::$(jq -n "$powerToysSetup" | jq -r '[.[]|select(.name | contains("x64"))][0].browser_download_url')
echo ::set-output name=powerToysInstallerArm64Url::$(jq -n "$powerToysSetup" | jq -r '[.[]|select(.name | contains("arm64"))][0].browser_download_url')
diff --git a/.pipelines/ci/templates/run-ui-tests-ci.yml b/.pipelines/ci/templates/run-ui-tests-ci.yml
index a45002aebc..8d0b550299 100644
--- a/.pipelines/ci/templates/run-ui-tests-ci.yml
+++ b/.pipelines/ci/templates/run-ui-tests-ci.yml
@@ -60,7 +60,7 @@ jobs:
searchFolder: '$(Pipeline.Workspace)\build-${{ parameters.platform }}-${{ parameters.configuration }}'
vstestLocationMethod: 'location' # otherwise fails to find vstest.console.exe
#vstestLocation: '$(Agent.ToolsDirectory)\VsTest\**\${{ parameters.platform }}\tools\net462\Common7\IDE\Extensions\TestPlatform'
- vstestLocation: '$(Agent.ToolsDirectory)\VsTest\17.10.0-release-24177-07\x64\tools\net462\Common7\IDE\Extensions\TestPlatform'
+ vstestLocation: '$(Agent.ToolsDirectory)\VsTest\17.10.0\x64\tools\net462\Common7\IDE\Extensions\TestPlatform'
uiTests: true
rerunFailedTests: true
testAssemblyVer2: |
diff --git a/COMMUNITY.md b/COMMUNITY.md
index 97be115ed8..e2e944b23b 100644
--- a/COMMUNITY.md
+++ b/COMMUNITY.md
@@ -27,6 +27,9 @@ Heiko has helped triaging, discussing, and creating a substantial number of issu
### [@Jay-o-Way](https://github.com/Jay-o-Way) - Jay
Jay has helped triaging, discussing, creating a substantial number of issues and PRs.
+### [@jefflord](https://github.com/Jjefflord) - Jeff Lord
+Jeff added in multiple new features into Keyboard manager, such as key chord support and launching apps. He also contributed multiple features/fixes to PowerToys.
+
### [@TheJoeFin](https://github.com/TheJoeFin) - [Joe Finney](https://joefinapps.com)
Joe has helped triaging, discussing, issues as well as fixing bugs and building features for Text Extractor.
@@ -34,14 +37,12 @@ Joe has helped triaging, discussing, issues as well as fixing bugs and building
Helping keep our spelling correct :)
### [@martinchrzan](https://github.com/martinchrzan/) - Martin Chrzan
-
Color Picker is from Martin.
### [@mikeclayton](https://github.com/mikeclayton) - [Michael Clayton](https://michael-clayton.com)
Michael contributed the [initial version](https://github.com/microsoft/PowerToys/issues/23216) of the Mouse Jump tool and [a number of updates](https://github.com/microsoft/PowerToys/pulls?q=is%3Apr+author%3Amikeclayton) based on his FancyMouse utility.
### [@riverar](https://github.com/riverar) - [Rafael Rivera](https://withinrafael.com/)
-
Rafael has helped do the [upgrade from CppWinRT 1.x to 2.0](https://github.com/microsoft/PowerToys/issues/1907). He directly provided feedback to the CppWinRT team for bugs from this migration as well.
### [@royvou](https://github.com/royvou)
@@ -153,14 +154,25 @@ Other contributors:
## PowerToys core team
- [@crutkas](https://github.com/crutkas/) - Clint Rutkas - Lead
+- [@ethanfangg](https://github.com/ethanfangg) - Ethan Fang - Lead
- [@cinnamon-msft](https://github.com/cinnamon-msft) - Kayla Cinnamon - Product Manager
-- [@ethanfangg](https://github.com/ethanfangg) - Ethan Fang - Product Manager
- [@plante-msft](https://github.com/plante-msft) - Connor Plante - Product Manager
- [@nguyen-dows](https://github.com/nguyen-dows) - Christopher Nguyen - Product Manager
- [@joadoumie](https://github.com/joadoumie) - Jordi Adoumie - Product Manager
- [@jaimecbernardo](https://github.com/jaimecbernardo) - Jaime Bernardo - Dev lead
+- [@dhowett](https://github.com/dhowett) - Dustin Howett - Dev lead
+- [@drawbyperpetual](https://github.com/drawbyperpetual) - Anirudha Shankar - Dev
- [@donlaci](https://github.com/donlaci) - Laszlo Nemeth - Dev
- [@gokcekantarci](https://github.com/gokcekantarci) - Gokce Kantarci - Dev
- [@SeraphimaZykova](https://github.com/SeraphimaZykova) - Seraphima Zykova - Dev
- [@stefansjfw](https://github.com/stefansjfw) - Stefan Markovic - Dev
+
+# Former PowerToys core team members
+
+- [@indierawk2k2](https://github.com/indierawk2k2) - Mike Harsh - Product Manager
+- [@enricogior](https://github.com/enricogior) - Enrico Giordani - Dev Lead
+- [@bzoz](https://github.com/bzoz) - Bartosz Sosnowski - Dev
+- [@ivan100sic](https://github.com/ivan100sic) - Ivan Stošić - Dev
+- [@mykhailopylyp](https://github.com/mykhailopylyp) - Mykhailo Pylyp - Dev
+- [@taras-janea](https://github.com/taras-janea) - Taras Sich - Dev
- [@yuyoyuppe](https://github.com/yuyoyuppe) - Andrey Nekrasov - Dev
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 8126639799..0c64c73a53 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -46,7 +46,7 @@
-
+
@@ -75,7 +75,7 @@
-
+
diff --git a/NOTICE.md b/NOTICE.md
index 97d24cee97..bdef06557e 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -1333,7 +1333,7 @@ EXHIBIT A -Mozilla Public License.
- Microsoft.Windows.CsWinRT 2.0.4
- Microsoft.Windows.SDK.BuildTools 10.0.22621.2428
- Microsoft.Windows.SDK.Contracts 10.0.19041.1
-- Microsoft.WindowsAppSDK 1.5.240311000
+- Microsoft.WindowsAppSDK 1.5.240428000
- Microsoft.Xaml.Behaviors.WinUI.Managed 2.0.9
- Microsoft.Xaml.Behaviors.Wpf 1.1.39
- ModernWpfUI 0.9.4
@@ -1355,7 +1355,7 @@ EXHIBIT A -Mozilla Public License.
- System.Data.SqlClient 4.8.6
- System.Diagnostics.EventLog 8.0.0
- System.Diagnostics.PerformanceCounter 8.0.0
-- System.Drawing.Common 8.0.5
+- System.Drawing.Common 8.0.6
- System.IO.Abstractions 17.2.3
- System.IO.Abstractions.TestingHelpers 17.2.3
- System.Management 8.0.0
diff --git a/PowerToys.sln b/PowerToys.sln
index da7f73ebcc..f48208a51f 100644
--- a/PowerToys.sln
+++ b/PowerToys.sln
@@ -146,11 +146,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PowerLauncher", "src\module
{FDB3555B-58EF-4AE6-B5F1-904719637AB4} = {FDB3555B-58EF-4AE6-B5F1-904719637AB4}
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{E775CC2C-24CB-48D6-9C3A-BE4CCE0DB17A}"
- ProjectSection(SolutionItems) = preProject
- src\tests\win-app-driver\README.md = src\tests\win-app-driver\README.md
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "previewpane", "previewpane", "{2F305555-C296-497E-AC20-5FA1B237996A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PreviewHandlerCommon", "src\modules\previewpane\Common\PreviewHandlerCommon.csproj", "{AF2349B8-E5B6-4004-9502-687C1C7730B1}"
diff --git a/README.md b/README.md
index 40784a6157..fa264596bb 100644
--- a/README.md
+++ b/README.md
@@ -17,14 +17,15 @@ Microsoft PowerToys is a set of utilities for power users to tune and streamline
| | Current utilities: | |
|--------------|--------------------|--------------|
-| [Always on Top](https://aka.ms/PowerToysOverview_AoT) | [PowerToys Awake](https://aka.ms/PowerToysOverview_Awake) | [Command Not Found](https://aka.ms/PowerToysOverview_CmdNotFound) |
-| [Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [Crop And Lock](https://aka.ms/PowerToysOverview_CropAndLock) | [Environment Variables](https://aka.ms/PowerToysOverview_EnvironmentVariables) |
-| [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) | [File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) | [File Locksmith](https://aka.ms/PowerToysOverview_FileLocksmith) |
-| [Hosts File Editor](https://aka.ms/PowerToysOverview_HostsFileEditor) | [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) | [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) |
-| [Mouse utilities](https://aka.ms/PowerToysOverview_MouseUtilities) | [Mouse Without Borders](https://aka.ms/PowerToysOverview_MouseWithoutBorders) | [Peek](https://aka.ms/PowerToysOverview_Peek) |
-| [Paste as Plain Text](https://aka.ms/PowerToysOverview_PastePlain) | [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) | [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) |
-| [Quick Accent](https://aka.ms/PowerToysOverview_QuickAccent) | [Registry Preview](https://aka.ms/PowerToysOverview_RegistryPreview) | [Screen Ruler](https://aka.ms/PowerToysOverview_ScreenRuler) |
-| [Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [Text Extractor](https://aka.ms/PowerToysOverview_TextExtractor) | [Video Conference Mute](https://aka.ms/PowerToysOverview_VideoConference) |
+| [Advanced Paste](https://aka.ms/PowerToysOverview_AdvancedPaste) | [Always on Top](https://aka.ms/PowerToysOverview_AoT) | [PowerToys Awake](https://aka.ms/PowerToysOverview_Awake) |
+| [Command Not Found](https://aka.ms/PowerToysOverview_CmdNotFound) | [Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [Crop And Lock](https://aka.ms/PowerToysOverview_CropAndLock) |
+| [Environment Variables](https://aka.ms/PowerToysOverview_EnvironmentVariables) | [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) | [File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) |
+| [File Locksmith](https://aka.ms/PowerToysOverview_FileLocksmith) | [Hosts File Editor](https://aka.ms/PowerToysOverview_HostsFileEditor) | [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) |
+| [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) | [Mouse utilities](https://aka.ms/PowerToysOverview_MouseUtilities) | [Mouse Without Borders](https://aka.ms/PowerToysOverview_MouseWithoutBorders) |
+| [Peek](https://aka.ms/PowerToysOverview_Peek) | [Paste as Plain Text](https://aka.ms/PowerToysOverview_PastePlain) | [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) |
+| [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) | [Quick Accent](https://aka.ms/PowerToysOverview_QuickAccent) | [Registry Preview](https://aka.ms/PowerToysOverview_RegistryPreview) |
+| [Screen Ruler](https://aka.ms/PowerToysOverview_ScreenRuler) | [Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [Text Extractor](https://aka.ms/PowerToysOverview_TextExtractor) |
+| [Video Conference Mute](https://aka.ms/PowerToysOverview_VideoConference) |
## Installing and running Microsoft PowerToys
@@ -40,19 +41,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=project%3Amicrosoft%2FPowerToys%2F54
-[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=project%3Amicrosoft%2FPowerToys%2F53
-[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.80.1/PowerToysUserSetup-0.80.1-x64.exe
-[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.80.1/PowerToysUserSetup-0.80.1-arm64.exe
-[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.80.1/PowerToysSetup-0.80.1-x64.exe
-[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.80.1/PowerToysSetup-0.80.1-arm64.exe
+[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+milestone%3A%22PowerToys+0.82%22
+[github-current-release-work]: https://github.com/microsoft/PowerToys/issues?q=project%3Amicrosoft%2FPowerToys%2F54
+[ptUserX64]: https://github.com/microsoft/PowerToys/releases/download/v0.81.0/PowerToysUserSetup-0.81.0-x64.exe
+[ptUserArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.81.0/PowerToysUserSetup-0.81.0-arm64.exe
+[ptMachineX64]: https://github.com/microsoft/PowerToys/releases/download/v0.81.0/PowerToysSetup-0.81.0-x64.exe
+[ptMachineArm64]: https://github.com/microsoft/PowerToys/releases/download/v0.81.0/PowerToysSetup-0.81.0-arm64.exe
| Description | Filename | sha256 hash |
|----------------|----------|-------------|
-| Per user - x64 | [PowerToysUserSetup-0.80.1-x64.exe][ptUserX64] | 23E35F7B33C6F24237BCA3D5E8EDF9B3BD4802DD656C402B40A4FC82670F8BE3 |
-| Per user - ARM64 | [PowerToysUserSetup-0.80.1-arm64.exe][ptUserArm64] | C5EECF0D9D23AB8C14307F91CA28D2CF4DA5932D705F07AE93576C259F74B4D1 |
-| Machine wide - x64 | [PowerToysSetup-0.80.1-x64.exe][ptMachineX64] | 62373A08BB8E1C1173D047509F3EA5DCC0BE1845787E07BCDA3F6A09DA2A0C17 |
-| Machine wide - ARM64 | [PowerToysSetup-0.80.1-arm64.exe][ptMachineArm64] | 061EF8D1B10D68E69D04F98A2D8E1D8047436174C757770778ED23E01CC3B06C |
+| Per user - x64 | [PowerToysUserSetup-0.81.0-x64.exe][ptUserX64] | E62B1EE81954A75355C04E7567B1C9AAD6034AA0C61AD22587F8746D0DC488C8 |
+| Per user - ARM64 | [PowerToysUserSetup-0.81.0-arm64.exe][ptUserArm64] | 75330A2DB4F9EF9B548B3B58F8BF3262C8C67E680042639BBBBC87EA244F24E2 |
+| Machine wide - x64 | [PowerToysSetup-0.81.0-x64.exe][ptMachineX64] | 29F151B01FE3C94D4FD75F2D6E8F09A6C0F0962385B83A5A733F6717312F639D |
+| Machine wide - ARM64 | [PowerToysSetup-0.81.0-arm64.exe][ptMachineArm64] | FCE636220E1FB854771258D9558E07B7532728AD4C722A7920338DEE60DEECF7 |
This is our preferred method.
@@ -98,136 +99,158 @@ 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.80 - March 2024 Update
+### 0.81 - Build 2024 Update
-In this release, we focused on stability and improvements. The next release is planned to be released during [Microsoft Build 2024](https://build.microsoft.com/) (late May).
+In this release, we focused on new features, stability and improvements.
**Highlights**
- - New feature: Desired State Configuration support, allowing the use of winget configure for PowerToys. Check the [DSC documentation](https://aka.ms/powertoys-docs-dsc-configure) for more information.
- - The Windows App SDK dependency was updated to 1.5.1, fixing many underlying UI issues.
- - WebP/WebM files support was added to Peek. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Audio files support was added to Peek. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Automated UI testing for FancyZones Editor was added to CI.
+ - New utility: Advanced Paste - This is an evolution based on feedback of the Paste As Plain Text utility to do more. It can paste as plain text, markdown, or json directly with the new UX or with a direct keystroke invoke. These are fully locally executed. In addition, it now has an AI powered option as well if you wish with the free form text box. The AI feature is 100% opt-in and requires an Open AI key. This new system will allow us to have more freedom in the future to quickly add in new features like pasting an image directly to a file or handle additional meta data types past just text.
+ - Thanks [@craigloewen-msft](https://github.com/craigloewen-msft) for the core functionality and [@niels9001](https://github.com/niels9001) for the UI/UX design!
+ - Command Not Found now uses the PowerShell Gallery release and now supports ARM64. Thanks [@carlos-zamora](https://github.com/carlos-zamora)!
+ - Fixed most accessibility issues opened after the latest accessibility review.
+ - Refactored, packaged and released the main Environment Variables Editor, Hosts File Editor and Registry Preview utilities functionality as controls to be integrated into DevHome. Thanks [@dabhattimsft](https://github.com/dabhattimsft) for validating and integrating into DevHome!
### General
- - Added a Quick Access entry to access the flyout from PowerToys' tray icon right click menu. Thanks [@pekvasnovsky](https://github.com/pekvasnovsky)!
- - Added support for Desired State Configuration in PowerToys, allowing the use of winget configure to configure many settings.
+ - Fixed crashes on older CPUS by updating .NET to 8.0.4. (This was a hotfix for 0.80)
-### Awake
+### Advanced Paste
- - Fix an issue causing the "Keep screen on" option to disable after Awake deactivated itself.
+ - New utility: Advanced Paste - This is an evolution based on feedback of the Paste As Plain Text utility to do more. It can paste as plain text, markdown, or json directly with the new UX or with a direct keystroke invoke. These are fully locally executed. In addition, it now has an AI powered option as well if you wish with the free form text box. The AI feature is 100% opt-in and requires an Open AI key. This new system will allow us to have more freedom in the future to quickly add in new features like pasting an image directly to a file or handle additional meta data types past just text.
+ - Thanks [@craigloewen-msft](https://github.com/craigloewen-msft) for the core functionality and [@niels9001](https://github.com/niels9001) for the UI/UX design!
+
+### AlwaysOnTop
+
+ - Enable border anti-aliasing. Thanks [@ewancg](https://github.com/ewancg)!
### Color Picker
- - Fixed a UI issue causing the color picker modal to hide part of the color bar. Thanks [@TheChilledBuffalo](https://github.com/TheChilledBuffalo)!
+ - Improved accessibility by making the Settings and Copy to clipboard buttons focusable.
+ - Improved accessibility by supporting picking a color using the keyboard.
### Command Not Found
- - Now tries to find a preview version of PowerShell if no stable version is found.
+ - Upgraded the Command Not Found to use the new PowerShell Gallery release and support ARM64. Thanks [@carlos-zamora](https://github.com/carlos-zamora)!
+
+### Environment Variables Editor
+
+ - Refactored, packaged and released the main Environment Variables Editor functionality as a control to be integrated into DevHome. Thanks [@dabhattimsft](https://github.com/dabhattimsft) for validating and integrating into DevHome!
### FancyZones
- - Fixed a crash loading the editor when there's a layout with an empty name in the configuration file.
- - Refactored layout internal data structures and common code to allow for automated testing.
- - The pressing of the shift key is now detected through raw input to fix an issue causing the shift key to be locked for some users.
+ - Fixed window wrap around behavior when overriding Windows key and arrow shortcuts on single monitor scenarios. Thanks [@DanRosenberry](https://github.com/DanRosenberry)!
+ - Improved accessibility of the editor by listing the keyboard shortcuts in the Canvas Editor.
### File Explorer add-ons
- - Fixed a crash occurring in the Monaco previewer when a file being previewed isn't found by the code behind.
- - Fixed an issue in the Markdown previewer adding a leading space to code blocks. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
- - Fixed wrong location and scaling of preview results on screens with different DPIs.
- - Added better clean up code to thumbnail handlers to prevent locking files.
+ - Updated Monaco to 0.47 and added the new sticky scroll setting for DevFiles viewer. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
+ - Added the new font size setting for DevFiles viewer. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
+ - Added support for .srt (subtitle) file previewing in DevFiles viewer. Thanks [@PesBandi](https://github.com/PesBandi)!
-### File Locksmith
+### Hosts File Editor
- - Allow multiple lines to wrap when viewing the modal with selected file paths. Thanks [@sanidhyas3s](https://github.com/sanidhyas3s)!
+ - Refactored, packaged and released the main Hosts File Editor functionality as a control to be integrated into DevHome. Thanks [@dabhattimsft](https://github.com/dabhattimsft) for validating and integrating into DevHome!
+
+### Image Resizer
+
+ - Supported narrator announcing the checkboxes in the UI and the sizes combobox. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Improved accessibility by increasing contrast in the text color of combobox items.
### Installer
- - Fixed the final directory name of the PowerToys Run VSCode Workspaces plugin in the installation directory to match the plugin name. Thanks [@zetaloop](https://github.com/zetaloop)!
- - Used more generic names for the bootstrap steps, so that "Installing PowerToys" is not shown when uninstalling.
+ - Fixed some install failures when the folders the DSC module is to be installed in isn't accessible by the WiX installer. (This was a hotfix for 0.80)
+ - Detecting install location for DSC now uses registry instead of WMI to improve performance. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Fixed an error causing the machine scope installer to not install correctly in machines where the documents folder is in a UNC network path. We're still working in a fix for the user scope installer.
### Keyboard Manager
- - Fixed an issue that would clear out KBM mappings when certain numpad keys were used as the second key of a chord.
- - Added a comment in localization files so that translators won't translate "Text" as "SMS".
+ - Fixed startup crashes in the editor when the Visual C++ Redistributable wasn't installed. (This was a hotfix for 0.80)
+ - Fixed an accessibility issue where the first button wasn't focused after adding a new row in the editor.
+ - Environment Variables are now expanded in arguments of programs started through a shortcut. Thanks [@HydroH](https://github.com/HydroH)!
+
+### Paste as Plain Text
+
+ - Paste as Plain Text was removed as a separate utility, since its functionality is now part of the Advanced Paste utility.
### Peek
- - Added support to .WebP/.WebM files in the image/video previewer. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Added support for audio files. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Fixed an issue causing the open file button in the title bar to be un-clickable. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Fixed an issue when previewing a folder with a dot in the name that caused Peek to try to preview it as a file. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Updated icons, tweaked UI and refactored internal code. Thanks [@Jay-o-Way](https://github.com/Jay-o-Way)!
+ - Updated Monaco to 0.47 and added the new sticky scroll setting for DevFiles viewer. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
+ - Added the new font size setting for DevFiles viewer. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
+ - Upgrade the SharpCompress dependency to 0.37.2 and fixed archive parsing. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Fixed aliasing in the image viewer.
+ - Added support for .srt (subtitle) file previewing in DevFiles viewer. Thanks [@PesBandi](https://github.com/PesBandi)!
+
+### Power Rename
+
+ - Fixed the descriptions that were mixed up in the regex helper (\S and \w).
### PowerToys Run
- - Added a setting to the Windows Search plugin to exclude files and patterns from the results. Thanks [@HydroH](https://github.com/HydroH)!
- - Fixed an issue showing thumbnails caused by a hash collision between similar images.
- - Added the "checkbox and multiline text box" additional property type for plugins and improved multiline text handling. Thanks [@htcfreek](https://github.com/htcfreek)!
+ - Added support for UNC paths starting with // in the Folder plugin. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Fixed the plugin load failed message to list the failed plugins. Thanks [@belkiss](https://github.com/belkiss)!
+ - Icons for MSIX packages are now updated when a package update is detected. Thanks [@HydroH](https://github.com/HydroH)!
+ - Use Mica backdrop instead of Acrylic to fix random crashes caused by the Windows composition being momentarily turned off.
+ - Improved accessibility in the results list action buttons by improving contrast of hovered/focused buttons.
### Quick Accent
- - Added the Schwa character to the Italian character set. Thanks [@damantioworks](https://github.com/damantioworks)!
+ - Added support for the Esperanto character set. Thanks [@salutontalk](https://github.com/salutontalk) and [@ccmywish](https://github.com/ccmywish)!
+ - Added the ǽ and ϑ characters. Thanks [@PesBandi](https://github.com/PesBandi)!
### Registry Preview
- - Allow alternative valid names for the root keys. Thanks [@e-t-l](https://github.com/e-t-l)!
- - Fixed an issue causing many pick file windows to be opened simultaneously. Thanks [@randyrants](https://github.com/randyrants)!
-
-### Screen Ruler
-
- - Updated the measure icons for clarity. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker) and [@niels9001](https://github.com/niels9001)!
-
-### Shortcut Guide
-
- - Updated the Emoji shortcut that is shown to the new Windows key + period (.) hotkey.
+ - Refactored, packaged and released the main Registry Preview functionality as a control to be integrated into DevHome. Thanks [@dabhattimsft](https://github.com/dabhattimsft) for validating and integrating into DevHome!
### Text Extractor
- - Fixed issues creating the extract layout on certain monitor configurations.
-
-### Video Conference Mute
-
- - Added enable/disable telemetry to get usage data.
+ - Fixed an issue causing the Settings page to not be opened when clicking the Settings button in Text Extractor's overlay. (This was a hotfix for 0.80)
### Settings
- - Added locks to some terms (like the name of some utilities) so that they aren't localized.
- - Fixed some shortcuts not being shown properly in the Flyout and Dashboard. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- - Updated image for Color Picker and outdated animations for utilities in OOBE. Thanks [@niels9001](https://github.com/niels9001)!
+ - Improved UI ordering of the File Explorer add-ons. Thanks [@niels9001](https://github.com/niels9001)!
+ - Applied fixes to theme overriding and cleaned up unneeded code. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Fixed misspells in references to the Hosts File Editor utility. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Improved accessibility of the Select Folder button in the Settings Backup UI.
+ - Improved accessibility by improving focus and tab navigation in the ColorPicker page. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Added a description to the fallback encoder setting in the Image Resizer page. Thanks [@Kissaki](https://github.com/Kissaki)!
+ - Refactored and improved performance in the PowerToys Run plugins UI in the Settings page. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
+ - Fixed a crash when a user cleared the contents of a Number Box in the PowerToys Run plugins additional options. Thanks [@htcfreek](https://github.com/htcfreek)!
+ - Update the PATH environment variables with the user scope PATH when entering the Command Not Found page to improve PowerShell detection.
### Documentation
- - Added FastWeb plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@CCcat8059](https://github.com/CCcat8059)!
- - Removed the old security link to MSRC from the create new issue page, since security.md is already linked there.
- - Added clarity regarding unofficial plugins to the PowerToys Run thirdPartyRunPlugins.md docs.
+ - Added the WebSearchShortcut plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@Daydreamer-riri](https://github.com/Daydreamer-riri)!
+ - Updated COMMUNITY.md with the project managers that are part of the core team.
+ - Improved the DSC samples.
+ - Added the 1Password plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@KairuDeibisu](https://github.com/KairuDeibisu)!
+ - Added the UnicodeInput plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@nathancartlidge](https://github.com/nathancartlidge)!
### Development
- - Updated System.Drawing.Common to 8.0.3 to fix CI builds after the .NET 8.0.3 upgrade was released.
- - Adjusted the GitHub action names for releasing to winget and Microsoft Store so they're clearer in the UI.
- - Upgraded WinAppSDK to 1.5.1, fixing many related issues.
- - Consolidate the WebView2 version used by WinUI 2 in the Keyboard Manager Editor.
- - Unified the use of Precompiled Headers when building on CI. Thanks [@dfederm](https://github.com/dfederm)!
- - Added UI tests for FancyZones Editor in CI.
- - Added a GitHub bot to identify possible duplicates when a new issue is created. Thanks [@craigloewen-msft](https://github.com/craigloewen-msft)!
- - Updated the WiX installer dependency to 3.14.1 to fix possible security issues.
- - Changed the pipelines to use pipeline artifacts instead of build artifacts. Thanks [@dfederm](https://github.com/dfederm)!
- - Added the -graph parameter for pipelines. Thanks [@dfederm](https://github.com/dfederm)!
- - Tests in the pipelines now run as part of the build step to save on CI time. Thanks [@dfederm](https://github.com/dfederm)!
+ - Updated System.Drawing.Common to 8.0.5 to fix CI builds after the .NET 8.0.5 upgrade was released.
+ - Fixed file permissions when doing a build using cache on PR CI. Thanks [@dfederm](https://github.com/dfederm)!
+ - Removed the Test SDK reference on ARM64 to fix local building for ARM64. Thanks [@dfederm](https://github.com/dfederm)!
+ - Replaced make_pair with RemapBufferRow in Keyboard Manager internal code. Thanks [@masaru-iritani](https://github.com/masaru-iritani)!
+ - Added CODEOWNERS file to protect sensitive parts of the repo. Thanks [@htcfreek](https://github.com/htcfreek) for the help in figuring out how to make the spellcheck folder an exception!
+ - Added comments in code. to make it clear what the error badge in PowerToys Run plugin list in Settings means. Thanks [@Jay-o-Way](https://github.com/Jay-o-Way)!
+ - Enabled caching by default in the PR CI pipelines. Thanks [@dfederm](https://github.com/dfederm)!
+ - Disabled caching for PR started from forks, since those were failing. Thanks [@dfederm](https://github.com/dfederm)!
+ - Removed baseline files for policy checking and turned on the "TSA" process in the release pipelines instead.
+ - Added caching of nuget packages in the PR CI pipelines. Thanks [@dfederm](https://github.com/dfederm)!
+ - Updated the release CI pipelines TouchdownBuildTask to v3.
+ - Moved the release CI pipelines to ESRPv5.
+ - Added a policy for GitHub Copilot Workspaces for the repo on GitHub. Thanks [@Aaron-Junker](https://github.com/Aaron-Junker)!
-#### What is being planned for version 0.81
+#### What is being planned for version 0.82
-For [v0.81][github-next-release-work], we'll work on the items below:
+For [v0.82][github-next-release-work], we'll work on the items below:
- Stability / bug fixes
- Language selection
- New module: File Actions Menu
-The next release is planned to be released during Microsoft Build 2024.
-
## PowerToys Community
The PowerToys team is extremely grateful to have the [support of an amazing active community][community-link]. The work you do is incredibly important. PowerToys wouldn’t be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Month by month, you directly help make PowerToys a better piece of software.
diff --git a/doc/devdocs/settingsv2/communication-with-modules.md b/doc/devdocs/settingsv2/communication-with-modules.md
index d857e36936..a19190fbe7 100644
--- a/doc/devdocs/settingsv2/communication-with-modules.md
+++ b/doc/devdocs/settingsv2/communication-with-modules.md
@@ -2,7 +2,7 @@
## Through runner
- The settings process communicates changes in the UI to most modules using the runner through delegates.
-- More details on this are mentioned in [`runner-ipc.md`](settingsv2/runner-ipc.md).
+- More details on this are mentioned in [`runner-ipc.md`](runner-ipc.md).
## PT Run
- Any changes to the UI are saved by the settings process in the `settings.json` file located within the `/Local/Microsoft/PowerToys/Launcher/` folder.
@@ -12,4 +12,4 @@ Eg: The maximum number of results drop down updates the maximum number of rows i
## Keyboard Manager
- The Settings process and keyboard manager share access to a common `default.json` file which contains information about the remapped keys and shortcuts.
- To ensure that there is no contention while both processes try to access the common file, there is a named file mutex.
-- The settings process expects the keyboard manager process to create the `default.json` file if it does not exist. It does not create the file in case it is not present.
\ No newline at end of file
+- The settings process expects the keyboard manager process to create the `default.json` file if it does not exist. It does not create the file in case it is not present.
diff --git a/doc/thirdPartyRunPlugins.md b/doc/thirdPartyRunPlugins.md
index fa474ff310..5717b3ef43 100644
--- a/doc/thirdPartyRunPlugins.md
+++ b/doc/thirdPartyRunPlugins.md
@@ -27,7 +27,6 @@ Contact the developers of a plugin directly for assistance with a specific plugi
| ------ | ------ | ----------- |
| [BrowserSearch](https://github.com/TBM13/BrowserSearch) | [TBM13](https://github.com/TBM13) | Search your browser history |
| [GitHub Emoji](https://github.com/hlaueriksson/GEmojiSharp) | [hlaueriksson](https://github.com/hlaueriksson) | Search GitHub Emoji |
-| [Guid](https://github.com/skttl/ptrun-guid) | [skttl](https://github.com/skttl) | Guid generator |
| [PowerTranslator](https://github.com/N0I0C0K/PowerTranslator) | [N0I0C0K](https://github.com/N0I0C0K) | Text translator based on Youdao |
| [Quick Lookup](https://github.com/GTGalaxi/quick-lookup-ptrun) | [gtgalaxi](https://github.com/GTGalaxi) | Search across multiple cyber security tools |
| [Input Typer](https://github.com/CoreyHayward/PowerToys-Run-InputTyper) | [CoreyHayward](https://github.com/CoreyHayward) | Type the input as if sent from a keyboard |
@@ -36,6 +35,7 @@ Contact the developers of a plugin directly for assistance with a specific plugi
| [FastWeb](https://github.com/CCcat8059/FastWeb) | [CCcat](https://github.com/CCcat8059) | Open website in browser |
| [WebSearchShortcut](https://github.com/Daydreamer-riri/PowerToys-Run-WebSearchShortcut) | [Riri](https://github.com/Daydreamer-riri) | Select a specific search engine to perform searches. |
| [UnicodeInput](https://github.com/nathancartlidge/powertoys-run-unicode) | [nathancartlidge](https://github.com/nathancartlidge) | Copy Unicode characters to the clipboard |
+| [PowerHexInspector](https://github.com/NaroZeol/PowerHexInspector) | [NaroZeol](https://github.com/NaroZeol) | Peek other forms of an input number |
## Extending software plugins
@@ -44,6 +44,7 @@ Below are community created plugins that target a website or software. They are
| Plugin | Author | Description |
| ------ | ------ | ----------- |
| [Edge Favorite](https://github.com/davidegiacometti/PowerToys-Run-EdgeFavorite) | [davidegiacometti](https://github.com/davidegiacometti) | Open Microsoft Edge favorites |
+| [Edge Workspaces](https://github.com/quachpas/PowerToys-Run-EdgeWorkspaces) | [quachpas](https://github.com/quachpas) | Open Microsoft Edge workspaces|
| [Everything](https://github.com/lin-ycv/EverythingPowerToys) | [Yu Chieh (Victor) Lin](https://github.com/Lin-ycv) | Get search results from Everything |
| [GitKraken](https://github.com/davidegiacometti/PowerToys-Run-GitKraken) | [davidegiacometti](https://github.com/davidegiacometti) | Open GitKraken repositories |
| [Visual Studio Recents](https://github.com/davidegiacometti/PowerToys-Run-VisualStudio) | [davidegiacometti](https://github.com/davidegiacometti) | Open Visual Studio recents |
diff --git a/installer/PowerToysSetup/Core.wxs b/installer/PowerToysSetup/Core.wxs
index 6254bd99ed..81a655b3e1 100644
--- a/installer/PowerToysSetup/Core.wxs
+++ b/installer/PowerToysSetup/Core.wxs
@@ -8,7 +8,7 @@
-
+
@@ -46,34 +46,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
@@ -89,7 +74,7 @@
-
+