Skip to content

Publish the C# 9 alpha branch#52889

Open
BillWagner wants to merge 6 commits intodotnet:mainfrom
BillWagner:move-to-standard-9
Open

Publish the C# 9 alpha branch#52889
BillWagner wants to merge 6 commits intodotnet:mainfrom
BillWagner:move-to-standard-9

Conversation

@BillWagner
Copy link
Copy Markdown
Member

@BillWagner BillWagner commented Apr 7, 2026

Start the process of publishing the early alpha drafts in favor of the current committee working draft.

Fixes #52875


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/csharp/fundamentals/program-structure/top-level-statements.md Top-level statements - programs without Main methods
docs/csharp/language-reference/builtin-types/enum.md "Enumeration types"
docs/csharp/language-reference/builtin-types/integral-numeric-types.md Integral numeric types (C# reference)
docs/csharp/language-reference/builtin-types/record.md docs/csharp/language-reference/builtin-types/record
docs/csharp/language-reference/compiler-messages/entry-point-errors.md Resolve errors and warnings related to a program entry point
docs/csharp/language-reference/compiler-messages/lambda-expression-errors.md Errors and warnings when using lambda expressions and anonymous functions
docs/csharp/language-reference/compiler-messages/overloaded-operator-errors.md Resolve errors and warnings related to operator declarations and overflow
docs/csharp/language-reference/compiler-messages/record-declaration-errors.md Resolve errors and warnings for record declarations
docs/csharp/language-reference/keywords/const.md docs/csharp/language-reference/keywords/const
docs/csharp/language-reference/keywords/override.md override (C# reference)
docs/csharp/language-reference/operators/addition-operator.md Addition operators - + and +=
docs/csharp/language-reference/operators/arithmetic-operators.md Arithmetic operators (C# reference)
docs/csharp/language-reference/operators/assignment-operator.md "Assignment operators - assign an expression to a variable"
docs/csharp/language-reference/operators/bitwise-and-shift-operators.md Bitwise and shift operators (C# reference)
docs/csharp/language-reference/operators/boolean-logical-operators.md docs/csharp/language-reference/operators/boolean-logical-operators
docs/csharp/language-reference/operators/comparison-operators.md Comparison operators (C# reference)
docs/csharp/language-reference/operators/conditional-operator.md "?: operator - the ternary conditional operator"
docs/csharp/language-reference/operators/equality-operators.md Equality operators - test if two objects are equal or not
docs/csharp/language-reference/operators/lambda-expressions.md docs/csharp/language-reference/operators/lambda-expressions
docs/csharp/language-reference/operators/null-coalescing-operator.md ?? and ??= operators - the null-coalescing operators
docs/csharp/language-reference/operators/patterns.md "Patterns - Pattern matching using the is and switch expressions."
docs/csharp/language-reference/operators/subtraction-operator.md - and -= operators - subtraction (minus)
docs/csharp/language-reference/operators/true-false-operators.md docs/csharp/language-reference/operators/true-false-operators
docs/csharp/language-reference/operators/type-testing-and-cast.md Type-testing operators and cast expressions - is, as, typeof, and casts
docs/csharp/language-reference/operators/with-expression.md "The with expression - create new objects that are modified copies of existing objects"
docs/csharp/specification/overview.md C# standard specification
docs/csharp/specification/toc.yml docs/csharp/specification/toc
docs/csharp/whats-new/csharp-version-history.md The history of C#
docs/fundamentals/code-analysis/style-rules/ide0090.md Simplify new expression (IDE0090)

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.

Start the process of publishing the early alpha drafts in favor of the current committee working draft.
New version means lots of new clauses.
@BillWagner BillWagner force-pushed the move-to-standard-9 branch from f7f3dc9 to 28dff23 Compare April 9, 2026 21:04
Add clause number to the TOC.
@BillWagner BillWagner closed this Apr 10, 2026
@BillWagner BillWagner reopened this Apr 10, 2026
@BillWagner BillWagner marked this pull request as ready for review April 11, 2026 12:40
@BillWagner BillWagner requested a review from a team as a code owner April 11, 2026 12:40
Copilot AI review requested due to automatic review settings April 11, 2026 12:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR switches the published C# specification content from the current draft branch to an early C# 9 alpha draft, and updates multiple docs to point at the new section anchors in the specification.

Changes:

  • Update the C# specification TOC and overview to present the C# 9 early draft.
  • Revise many C# reference articles to link to updated section anchors in the spec.
  • Adjust build/publishing configuration to pull the spec from the alpha-v9 branch and stop publishing C# 9 proposal pages.

Reviewed changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
docs/csharp/specification/toc.yml Renames and restructures the specification TOC to target the C# 9 early draft and adds numbered chapter labels.
docs/csharp/specification/overview.md Updates the overview text and date to describe the early C# 9 draft.
docs/csharp/linq/index.md Updates the spec anchor for query expressions.
docs/csharp/language-reference/operators/type-testing-and-cast.md Updates spec anchors for is and as.
docs/csharp/language-reference/operators/true-false-operators.md Updates spec anchors for Boolean expressions and user-defined conditional logical operators.
docs/csharp/language-reference/operators/switch-expression.md Updates the spec anchor for switch expressions.
docs/csharp/language-reference/operators/subtraction-operator.md Updates spec anchors for delegate equality and subtraction operator sections.
docs/csharp/language-reference/operators/operator-overloading.md Updates the spec anchor for user-defined conditional logical operators in the non-overloadable operator table.
docs/csharp/language-reference/operators/null-coalescing-operator.md Updates spec anchors for null-coalescing and compound assignment sections.
docs/csharp/language-reference/operators/lambda-operator.md Updates the spec anchor for anonymous function expressions.
docs/csharp/language-reference/operators/lambda-expressions.md Updates the spec anchor for anonymous function expressions.
docs/csharp/language-reference/operators/is.md Updates the spec anchor for the is operator section.
docs/csharp/language-reference/operators/equality-operators.md Updates spec anchors for delegate equality and relational/type-testing operators.
docs/csharp/language-reference/operators/delegate-operator.md Updates the spec anchor for anonymous function expressions.
docs/csharp/language-reference/operators/conditional-operator.md Updates the spec anchor for the conditional operator section.
docs/csharp/language-reference/operators/comparison-operators.md Updates spec anchor for relational and type-testing operators.
docs/csharp/language-reference/operators/boolean-logical-operators.md Updates spec anchors for logical/conditional/compound assignment sections and user-defined conditional logical operators.
docs/csharp/language-reference/operators/bitwise-and-shift-operators.md Updates spec anchors for shift/logical/compound assignment sections.
docs/csharp/language-reference/operators/assignment-operator.md Updates spec anchor for assignment operators.
docs/csharp/language-reference/operators/arithmetic-operators.md Updates spec anchors for remainder/multiplication/division/addition/subtraction/compound assignment sections.
docs/csharp/language-reference/operators/addition-operator.md Updates spec anchor for addition operator section.
docs/csharp/language-reference/keywords/const.md Updates spec anchor for constant expressions section.
docs/csharp/language-reference/compiler-messages/overloaded-operator-errors.md Updates spec anchor for user-defined conditional logical operators.
docs/csharp/language-reference/compiler-messages/lambda-expression-errors.md Updates spec anchors for anonymous function expressions references.
docs/csharp/language-reference/builtin-types/enum.md Updates spec anchors for enum logical/comparison operators.
docfx.json Updates doc build inputs/metadata, including removal of C# 9 proposal pages from the proposal doc set.
.openpublishing.publish.config.json Switches the _csharpstandard source branch from draft-v8 to alpha-v9.
Comments suppressed due to low confidence (2)

docs/csharp/language-reference/operators/conditional-operator.md:89

  • This page links to a C# 9 proposal doc (~/_csharplang/proposals/csharp-9.0/target-typed-conditional-expression.md). With this PR removing C# 9 proposal pages from the doc build, this link will likely break unless it’s updated to a different target (or the proposal pages stay published).
For more information, see the [Conditional operator](~/_csharpstandard/standard/expressions.md#1221-conditional-operator) section of the [C# language specification](~/_csharpstandard/standard/README.md).

Specifications for newer features are:

- [Target-typed conditional expression](~/_csharplang/proposals/csharp-9.0/target-typed-conditional-expression.md)

docs/csharp/language-reference/operators/lambda-expressions.md:336

  • These feature proposal links point at C# 9 proposal docs under ~/_csharplang/proposals/csharp-9.0/…. Because this PR removes C# 9 proposal pages from the doc build, these links will likely break unless you update them to published targets (or restore publishing for C# 9 proposals).
For more information, see the [Anonymous function expressions](~/_csharpstandard/standard/expressions.md#1222-anonymous-function-expressions) section of the [C# language specification](~/_csharpstandard/standard/README.md).

For more information about these features, see the following feature proposal notes:

- [Lambda discard parameters](~/_csharplang/proposals/csharp-9.0/lambda-discard-parameters.md)
- [Static anonymous functions](~/_csharplang/proposals/csharp-9.0/static-anonymous-functions.md)
- [Lambda improvements](~/_csharplang/proposals/csharp-10.0/lambda-improvements.md)

Replace all links to the C# 9 feature specs with the corresponding location in the C# 9 alpha draft of the C# standard.
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.

Publish the alpha branch of C# v9

2 participants