Skip to content

Commit 4799ca0

Browse files
Merge pull request #42854 from dotnet/main
Merge main into live
2 parents ecf6a63 + a60aa02 commit 4799ca0

File tree

15 files changed

+308
-15
lines changed

15 files changed

+308
-15
lines changed

docs/azure/includes/dotnet-all.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
| Content Safety | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety/1.0.0) | [docs](/dotnet/api/overview/azure/AI.ContentSafety-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentSafety_1.0.0/sdk/contentsafety/Azure.AI.ContentSafety/) |
2828
| Conversational Language Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Language.Conversations/1.1.0)<br>NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.Conversations/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0/sdk/cognitivelanguage/Azure.AI.Language.Conversations/)<br>GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_2.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.Conversations/) |
2929
| Core - Client - AMQP | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Core.Amqp/1.3.1) | [docs](/dotnet/api/overview/azure/Core.Amqp-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Amqp_1.3.1/sdk/core/Azure.Core.Amqp/) |
30-
| Core - Client - Core | NuGet [1.43.0](https://www.nuget.org/packages/Azure.Core/1.43.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.43.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.43.0/sdk/core/Azure.Core/) |
30+
| Core - Client - Core | NuGet [1.44.0](https://www.nuget.org/packages/Azure.Core/1.44.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.44.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.44.0/sdk/core/Azure.Core/) |
3131
| Core Newtonsoft Json | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/2.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.NewtonsoftJson-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.NewtonsoftJson_2.0.0/sdk/core/Microsoft.Azure.Core.NewtonsoftJson/) |
3232
| Core WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.CoreWCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.CoreWCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.CoreWCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.CoreWCF.Azure.StorageQueues/) |
3333
| Data Movement | NuGet [12.0.0-beta.5](https://www.nuget.org/packages/Azure.Storage.DataMovement/12.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Storage.DataMovement-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [12.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.DataMovement_12.0.0-beta.5/sdk/storage/Azure.Storage.DataMovement/) |
@@ -120,7 +120,7 @@
120120
| Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) |
121121
| Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) |
122122
| System Events | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) |
123-
| System.ClientModel | NuGet [1.1.0](https://www.nuget.org/packages/System.ClientModel/1.1.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0/sdk/core/System.ClientModel/) |
123+
| System.ClientModel | NuGet [1.2.0](https://www.nuget.org/packages/System.ClientModel/1.2.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.2.0/sdk/core/System.ClientModel/) |
124124
| Tables | NuGet [12.9.1](https://www.nuget.org/packages/Azure.Data.Tables/12.9.1) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.9.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.9.1/sdk/tables/Azure.Data.Tables/) |
125125
| Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) |
126126
| Text Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_1.0.0/sdk/translation/Azure.AI.Translation.Text/) |

docs/azure/includes/dotnet-new.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
| Content Safety | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety/1.0.0) | [docs](/dotnet/api/overview/azure/AI.ContentSafety-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.ContentSafety_1.0.0/sdk/contentsafety/Azure.AI.ContentSafety/) |
2929
| Conversational Language Understanding | NuGet [1.1.0](https://www.nuget.org/packages/Azure.AI.Language.Conversations/1.1.0)<br>NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.Conversations/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.Conversations-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0/sdk/cognitivelanguage/Azure.AI.Language.Conversations/)<br>GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_2.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.Conversations/) |
3030
| Core - Client - AMQP | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Core.Amqp/1.3.1) | [docs](/dotnet/api/overview/azure/Core.Amqp-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Amqp_1.3.1/sdk/core/Azure.Core.Amqp/) |
31-
| Core - Client - Core | NuGet [1.43.0](https://www.nuget.org/packages/Azure.Core/1.43.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.43.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.43.0/sdk/core/Azure.Core/) |
31+
| Core - Client - Core | NuGet [1.44.0](https://www.nuget.org/packages/Azure.Core/1.44.0) | [docs](/dotnet/api/overview/azure/Core-readme) | GitHub [1.44.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.44.0/sdk/core/Azure.Core/) |
3232
| Core Newtonsoft Json | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/2.0.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Core.NewtonsoftJson-readme) | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Core.NewtonsoftJson_2.0.0/sdk/core/Microsoft.Azure.Core.NewtonsoftJson/) |
3333
| Core WCF Storage Queues | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.CoreWCF.Azure.StorageQueues/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Microsoft.CoreWCF.Azure.StorageQueues-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.CoreWCF.Azure.StorageQueues_1.0.0-beta.1/sdk/extension-wcf/Microsoft.CoreWCF.Azure.StorageQueues/) |
3434
| Data Movement | NuGet [12.0.0-beta.5](https://www.nuget.org/packages/Azure.Storage.DataMovement/12.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Storage.DataMovement-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [12.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.DataMovement_12.0.0-beta.5/sdk/storage/Azure.Storage.DataMovement/) |
@@ -124,7 +124,7 @@
124124
| Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) |
125125
| Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) |
126126
| System Events | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme?view=azure-dotnet-preview&amp;preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) |
127-
| System.ClientModel | NuGet [1.1.0](https://www.nuget.org/packages/System.ClientModel/1.1.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.1.0/sdk/core/System.ClientModel/) |
127+
| System.ClientModel | NuGet [1.2.0](https://www.nuget.org/packages/System.ClientModel/1.2.0) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.2.0/sdk/core/System.ClientModel/) |
128128
| Tables | NuGet [12.9.1](https://www.nuget.org/packages/Azure.Data.Tables/12.9.1) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.9.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.9.1/sdk/tables/Azure.Data.Tables/) |
129129
| Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) |
130130
| Text Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Text/1.0.0) | [docs](/dotnet/api/overview/azure/AI.Translation.Text-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Text_1.0.0/sdk/translation/Azure.AI.Translation.Text/) |

docs/core/compatibility/8.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
115115
| Title | Type of change |
116116
| ------------------------------------------------------------------------------------------------- | ----------------- |
117117
| [SendFile throws NotSupportedException for connectionless sockets](networking/8.0/sendfile-connectionless.md) | Behavioral change |
118+
| [User info in `mailto:` URIs is compared](networking/8.0/uri-comparison.md) | Behavioral change |
118119

119120
## Reflection
120121

docs/core/compatibility/9.0.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,14 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
3636
| [Altered UnsafeAccessor support for non-open generics](core-libraries/9.0/unsafeaccessor-generics.md) | Behavioral change | Preview 6 |
3737
| [API obsoletions with custom diagnostic IDs](core-libraries/9.0/obsolete-apis-with-custom-diagnostics.md) | Source incompatible | Preview 16 |
3838
| [BigInteger maximum length](core-libraries/9.0/biginteger-limit.md) | Behavioral change | Preview 6 |
39+
| [BinaryReader.GetString() returns "/uFFFD" on malformed sequences](core-libraries/9.0/binaryreader.md) | Behavioral change | Preview 7 |
3940
| [Creating type of array of System.Void not allowed](core-libraries/9.0/type-instance.md) | Behavioral change | Preview 1 |
4041
| [Default `Equals()` and `GetHashCode()` throw for types marked with `InlineArrayAttribute`](core-libraries/9.0/inlinearrayattribute.md) | Behavioral change | Preview 6 |
4142
| [FromKeyedServicesAttribute no longer injects non-keyed parameter](core-libraries/9.0/non-keyed-params.md) | Behavioral change | RC 1 |
4243
| [IncrementingPollingCounter initial callback is asynchronous](core-libraries/9.0/async-callback.md) | Behavioral change | RC 1 |
4344
| [Inline array struct size limit is enforced](core-libraries/9.0/inlinearray-size.md) | Behavioral change | Preview 1 |
4445
| [InMemoryDirectoryInfo prepends rootDir to files](core-libraries/9.0/inmemorydirinfo-prepends-rootdir.md) | Behavioral change | Preview 1 |
46+
| [New TimeSpan.From*() overloads that take integers](core-libraries/9.0/timespan-from-overloads.md) | Source incompatible | Preview 3 |
4547
| [RuntimeHelpers.GetSubArray returns different type](core-libraries/9.0/getsubarray-return.md) | Behavioral change | Preview 1 |
4648
| [Support for empty environment variables](core-libraries/9.0/empty-env-variable.md) | Behavioral change | Preview 6 |
4749
| [ZipArchiveEntry names and comments respect UTF8 flag](core-libraries/9.0/ziparchiveentry-encoding.md) | Behavioral change | RC 1 |
@@ -97,6 +99,7 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
9799
| [ComponentDesigner.Initialize throws ArgumentNullException](windows-forms/9.0/componentdesigner-initialize.md) | Behavioral change | Preview 1 |
98100
| [DataGridViewRowAccessibleObject.Name starting row index](windows-forms/9.0/datagridviewrowaccessibleobject-name-row.md) | Behavioral change | Preview 1 |
99101
| [IMsoComponent support is opt-in](windows-forms/9.0/imsocomponent-support.md) | Behavioral change | Preview 2 |
102+
| [New security analyzers](windows-forms/9.0/security-analyzers.md) | Source incompatible | RC 1 |
100103
| [No exception if DataGridView is null](windows-forms/9.0/datagridviewheadercell-nre.md) | Behavioral change | Preview 1 |
101104
| [PictureBox raises HttpClient exceptions](windows-forms/9.0/httpclient-exceptions.md) | Behavioral change | Preview 6 |
102105

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: "Breaking change:BinaryReader.GetString() returns '\uFFFD' on malformed sequences"
3+
description: Learn about the .NET 9 breaking change in core .NET libraries where BinaryReader.GetString() returns "\uFFFD" on malformed encoded string sequences.
4+
ms.date: 10/03/2024
5+
---
6+
# BinaryReader.GetString() returns "\uFFFD" on malformed sequences
7+
8+
A a minor breaking change was introduced that only affects malformed encoded payloads.
9+
10+
Prior to .NET 9, a malformed encoded string `[0x01, 0xC2]` that was parsed with <xref:System.IO.BinaryReader.ReadString?displayProperty=nameWithType> returned an empty string.
11+
12+
Starting in .NET 9, <xref:System.IO.BinaryReader.ReadString?displayProperty=nameWithType> returns "\uFFFD", which is the `REPLACEMENT CHARACTER` used to replace an unknown, unrecognized, or unrepresentable character. This change only affects malformed payloads and matches Unicode standards.
13+
14+
## Previous behavior
15+
16+
```csharp
17+
var ms = new MemoryStream(new byte[] { 0x01, 0xC2 });
18+
using (var br = new BinaryReader(ms))
19+
{
20+
string s = br.ReadString();
21+
Console.WriteLine(s == "\uFFFD"); // false
22+
Console.WriteLine(s.Length); // 0
23+
}
24+
```
25+
26+
## New behavior
27+
28+
Starting in .NET 9, the same code snippet produces different results for `s == "\uFFFD"` and `s.Length`, as shown in the code comments:
29+
30+
```csharp
31+
var ms = new MemoryStream(new byte[] { 0x01, 0xC2 });
32+
using (var br = new BinaryReader(ms))
33+
{
34+
string s = br.ReadString();
35+
Console.WriteLine(s == "\uFFFD"); // true
36+
Console.WriteLine(s.Length); // 1
37+
}
38+
```
39+
40+
## Version introduced
41+
42+
.NET 9 Preview 7
43+
44+
## Type of breaking change
45+
46+
This change is a [behavioral change](../../categories.md#behavioral-change).
47+
48+
## Reason for change
49+
50+
This change was made as a performance improvement that affects a rare scenario.
51+
52+
## Recommended action
53+
54+
If you want to keep the previous behavior where incomplete byte sequence were omitted at the end of the string, call `TrimEnd("\uFFFD")` on the result.
55+
56+
## Affected APIs
57+
58+
- <xref:System.IO.BinaryReader.ReadString?displayProperty=fullName>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "Breaking change: New TimeSpan.From*() overloads that take integers"
3+
description: Learn about the .NET 9 breaking change in core .NET libraries where new TimeSpan.From*() overloads were introduced that take integer arguments.
4+
ms.date: 10/03/2024
5+
---
6+
# New TimeSpan.From*() overloads that take integers
7+
8+
New `TimeSpan.From*()` overloads that accept integers were introduced in .NET 9. This change can cause ambiguity for the F# compiler and result in compile-time errors.
9+
10+
## Previous behavior
11+
12+
Previously, there was a single overload for each `TimeSpan.From*()` method, namely:
13+
14+
- <xref:System.TimeSpan.FromDays(System.Double)>
15+
- <xref:System.TimeSpan.FromHours(System.Double)>
16+
- <xref:System.TimeSpan.FromMicroseconds(System.Double)>
17+
- <xref:System.TimeSpan.FromMilliseconds(System.Double)>
18+
- <xref:System.TimeSpan.FromMinutes(System.Double)>
19+
- <xref:System.TimeSpan.FromSeconds(System.Double)>
20+
21+
## New behavior
22+
23+
Starting in .NET 9, new overloads have been added that accept integer arguments. Calling a method such as `TimeSpan.FromMinutes(20)` in F# code results in a compile-time error:
24+
25+
> error FS0041: A unique overload for method 'FromMinutes' could not be determined based on type information prior to this program point. A type annotation may be needed. Known type of argument: intCandidates: - TimeSpan.FromMinutes(minutes: int64) : TimeSpan - TimeSpan.FromMinutes(minutes: int64, ?seconds: int64, ?milliseconds: int64, ?microseconds: int64) : TimeSpan - TimeSpan.FromMinutes(value: float) : TimeSpan
26+
27+
## Version introduced
28+
29+
.NET 9 Preview 3
30+
31+
## Type of breaking change
32+
33+
This change can affect [source compatibility](../../categories.md#source-compatibility) for F# code.
34+
35+
## Reason for change
36+
37+
The pre-existing overloads accepted a <xref:System.Double> argument. However, <xref:System.Double> is a binary-based, floating-point format and thus has natural imprecision that can introduce error. This behavior has led to user confusion and bugs in the API surface. It's also one of the less efficient ways to represent this data. To produce the intended behavior, new overloads were introduced that allow users to pass in integers.
38+
39+
## Recommended action
40+
41+
If this change affects your F# code, specify the type of argument so the compiler selects the appropriate overload.
42+
43+
## Affected APIs
44+
45+
- <xref:System.TimeSpan.FromDays*>
46+
- <xref:System.TimeSpan.FromHours*>
47+
- <xref:System.TimeSpan.FromMicroseconds*>
48+
- <xref:System.TimeSpan.FromMilliseconds*>
49+
- <xref:System.TimeSpan.FromMinutes*>
50+
- <xref:System.TimeSpan.FromSeconds*>

0 commit comments

Comments
 (0)