Skip to content

Merge main into live#54007

Open
dotnet-policy-service[bot] wants to merge 6 commits into
livefrom
main
Open

Merge main into live#54007
dotnet-policy-service[bot] wants to merge 6 commits into
livefrom
main

Conversation

@dotnet-policy-service
Copy link
Copy Markdown
Contributor

@dotnet-policy-service dotnet-policy-service Bot commented May 24, 2026

Please don't squash-merge this PR.


Internal previews

Toggle expand/collapse
📄 File 🔗 Preview link
docs/core/compatibility/sdk/6.0/csharp-template-code.md C# code in templates not supported by earlier versions
docs/core/extensions/windows-service.md Create Windows Service using BackgroundService
docs/core/project-sdk/msbuild-props.md MSBuild reference for .NET SDK projects
docs/core/whats-new/dotnet-5.md docs/core/whats-new/dotnet-5
docs/core/whats-new/dotnet-core-3-0.md What's new in .NET Core 3.0
docs/csharp/advanced-topics/update-applications/nullable-migration-strategies.md Nullable migration strategies
docs/csharp/fundamentals/null-safety/index.md "Null safety in C#"
docs/csharp/fundamentals/null-safety/null-operators.md C# null operators
docs/csharp/fundamentals/null-safety/nullable-reference-types.md docs/csharp/fundamentals/null-safety/nullable-reference-types
docs/csharp/fundamentals/null-safety/nullable-value-types.md Nullable value types: C# Fundamentals
docs/csharp/fundamentals/null-safety/resolve-warnings.md Resolve nullable warnings
docs/csharp/fundamentals/strings/index.md "Strings in C#"
docs/csharp/fundamentals/tutorials/nullable-reference-types.md Tutorial: Express your design intent with nullable and non-nullable reference types
docs/csharp/language-reference/attributes/nullable-analysis.md docs/csharp/language-reference/attributes/nullable-analysis
docs/csharp/language-reference/builtin-types/arrays.md Arrays
docs/csharp/language-reference/builtin-types/nullable-reference-types.md "Nullable reference types"
docs/csharp/language-reference/compiler-messages/interface-implementation-errors.md Resolve errors and warnings related to members that implement an interface
docs/csharp/language-reference/compiler-messages/nullable-warnings.md Nullable reference type warnings
docs/csharp/language-reference/compiler-options/language.md "Compiler Options - language feature rules"
docs/csharp/language-reference/keywords/where-generic-type-constraint.md where (generic type constraint) (C# Reference)
docs/csharp/language-reference/operators/nameof.md docs/csharp/language-reference/operators/nameof
docs/csharp/language-reference/operators/null-forgiving.md ! (null-forgiving) operator (C# reference)
docs/csharp/toc.yml Taken from https://github.com/dotnet/roslyn/wiki/Samples-and-Walkthroughs
docs/csharp/tour-of-csharp/tips-for-java-developers.md Tips for Java Developers
docs/csharp/tour-of-csharp/tips-for-javascript-developers.md Roadmap for JavaScript and TypeScript developers learning C#
docs/csharp/tour-of-csharp/tips-for-python-developers.md Python
docs/framework/debug-trace-profile/code-contracts.md docs/framework/debug-trace-profile/code-contracts
docs/fundamentals/code-analysis/style-rules/ide0370.md Remove unnecessary suppression (IDE0370)
docs/fundamentals/syslib-diagnostics/syslib1026.md SYSLIB1026 error
docs/machine-learning/how-to-guides/save-load-machine-learning-models-ml-net.md Save and load trained models

Note

This table shows preview links for the 30 files with the most changes. For preview links for other files in this PR, select OpenPublishing.Build Details within checks.

@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@dotnetrepoman dotnetrepoman Bot added this to the May 2026 milestone May 24, 2026
BillWagner and others added 5 commits May 26, 2026 09:35
* Complete Phase 1.

1. `fundamentals/null-safety/nullable-reference-types.md` — apply `template-concept.md`. Body from [docs/csharp/nullable-references.md](docs/csharp/nullable-references.md), with conceptual prose lifted from the existing tutorial. 4-tier audience tip, `ms.topic: concept-article`, `ai-usage: ai-assisted`. All code via `:::code:::` snippet refs.
2. `fundamentals/null-safety/resolve-warnings.md` — concept article. Pull "Understand contexts and warnings" / "Address warnings" / "Enable type annotations" / "Attributes extend type annotations" sections from [docs/csharp/nullable-migration-strategies.md](docs/csharp/nullable-migration-strategies.md). Frame as **5 resolution techniques** with worked examples (NOT a per-CS86xx catalog). Cross-link to [docs/csharp/language-reference/compiler-messages/nullable-warnings.md](docs/csharp/language-reference/compiler-messages/nullable-warnings.md) for per-warning lookup.
3. `fundamentals/null-safety/migration-strategies.md` — concept article. Pull "Plan your migration" / "Next steps" / intro from [docs/csharp/nullable-migration-strategies.md](docs/csharp/nullable-migration-strategies.md). Cover the four default-context strategies and recommended phased order.

* Phase 2: tutorial

4. `fundamentals/tutorials/nullable-reference-types.md` — apply `template-tutorial.md`. Source: [docs/csharp/tutorials/nullable-reference-types.md](docs/csharp/tutorials/nullable-reference-types.md). Restructure to template (checklist, Prerequisites, numbered task H2s, "Get the code", "Next step"). Trim concept-duplicating prose; replace with cross-links.

* Phase 3: Snippets

. New snippet projects under `docs/csharp/fundamentals/null-safety/snippets/{nullable-reference-types,resolve-warnings,migration-strategies}/`. Each minimal `.csproj`, `<Nullable>enable</Nullable>`, latest TFM. Build + execute per docs `copilot-instructions.md`.
6. Move `docs/csharp/tutorials/snippets/NullableIntroduction/` → `docs/csharp/fundamentals/tutorials/snippets/NullableIntroduction/`. Update tutorial `:::code:::` source paths.

* Phase 4: TOC, redirects, deletes

[docs/csharp/toc.yml](docs/csharp/toc.yml): remove lines 205–206 (legacy tutorial) and 293–296 (legacy concepts); add 4 new entries inside the `Null safety` node from PR 8.
8. [.openpublishing.redirection.csharp.json](.openpublishing.redirection.csharp.json): add 3 new redirects (alphabetical insertion); repoint existing redirects on lines 3126, 5389, 5447 (currently target `/dotnet/csharp/nullable-migration-strategies`) to new fundamentals URL to avoid chains. Run `sort-redirects` skill.
9. Delete [docs/csharp/nullable-references.md](docs/csharp/nullable-references.md), [docs/csharp/nullable-migration-strategies.md](docs/csharp/nullable-migration-strategies.md), [docs/csharp/tutorials/nullable-reference-types.md](docs/csharp/tutorials/nullable-reference-types.md).

* Phase 5: Update links

***When reviewing commit-by-commit, this can be skimmed***

10. Repoint inbound links across `docs/`. Critical: [docs/csharp/language-reference/compiler-messages/nullable-warnings.md](docs/csharp/language-reference/compiler-messages/nullable-warnings.md) has multiple links to moved files.

* Major content review

Review the drafts, make several changes in style, tone and substance.

* Fix redirect chain for whats-new/tutorials/nullable-reference-types

* Move nullable-migration-strategies to advanced-topics/update-applications

Relocate the migration article out of fundamentals/null-safety into a new Advanced topics > Update existing apps subsection. Rename to nullable-migration-strategies.md, repath snippets, update inbound links from sibling articles and language-reference, repoint redirects, and add a redirect from the vacated path.

* Update the TOC

* Remove 98 duplicate redirect entries flagged by build

* Fix duplicate H1 and missing #nullable-context bookmark

Rename language-reference compiler-messages H1 'Resolve nullable warnings' to 'Nullable reference type warnings' to avoid collision with the new fundamentals article. Rename the H2 'Enable nullable reference types' to 'Nullable context' so existing inbound bookmarks #nullable-context resolve.

* One more set of build warnings

* one more set of build warnings

* Apply suggestions from code review

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Respond to additional feedback.

* fix warnings

Restore the details on nullable contexts.

* Apply changes from new prompts

The latest update to the prompts provided new themes for actions in this section. Run those to see how much it picks up.

In addition, move a couple sections from fundamentals into the language reference. They were too deep for fundamentals, but were necessary in the reference section.

* fix warnings

Fix build warnings.

* Another round of edits.

* lint

* Review in light of new prompt

I ran the new prompts, and it caught a couple more things.

* Apply suggestions from code review

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* Respond to feedback

Update based on the final round of feedback.

---------

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>
Adds a small section explaining how C# and JavaScript differ in execution.

This helps developers coming from JavaScript or TypeScript understand the runtime model difference between:
- JavaScript running on an event loop (like V8)
- C# running on the .NET CLR with IL compilation and JIT/AOT execution

No existing content was modified, only an additional explanatory section was added.
* First draft

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* First major content review

* Final proofread.

Proofread and add definitions for terms.

* Fix lint.

* Apply suggestions from code review

Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>

* Respond to feedback.

* Update this PR based on new context

This commit: e0bcdc0

Updates the project prompts to make sure all fundamentals goals are followed.

* fix warning

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants