Skip to content

Commit 4adf5a8

Browse files
committed
Merge branch 'main' into fix-18205
2 parents 9aa9385 + 5fc2590 commit 4adf5a8

File tree

798 files changed

+21657
-9400
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

798 files changed

+21657
-9400
lines changed

.github/CODEOWNERS

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1 @@
11
* @dotnet/dotnet-maui-reviewers
2-
3-
# Blazor Desktop
4-
/src/BlazorWebView/ @dotnet/dotnet-maui-blazor-eng
5-
/src/Templates/src/templates/maui-blazor/ @dotnet/dotnet-maui-blazor-eng
6-
/src/Templates/src/templates/maui-blazor-solution/ @dotnet/dotnet-maui-blazor-eng
7-
8-
# Localization
9-
/eng/automation/LocProject.json @tj-devel709
10-
**/localize/*.json @tj-devel709
11-
**/*.resx @tj-devel709
12-
**.*.resx.lcl @tj-devel709

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,12 @@ body:
4242
label: Version with bug
4343
description: In what version do you see this issue? Run `dotnet workload list` to find your version.
4444
options:
45+
- 10.0.0-preview.4
4546
- 10.0.0-preview.3
4647
- 10.0.0-preview.2
4748
- 10.0.0-preview.1
49+
- 9.0.70 SR7
50+
- 9.0.61 SR6.1
4851
- 9.0.60 SR6
4952
- 9.0.50 SR5
5053
- 9.0.40 SR4
@@ -169,9 +172,12 @@ body:
169172
- 9.0.40 SR4
170173
- 9.0.50 SR5
171174
- 9.0.60 SR6
175+
- 9.0.61 SR6.1
176+
- 9.0.70 SR7
172177
- 10.0.0-preview.1
173178
- 10.0.0-preview.2
174179
- 10.0.0-preview.3
180+
- 10.0.0-preview.4
175181
validations:
176182
required: true
177183
- type: dropdown

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
<!-- Please let the below note in for people that find this PR -->
2+
> [!NOTE]
3+
> Are you waiting for the changes in this PR to be merged?
4+
> It would be very helpful if you could [test the resulting artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from this PR and let us know in a comment if this change resolves your issue. Thank you!
5+
16
<!--
27
!!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!!
38
-->

.github/policies/resourceManagement.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,9 +375,6 @@ configuration:
375375
- isActivitySender:
376376
user: roubachof
377377
issueAuthor: False
378-
- isActivitySender:
379-
user: davidbritch
380-
issueAuthor: False
381378
then:
382379
- addLabel:
383380
label: i/great-reporter
@@ -557,16 +554,16 @@ configuration:
557554
label: "t/breaking \U0001F4A5"
558555
then:
559556
- addReply:
560-
reply: "\U0001F6A8 API change(s) detected @davidbritch FYI"
561-
description: Tag Dave Britch when a breaking change is tagged on an issue
557+
reply: "\U0001F6A8 API change(s) detected @davidortinau @rachelkang FYI"
558+
description: Tag David Ortinau and Rachel Kang when a breaking change is tagged on an issue
562559
- if:
563560
- payloadType: Pull_Request
564561
- labelAdded:
565562
label: "t/breaking \U0001F4A5"
566563
then:
567564
- addReply:
568-
reply: "\U0001F6A8 API change(s) detected @davidbritch FYI"
569-
description: Tag Dave Britch when a breaking change is tagged on an PR
565+
reply: "\U0001F6A8 API change(s) detected @davidortinau @rachelkang FYI"
566+
description: Tag David Ortinau and Rachel Kang when a breaking change is tagged on an PR
570567
- if:
571568
- payloadType: Issue_Comment
572569
- isIssue
Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Daily code format check
1+
name: Format Branch Code
22
on:
33
workflow_dispatch:
44
schedule:
@@ -11,11 +11,14 @@ permissions:
1111
jobs:
1212
dotnet-format:
1313
runs-on: windows-latest
14+
strategy:
15+
matrix:
16+
branch: [ main, net10.0, inflight/current ]
1417
steps:
1518
- name: Checkout repo
1619
uses: actions/checkout@v2
1720
with:
18-
ref: main
21+
ref: ${{ matrix.branch }}
1922

2023
- name: Setup .NET Core SDK
2124
uses: actions/setup-dotnet@v3.2.0
@@ -25,17 +28,10 @@ jobs:
2528
- name: Run dotnet format
2629
run: dotnet format .\Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822
2730

28-
- name: Commit files
29-
if: steps.format.outputs.has-changes == 'true'
30-
run: |
31-
git config --local user.name "github-actions[bot]"
32-
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
33-
git commit -a -m 'Automated dotnet-format update'
34-
3531
- name: Create Pull Request
3632
uses: dotnet/actions-create-pull-request@v4
3733
with:
38-
title: '[housekeeping] Automated PR to fix formatting errors'
34+
title: '[housekeeping] Automated PR to fix formatting errors on ${{ matrix.branch }}'
3935
body: |
4036
Automated PR to fix formatting errors
4137
committer: GitHub <noreply@github.com>
@@ -45,5 +41,5 @@ jobs:
4541
area-infrastructure
4642
assignees: rmarinho, jsuarezruiz
4743
reviewers: rmarinho, jsuarezruiz
48-
branch: housekeeping/fix-codeformatting
49-
base: main
44+
branch: housekeeping/fix-codeformatting/${{ matrix.branch }}
45+
base: ${{ matrix.branch }}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Format PR Code
2+
on:
3+
pull_request
4+
5+
permissions:
6+
pull-requests: write
7+
contents: write
8+
9+
jobs:
10+
dotnet-format:
11+
runs-on: windows-latest
12+
steps:
13+
- name: Checkout repo
14+
uses: actions/checkout@v4
15+
with:
16+
ref: ${{ github.event.pull_request.head.ref }}
17+
repository: ${{ github.event.pull_request.head.repo.full_name }}
18+
fetch-depth: 0
19+
20+
- name: Setup .NET Core SDK
21+
uses: actions/setup-dotnet@v3.2.0
22+
with:
23+
dotnet-version: 8.x
24+
25+
- name: Run dotnet format
26+
run: |
27+
dotnet format .\Microsoft.Maui.sln --no-restore --exclude Templates/src --exclude-diagnostics CA1822
28+
git diff
29+
30+
- name: Commit changes
31+
run: |
32+
git config --local user.name "github-actions[bot]"
33+
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com>"
34+
git add .
35+
git commit -m "[housekeeping] Automated PR to fix formatting errors on ${{ github.head_ref }}"
36+
37+
- name: Push changes to PR
38+
env:
39+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
40+
run: |
41+
git push origin HEAD:${{ github.event.pull_request.head.ref }}

build.cake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ PowerShell:
2929
//////////////////////////////////////////////////////////////////////
3030
#tool "nuget:?package=nuget.commandline&version=6.6.1"
3131

32+
3233
//////////////////////////////////////////////////////////////////////
3334
// ARGUMENTS
3435
//////////////////////////////////////////////////////////////////////

docs/CgManifest.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Component Governance Manifest (cgmanifest.json)
2+
3+
This document explains how to manage, update, and include the `cgmanifest.json` file in the MAUI project.
4+
5+
## What is cgmanifest.json?
6+
7+
The Component Governance Manifest (`cgmanifest.json`) is a file that lists all the third-party components used in the project. It helps with tracking dependencies and their versions for security and compliance purposes.
8+
9+
## Automatic Generation
10+
11+
The project includes scripts to automatically generate and update the `cgmanifest.json` file with package versions from the `Versions.props` file.
12+
13+
### Using Cake Build Script
14+
15+
Run the `GenerateCgManifest` task:
16+
17+
```bash
18+
dotnet tool resotre
19+
dotnet cake --target=GenerateCgManifest --workloads=global
20+
```
21+
22+
### Using Scripts Directly
23+
24+
You can also run the PowerShell script directly (works on both Windows and macOS/Linux):
25+
26+
```bash
27+
# On all platforms (Windows/macOS/Linux)
28+
pwsh -ExecutionPolicy Bypass -File ./eng/scripts/update-cgmanifest.ps1
29+
```
30+
31+
### MSBuild Integration
32+
33+
The `CgManifest.targets` file provides MSBuild integration.
34+
35+
#### Default Behavior
36+
37+
By default, the cgmanifest.json file is **always generated** during build, but it is **not included** in the NuGet package. This ensures the manifest is always up-to-date without affecting package contents.
38+
39+
#### Manual Generation
40+
41+
You can explicitly generate the manifest file:
42+
43+
```bash
44+
dotnet build -t:GenerateCgManifest
45+
```
46+
47+
#### Disabling Generation
48+
49+
If needed, you can temporarily disable the automatic generation:
50+
51+
```bash
52+
dotnet build -p:UpdateCgManifestBeforeBuild=false
53+
```
54+
55+
## Including CG Manifest in CI Builds
56+
57+
For CI builds where you want to include the cgmanifest.json in the package:
58+
59+
```bash
60+
dotnet build -p:GenerateCgManifest=true
61+
```
62+
OR
63+
```bash
64+
dotnet pack -p:GenerateCgManifest=true
65+
```
66+
67+
This will:
68+
1. Generate the cgmanifest.json file (happens by default)
69+
2. Include it in the package (for Template projects)
70+
71+
### Azure DevOps Pipeline
72+
73+
Add the following step to your YAML pipeline to include the cgmanifest.json file in the package:
74+
75+
```yaml
76+
- task: DotNetCoreCLI@2
77+
displayName: 'Pack with CG Manifest'
78+
inputs:
79+
command: 'pack'
80+
packagesToPack: 'src/Templates/src/Microsoft.Maui.Templates.csproj'
81+
packDirectory: '$(Build.ArtifactStagingDirectory)/nuget'
82+
arguments: '-p:GenerateCgManifest=true'
83+
```
84+
85+
### GitHub Actions
86+
87+
For GitHub Actions workflows, add this step:
88+
89+
```yaml
90+
- name: Pack with CG Manifest
91+
run: dotnet pack src/Templates/src/Microsoft.Maui.Templates.csproj -p:GenerateCgManifest=true -o $GITHUB_WORKSPACE/artifacts/nuget
92+
```
93+
94+
## Customizing Package Mappings
95+
96+
To add or modify package mappings, edit the PowerShell script: `eng/scripts/update-cgmanifest.ps1` (look for `$packageVersionMappings` hashtable).
97+
98+
## Special Handling for Multiple Versions
99+
100+
The script has special handling for packages that need multiple versions to be included in the manifest:
101+
102+
- **CommunityToolkit.Maui**: Both the current version (`CommunityToolkitMauiPackageVersion`) and previous version (`CommunityToolkitMauiPreviousPackageVersion`) from `Versions.props` are included.
103+
104+
To add similar handling for other packages, modify the script to add special case handling like that implemented for CommunityToolkit.Maui.
105+
106+
## Manual Updates
107+
108+
If you need to manually add packages that aren't in `Versions.props`, you can edit the `cgmanifest.json` file directly. The update scripts preserve manually added entries and only update versions for packages it knows about.
109+
110+
## Verifying the Package
111+
112+
To verify that the cgmanifest.json file is included in the package:
113+
114+
```bash
115+
# On macOS/Linux
116+
find ./artifacts/packages -name "Microsoft.Maui.Templates*.nupkg" | xargs -I{} unzip -l {} | grep cgmanifest.json
117+
118+
# On Windows
119+
foreach ($pkg in (Get-ChildItem -Path ./artifacts/packages -Filter "Microsoft.Maui.Templates*.nupkg")) {
120+
Add-Type -AssemblyName System.IO.Compression.FileSystem
121+
$zip = [System.IO.Compression.ZipFile]::OpenRead($pkg.FullName)
122+
$zip.Entries | Where-Object { $_.Name -eq "cgmanifest.json" -or $_.FullName -like "*cgmanifest.json" }
123+
$zip.Dispose()
124+
}
125+
```

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The table below outlines the different docs in this folder and what they are hel
1010

1111
| Documentation | What is it about? | Who is it for? |
1212
|----------------------|---------------------|---------------------|
13+
| [CG Manifest](CgManifest.md) | Guide to Component Governance manifest generation and management | Contributors who need to manage third-party dependencies or include CG manifest in packages |
1314
| [Code Documentation Guidelines](CodeDocumentationGuidelines.md) | Overview of the guidelines for the inline code documentation | Community members and collaborators looking to understand how to add good inline code comments that fuel our IntelliSense and online API docs |
1415
| [Issue management](IssueManagementPolicies.md) | Overview of policies in place to manage issues| Community members and collaborators looking to understand how we handle closed issues, issues that need author feedback, etc. |
1516
| [Release Schedule](ReleaseSchedule.md) | Overview of .NET MAUI version releases | Anyone who is interested in .NET MAUI versions and release dates |

eng/AndroidX.targets

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,55 @@
22
<ItemGroup>
33
<PackageReference
44
Update="Xamarin.AndroidX.AppCompat.AppCompatResources"
5-
Version="1.7.0.5"
5+
Version="1.7.0.6"
66
/>
77
<PackageReference
88
Update="Xamarin.AndroidX.Browser"
9-
Version="1.8.0.8"
9+
Version="1.8.0.9"
1010
/>
1111
<PackageReference
1212
Update="Xamarin.AndroidX.SwipeRefreshLayout"
13-
Version="1.1.0.24"
13+
Version="1.1.0.27"
1414
/>
1515
<PackageReference
1616
Update="Xamarin.AndroidX.Lifecycle.LiveData"
17-
Version="2.8.7.2"
17+
Version="2.8.7.3"
1818
/>
1919
<PackageReference
2020
Update="Xamarin.AndroidX.Navigation.UI"
21-
Version="2.8.5.1"
21+
Version="2.8.9.1"
2222
/>
2323
<PackageReference
2424
Update="Xamarin.AndroidX.Navigation.Fragment"
25-
Version="2.8.5.1"
25+
Version="2.8.9.1"
2626
/>
2727
<PackageReference
2828
Update="Xamarin.AndroidX.Navigation.Runtime"
29-
Version="2.8.5.1"
29+
Version="2.8.9.1"
3030
/>
3131
<PackageReference
3232
Update="Xamarin.AndroidX.Navigation.Common"
33-
Version="2.8.5.1"
33+
Version="2.8.9.1"
3434
/>
3535
<PackageReference
3636
Update="Xamarin.AndroidX.MediaRouter"
37-
Version="1.7.0.8"
37+
Version="1.7.0.9"
3838
/>
3939
<PackageReference
4040
Update="Xamarin.AndroidX.Palette"
41-
Version="1.0.0.31"
41+
Version="1.0.0.32"
4242
/>
4343
<PackageReference
4444
Update="Xamarin.AndroidX.RecyclerView"
45-
Version="1.3.2.10"
45+
Version="1.4.0.1"
4646
/>
4747
<PackageReference
4848
Update="Xamarin.Build.Download"
4949
Version="0.11.4"
5050
/>
5151
<PackageReference
5252
Update="Xamarin.Google.Android.Material"
53-
Version="1.12.0.2"
53+
Version="1.12.0.3"
5454
/>
5555
<PackageReference
5656
Update="Xamarin.AndroidX.Migration"
@@ -59,7 +59,7 @@
5959
/>
6060
<PackageReference
6161
Update="Xamarin.AndroidX.Window.WindowJava"
62-
Version="1.3.0.5"
62+
Version="1.3.0.6"
6363
/>
6464
</ItemGroup>
6565
</Project>

0 commit comments

Comments
 (0)