Skip to content

Commit e513d16

Browse files
Merge pull request #41557 from dotnet/main
Merge main into live
2 parents 03d6184 + 5cc8f5d commit e513d16

File tree

5 files changed

+19
-14
lines changed

5 files changed

+19
-14
lines changed

docfx.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@
7777
{
7878
"files": [
7979
"Compiler Breaking Changes - DotNet 7.md",
80-
"Compiler Breaking Changes - DotNet 8.md"
80+
"Compiler Breaking Changes - DotNet 8.md",
81+
"Compiler Breaking Changes - DotNet 9.md"
8182
],
8283
"src": "_roslyn/docs/compilers/CSharp",
8384
"dest": "csharp/whats-new/breaking-changes",
@@ -493,6 +494,7 @@
493494
"_csharplang/proposals/*.md": "05/15/2024",
494495
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "11/08/2022",
495496
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "09/26/2023",
497+
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "06/26/2024",
496498
"_vblang/spec/*.md": "07/21/2017"
497499
},
498500
"ms.subservice": {
@@ -662,6 +664,7 @@
662664
"_csharplang/proposals/params-collections.md": "Params collections",
663665
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "C# compiler breaking changes since C# 10",
664666
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "C# compiler breaking changes since C# 11",
667+
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "C# compiler breaking changes since C# 12",
665668
"_vblang/spec/introduction.md": "Introduction",
666669
"_vblang/spec/lexical-grammar.md": "Lexical grammar",
667670
"_vblang/spec/preprocessing-directives.md": "Preprocessing directives",
@@ -777,6 +780,7 @@
777780
"_csharplang/proposals/params-collections.md": "Allow the `params` modifier on collection types beyond arrays, including `IEnumerable` types.",
778781
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "Learn about any breaking changes since the initial release of C# 10",
779782
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "Learn about any breaking changes since the initial release of C# 11",
783+
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "Learn about any breaking changes since the initial release of C# 12",
780784
"_vblang/spec/introduction.md": "This chapter provides and introduction to the Visual Basic language.",
781785
"_vblang/spec/lexical-grammar.md": "This chapter defines the lexical grammar for Visual Basic.",
782786
"_vblang/spec/preprocessing-directives.md": "This chapter defines the preprocessing directives allowed in Visual Basic",

docs/core/compatibility/9.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,4 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
6464
## See also
6565

6666
- [What's new in .NET 9](../whats-new/dotnet-9/overview.md)
67+
- [C# 13 breaking changes](../../../_roslyn/docs/compilers/CSharp/Compiler%20Breaking%20Changes%20-%20DotNet%209.md)

docs/csharp/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ items:
149149
- name: C# 13
150150
displayName: what's New
151151
href: whats-new/csharp-13.md
152+
- name: Breaking changes in C# 13
153+
href: ../../_roslyn/docs/compilers/CSharp/Compiler%20Breaking%20Changes%20-%20DotNet%209.md
152154
- name: C# 12
153155
displayName: what's New
154156
href: whats-new/csharp-12.md

docs/framework/interop/default-marshalling-for-arrays.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,12 @@ void New(long [][][] ar );
321321

322322
```vb
323323
Sub New1( ar As System.Array )
324-
Sub New2( <MarshalAs(UnmanagedType.Safe array)> ar As System.Array )
324+
Sub New2( <MarshalAs(UnmanagedType.SafeArray)> ar As System.Array )
325325
```
326326

327327
```csharp
328328
void New1( System.Array ar );
329-
void New2( [MarshalAs(UnmanagedType.Safe array)] System.Array ar );
329+
void New2( [MarshalAs(UnmanagedType.SafeArray)] System.Array ar );
330330
```
331331

332332
#### Unmanaged signature

docs/framework/network-programming/tls.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,28 +53,26 @@ For more information see [TLS protocol version support in Schannel](/windows/win
5353

5454
## Recommendations
5555

56-
- For TLS 1.3, target .NET Framework 4.8 or later. ([here](#audit-your-code-and-make-code-changes) is how to check what is your `target framework`.)
57-
- Do not specify the TLS version explicitly. (i.e. don't use the method overloads of SslStream that take an explicit SslProtocols parameter.)
56+
- For TLS 1.3, target .NET Framework 4.8 or later. Check [Audit your code](#audit-your-code-and-make-code-changes) section how to verify your `target framework`.
57+
- Do not specify the TLS version explicitly, i.e. don't use the method overloads of `SslStream` that take an explicit `SslProtocols` parameter.
5858
- That way your code will let the OS decide on the TLS version.
5959
- If you must set <xref:System.Net.ServicePointManager.SecurityProtocol?displayProperty=nameWithType>, then set it to <xref:System.Net.SecurityProtocolType.SystemDefault?displayProperty=nameWithType>. That will also use OS default.
60-
- If you must use the method overloads of SslStream that take an explicit SslProtocols parameter, then pass `SslProtocols.SystemDefault` as argument. That will also use OS default.
60+
- If you must use the method overloads of `SslStream` that take an explicit `SslProtocols` parameter, then pass `SslProtocols.SystemDefault` as argument. That will also use OS default.
6161
- Perform a thorough code audit to verify you're not specifying a TLS or SSL version explicitly.
6262

6363
> [!WARNING]
64-
> Do not use `SslProtocols.Default`. (because it sets TLS version to SSL3 and TLS1.0 which is obsoleted.)
64+
> Do not use `SslProtocols.Default`, because it sets TLS version to SSL3 and TLS 1.0 which are obsoleted.
6565
6666
When your app lets the OS choose the TLS version:
6767

68-
- It automatically takes advantage of new protocols added in the future.
69-
- The OS blocks protocols that are discovered not to be secure.
70-
71-
The section [Audit your code and make code changes](#audit-your-code-and-make-code-changes) covers auditing and updating your code.
68+
- It automatically takes advantage of new TLS protocols added in the future.
69+
- The OS blocks protocols that are discovered not to be secure (e.g. SSL3 and TLS 1.0).
7270

7371
This article explains how to enable the strongest security available for the version of .NET Framework that your app targets and runs on. When an app explicitly sets a security protocol and version, it opts out of any other alternative, and opts out of .NET Framework and OS default behavior. If you want your app to be able to negotiate a TLS 1.3 connection, explicitly setting to a lower TLS version prevents a TLS 1.3 connection.
7472

75-
If you can't avoid specifying a protocol version explicitly, we strongly recommend that you specify TLS1.2 or TLS 1.3 (which is `currently considered secure`). For guidance on identifying and removing TLS 1.0 dependencies, download the [Solving the TLS 1.0 Problem](https://www.microsoft.com/download/details.aspx?id=55266) white paper.
73+
If you can't avoid specifying a protocol version explicitly, we strongly recommend that you specify TLS 1.2 or TLS 1.3 (which is `currently considered secure`). For guidance on identifying and removing TLS 1.0 dependencies, download the [Solving the TLS 1.0 Problem](https://www.microsoft.com/download/details.aspx?id=55266) white paper.
7674

77-
WCF Supports TLS 1.2 as the default in .NET Framework 4.7. Starting with .NET Framework 4.7.1, WCF defaults to the operating system configured version. If an application is explicitly configured with `SslProtocols.None`, WCF uses the operating system default setting when using the NetTcp transport.
75+
WCF supports TLS 1.2 as the default in .NET Framework 4.7. Starting with .NET Framework 4.7.1, WCF defaults to the operating system configured version. If an application is explicitly configured with `SslProtocols.None`, WCF uses the operating system default setting when using the NetTcp transport.
7876

7977
You can ask questions about this document in the GitHub issue [Transport Layer Security (TLS) best practices with the .NET Framework](https://github.com/dotnet/docs/issues/4675).
8078

@@ -88,7 +86,7 @@ Use the following sections to verify you're not using a specific TLS or SSL vers
8886

8987
## If you must explicitly set a Security Protocol
9088

91-
If you must explicitly set a security protocol instead of letting .NET or the OS pick the security protocol pick these protocols:
89+
If you must explicitly set a security protocol instead of letting .NET or the OS pick the security protocol, pick these protocols:
9290

9391
- For .NET Framework 3.5: TLS 1.2
9492
- For .NET Framework 4.6.2 or later: TLS 1.3

0 commit comments

Comments
 (0)