Files
PowerToys/.pipelines/ESRPSigning_core.json

414 lines
17 KiB
JSON
Raw Normal View History

Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
{
"Version": "1.0.0",
"UseMinimatch": false,
"SignBatches": [
{
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"MatchedPath": [
"*.resources.dll",
"WinUI3Apps\\Assets\\Settings\\Scripts\\*.ps1",
"PowerToys.ActionRunner.exe",
"PowerToys.Update.exe",
"PowerToys.BackgroundActivatorDLL.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.exe",
"PowerToys.FilePreviewCommon.dll",
"PowerToys.Interop.dll",
"Tools\\PowerToys.BugReportTool.exe",
"StylesReportTool\\PowerToys.StylesReportTool.exe",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"CalculatorEngineCommon.dll",
"PowerToys.ManagedTelemetry.dll",
"PowerToys.ManagedCommon.dll",
Sign for the new managedCsWin32 dll (#40150) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request We need to sign for all dll in our pipeline. But I forgot to do it in the last PR. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Co-authored-by: Yu Leng <yuleng@microsoft.com>
2025-06-21 20:09:56 +08:00
"PowerToys.ManagedCsWin32.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.Common.UI.dll",
"PowerToys.Settings.UI.Lib.dll",
"PowerToys.GPOWrapper.dll",
"PowerToys.GPOWrapperProjection.dll",
"PowerToys.AllExperiments.dll",
Advanced Paste: AI pasting enhancement (#42374) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request * Add multiple endpoint support for paste with AI * Add Local AI support for paste AI * Advanced AI implementation <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #32960 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [x] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed ### GPO - [x] Paste with AI should not be available if the original GPO for paste AI is set to false - [x] Paste with AI should be controlled within endpoint granularity - [x] Advanced Paste UI should disable AI ability if GPO is set to disable for any llm ### Paste AI - [x] Every AI endpoint should work as expected - [x] Default prompt should be able to give a reasonable result - [x] Local AI should work as expected ### Advanced AI - [x] Open AI and Azure OPENAI should be able to configure as advanced AI endpoint - [x] Advanced AI should be able to pick up functions correctly to do the transformation and give reasonable result --------- Signed-off-by: Shawn Yuan <shuaiyuan@microsoft.com> Signed-off-by: Shuai Yuan <shuai.yuan.zju@gmail.com> Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com> Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Kai Tao <kaitao@microsoft.com> Co-authored-by: Kai Tao <69313318+vanzue@users.noreply.github.com> Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-05 16:13:55 +08:00
"LanguageModelProvider.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
Setting search (#41285) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Localized search: <img width="1576" height="480" alt="image" src="https://github.com/user-attachments/assets/dd6e5e9f-419b-40b1-b796-f0799481ecfc" /> ## AI summary This pull request introduces infrastructure and code to support search functionality for PowerToys settings, including a new search index specification, a dedicated search library, and updates to the solution configuration. The main changes are the addition of a spec describing how settings should be indexed and navigated, the creation of a new `Common.Search` project with a fuzz search implementation, and updates to the solution file to include these new components. **Settings Search Feature Implementation** * Documentation: * Added a detailed specification (`settings-search.md`) describing the structure of PowerToys settings pages, how to index settings, navigation logic, runtime search, result grouping, build-time indexing strategy, and corner cases. * New Search Library: * Added the new `Common.Search` project to the solution, including its project file and implementation of a fuzz search service (`FuzzSearchService<T>`), match options, match results, and search precision scoring. [[1]](diffhunk://#diff-ddc06fa41e4e723e54181b0cb85cdd00f57f75725d51ceefa242d4d651a9a363R1-R8) [[2]](diffhunk://#diff-1a2ca29fc33bcccf338a7843a040ca2c31ba821e8cab7064fab0dbb1224d454cR1-R39) [[3]](diffhunk://#diff-242764d948b795f39653a84d9b6bfcdc52730100deab2e3a0995be95bb8e7868R1-R10) [[4]](diffhunk://#diff-61e525491ed916ebd65dabb66dd4f5dc720320d7e295ef1e0bd6d506ea0f7df6R1-R67) [[5]](diffhunk://#diff-a775f6de2e8d42982829b4161668f49dedbbd9dcbb05ce20003de7e62275c57aR1-R12) * Solution Configuration: * Updated `PowerToys.sln` to include `Common.Search` and `Settings.UI.XamlIndexBuilder` projects, and configured their build settings for various platforms and mapped project dependencies. [[1]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R714-R716) [[2]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R2704-R2727) [[3]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R2889) [[4]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R3157-R3158) **Spell-check Dictionary Updates** * Added new terms related to navigation and settings UI components (such as `Navigatable`, `NavigatablePage`, `settingscard`, `Tru`, `tweakable`) to the spell-check dictionary to support the new search and indexing features. [[1]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1020-R1021) [[2]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1498) [[3]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1755-R1761) --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com>
2025-08-25 21:23:07 +08:00
"Common.Search.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.AlwaysOnTop.exe",
"PowerToys.AlwaysOnTopModuleInterface.dll",
"PowerToys.CmdNotFoundModuleInterface.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.ColorPicker.dll",
"PowerToys.ColorPickerUI.dll",
"PowerToys.ColorPickerUI.exe",
"PowerToys.CropAndLockModuleInterface.dll",
"PowerToys.CropAndLock.exe",
"PowerToys.PowerOCRModuleInterface.dll",
"PowerToys.PowerOCR.dll",
"PowerToys.PowerOCR.exe",
"PowerToys.AdvancedPasteModuleInterface.dll",
"WinUI3Apps\\PowerToys.AdvancedPaste.exe",
"WinUI3Apps\\PowerToys.AdvancedPaste.dll",
"PowerToys.AwakeModuleInterface.dll",
"PowerToys.Awake.exe",
"PowerToys.Awake.dll",
"PowerToys.FancyZonesEditor.exe",
"PowerToys.FancyZonesEditor.dll",
"PowerToys.FancyZonesEditorCommon.dll",
"PowerToys.FancyZonesModuleInterface.dll",
"PowerToys.FancyZones.exe",
Add FancyZones CLI for command-line layout management (#44078) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Adds a new command-line interface (CLI) tool for FancyZones, enabling users and automation scripts to manage window layouts without the GUI. **Commands:** | Command | Aliases | Description | |---------|---------|-------------| | `help` | | Displays general help information for all commands | | `open-editor` | `editor`, `e` | Launch FancyZones layout editor | | `get-monitors` | `monitors`, `m` | List all monitors and their properties | | `get-layouts` | `layouts`, `ls` | List all available layouts with ASCII art preview | | `get-active-layout` | `active`, `a` | Show currently active layout | | `set-layout <uuid>` | `set`, `s` | Apply layout by UUID or template name | | `open-settings` | `settings` | Open FancyZones settings page | | `get-hotkeys` | `hotkeys`, `hk` | List all layout hotkeys | | `set-hotkey <key> <uuid>` | `shk` | Assign hotkey (0-9) to custom layout | | `remove-hotkey <key>` | `rhk` | Remove hotkey assignment | **Key Capabilities:** - ASCII art visualization of layouts (grid, focus, priority-grid, canvas) - Support for both template layouts and custom layouts - Monitor-specific layout targeting (`--monitor N` or `--all`) - Real-time notification to FancyZones via Windows messages - Native AOT compilation support for fast startup ### Example Usage ```bash # List all layouts with visual previews FancyZonesCLI.exe ls # Apply "columns" template to all monitors FancyZonesCLI.exe s columns --all # Set custom layout on monitor 2 FancyZonesCLI.exe s {uuid} --monitor 2 # Assign hotkey Win+Ctrl+Alt+3 to a layout FancyZonesCLI.exe shk 3 {uuid} ``` https://github.com/user-attachments/assets/2b141399-a4ca-4f64-8750-f123b7e0fea7 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-12-09 10:13:48 +08:00
"FancyZonesCLI.exe",
"FancyZonesCLI.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.GcodePreviewHandler.dll",
"PowerToys.GcodePreviewHandler.exe",
"PowerToys.GcodePreviewHandlerCpp.dll",
"PowerToys.GcodeThumbnailProvider.dll",
"PowerToys.GcodeThumbnailProvider.exe",
"PowerToys.GcodeThumbnailProviderCpp.dll",
Adds BgcodeThumbnailProvider and BgcodePreviewHandler (#38667) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [X] **Closes:** #30352 - [X] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [X] **Tests:** Added/updated and all pass - [X] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [X] **New binaries:** Added on the required places - [X] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [X] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments ![image](https://github.com/user-attachments/assets/62c0cbbb-fbca-4bb3-82fe-696ba40da83d) ![image](https://github.com/user-attachments/assets/3f2f1346-91fb-4f49-85b9-8cd6e19e68e9) <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed - Close PowerToys if installed in your machine - Full build the solution: PowerToys.sln - Start PowerToys from PowerToys\x64\Debug\PowerToys.exe or PowerToys\x64\Release\PowerToys.exe - Toggle the "Binary G-code thumbnail previewer" setting to enable - Open HelperFiles folder on the tests and check if the icon changes to an image - Check explorer preview to see if image is also shown there --------- Co-authored-by: leileizhang <leilzh@microsoft.com>
2025-07-10 10:20:30 +01:00
"PowerToys.BgcodePreviewHandler.dll",
"PowerToys.BgcodePreviewHandler.exe",
"PowerToys.BgcodePreviewHandlerCpp.dll",
"PowerToys.BgcodeThumbnailProvider.dll",
"PowerToys.BgcodeThumbnailProvider.exe",
"PowerToys.BgcodeThumbnailProviderCpp.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.ManagedTelemetry.dll",
"PowerToys.MarkdownPreviewHandler.dll",
"PowerToys.MarkdownPreviewHandler.exe",
"PowerToys.MarkdownPreviewHandlerCpp.dll",
"PowerToys.MonacoPreviewHandler.dll",
"PowerToys.MonacoPreviewHandler.exe",
"PowerToys.MonacoPreviewHandlerCpp.dll",
"PowerToys.PdfPreviewHandler.dll",
"PowerToys.PdfPreviewHandler.exe",
"PowerToys.PdfPreviewHandlerCpp.dll",
"PowerToys.PdfThumbnailProvider.dll",
"PowerToys.PdfThumbnailProvider.exe",
"PowerToys.PdfThumbnailProviderCpp.dll",
"PowerToys.powerpreview.dll",
"PowerToys.PreviewHandlerCommon.dll",
"PowerToys.QoiPreviewHandler.dll",
"PowerToys.QoiPreviewHandler.exe",
"PowerToys.QoiPreviewHandlerCpp.dll",
"PowerToys.QoiThumbnailProvider.dll",
"PowerToys.QoiThumbnailProvider.exe",
"PowerToys.QoiThumbnailProviderCpp.dll",
"PowerToys.StlThumbnailProvider.dll",
"PowerToys.StlThumbnailProvider.exe",
"PowerToys.StlThumbnailProviderCpp.dll",
"PowerToys.SvgPreviewHandler.dll",
"PowerToys.SvgPreviewHandler.exe",
"PowerToys.SvgPreviewHandlerCpp.dll",
"PowerToys.SvgThumbnailProvider.dll",
"PowerToys.SvgThumbnailProvider.exe",
"PowerToys.SvgThumbnailProviderCpp.dll",
"WinUI3Apps\\PowerToys.HostsModuleInterface.dll",
"WinUI3Apps\\PowerToys.HostsUILib.dll",
"WinUI3Apps\\PowerToys.Hosts.dll",
"WinUI3Apps\\PowerToys.Hosts.exe",
"WinUI3Apps\\PowerToys.FileLocksmithLib.Interop.dll",
"WinUI3Apps\\PowerToys.FileLocksmithExt.dll",
"WinUI3Apps\\PowerToys.FileLocksmithUI.exe",
"WinUI3Apps\\PowerToys.FileLocksmithUI.dll",
"WinUI3Apps\\PowerToys.FileLocksmithContextMenu.dll",
"FileLocksmithContextMenuPackage.msix",
"WinUI3Apps\\Peek.Common.dll",
"WinUI3Apps\\Peek.FilePreviewer.dll",
"WinUI3Apps\\Powertoys.Peek.UI.dll",
"WinUI3Apps\\Powertoys.Peek.UI.exe",
"WinUI3Apps\\Powertoys.Peek.dll",
"WinUI3Apps\\PowerToys.EnvironmentVariablesModuleInterface.dll",
"WinUI3Apps\\PowerToys.EnvironmentVariablesUILib.dll",
"WinUI3Apps\\PowerToys.EnvironmentVariables.dll",
"WinUI3Apps\\PowerToys.EnvironmentVariables.exe",
"PowerToys.ImageResizer.exe",
"PowerToys.ImageResizer.dll",
"PowerToys.ImageResizerExt.dll",
"PowerToys.ImageResizerContextMenu.dll",
"ImageResizerContextMenuPackage.msix",
[New Module] Light Switch (#41987) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request introduces a new module called "Light Switch" which allows users to automatically switch between light and dark mode on a timer. ![Light Switch](https://github.com/user-attachments/assets/d24d7364-445f-4f23-ab5e-4b8c6a4147ab) <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #1331 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: [#5867](https://github.com/MicrosoftDocs/windows-dev-docs-pr/pull/5867) <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments ### Known bugs: - Default settings not saving correctly when switching modes - Issue: Sometimes when you switch from one mode to another, they are supposed to update with new defaults but sometimes this fails for the second variable. Potentially has to do with accessing the settings file while another chunk of code is still updating. - Sometimes the system looks "glitched" when switching themes ### To do: - [x] OOBE page and assets - [x] Logic to disable the chart when no location has been selected - [x] Localization ### How to and what to test Grab the latest installer from the pipeline below for your architecture and install PowerToys from there. - Toggle theme shortcutSystem only, Apps only, Both system and apps selected - Does changing the values on the settings page update the settings file? %LOCALAPPDATA%/Microsoft/PowerToys/LightSwitch/settings.json - Manual mode: System only, Apps only, Both system and apps selected - Sunrise modes: Are the times accurate? - If you manage to let this run through sunset/rise does the theme change? - Set your theme to change within the next minute using manual mode and set your device to sleepOpen your device and login once the time you set has passed. --> Do your settings resync once the next minute ticks after logging back into your device? - Disable the service and ensure the tasks actually ends. - While the module is disabled: - Make sure the shortcut no longer works - Make sure the last time you set doesn't trigger a theme change - Bonus: Toggle GPO Configuration and make sure you are unable to enable the module --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-10-06 16:44:07 -04:00
"PowerToys.LightSwitchModuleInterface.dll",
"LightSwitchService\\PowerToys.LightSwitchService.exe",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.KeyboardManager.dll",
"KeyboardManagerEditor\\PowerToys.KeyboardManagerEditor.exe",
"KeyboardManagerEngine\\PowerToys.KeyboardManagerEngine.exe",
"PowerToys.KeyboardManagerEditorLibraryWrapper.dll",
"PowerToys.Launcher.dll",
"PowerToys.PowerLauncher.dll",
"PowerToys.PowerLauncher.exe",
"PowerToys.PowerLauncher.Telemetry.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"Wox.Infrastructure.dll",
"Wox.Plugin.dll",
"RunPlugins\\Calculator\\Microsoft.PowerToys.Run.Plugin.Calculator.dll",
"RunPlugins\\Folder\\Microsoft.Plugin.Folder.dll",
"RunPlugins\\Indexer\\Microsoft.Plugin.Indexer.dll",
"RunPlugins\\OneNote\\Microsoft.PowerToys.Run.Plugin.OneNote.dll",
"RunPlugins\\History\\Microsoft.PowerToys.Run.Plugin.History.dll",
"RunPlugins\\PowerToys\\Microsoft.PowerToys.Run.Plugin.PowerToys.dll",
"RunPlugins\\Program\\Microsoft.Plugin.Program.dll",
"RunPlugins\\Registry\\Microsoft.PowerToys.Run.Plugin.Registry.dll",
"RunPlugins\\WindowsSettings\\Microsoft.PowerToys.Run.Plugin.WindowsSettings.dll",
"RunPlugins\\Shell\\Microsoft.Plugin.Shell.dll",
"RunPlugins\\Uri\\Microsoft.Plugin.Uri.dll",
"RunPlugins\\WindowWalker\\Microsoft.Plugin.WindowWalker.dll",
"RunPlugins\\UnitConverter\\Community.PowerToys.Run.Plugin.UnitConverter.dll",
"RunPlugins\\VSCodeWorkspaces\\Community.PowerToys.Run.Plugin.VSCodeWorkspaces.dll",
"RunPlugins\\Service\\Microsoft.PowerToys.Run.Plugin.Service.dll",
"RunPlugins\\System\\Microsoft.PowerToys.Run.Plugin.System.dll",
"RunPlugins\\TimeDate\\Microsoft.PowerToys.Run.Plugin.TimeDate.dll",
"RunPlugins\\ValueGenerator\\Community.PowerToys.Run.Plugin.ValueGenerator.dll",
"RunPlugins\\WebSearch\\Community.PowerToys.Run.Plugin.WebSearch.dll",
"RunPlugins\\WindowsTerminal\\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.dll",
"WinUI3Apps\\PowerToys.MeasureToolModuleInterface.dll",
"WinUI3Apps\\PowerToys.MeasureToolCore.dll",
"WinUI3Apps\\PowerToys.MeasureToolUI.dll",
"WinUI3Apps\\PowerToys.MeasureToolUI.exe",
"PowerToys.FindMyMouse.dll",
"PowerToys.MouseHighlighter.dll",
"PowerToys.MouseJump.dll",
"PowerToys.MouseJump.Common.dll",
"PowerToys.MousePointerCrosshairs.dll",
"PowerToys.MouseJumpUI.dll",
"PowerToys.MouseJumpUI.exe",
Add Cursor Wrap functionality to Powertoys Mouse Utils (#41826) ## Summary of the Pull Request Cursor Wrap makes it simple to move the mouse from one edge of a display (or set of displays) to the opposite edge of the display stack - on a single display Cursor Wrap will wrap top/bottom and left/right edges. https://github.com/user-attachments/assets/3feb606c-142b-4dab-9824-7597833d3ba4 ## PR Checklist - [x] Closes: CursorWrap #41759 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments PR adds a new mouse utils module, this is 'Cursor Wrap' - Cursor Wrap works with 1-9 monitors based on the logical monitor layout of the PC - for a single monitor device the cursor is wrapped for the top/bottom and left/right edges of the display - for a multi-monitor setup the cursor is wrapped on the top/bottom left/right of the displays in the logical display layout. ## Validation Steps Performed Validation has been performed on a Surface Laptop 7 Pro (Intel) with a single display and with an HDMI USB-C second display configured to be a second monitor in top/left/right/bottom configuration - there are also tests that run as part of the build to validate logical monitor layout and cursor positioning. --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-05 03:28:25 -08:00
"PowerToys.CursorWrap.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"PowerToys.MouseWithoutBorders.dll",
"PowerToys.MouseWithoutBorders.exe",
"PowerToys.MouseWithoutBordersModuleInterface.dll",
"PowerToys.MouseWithoutBordersService.dll",
"PowerToys.MouseWithoutBordersService.exe",
"PowerToys.MouseWithoutBordersHelper.dll",
"PowerToys.MouseWithoutBordersHelper.exe",
"WinUI3Apps\\PowerToys.NewPlus.ShellExtension.dll",
"WinUI3Apps\\NewPlusPackage.msix",
"WinUI3Apps\\PowerToys.NewPlus.ShellExtension.win10.dll",
"PowerAccent.Core.dll",
"PowerToys.PowerAccent.dll",
"PowerToys.PowerAccent.exe",
"PowerToys.PowerAccentModuleInterface.dll",
"PowerToys.PowerAccentKeyboardService.dll",
"WinUI3Apps\\PowerToys.PowerRenameExt.dll",
"WinUI3Apps\\PowerToys.PowerRename.exe",
"WinUI3Apps\\PowerToys.PowerRenameContextMenu.dll",
"WinUI3Apps\\PowerRenameContextMenuPackage.msix",
"PowerToys.WorkspacesSnapshotTool.exe",
"PowerToys.WorkspacesLauncher.exe",
"PowerToys.WorkspacesWindowArranger.exe",
"PowerToys.WorkspacesEditor.exe",
"PowerToys.WorkspacesEditor.dll",
"PowerToys.WorkspacesLauncherUI.exe",
"PowerToys.WorkspacesLauncherUI.dll",
"PowerToys.WorkspacesModuleInterface.dll",
"PowerToys.WorkspacesCsharpLibrary.dll",
"WinUI3Apps\\PowerToys.RegistryPreviewExt.dll",
"WinUI3Apps\\PowerToys.RegistryPreviewUILib.dll",
"WinUI3Apps\\PowerToys.RegistryPreview.dll",
"WinUI3Apps\\PowerToys.RegistryPreview.exe",
"PowerToys.ShortcutGuide.exe",
"PowerToys.ShortcutGuideModuleInterface.dll",
"PowerToys.ZoomIt.exe",
"PowerToys.ZoomItModuleInterface.dll",
"PowerToys.ZoomItSettingsInterop.dll",
KeystrokeOverlay: New PowerToys module for on screen key strokes (#44250) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request introduces the new KeystrokeOverlay module to PowerToys, including its documentation, build configuration, installer setup, and spell-check dictionary updates. KeystrokeOverlay can be used to show keys pressed on the screen like Visual Studio Code's Screencast Mode. It provides customization options for text size and background, offers four types of display modes, and three shortcuts for toggling on/off the display, cycling through monitors, and through different display modes (see below for more details). <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #981 <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments **KeystrokeOverlay Module Integration:** * Added KeystrokeOverlay as a new module in the solution, with corresponding projects for the keyboard service, UI, and module interface (`PowerToys.slnx`). * Added documentation for the Keystroke Overlay module, including architecture, usage, and debugging instructions (`doc/devdocs/modules/keystrokeoverlay.md`). * Updated installer configuration to include Keystroke Overlay, adding new WiX include and setup files (`installer/PowerToysSetup/Common.wxi`, `installer/PowerToysSetup/KeystrokeOverlay.wxs`). [[1]](diffhunk://#diff-ecd2ee19d18433ed47b8f13b44cfff7b00c8009c17bc71139cec0d8571f8f607R1-R59) [[2]](diffhunk://#diff-af48b984b168acbe5aeb021e97a9e826ab9b52c20c08b36f40dd3e5ad00342b1R1-R9) * Registered Keystroke Overlay in the settings documentation and issue templates (`doc/dsc/Settings.md`, `.github/ISSUE_TEMPLATE/bug_report.yml`, `.github/ISSUE_TEMPLATE/translation_issue.yml`). [[1]](diffhunk://#diff-bde46f469b76ba994ea938853f169553846221b329a21e9b59d37c5a0b7d63aeR35) [[2]](diffhunk://#diff-637f7b97bba458badb691a1557c3d4648686292e948dbe3e8360564378b653efR85) [[3]](diffhunk://#diff-135b470e9875068a1085599402d6f89bea163068568c426b22f493f35fbfbea6R58) * Added KeystrokeOverlay binaries to the signing pipeline (`.pipelines/ESRPSigning_core.json`). **Customization options** | Category | Setting | Description | Default / Example | | :--- | :--- | :--- | :--- | | **General** | **Enable Keystroke Overlay** | Master toggle to turn the module on or off. | `On` | | **Shortcuts** | **Activation Shortcut** | Hotkey to toggle the overlay visibility. | `Win` + `Shift` + `K` | | | **Switch Monitor Shortcut** | Hotkey to move the overlay to another display. | `Win` + `Shift` + `/` | | | **Switch Display Mode** | Hotkey to cycle through different visualization modes. | `Win` + `Shift` + `D` | | **Behavior** | **Draggable Overlay** | Allows you to manually move the overlay position with your mouse. | `On` | | | **Display Mode** | Controls what history of keys is shown (e.g., history vs. single). | `Last Five Keystrokes` | | | **Overlay Timeout** | How long (in ms) the keys stay visible before fading. | `2000` ms | | **Appearance** | **Text Size** | Adjusts the font size of the keys inside the overlay. | `37` | | | **Text Color** | Sets the font color and transparency level. | `White` (Example) | | | **Background Color** | Sets the background box color and transparency level. | `Purple` (Example) | <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed The new module was tested on multiple different Windows Devices and all configurations work as expected. --------- Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> Co-authored-by: Sátvik Karanam <89281036+skara9@users.noreply.github.com> Co-authored-by: Jiří Polášek <me@jiripolasek.com> Co-authored-by: Software2 <software-2@users.noreply.github.com> Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Mike Griese <migrie@microsoft.com> Co-authored-by: Jaylyn Barbee <51131738+Jaylyn-Barbee@users.noreply.github.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> Co-authored-by: Kai Tao <69313318+vanzue@users.noreply.github.com> Co-authored-by: Mark Russinovich <markruss@microsoft.com> Co-authored-by: Mark Russinovich <markruss@ntdev.microsoft.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Alex Mihaiuc <69110671+foxmsft@users.noreply.github.com> Co-authored-by: Michael Jolley <mike@baldbeardedbuilder.com> Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com> Co-authored-by: leileizhang <leilzh@microsoft.com> Co-authored-by: Dave Rayment <dave.rayment@gmail.com> Co-authored-by: Shawn Yuan <128874481+shuaiyuanxx@users.noreply.github.com> Co-authored-by: Kai Tao <kaitao@microsoft.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: jiripolasek <4773077+jiripolasek@users.noreply.github.com> Co-authored-by: Dustin L. Howett <duhowett@microsoft.com> Co-authored-by: Sam Rueby <samrueby@gmail.com> Co-authored-by: Lee Won Jun <dldnjs1013@nate.com> Co-authored-by: Mason Bergstrom <13530957+MasonBergstrom@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Mike Hall <mikehall@microsoft.com> Co-authored-by: moooyo <42196638+moooyo@users.noreply.github.com> Co-authored-by: Yu Leng <yuleng@microsoft.com> Co-authored-by: dsm20 <74568547+dsm20@users.noreply.github.com> Co-authored-by: zackpaton <91792781+zackpaton@users.noreply.github.com> Co-authored-by: Gleb Khmyznikov <gleb.khmyznikov@gmail.com> Co-authored-by: Guilherme <57814418+DevLGuilherme@users.noreply.github.com>
2025-12-13 02:25:20 -05:00
"WinUI3Apps\\PowerToys.KeystrokeOverlay.exe",
"WinUI3Apps\\PowerToys.KeystrokeOverlayModuleInterface.dll",
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
"WinUI3Apps\\PowerToys.Settings.dll",
"WinUI3Apps\\PowerToys.Settings.exe",
"PowerToys.CmdPalModuleInterface.dll",
"CmdPalKeyboardService.dll",
Initial DSC v3 support for PowerToys (#41132) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Tasks checklist - [X] Implement DSC infra in PowerToys - [X] Implement Settings DSC resource - [X] Implement Get, Set, Test, Export, Schema - [X] Generate manifest (DSC resource JSON) - [X] Added Unit Tests - [x] Add `NJsonSchema` v11.4.0 to the stream - [x] Package the manifest files so dsc.exe can discover them - [x] Add `PowerToys.DSC.exe` to the PATH (maybe?) - [x] Add `InstallLocation` in the registry key so `winget configue export` can export the PowerToys DSC resources <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [X] Closes: #37276 - [X] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [X] **Tests:** Added/updated and all pass - [X] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [x] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [x] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com>
2025-09-28 00:12:51 -07:00
"*Microsoft.CmdPal.UI_*.msix",
"PowerToys.DSC.dll",
Introduce shared sparse package identity for PowerToys (#42352) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This pull request adds support for building, installing, and managing a shared sparse MSIX package to grant package identity to select Win32 components in PowerToys. It introduces a new `PackageIdentity` project, updates the installer to handle the new MSIX package during install/uninstall, and provides developer documentation for working with the sparse package. Additionally, new dependencies and signing rules are included to support these changes. **Sparse Package Identity Support** * Added new `PackageIdentity` project to the solution for building the sparse MSIX package, and included it in solution/project build configurations (`PowerToys.sln`). [[1]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R29) [[2]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R54-R55) [[3]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R873-R880) * Added developer documentation (`sparse-package.md`) and updated documentation indexes to describe how to build, register, and consume the sparse MSIX package. [[1]](diffhunk://#diff-b4e39fb55a49c6de336d5847d75a55dd1d14840578da0ed9130f0130b61b34aaR1-R87) [[2]](diffhunk://#diff-d0f204e503506a26ef2aa3605a8d64ac353393526fb5dcf48d4287c821f3edbcR31) [[3]](diffhunk://#diff-430296c8d28f70d8a0164b44d7dfc30ffb1fb32466dad181947f35885b7f28d1R13) **Installer Enhancements** * Implemented new custom actions in the installer to install and uninstall the `PowerToysSparse.msix` package, supporting both per-user and machine-level scenarios (`CustomAction.cpp`, `CustomAction.def`, `Product.wxs`). [[1]](diffhunk://#diff-a7680a20bf0315cff463a95588a100c99d2afc53030f6e947f1f1dcaca5eefd7R597-R806) [[2]](diffhunk://#diff-79daec0ccfcea63a2f3acb7d811b8b508529921123c754111bbccbea98b2bd74R36-R37) [[3]](diffhunk://#diff-c12203517db7cde9ad34df9e6611457d1d3c7bc8eb7d58e06739887d3c1034afR115) [[4]](diffhunk://#diff-c12203517db7cde9ad34df9e6611457d1d3c7bc8eb7d58e06739887d3c1034afR127) [[5]](diffhunk://#diff-c12203517db7cde9ad34df9e6611457d1d3c7bc8eb7d58e06739887d3c1034afR149) [[6]](diffhunk://#diff-c12203517db7cde9ad34df9e6611457d1d3c7bc8eb7d58e06739887d3c1034afR205-R210) **Build and Dependency Updates** * Added new NuGet package dependencies for Windows App SDK AI and Runtime to support MSIX and sparse package features (`Directory.Packages.props`). * Updated signing pipeline to include the new `PowerToysSparse.msix` artifact (`.pipelines/ESRPSigning_core.json`). <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-10-20 08:52:49 +08:00
"PowerToys.DSC.exe",
"PowerToysSparse.msix"
[CmdPal][AOT] Using ExprTk to make the Cal extension AOT-compatible (#39972) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This PR replaces the original Mages-based expression evaluation engine with a WinRT-wrapped version of Exprtk in the CmdPalCalculator module. ### Key Changes **Expression Engine:** - All expression parsing and evaluation now use Exprtk (via a WinRT wrapper) instead of Mages. **Base Conversion Handling:** - Since Exprtk does not support non-decimal (binary, octal, hexadecimal) input natively, added logic to convert all such inputs to decimal before evaluation. **Code Structure:** - The overall logic and API surface remain unchanged except for the engine and base conversion handling. - All previous Mages references and dependencies have been removed. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] **Closes:** #xxx - [ ] **Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end user facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-06-13 12:27:53 +08:00
],
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"SigningInfo": {
"Operations": [
{
"KeyCode": "CP-230012",
"OperationSetCode": "SigntoolSign",
"Parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "FileDigest",
"parameterValue": "/fd \"SHA256\""
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
}
],
"ToolName": "sign",
"ToolVersion": "1.0"
},
{
"KeyCode": "CP-230012",
"OperationSetCode": "SigntoolVerify",
"Parameters": [],
"ToolName": "sign",
"ToolVersion": "1.0"
}
]
}
},
{
"MatchedPath": [
"ModernWpf.dll",
"ModernWpf.Controls.dll",
"System.IO.Abstractions.dll",
"Mono.Cecil.dll",
"Mono.Cecil.Mdb.dll",
"Mono.Cecil.Pdb.dll",
"Mono.Cecil.Rocks.dll",
"Newtonsoft.Json.dll",
Setting search (#41285) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Localized search: <img width="1576" height="480" alt="image" src="https://github.com/user-attachments/assets/dd6e5e9f-419b-40b1-b796-f0799481ecfc" /> ## AI summary This pull request introduces infrastructure and code to support search functionality for PowerToys settings, including a new search index specification, a dedicated search library, and updates to the solution configuration. The main changes are the addition of a spec describing how settings should be indexed and navigated, the creation of a new `Common.Search` project with a fuzz search implementation, and updates to the solution file to include these new components. **Settings Search Feature Implementation** * Documentation: * Added a detailed specification (`settings-search.md`) describing the structure of PowerToys settings pages, how to index settings, navigation logic, runtime search, result grouping, build-time indexing strategy, and corner cases. * New Search Library: * Added the new `Common.Search` project to the solution, including its project file and implementation of a fuzz search service (`FuzzSearchService<T>`), match options, match results, and search precision scoring. [[1]](diffhunk://#diff-ddc06fa41e4e723e54181b0cb85cdd00f57f75725d51ceefa242d4d651a9a363R1-R8) [[2]](diffhunk://#diff-1a2ca29fc33bcccf338a7843a040ca2c31ba821e8cab7064fab0dbb1224d454cR1-R39) [[3]](diffhunk://#diff-242764d948b795f39653a84d9b6bfcdc52730100deab2e3a0995be95bb8e7868R1-R10) [[4]](diffhunk://#diff-61e525491ed916ebd65dabb66dd4f5dc720320d7e295ef1e0bd6d506ea0f7df6R1-R67) [[5]](diffhunk://#diff-a775f6de2e8d42982829b4161668f49dedbbd9dcbb05ce20003de7e62275c57aR1-R12) * Solution Configuration: * Updated `PowerToys.sln` to include `Common.Search` and `Settings.UI.XamlIndexBuilder` projects, and configured their build settings for various platforms and mapped project dependencies. [[1]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R714-R716) [[2]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R2704-R2727) [[3]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R2889) [[4]](diffhunk://#diff-ca837ce490070b91656ffffe31cbad8865ba9174e0f020231f77baf35ff3f811R3157-R3158) **Spell-check Dictionary Updates** * Added new terms related to navigation and settings UI components (such as `Navigatable`, `NavigatablePage`, `settingscard`, `Tru`, `tweakable`) to the spell-check dictionary to support the new search and indexing features. [[1]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1020-R1021) [[2]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1498) [[3]](diffhunk://#diff-5dcab162c1b233a49973ae010f2b88c7ec4844382abd705e6154685e62bd5c4dR1755-R1761) --------- Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com> Co-authored-by: Gordon Lam <73506701+yeelam-gordon@users.noreply.github.com>
2025-08-25 21:23:07 +08:00
"CommunityToolkit.WinUI.Controls.TitleBar.dll",
Add not signed dll (#43631) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request This dll is not signed, will fail the pipeline <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
2025-11-17 09:48:32 +08:00
"CommunityToolkit.WinUI.Controls.OpacityMaskView.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"NLog.dll",
"HtmlAgilityPack.dll",
"Markdig.Signed.dll",
"HelixToolkit.dll",
"HelixToolkit.Core.Wpf.dll",
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"Mages.Core.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[General]Reduce installer size by flattening application paths (#27451) * Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
2023-07-20 00:12:46 +01:00
"NLog.Extensions.Logging.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"concrt140_app.dll",
"msvcp140_1_app.dll",
"msvcp140_2_app.dll",
"msvcp140_app.dll",
Initial DSC v3 support for PowerToys (#41132) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Tasks checklist - [X] Implement DSC infra in PowerToys - [X] Implement Settings DSC resource - [X] Implement Get, Set, Test, Export, Schema - [X] Generate manifest (DSC resource JSON) - [X] Added Unit Tests - [x] Add `NJsonSchema` v11.4.0 to the stream - [x] Package the manifest files so dsc.exe can discover them - [x] Add `PowerToys.DSC.exe` to the PATH (maybe?) - [x] Add `InstallLocation` in the registry key so `winget configue export` can export the PowerToys DSC resources <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [X] Closes: #37276 - [X] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [X] **Tests:** Added/updated and all pass - [X] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [x] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [x] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --------- Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Kai Tao (from Dev Box) <kaitao@microsoft.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com>
2025-09-28 00:12:51 -07:00
"Namotion.Reflection.dll",
"NJsonSchema.Annotations.dll",
"NJsonSchema.dll",
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"vcamp140_app.dll",
"vccorlib140_app.dll",
"vcomp140_app.dll",
"vcruntime140_1_app.dll",
[New PowerToy] PowerAccent (#19212) * add poweraccent (draft) for PR * removing french text for Spell checking job * add 'poweraccent' to spell checker * add 'damienleroy' to spell checker file * adding RuntimeIdentifiers for PowerAccent project * duplicate image for settings * update commandline arguments for launch settings * Removing WndProc for testing with inter-process connection * add PowerAccent sources for PowerToys * fix spellcheck * fixing stylecop conventions * Remove StyleCop.Analyzers because of duplicate * fixing command line reference * Fixing CS8012 for PowerAccent. * ARM64 processor * - Modify PowerAccent fluenticon for dark mode - Try fix arm64 release * Remove taskbar * init Oobe view * - added POwerAccent to App.xaml.cs - change style to markdown in Oobe display * - fixing poweraccent crash - change Oobe LearnMore link * Installer and signing * Cleanup Add settings * Issue template * Add some more characters * Disabled by default * Proper ToUnicodeEx calling and remove hacks * Fix spellcheck * Remove CommandLine dependency and debug prints. Add logs * fix signing * Fix binary metadata with version * Fix the added space bug * Only type space if it was the trigger method * Take account of InputTime for displaying UI * Fix code styling * Remove the Trace WriteLine hack and add a delay instead * Reinstate logs * Better explanations * Add telemetry for showing the menu * Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw * Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw * Update src/modules/poweraccent/PowerAccent.Core/Tools/KeyboardListener.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Add accented characters for S * Default to both activation methods * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs * Update src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs Co-authored-by: Damien LEROY <dleroy@veepee.com>
2022-08-26 18:01:50 +02:00
"vcruntime140_app.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
[General]Reduce installer size by flattening application paths (#27451) * Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
2023-07-20 00:12:46 +01:00
"UnicodeInformation.dll",
"Microsoft.Web.WebView2.Core.dll",
"Microsoft.Web.WebView2.WinForms.dll",
"Microsoft.Web.WebView2.Wpf.dll",
"WebView2Loader.dll",
"e_sqlite3.dll",
"LazyCache.dll",
"SQLitePCLRaw.batteries_v2.dll",
"SQLitePCLRaw.core.dll",
"SQLitePCLRaw.provider.e_sqlite3.dll",
"ScipBe.Common.Office.OneNote.dll",
"Interop.Microsoft.Office.Interop.OneNote.dll",
"hyjiacan.py4n.dll",
"MessagePack.Annotations.dll",
"MessagePack.dll",
"Nerdbank.Streams.dll",
"WinUI3Apps\\ReverseMarkdown.dll",
[General]Reduce installer size by flattening application paths (#27451) * Flatten everything and succeed build * Figure out Settings assets * Remove UseCommonOutputDirectory tag * Proper settings app path * [VCM] Fix assets location * Fix some runtime paths * [RegistryPreview]Use MRTCore specific pri file * [Hosts]Use MRTCore specific pri file * [Settings]Use MRTCore specific pri file * [Peek]Use MRTCore specific pri file * [FileLocksmith]Use MRTCore specific pri file * [ScreenRuler]Use MRTCore specific pri file * [PowerRename]Use MRTCore specific pri file * [Peek]Move assets to own folder * [FileLocksmith] Use own Assets path * [Hosts]Use own assets folder * [PowerRename]Use own assets dir * [MeasureTool] Use its own assets folder * [ImageResizer]Use its own assets path * Fix spellcheck * Fix tab instead of space in project files * Normalize target frameworks and platforms * Remove WINRT_NO_MAKE_DETECTION flag. No longer needed? * Fix AOT and Hosts locations * Fix Dll version differences on dependency * Add Common.UI.csproj as refernce to fix dll versions * Update ControlzEx to normalize dll versions * Update System.Management version to 7.0.2 * Add GPOWrapper to Registry Preview to fix dll versions * [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions * Fix remaining output paths / dll version conflicts * [KeyboardManager]Executables still on their own directories * Fix Monaco paths * WinAppSDK apps get to play outside again * Enable VCM settings again * Fix KBM Editor path again * [Monaco]Set to own Assets dir * Fix installer preamble; Fix publish. remove unneeded publishes * Remove Hardlink functions * Installer builds again (still needs work to work) * Readd Monaco to spellcheck excludes * Fix spellcheck and call publish.cmd again * [Installer] Remove components that don't need own dirs * [Installer] Refactor Power Launcher * [Installer] Refactor Color Picker * [Installer] Refactor Monaco assets * [Installer]Generate File script no longer needs to remove files * [Installer]Refactor FileLocksmith * [Installer] Refactor Hosts * [Installer]Refactor Image Resizer * [Installer]Refactor MouseUtils * [Installer]Refactor MWB * [Installer]Refactor MeasureTool * [Installer]Refactor Peek * [Installer]Refactor PowerRename and registry fixes * [Installer]Refactor RegistryPreview * [Installer]Refactor ShortcutGuide * [Installer]Refactor Settings * [Installer]Clean up some unused stuff * [Installer]Clean up stuff for user install * [Installer]Fix WinUi3Apps wxs * [Installer]Fix misplaced folders * [Installer]Move x86 VCM dll to right path * Fix monaco language list location * [Installer]Fix VCM directory reference * [CI]Fix signing * [Installer] Fix resources folder for release CI * [ci]Looks like we still ship NLog on PowerToys Run * [Settings]Add dependency to avoid dll collision with Experimentation * [RegistryPreview]Move XAML files to own path * [RegistryPreview]Fix app icon * [Hosts]Move XAML files to their own path * [FileLocksmith]Move XAML files to their own path * [Peek]Move XAML files to own path * [ScreenRuler]Move XAML files to its own path * [Settings]Move XAML to its own path * [ColorPicker]Move Resources to Assets * [ShortcutGuide]Move svgs to own Assets path * [Awake]Move images to assets path * [Runner]Remove debug checks for PowerToys Run assets * [PTRun]Move images to its own assets path * [ImageResizer]Icon for context menu on own assets path * [PowerRename]Move ico to its own path * Remove unneeded intermediary directories * Remove further int dirs * Move tests to its own output path * Fix spellcheck * spellcheck: remove warnings * [CppAnalyzers]Ignore rule in a tool * [CI]Check if all deps.json files reference same versions * fix spellcheck * [ci]Fix task identation * [ci]Add script to guard against asset conflicts * [ci]Add more deps.json audit steps in the release build * Add xbf to spellcheck expects * Fix typo in asset conflict check scripts * Fix some more dependency conflicts * Downgrade CsWinRT to have the same dll version as sdk * [ci]Do a recursive check for every deps.json * Fix spellcheck error inside comment * [ci]Fix asset script error * [ci]Name deps.json verify tasks a bit better * [ci]Improve deps json verify script output * [ci]Update WinRT version to the same running in CI * Also upgrade CsWinRT in NOTICE.MD * [PowerRename]Move XAML files to own path * [Common]Fix Settings executable path * [ci]Verify there's no xbf files in app directories * [installer]Fix firewall path * [Monaco]Move new files to their proper assets path * [Monaco]Fix paths for new files after merge * [Feedback]Removed unneeded build conditions * [Feedback]Clear vcxproj direct reference to frameworks * [Feedback]RunPlugins name to hold PTRun plugins * [Feedback]Remove unneeded foreach * [Feedback]Shortcut Guide svgs with ** in project file * [Feedback]Fix spellcheck
2023-07-20 00:12:46 +01:00
"WinUI3Apps\\SharpCompress.dll",
"WinUI3Apps\\ZstdSharp.dll",
"CommunityToolkit.WinUI.Controls.MarkdownTextBlock.dll",
"WinUI3Apps\\CommunityToolkit.WinUI.Controls.MarkdownTextBlock.dll",
"Markdig.dll",
"WinUI3Apps\\Markdig.dll",
"RomanNumerals.dll",
"WinUI3Apps\\RomanNumerals.dll",
"TestableIO.System.IO.Abstractions.dll",
"WinUI3Apps\\TestableIO.System.IO.Abstractions.dll",
"TestableIO.System.IO.Abstractions.Wrappers.dll",
"WinUI3Apps\\TestableIO.System.IO.Abstractions.Wrappers.dll",
"WinUI3Apps\\OpenAI.dll",
"Testably.Abstractions.FileSystem.Interface.dll",
"WinUI3Apps\\Testably.Abstractions.FileSystem.Interface.dll",
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
"ColorCode.Core.dll",
Advanced Paste: AI pasting enhancement (#42374) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request * Add multiple endpoint support for paste with AI * Add Local AI support for paste AI * Advanced AI implementation <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #32960 - [x] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [x] **Tests:** Added/updated and all pass - [x] **Localization:** All end-user-facing strings can be localized - [x] **Dev docs:** Added/updated - [x] **New binaries:** Added on the required places - [x] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [x] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [x] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [x] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed ### GPO - [x] Paste with AI should not be available if the original GPO for paste AI is set to false - [x] Paste with AI should be controlled within endpoint granularity - [x] Advanced Paste UI should disable AI ability if GPO is set to disable for any llm ### Paste AI - [x] Every AI endpoint should work as expected - [x] Default prompt should be able to give a reasonable result - [x] Local AI should work as expected ### Advanced AI - [x] Open AI and Azure OPENAI should be able to configure as advanced AI endpoint - [x] Advanced AI should be able to pick up functions correctly to do the transformation and give reasonable result --------- Signed-off-by: Shawn Yuan <shuaiyuan@microsoft.com> Signed-off-by: Shuai Yuan <shuai.yuan.zju@gmail.com> Signed-off-by: Shawn Yuan (from Dev Box) <shuaiyuan@microsoft.com> Co-authored-by: Leilei Zhang <leilzh@microsoft.com> Co-authored-by: Niels Laute <niels.laute@live.nl> Co-authored-by: Kai Tao <kaitao@microsoft.com> Co-authored-by: Kai Tao <69313318+vanzue@users.noreply.github.com> Co-authored-by: vanzue <vanzue@outlook.com> Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-05 16:13:55 +08:00
"Microsoft.SemanticKernel.Connectors.Ollama.dll",
"OllamaSharp.dll",
Fix signing configuration: Remove 25 obsolete file references from ESRPSigning_core.json (#40241) ## Summary This PR fixes the signing pipeline by removing 25 obsolete file references from `ESRPSigning_core.json` that were causing "0 files out of: 0 files" errors during the signing process. These references pointed to files that are either no longer built or were never produced by the current project structure. ## Root Cause Analysis The signing configuration contained references to files that fall into three categories: 1. **Static libraries incorrectly listed as DLLs** - Projects configured as `StaticLibrary` don't produce `.dll` files 2. **Obsolete/non-existent projects** - References to projects that were removed or renamed 3. **WinExe projects incorrectly listed as producing DLLs** - C# projects with `OutputType=WinExe` only produce `.exe` files, not `.dll` files ## Changes Made ### Static Libraries (3 files removed): - `Notifications.dll` - notifications project is a StaticLibrary - `os-detection.dll` - no corresponding project found - `Telemetry.dll` - telemetry projects are StaticLibraries ### Obsolete Projects (3 files removed): - `fancyzones.dll` - FancyZones now produces `PowerToys.FancyZones.exe` - `Wox.dll` - only `Wox.Plugin.dll` and `Wox.Infrastructure.dll` exist - Duplicate `PowerToys.ManagedTelemetry.dll` entry ### WinExe Projects (19 files removed): **Preview/Thumbnail Handlers (11 files):** All preview and thumbnail handler C# projects have `OutputType=WinExe` and only produce `.exe` files: - Removed `.dll` entries for: GcodePreviewHandler, MarkdownPreviewHandler, MonacoPreviewHandler, PdfPreviewHandler, QoiPreviewHandler, SvgPreviewHandler, GcodeThumbnailProvider, PdfThumbnailProvider, QoiThumbnailProvider, StlThumbnailProvider, SvgThumbnailProvider **Application Modules (8 files):** - `PowerToys.WorkspacesEditor.dll` and `PowerToys.WorkspacesLauncherUI.dll` - `PowerToys.Awake.dll` and `PowerToys.ImageResizer.dll` - `PowerToys.ColorPickerUI.dll` and `PowerToys.PowerOCR.dll` - `PowerToys.PowerAccent.dll` and `PowerToys.PowerLauncher.dll` ## Verification All removed entries were verified by: 1. Checking project files for `OutputType` and `ConfigurationType` settings 2. Confirming `AssemblyName` and `TargetName` properties 3. Ensuring no actual built artifacts are affected The signing process should now successfully find all expected files and eliminate the "0 files out of: 0 files" pattern. Fixes #40240. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey.alchemer.com/s3/8343779/Copilot-Coding-agent) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vanzue <69313318+vanzue@users.noreply.github.com>
2025-07-04 09:50:22 +08:00
Cmdpal: Fix cmdpal toolkit restore failure for slnx in release pipeline (#44152) <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Error from pipeline: Invalid input 'PowerToys.slnx'. The file type was not recognized. MSBuild version 17.14.23+b0019275e for .NET Framework Build started 12/8/2025 6:33:14 AM. Nuget support for slnx will be ready in nuget version 7, so use msbuild to restore <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx <!-- - [ ] Closes: #yyy (add separate lines for additional resolved issues) --> - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed <img width="606" height="681" alt="image" src="https://github.com/user-attachments/assets/ca0486a7-0c07-4fad-a81e-b98767ea8005" />
2025-12-09 14:22:18 +08:00
"boost_regex-vc143-mt-gd-x32-1_87.dll",
"boost_regex-vc143-mt-gd-x64-1_87.dll",
"boost_regex-vc143-mt-x32-1_87.dll",
"boost_regex-vc143-mt-x64-1_87.dll",
"UnitsNet.dll",
"UtfUnknown.dll",
"Wpf.Ui.dll"
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-17 18:15:31 -08:00
],
"SigningInfo": {
"Operations": [
{
"KeyCode": "CP-231522",
"OperationSetCode": "SigntoolSign",
"Parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "FileDigest",
"parameterValue": "/fd \"SHA256\""
},
{
"parameterName": "Append",
"parameterValue": "/as"
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
}
],
"ToolName": "sign",
"ToolVersion": "1.0"
},
{
"KeyCode": "CP-231522",
"OperationSetCode": "SigntoolVerify",
"Parameters": [],
"ToolName": "sign",
"ToolVersion": "1.0"
}
]
}
}
]
}