This PR prepares the WASDK branch for the 1.3.0 release.
----
#### AI description (iteration 1)
#### PR Classification
Documentation update
#### PR Summary
This pull request updates the release notes and dependencies for the Win2D-WinUI 1.3.0 release.
- Updated `CHANGELOG.md` with release notes for version 1.3.0.
- Updated `WindowsAppSdkVersion` in `build/WindowsAppSdk.common.props` and related package files.
- Updated `winrt.projection.csproj` to version 1.3.0 and lowered `WindowsSdkPackageVersion`.
- Updated `Microsoft.Windows.CSWinRT` version in multiple project files.
- Deleted `build/nuget/VERSION-PRERELEASE`.
This PR makes the WASDK branch build again, with the following changes:
- Bump the SDK back up to 22000 (we need this due to us depending on `LoadLibrary`)
- Add missing `WindowsSdkPackageVersion` properties
- Add explicit `WebView2` dependencies to fix errors due to missing .winmd files
----
#### AI description (iteration 1)
#### PR Classification
Bug fix to resolve build errors in the WinAppSDK branch.
#### PR Summary
This pull request addresses build errors by updating target framework versions and adding necessary package references.
- Updated `TargetFramework` and `WindowsSdkPackageVersion` in multiple project files (`.csproj`, `.vcxproj`, `.props`, `.nuspec`) to `10.0.22000.0`.
- Added `Microsoft.Web.WebView2` package reference in several project files (`.csproj`, `.vcxproj`, `packages.config`).
- Adjusted `TargetDeviceFamily` versions in `Package.appxmanifest` to `10.0.0.0`.
Win2D has a test UWP that's uses a test certificate for signing. We can't have PFX's checked in to repos anymore.
This solution generates the PFX on the fly via the same way WinUI Gallery does: https://dev.azure.com/microsoft/WinUI/_git/WinUI-Gallery-Mirror?path=/build/GenerateTestPfx.ps1&version=GBmain
What's changed:
1. Removed TemoporaryKey.pfx.
2. Updated .gitignore to latest version from GitHub so no one accidentally checks in the pfx.
3. Add a script to generate the pfx.
4. Update build pipeline to call script prior to building project.
Note: we probably need to communicate this script needs to be run once in order to do development in Win2D.
----
#### AI description (iteration 1)
#### PR Classification
Code cleanup to comply with security policies by removing exposed secrets.
#### PR Summary
This pull request removes a PFX file from the Win2D project to comply with KPI [SFI-ES3.3.1] regarding exposed secrets.
- `.gitignore`: Updated to include various new patterns and exclude sensitive files like `.pfx`.
- `build/AzurePipelinesTemplates/Win2D-ParallelBuild-Steps.yml`: Added a step to generate a test signing certificate.
- `build/GenerateTestPfx.ps1`: Added a new script to generate a self-signed certificate for testing purposes.
This PR bumps all dependencies to the latest stable releases. Includes WASDK 1.6 stable.
----
#### AI description (iteration 1)
#### PR Classification
Dependency update
#### PR Summary
This pull request updates various NuGet dependencies and adjusts target framework versions.
- `Microsoft.Graphics.Win2D.nuspec`: Updated `Microsoft.WindowsAppSDK` version and adjusted target framework versions.
- `winrt.test.nativecomponent.projection.csproj`: Updated target framework and `Microsoft.Windows.CsWinRT` version.
- `Package.appxmanifest`: Adjusted `MaxVersionTested` for `TargetDeviceFamily`.
- `winrt.test.managed.winappsdk.csproj`: Updated target framework and `Microsoft.Windows.CsWinRT` version.
- `CHANGELOG.md`: Updated to reflect the new `WindowsAppSDK` version.
This PR fixes build errors due to obsolete operators in the test projects.
Port of !32669.
----
#### AI description (iteration 1)
#### PR Classification
Porting changes from a previous pull request.
#### PR Summary
This pull request ports changes from PR #32669, primarily addressing preprocessor definitions to suppress deprecation warnings.
- Modified `winrt/test.external/winrt.test.external.uap.vcxproj` to add `_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING` to preprocessor definitions.
- Modified `winrt/test.internal/winrt.test.internal.uap.vcxproj` to add `_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING` to preprocessor definitions.
This PR improves the .NET projections for WinAppSDK:
- Bump CsWinRT and the Windows SDK projections
- Include the XML docs for the projections
----
#### AI description (iteration 1)
#### PR Classification
Dependency update
#### PR Summary
This pull request updates the .NET projections by upgrading package versions and adding new files for better compatibility and functionality.
- `winrt.projection.csproj`: Updated `WindowsSdkPackageVersion` to `10.0.22000.38` and `Microsoft.Windows.CSWinRT` to `2.1.1`.
- `winrt.test.managed.winappsdk.csproj`: Updated `Microsoft.Windows.CsWinRT` to `2.1.1`.
- `winrt.test.nativecomponent.projection.csproj`: Updated `WindowsSdkPackageVersion` to `10.0.22621.38` and `Microsoft.Windows.CsWinRT` to `2.1.1`.
- `Microsoft.Graphics.Win2D.nuspec`: Added a new file `Microsoft.Graphics.Canvas.Interop.xml` for `net6.0-windows10.0.22621.0`.
Rather than pulling directly from nuget.org, the build will now pull from a managed public nuget feed. The new nuget feed still upstreams to nuget.org and caches any package pulled from nuget.org. The major difference in operation is that the first time that a new package or version is pulled from an upstream source, it requires authentication by a Microsoft employee.
----
#### AI description (iteration 1)
#### PR Classification
Code cleanup to move Win2D.winappsdk to a compliant NuGet feed.
#### PR Summary
This pull request updates the NuGet feed configuration to use a compliant feed for Win2D.winappsdk and refactors related build scripts.
- `build/AzurePipelinesTemplates/Win2D-ParallelBuild-Steps.yml`: Updated NuGet restore and authentication steps, removed redundant configurations.
- `nuget.config`: Replaced old feed with `Win2D-Dependencies` and cleaned up disabled package sources.
- Deleted `build/nuget/azure_pipelines_nuget.config`: Removed obsolete NuGet configuration file.
This PR prepares the 1.2.1-experimental2 release:
- Update all SDK projections, CsWinRT dependencies
- Update the changelog
- Bump the version suffix to 'experimental2'
> **NOTE:** keeping WASDK at 1.6-experimental1 due to issues with the WebView2 split, we can do that as a follow up.
This PR cherry-picks !25872 into the WinAppSDK branch. Same exact changes, minus resolving merge conflicts.
---
This PR removes all leftover Windows 8.1 and Windows Phone code:
- Assumes `WINVER > _WIN32_WINNT_WINBLUE` is always true and removes all conditions
- Assumes `WINVER >= _WIN32_WINNT_WIN10` is always true and removes all conditions
- Removes all leftover conditions for `USE_LOCALLY_EMULATED_UAP_APIS` (Windows 8.1 only)
- Removes all `WINDOWS_PHONE` conditions as they're always not defined
- Removes a couple of empty files after the changes above
Reenable CanvasAnimatedControl for WinUI3.
This mostly involved changing CoreDispatcher over to DispatcherQueue. This has some caveats as the game thread was relying on receiving the Completed event for the IAsyncAction that is returned by CoreDispatcher.RunAsync, but the equivalent DispatcherQueue.TryEnqueue returns void. To work around this, we wrap the callback in an IAsyncAction, which then gets manually called and fires a completion event as part of the Callback that is passed to the DispatcherQueue.
This change also reenables the CanvasAnimatedControl tests (minus a few that did not survive the port to WinUI3) and removes the CANVAS_ANIMATED_CONTROL_IS_ENABLED macro.
Fixes:
```
Error : PoliCheck detected dubious verbiage
winrt/lib/utils/ResourceWrapper.h: 'special needs' - // outer_inspectable_t is a typedef so it can be customized by types with special needs (eg. CanvasBitmap).
```
This just made the release CI fail 🤦♂️
Update WinAppSDK to 1.6.240531000-experimental1 and CsWinRT to 2.1.0-prerelease.240602.1
This change updates TargetPlatformVersion and TargetFramework version from 19041 to 22000. In WinAppSDK, the experimental channel uses 22000 instead of 19041, for reasons related to stripping out experimental APIs. When WinAppSDK 1.6 stable releases, it will drop back to 19041. Win2D will also drop back down to 19041 for the stable release.
Previously only ms-appx and ms-appsdata URIs were allowed when specifying a font family. Since those do not work in unpackaged applications, this change allows file:// URIs to be passed in.
Win2D updated its TargetPlatformVersion and TargetFrameworkVersion to 22621 ahead of WinAppSDK, which is still at 19041. This meant that any apps using the WinUI3 Visual Studio templates would not build out of the box when adding the Win2D nuget package.
This change rolls back to 19041, which we expect will not break any scenarios for existing customers who have already updated to 22621.
Update your YAML NuGetAuthenticate@0 references by 1/31/2024 **by completing this PR**.
## Why
The Azure DevOps team will remove the NuGetAuthenticate@0 task in Azure DevOps Marketplace after January 31st, 2024. This task is used to authenticate with NuGet feeds in Azure Artifacts or other external sources.
If you use this task in any Azure DevOps YAML pipelines, you will need to update it to NuGetAuthenticate@1. This deprecation applies to all Azure DevOps Pipelines and is not specific to your org.
Failure to update these references could result in pipeline instability and interruption to your team's productivity.
**Action Required**: Please review the changes in this PR and merge it to your default branch. If you have other active branches (such as release branches) that use the old task, you will need to cherry-pick this change to update them as well.
---
For feedback or questions about this PR, please find the contact information in the above description. If none exists, please contact the [Gardener team](mailto:gardener@microsoft.com) to help route.
---
This change was automatically generated by [1ES Gardener](https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/gardener/1es-gardener) (a [MerlinBot](https://aka.ms/MerlinBot) extension) which is an initiative by the 1ES team to help repos stay up-to-date with latest tools, features, and best practices.
A misnamed PAT and an expiring tool were blocking pipeline builds. The expiring tool warning came from OneBranch updating our tools, and it has been suppressed for now, but need to be fixed before it is no longer supported.
This PR bumps the following deps:
- WinAppSDK to 1.4.231008000
- Windows SDK to 10.0.22621.31
- CsWinRT to 2.0.4
> **NOTE**: all of these updates are to patch versions (no major/minor version changes)
Introduces two new Win2D build scripts:
- Win2D-Buddy
- Used for continuous integration pipeline and pull requests
- Win2D-Official
- Used for official releases, includes code signing
For now, the nightly pipeline has been removed, and will be re-added later.
Merged PR !28335.
This PR includes a few fixes to the published interop header:
- Adds the include for `d2d1_1.h`, which fixes build errors for C++ consumers (D2D types were missing)
- Removes the unnecessary D2D interface forward declaration (we just have the include now)
- Remove the unnecessary WRL include (it should only be included for C++/CX consumers)
- It was already included below, it was just accidentally duplicated at the top as well
This PR just bumps WinAppSDK to 1.4.230913002 (1.4.1), which was just released.
No CsWinRT update is available (2.0.3 is still the latest), so we just need to bump WinAppSDK.
This PR bumps WinAppSDK and CsWinRT to latest stable. Since the public release for the next Win2D version is taking a bit longer, might as well update all dependencies we have before shipping, so we're all up to date 😄
This change allows CanvasFontSets to be loaded from file:// URIs. This works around the problem where the previous implementation did not work in unpackaged applications.