Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into fix-21708
Browse files Browse the repository at this point in the history
  • Loading branch information
devanathan-vaithiyanathan committed Jan 27, 2025
2 parents f0c4e33 + 4504a68 commit 1be81e1
Show file tree
Hide file tree
Showing 3,844 changed files with 13,182 additions and 203,661 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
"version": "9.0.0-prerelease.24575.3",
"version": "9.0.0-prerelease.25064.5",
"commands": [
"xharness"
]
Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ body:
label: Version with bug
description: In what version do you see this issue? Run `dotnet workload list` to find your version.
options:
- 9.0.30 SR3
- 9.0.22 SR2.2
- 9.0.21 SR2.1
- 9.0.14 SR1.4
- 9.0.12 SR1.2
Expand Down Expand Up @@ -156,6 +158,8 @@ body:
- 9.0.12 SR1.2
- 9.0.14 SR1.4
- 9.0.21 SR2.1
- 9.0.22 SR2.2
- 9.0.30 SR3
validations:
required: true
- type: dropdown
Expand Down
41 changes: 41 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->

## Security

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).

If you prefer to submit without logging in, send email to [[email protected]](mailto:[email protected]). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
* Full paths of source file(s) related to the manifestation of the issue
* The location of the affected source code (tag/branch/commit or direct URL)
* Any special configuration required to reproduce the issue
* Step-by-step instructions to reproduce the issue
* Proof-of-concept or exploit code (if possible)
* Impact of the issue, including how an attacker might exploit the issue

This information will help us triage your report more quickly.

If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.

## Preferred Languages

We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).

<!-- END MICROSOFT SECURITY.MD BLOCK -->
3 changes: 3 additions & 0 deletions .github/policies/resourceManagement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,9 @@ configuration:
- isActivitySender:
user: jfversluis
issueAuthor: False
- isActivitySender:
user: tj-devel709
issueAuthor: False
then:
- addLabel:
label: s/triaged
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/add-remove-label-check-suites.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# When all check suites are completed successfully, the workflow adds a label to the pull request.
# When a new check suite is requested (or rerequested), the workflow removes the label from the pull request.
name: Manage Label on Check Suites

on:
check_suite:
types: [completed, requested, rerequested]

jobs:
add-label:
if: github.event.action == 'completed'
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Check if all check suites are successful
id: check_suites
uses: actions/github-script@v6
with:
script: |
const { data: checkSuites } = await github.checks.listSuitesForRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: context.payload.check_suite.head_sha,
});
const allSuccessful = checkSuites.check_suites.every(
suite => suite.conclusion === 'success' || suite.conclusion === 'skipped');
if (allSuccessful) {
return { success: true };
} else {
return { success: false };
}
- name: Add label if all check suites are successful
if: steps.check_suites.outputs.success == 'true'
uses: actions/github-script@v6
with:
script: |
const pullRequest = context.payload.check_suite.pull_requests[0];
if (pullRequest) {
github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pullRequest.number,
labels: 'all-checks-passed',
});
}
remove-label:
if: github.event.action == 'requested' || github.event.action == 'rerequested'
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Remove label when check suite is triggered or re-requested
uses: actions/github-script@v6
with:
script: |
const pullRequest = context.payload.check_suite.pull_requests[0];
if (pullRequest) {
github.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pullRequest.number,
name: 'all-checks-passed',
});
}
2 changes: 1 addition & 1 deletion .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ jobs:
node-version: "18"
- run: npm install -g cspell
name: Install cSpell
- run: cspell --config ./cSpell.json "docs/**/*.md" --no-progress
- run: cspell --config ./eng/automation/cspell/cSpell.json "docs/**/*.md" --no-progress
name: Run cSpell
2 changes: 1 addition & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<add key="skiasharp" value="https://pkgs.dev.azure.com/xamarin/public/_packaging/SkiaSharp/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
<!-- Added manually for .NET 8 MAUI -->
<!-- Added manually for .NET 8 MAUI -->
<add key="darc-pub-dotnet-maui-a33a875e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-maui-a33a875e/nuget/v3/index.json" />
</packageSources>
<activePackageSource>
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

## Overview

.NET Multi-platform App UI (.NET MAUI) is the evolution of Xamarin.Forms that expands capabilities beyond mobile Android and iOS into desktop apps for Windows and macOS. With .NET MAUI, you can build apps that perform great for any device that runs Windows, macOS, Android, & iOS from a single codebase. Coupled with Visual Studio productivity tools and emulators, .NET and Visual Studio significantly speed up the development process for building apps that target the widest possible set of devices. Use a single development stack that supports the best of breed solutions for all modern workloads with a unified SDK, base class libraries, and toolchain. [Read More](https://docs.microsoft.com/dotnet/maui/what-is-maui)
.NET Multi-platform App UI (.NET MAUI) is the evolution of Xamarin.Forms that expand capabilities beyond mobile Android and iOS into desktop apps for Windows and macOS. With .NET MAUI, you can build apps that perform great on any device that runs Windows, macOS, Android, & iOS from a single codebase. Coupled with Visual Studio productivity tools and emulators, .NET and Visual Studio significantly speed up the development process for building apps that target the widest possible set of devices. Use a single development stack that supports the best-of-breed solutions for all modern workloads with a unified SDK, base class libraries, and a toolchain. [Read More](https://docs.microsoft.com/dotnet/maui/what-is-maui)

![.NET MAUI Weather App on all platforms](Assets/maui-weather-hero-sm.png)

Expand All @@ -26,7 +26,7 @@ Follow the [.NET MAUI Blog](https://devblogs.microsoft.com/dotnet/category/net-m

## FAQs

Do you have questions? Do not worry, we have prepared a complete [FAQ](https://github.com/dotnet/maui/wiki/FAQs) answering the most common questions.
Do you have questions? Do not worry; we have prepared a complete [FAQ](https://github.com/dotnet/maui/wiki/FAQs) answering the most common questions.

## How to Engage, Contribute, and Give Feedback

Expand Down
37 changes: 0 additions & 37 deletions SECURITY.md

This file was deleted.

26 changes: 13 additions & 13 deletions docs/CodeDocumentationGuidelines.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
# Code Documentation Guidelines

In this document you will find the guidelines for adding XML comments to our codebase. By adding consistent and well-formatted comments to our code we benefit on all fronts: the online API docs are a useful reference for people looking up our APIs, the IntelliSense inside of Visual Studio will help developers understand our product better, and contributors and maintainers of this repository will have all the documentation at hand.
In this document you will find the guidelines for adding XML comments to our codebase. By adding consistent and well-formatted comments to our code, we benefit on all fronts: the online API docs are a useful reference for people looking up our APIs, the IntelliSense inside of Visual Studio will help developers understand our product better, and contributors and maintainers of this repository will have all the documentation at hand.

## Guidelines

For what kind of comments to our code we mainly follow the [recommended XML tags documentation](https://learn.microsoft.com/dotnet/csharp/language-reference/xmldoc/recommended-tags) by Microsoft. This is also what is best supported by Visual Studio. As a rule of thumb: complete your code first and just start typing a triple slash (`///`) above your code. That will suggest all the attributes that we want to see. Which attributes will show up is inferred from your code.
For comments on our code, we primarily follow the [recommended XML tags documentation](https://learn.microsoft.com/dotnet/csharp/language-reference/xmldoc/recommended-tags) by Microsoft. These tags are also best supported by Visual Studio. As a rule of thumb, complete your code first and just start typing a triple slash (`///`) above your code. This will suggest all the attributes we expect to see. The attributes that appear are inferred from your code.

If you're unsure about how to document a certain element, have a look the [.NET API docs wiki](https://github.com/dotnet/dotnet-api-docs/wiki) which has a very extensive description on what kind of comment to add on which element in the code. We would highly recommend going through that and applying the same style of comments everywhere.
If you're unsure about how to document a certain element, have a look at the [.NET API docs wiki](https://github.com/dotnet/dotnet-api-docs/wiki) which has a very extensive description of what kind of comment to add on which element in the code. We would highly recommend going through that and applying the same style of comments everywhere.

These are the tags that we would like to see when applicable: `<summary>`, `<remarks>`, `<returns>`, `<param>`, `<exception>`, `<inheritdoc>`, `<see>`, `<c>`.

* All public members should have at the very least a `<summary>`
* Add "This is a bindable property." to the end of the summary of the regular C# properties that are bindable properties.
* Keep the descriptions short and concise
* 1-2 lines typically, no screenshots or long code-blocks (those belong in the conceptual docs)
* 1-2 lines typically, no screenshots or long code blocks (those belong in the conceptual docs)
* Make sure the spelling is correct
* Add the descriptions at the highest base class/interface level. On an implementing type add `<inheritdoc/>` on each member
* If the implemented member differs too much you can choose to override the comments; typically this shouldn't be necessary
* Add the descriptions at the highest base class/interface level. On an implementing type, add `<inheritdoc/>` on each member
* If the implemented member differs too much, you can choose to override the comments; typically this shouldn't be necessary
* When adding `<inheritdoc/>` on a class where you want to inherit the comments from an interface, you will have to be explicit about which interface to inherit from. Even if the class only implements one interface. For example: `<inheritdoc cref="IEntry"/>` will inherit the comments from the `IEntry` interface.
* Do **not** add `<inheritdoc/>` to overridden members, this will potentially cause issues in the online API docs system and doesn't add any value. The documentation is inherited implicitly.
* Where applicable make references to other types and parameters with the appropriate tags (`<see cref="YourType"/>` and `<paramref name="parameterName"/>` respectively). This will create links in IntelliSense and online API docs
* Reference all C# keywords with a `<see langword="keyword"/>` tag. For example for `true`: `<see langword="true"/>`
* If you do want to add a minimal amount of code in your comment, use the `<c></c>` tags which formats it as code
* Do **not** add `<inheritdoc/>` to overridden members; this will potentially cause issues in the online API docs system and doesn't add any value. The documentation is inherited implicitly.
* Where applicable, make references to other types and parameters with the appropriate tags (`<see cref="YourType"/>` and `<paramref name="parameterName"/>` respectively). This will create links in IntelliSense and online API docs
* Reference all C# keywords with a `<see langword="keyword"/>` tag. For example, for `true`: `<see langword="true"/>`
* If you do want to add a minimal amount of code in your comment, use the `<c></c>` tags, which format it as code
* Think of things you'd like to know as a developer/future-you maintainer:
* default values that are not obvious
* in which scale a value should be (seconds or milliseconds, 0.0 is nothing 1.0 is everything)
* what exceptions can you expect and what triggers them
* what exceptions can you expect, and what triggers them?

If you are looking for examples, browse through the codebase, searching for the `<summary>` tag or `///` should give you all kinds of examples.
If you are looking for examples, browsing through the codebase, searching for the `<summary>` tag or `///` should give you all kinds of examples.

## "Testing" the documentation

You can "test" the docs by simply hovering over the type in Visual Studio. The IntelliSense updates should be instantaneous when you have edited something. See image below for an example.
You can "test" the docs by simply hovering over the type in Visual Studio. The IntelliSense updates should be instantaneous when you have edited something. See the image below for an example.

![Partial screenshot of the Visual Studio text editor showing comments being edited and changes immediately showing up in the tooltip of the relevant type.](assets/EditingDocumentationVisualStudio.png)
Loading

0 comments on commit 1be81e1

Please sign in to comment.