Skip to content

Commit 43ca63f

Browse files
Bot 🤖 generated "What's new article" (#45978)
Co-authored-by: IEvangelist <IEvangelist@users.noreply.github.com>
1 parent 382ce26 commit 43ca63f

File tree

3 files changed

+63
-95
lines changed

3 files changed

+63
-95
lines changed
Lines changed: 58 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,123 +1,91 @@
11
---
2-
title: ".NET docs: What's new for January 2025"
3-
description: "What's new in the .NET docs for January 2025."
4-
ms.custom: January-2025
5-
ms.date: 02/01/2025
2+
title: ".NET docs: What's new for April 2025"
3+
description: "What's new in the .NET docs for April 2025."
4+
ms.custom: April-2025
5+
ms.date: 05/01/2025
66
---
77

8-
# .NET docs: What's new for January 2025
8+
# .NET docs: What's new for April 2025
99

10-
Welcome to what's new in the .NET docs for January 2025. This article lists some of the major changes to docs during this period.
10+
Welcome to what's new in the .NET docs for April 2025. This article lists some of the major changes to docs during this period.
1111

1212
## .NET breaking changes
1313

1414
### New articles
1515

16-
- [`dotnet sln add` no longer allows invalid file names](../core/compatibility/sdk/9.0/dotnet-sln.md)
17-
- [ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change](../core/compatibility/core-libraries/10.0/activity-sampling.md)
18-
- [API obsoletions with non-default diagnostic IDs (.NET 10)](../core/compatibility/core-libraries/10.0/obsolete-apis.md)
19-
- [Breaking changes in .NET 10](../core/compatibility/10.0.md)
20-
- [C# 14 overload resolution with span parameters](../core/compatibility/core-libraries/10.0/csharp-overload-resolution.md)
21-
- [Consistent shift behavior in generic math](../core/compatibility/core-libraries/10.0/generic-math.md)
22-
- [Default RID used when targeting .NET Framework](../core/compatibility/sdk/9.0/default-rid.md)
23-
- [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](../core/compatibility/globalization/10.0/version-override.md)
24-
- [LDAP DirectoryControl parsing is now more stringent](../core/compatibility/core-libraries/10.0/ldap-directorycontrol-parsing.md)
25-
- [MacCatalyst version normalization](../core/compatibility/core-libraries/10.0/maccatalyst-version-normalization.md)
26-
- [Renamed parameter in HtmlElement.InsertAdjacentElement](../core/compatibility/windows-forms/10.0/insertadjacentelement-orientation.md)
27-
- [TreeView checkbox image truncation](../core/compatibility/windows-forms/10.0/treeview-text-location.md)
28-
- [X500DistinguishedName validation is stricter](../core/compatibility/cryptography/10.0/x500distinguishedname-validation.md)
29-
30-
## AI in .NET
31-
32-
### New articles
33-
34-
- [Create a minimal AI assistant using .NET](../ai/quickstarts/create-assistant.md)
16+
- [.NET CLI `--interactive` defaults to `true` in user scenarios](../core/compatibility/sdk/10.0/dotnet-cli-interactive.md)
17+
- [Assembly load directory resolves through symbolic links on Windows](../core/compatibility/deployment/9.0/assembly-load-directory.md)
18+
- [Default trace context propagator updated to W3C standard](../core/compatibility/core-libraries/10.0/default-trace-context-propagator.md)
19+
- [Linux native library resolution no longer uses `netcoredeps`](../core/compatibility/interop/8.0/linux-netcoredeps.md)
20+
- [Streaming HTTP responses enabled by default in browser HTTP clients](../core/compatibility/networking/10.0/default-http-streaming.md)
3521

3622
## .NET fundamentals
3723

3824
### New articles
3925

40-
- [.NET SDK container creation overview](../core/containers/overview.md)
41-
- [CA2024: Do not use StreamReader.EndOfStream in async methods](../fundamentals/code-analysis/quality-rules/ca2024.md)
42-
- [Containerize a .NET app with dotnet publish](../core/containers/sdk-publish.md)
43-
- [Distributed tracing in System.Net libraries](../fundamentals/networking/telemetry/tracing.md)
44-
- [Keyed DI support in `IHttpClientFactory`](../core/extensions/httpclient-factory-keyed-di.md)
45-
- [MSTEST0038: Don't use 'Assert.AreSame' or 'Assert.AreNotSame' with value types](../core/testing/mstest-analyzers/mstest0038.md)
46-
- [MSTEST0039: Use newer 'Assert.Throws' methods](../core/testing/mstest-analyzers/mstest0039.md)
47-
- [MSTEST0040: Do not assert inside 'async void' contexts](../core/testing/mstest-analyzers/mstest0040.md)
48-
- [NETSDK1032: RuntimeIdentifier and PlatformTarget must be compatible](../core/tools/sdk-errors/netsdk1032.md)
49-
- [NETSDK1144: Optimizing assemblies for size failed](../core/tools/sdk-errors/netsdk1144.md)
50-
- [Preview APIs](../fundamentals/runtime-libraries/preview-apis.md)
51-
- [QUIC configuration options](../fundamentals/networking/quic/quic-options.md)
52-
- [Serialization extension methods on HttpClient](../standard/serialization/system-text-json/httpclient-extensions.md)
53-
- [SYSLIB0058: Certain SslStream properties are obsolete](../fundamentals/syslib-diagnostics/syslib0058.md)
54-
- [SYSLIB0059: SystemEvents.EventsThreadShutdown callbacks aren't run before the process exits](../fundamentals/syslib-diagnostics/syslib0059.md)
55-
- [SYSLIB0060: Rfc2898DeriveBytes constructors are obsolete](../fundamentals/syslib-diagnostics/syslib0060.md)
26+
- [Compile-time metric source generation](../core/diagnostics/metrics-generator.md)
27+
- [dotnet package remove](../core/tools/dotnet-package-remove.md)
28+
- [dotnet reference list](../core/tools/dotnet-reference-list.md)
29+
- [Migrate from .NET Framework Windows Performance Counters to .NET metrics](../core/diagnostics/migrate-from-windows-performance-counters.md)
30+
- [MSTEST0042: Avoid duplicated 'DataRow' entries](../core/testing/mstest-analyzers/mstest0042.md)
31+
- [MSTEST0043: Use retry attribute on test method](../core/testing/mstest-analyzers/mstest0043.md)
32+
- [SYSLIB0061: System.Linq.Queryable.MaxBy and System.Linq.Queryable.MinBy taking an IComparer\<TSource\> are obsolete.](../fundamentals/syslib-diagnostics/syslib0061.md)
5633

5734
### Updated articles
5835

59-
- [Creating metrics](../core/diagnostics/metrics-instrumentation.md) - [diagnostics] Add InstrumentAdvice details to instrumentation doc
60-
- [dotnet-coverage code coverage utility](../core/additional-tools/dotnet-coverage.md) - Update dotnet-coverage docs. Adding uninstrument command
61-
- [Microsoft.Testing.Platform and VSTest comparison](../core/testing/microsoft-testing-platform-vs-vstest.md) - Add first level info for migration off of VSTest
62-
- [Tutorial: Containerize a .NET app](../core/docker/build-container.md) - Address issues related to .NET containers
36+
- [Miscellaneous Constructs in Regular Expressions](../standard/base-types/miscellaneous-constructs-in-regular-expressions.md) - Change "alignment" to "width"
6337

6438
## C# language
6539

6640
### New articles
6741

68-
- [Custom attributes that generate flags or options in the Intermediate Language (IL) output](../csharp/language-reference/attributes/pseudo-attributes.md)
69-
70-
## Visual Basic language
71-
72-
### Updated articles
73-
74-
- [Generic types in Visual Basic (Visual Basic)](../visual-basic/programming-guide/language-features/data-types/generic-types.md) - Add VB new features
75-
76-
## Azure SDK for .NET
77-
78-
### New articles
79-
80-
- [Authentication best practices with the Azure Identity library for .NET](../azure/sdk/authentication/best-practices.md)
81-
82-
## Microsoft Orleans
83-
84-
### New articles
85-
86-
- [Grain directory implementation](../orleans/implementation/grain-directory.md)
87-
88-
### Updated articles
89-
90-
- [Background Services and Startup Tasks](../orleans/host/configuration-guide/startup-tasks.md) - [Orleans] Update startup tasks guidance
91-
- [Cluster management in Orleans](../orleans/implementation/cluster-management.md) - [Orleans] Update clustering implementation docs
42+
- [Create types in C\#](../csharp/tour-of-csharp/tutorials/tuples-and-types.md)
43+
- [Extension declaration (C# Reference)](../csharp/language-reference/keywords/extension.md)
9244

9345
## .NET Framework
9446

9547
### New articles
9648

97-
- [.NET Framework release notes](../framework/release-notes/release-notes.md)
98-
- [January 2025 cumulative update](../framework/release-notes/2025/01-14-january-cumulative-update.md)
49+
- [April 2025 cumulative update preview](../framework/release-notes/2025/04-22-april-cumulative-update-preview.md)
50+
- [April 2025 security and quality rollup](../framework/release-notes/2025/04-08-april-cumulative-update.md)
51+
- [March 2025 cumulative update preview](../framework/release-notes/2025/03-25-march-cumulative-update-preview.md)
9952

10053
## Community contributors
10154

10255
The following people contributed to the .NET docs during this period. Thank you! Learn how to contribute by following the links under "Get involved" in the [what's new landing page](index.yml).
10356

104-
- [shethaadit](https://github.com/shethaadit) - Adit Sheth ![17 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-17-green)
105-
- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![7 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-7-green)
106-
- [azarboon](https://github.com/azarboon) - Mahdi Azarboon ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
107-
- [theluckyprogrammer](https://github.com/theluckyprogrammer) - Tomasz Osmanowski ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
108-
- [mpidash](https://github.com/mpidash) - Mario Pistrich ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
109-
- [Rageking8](https://github.com/Rageking8) - ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
110-
- [frdij](https://github.com/frdij) - Frans van Dijk ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
111-
- [gregoryagu](https://github.com/gregoryagu) - Greg Gum ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
112-
- [joproulx](https://github.com/joproulx) - Jonathan ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
113-
- [K4PS3](https://github.com/K4PS3) - khaled ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
114-
- [MangelMaxime](https://github.com/MangelMaxime) - Maxime Mangel ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
115-
- [mguinness](https://github.com/mguinness) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
116-
- [RandaZraik](https://github.com/RandaZraik) - Randa Zraik ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
117-
- [rkargMsft](https://github.com/rkargMsft) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
57+
- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![5 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-5-green)
58+
- [BenjaminBrienen](https://github.com/BenjaminBrienen) - Benjamin Brienen ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
59+
- [kant2002](https://github.com/kant2002) - Andrii Kurdiumov ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
60+
- [MBSadeghzadeh](https://github.com/MBSadeghzadeh) - ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
61+
- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
62+
- [A-Programmer](https://github.com/A-Programmer) - Kamran Sadin ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
63+
- [AustinWise](https://github.com/AustinWise) - Austin Wise ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
64+
- [bforget163](https://github.com/bforget163) - Yongwei Li ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
65+
- [bigboybamo](https://github.com/bigboybamo) - Olabamiji Oyetubo ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
66+
- [ByronMayne](https://github.com/ByronMayne) - Byron Mayne ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
67+
- [cycopepe](https://github.com/cycopepe) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
68+
- [D05Col](https://github.com/D05Col) - Dylan Collins ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
69+
- [Defman21](https://github.com/Defman21) - Sergey Kislyakov ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
70+
- [flibustier7seas](https://github.com/flibustier7seas) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
71+
- [gfoidl](https://github.com/gfoidl) - Günther Foidl ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
72+
- [hez2010](https://github.com/hez2010) - Steve ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
73+
- [IDisposable](https://github.com/IDisposable) - Marc Brooks ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
74+
- [jnoordsij](https://github.com/jnoordsij) - Jesper Noordsij ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
75+
- [josesimoes](https://github.com/josesimoes) - José Simões ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
76+
- [kdemuth](https://github.com/kdemuth) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
77+
- [Lanayx](https://github.com/Lanayx) - Vladimir Shchur ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
78+
- [LucasBenninger](https://github.com/LucasBenninger) - Lucas Benninger ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
79+
- [mehboob14](https://github.com/mehboob14) - Mehboob Arshad ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
80+
- [mister-giga](https://github.com/mister-giga) - Giga Bokuchava ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
81+
- [nileshsheth](https://github.com/nileshsheth) - Nilesh Sheth ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
82+
- [OoLunar](https://github.com/OoLunar) - Lunar Starstrum ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
83+
- [Rageking8](https://github.com/Rageking8) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
11884
- [samwherever](https://github.com/samwherever) - Sam Allen ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
119-
- [SetTrend](https://github.com/SetTrend) - Axel D. ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
120-
- [ShaoHans](https://github.com/ShaoHans) - ShaoHans ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
121-
- [wasabii](https://github.com/wasabii) - Jerome Haltom ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
122-
- [willibrandon](https://github.com/willibrandon) - Brandon Williams ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
123-
- [zacharylayne](https://github.com/zacharylayne) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
85+
- [sigmade](https://github.com/sigmade) - Yegor Sychev ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
86+
- [skycommand](https://github.com/skycommand) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
87+
- [timpaulus-fsw](https://github.com/timpaulus-fsw) - Tim Paulus ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
88+
- [tjmccoy](https://github.com/tjmccoy) - Tyler McCoy ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
89+
- [vzamboulingame](https://github.com/vzamboulingame) - Vinodh Zamboulingame ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
90+
- [WeihanLi](https://github.com/WeihanLi) - Weihan Li ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
91+
- [wipiano](https://github.com/wipiano) - Kohei Hakoishi ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)

‎docs/whats-new/index.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ summary: Welcome to what's new in .NET and .NET docs. Use this page to navigate
55
metadata:
66
title: .NET what's new?
77
description: Learn about new .NET features and new and updated content in .NET docs.
8-
ms.date: 04/01/2025
8+
ms.date: 05/01/2025
99
ms.topic: landing-page
1010
landingContent:
1111
- title: .NET 10 release updates
@@ -40,12 +40,12 @@ landingContent:
4040
linkLists:
4141
- linkListType: whats-new
4242
links:
43+
- text: April 2025
44+
url: dotnet-docs-mod1.md
4345
- text: March 2025
4446
url: dotnet-docs-mod0.md
4547
- text: February 2025
4648
url: dotnet-docs-mod2.md
47-
- text: January 2025
48-
url: dotnet-docs-mod1.md
4949
- title: Language updates
5050
linkLists:
5151
- linkListType: whats-new

‎docs/whats-new/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ items:
66
- name: Latest documentation updates
77
expanded: true
88
items:
9+
- name: April 2025
10+
href: dotnet-docs-mod1.md
911
- name: March 2025
1012
href: dotnet-docs-mod0.md
1113
- name: February 2025
1214
href: dotnet-docs-mod2.md
13-
- name: January 2025
14-
href: dotnet-docs-mod1.md
1515
- name: Product updates
1616
items:
1717
- name: .NET 10

0 commit comments

Comments
 (0)