Skip to content

What's new article #44643

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 96 additions & 75 deletions docs/whats-new/dotnet-docs-mod1.md
Original file line number Diff line number Diff line change
@@ -1,108 +1,129 @@
---
title: ".NET docs: What's new for October 2024"
description: "What's new in the .NET docs for October 2024."
ms.custom: October-2024
ms.date: 11/01/2024
title: ".NET docs: What's new for January 2025"
description: "What's new in the .NET docs for January 2025."
ms.custom: January-2025
ms.date: 02/01/2025
---

# .NET docs: What's new for October 2024
# .NET docs: What's new for January 2025

Welcome to what's new in the .NET docs for October 2024. This article lists some of the major changes to docs during this period.
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.

## .NET breaking changes

### New articles

- [BinaryReader.GetString() returns \uFFFD on malformed sequences](../core/compatibility/core-libraries/9.0/binaryreader.md)
- [CET supported by default](../core/compatibility/interop/9.0/cet-support.md)
- [EnumConverter validates registered types to be enum](../core/compatibility/core-libraries/9.0/enumconverter.md)
- [New security analyzers](../core/compatibility/windows-forms/9.0/security-analyzers.md)
- [New TimeSpan.From*() overloads that take integers](../core/compatibility/core-libraries/9.0/timespan-from-overloads.md)
- [Some SVE APIs removed](../core/compatibility/jit/9.0/sve-apis.md)
- [User info in `mailto:` URIs is compared](../core/compatibility/networking/8.0/uri-comparison.md)
- [Windows private key lifetime simplified](../core/compatibility/cryptography/9.0/private-key-lifetime.md)
- [`dotnet sln add` no longer allows invalid file names](../core/compatibility/sdk/9.0/dotnet-sln.md)
- [ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change](../core/compatibility/core-libraries/10.0/activity-sampling.md)
- [API obsoletions with non-default diagnostic IDs (.NET 10)](../core/compatibility/core-libraries/10.0/obsolete-apis.md)
- [Breaking changes in .NET 10](../core/compatibility/10.0.md)
- [C# 14 overload resolution with span parameters](../core/compatibility/core-libraries/10.0/csharp-overload-resolution.md)
- [Consistent shift behavior in generic math](../core/compatibility/core-libraries/10.0/generic-math.md)
- [Default RID used when targeting .NET Framework](../core/compatibility/sdk/9.0/default-rid.md)
- [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](../core/compatibility/globalization/10.0/version-override.md)
- [LDAP DirectoryControl parsing is now more stringent](../core/compatibility/core-libraries/10.0/ldap-directorycontrol-parsing.md)
- [MacCatalyst version normalization](../core/compatibility/core-libraries/10.0/maccatalyst-version-normalization.md)
- [Renamed parameter in HtmlElement.InsertAdjacentElement](../core/compatibility/windows-forms/10.0/insertadjacentelement-orientation.md)
- [TreeView checkbox image truncation](../core/compatibility/windows-forms/10.0/treeview-text-location.md)
- [X500DistinguishedName validation is stricter](../core/compatibility/cryptography/10.0/x500distinguishedname-validation.md)

## .NET fundamentals

### New articles

- [Analyze projects with .NET Upgrade Assistant](../core/porting/upgrade-assistant-how-to-analyze.md)
- [CA2022: Avoid inexact read with Stream.Read](../fundamentals/code-analysis/quality-rules/ca2022.md)
- [CA2265: Do not compare `Span<T>` to `null` or `default`](../fundamentals/code-analysis/quality-rules/ca2265.md)
- [Configuration source generator](../core/extensions/configuration-generator.md)
- [Experimental features in .NET 9+](../fundamentals/syslib-diagnostics/experimental-overview.md)
- [Intrinsic APIs marked RequiresUnreferencedCode](../core/deploying/trimming/intrinsic-requiresunreferencedcode-apis.md)
- [Microsoft.Testing.Platform architecture](../core/testing/unit-testing-platform-architecture.md)
- [Microsoft.Testing.Platform capabilities](../core/testing/unit-testing-platform-architecture-capabilities.md)
- [Microsoft.Testing.Platform extensibility](../core/testing/unit-testing-platform-architecture-extensions.md)
- [Microsoft.Testing.Platform Services](../core/testing/unit-testing-platform-architecture-services.md)
- [Native interoperability ABI support](../standard/native-interop/abi-support.md)
- [Respect nullable annotations](../standard/serialization/system-text-json/nullable-annotations.md)
- [SYSLIB1230: Deriving from a `GeneratedComInterface`-attributed interface defined in another assembly is not supported](../fundamentals/syslib-diagnostics/syslib1230.md)
- [Upgrade projects with .NET Upgrade Assistant](../core/porting/upgrade-assistant-how-to-upgrade.md)
- [What is code analysis with .NET Upgrade Assistant?](../core/porting/upgrade-assistant-analyze-overview.md)
- [Extract schema](../standard/serialization/system-text-json/extract-schema.md)
- [.NET SDK container creation overview](../core/containers/overview.md)
- [CA2024: Do not use StreamReader.EndOfStream in async methods](../fundamentals/code-analysis/quality-rules/ca2024.md)
- [Containerize a .NET app with dotnet publish](../core/containers/sdk-publish.md)
- [Distributed tracing in System.Net libraries](../fundamentals/networking/telemetry/tracing.md)
- [Keyed DI support in `IHttpClientFactory`](../core/extensions/httpclient-factory-keyed-di.md)
- [MSTEST0038: Don't use 'Assert.AreSame' or 'Assert.AreNotSame' with value types](../core/testing/mstest-analyzers/mstest0038.md)
- [MSTEST0039: Use newer 'Assert.Throws' methods](../core/testing/mstest-analyzers/mstest0039.md)
- [MSTEST0040: Do not assert inside 'async void' contexts](../core/testing/mstest-analyzers/mstest0040.md)
- [NETSDK1032: RuntimeIdentifier and PlatformTarget must be compatible](../core/tools/sdk-errors/netsdk1032.md)
- [NETSDK1144: Optimizing assemblies for size failed](../core/tools/sdk-errors/netsdk1144.md)
- [Preview APIs](../fundamentals/runtime-libraries/preview-apis.md)
- [QUIC configuration options](../fundamentals/networking/quic/quic-options.md)
- [Serialization extension methods on HttpClient](../standard/serialization/system-text-json/httpclient-extensions.md)
- [SYSLIB0058: Certain SslStream properties are obsolete](../fundamentals/syslib-diagnostics/syslib0058.md)
- [SYSLIB0059: SystemEvents.EventsThreadShutdown callbacks aren't run before the process exits](../fundamentals/syslib-diagnostics/syslib0059.md)
- [SYSLIB0060: Rfc2898DeriveBytes constructors are obsolete](../fundamentals/syslib-diagnostics/syslib0060.md)

### Updated articles

- [HttpWebRequest to HttpClient migration guide](../fundamentals/networking/http/httpclient-migrate-from-httpwebrequest.md) - Fix build suggestions
- [Install .NET on macOS](../core/install/macos.md) - Rewrite install on macOS article
- [Creating metrics](../core/diagnostics/metrics-instrumentation.md) - [diagnostics] Add InstrumentAdvice details to instrumentation doc
- [dotnet-coverage code coverage utility](../core/additional-tools/dotnet-coverage.md) - Update dotnet-coverage docs. Adding uninstrument command
- [Microsoft.Testing.Platform and VSTest comparison](../core/testing/unit-testing-platform-vs-vstest.md) - Add first level info for migration off of VSTest
- [Tutorial: Containerize a .NET app](../core/docker/build-container.md) - Address issues related to .NET containers

## C# language

### New articles

- [Custom attributes that generate flags or options in the Intermediate Language (IL) output](../csharp/language-reference/attributes/pseudo-attributes.md)

## Visual Basic language

### Updated articles

- [Generic types in Visual Basic (Visual Basic)](../visual-basic/programming-guide/language-features/data-types/generic-types.md) - Add VB new features
- [Troubleshooting Interoperability (Visual Basic)](../visual-basic/programming-guide/com-interop/troubleshooting-interoperability.md) - Fix up missing periods (.NET Framework docs)

## AI in .NET

### New articles

- [Create a minimal AI assistant using .NET](../ai/quickstarts/quickstart-assistants.md)

## Azure SDK for .NET

### New articles

- [Use Copilot Conversational Assessment with the Azure Migrate application and code assessment tool.](../azure/migration/appcat/visual-studio-copilot.md)
- [Authentication best practices with the Azure Identity library for .NET](../azure/sdk/authentication/best-practices.md)

## Microsoft Orleans

### New articles

- [Grain directory implementation](../orleans/implementation/grain-directory.md)

### Updated articles

- [Background Services and Startup Tasks](../orleans/host/configuration-guide/startup-tasks.md) - [Orleans] Update startup tasks guidance
- [Cluster management in Orleans](../orleans/implementation/cluster-management.md) - [Orleans] Update clustering implementation docs

## .NET Framework

### New articles

- [February 2024 security and quality rollup](../framework/release-notes/2024/02-14-february-security-and-quality-rollup.md)
- [January 2024 cumulative update preview](../framework/release-notes/2024/01-23-january-preview-cumulative-update.md)
- [January 2024 security and quality rollup](../framework/release-notes/2024/01-09-january-security-and-quality-rollup.md)
- [March 2024 cumulative update preview](../framework/release-notes/2024/03-26-march-preview-cumulative-update.md)
- [October 2024 cumulative update preview](../framework/release-notes/2024/10-22-october-preview-cumulative-update.md)
- [October 2024 security and quality rollup](../framework/release-notes/2024/10-08-october-security-and-quality-rollup.md)
- [.NET Framework release notes](../framework/release-notes/release-notes.md)
- [January 2025 cumulative update](../framework/release-notes/2025/01-14-january-cumulative-update.md)

### Updated articles

- [Security Concerns and Useful Tips for Tracing](../framework/wcf/diagnostics/tracing/security-concerns-and-useful-tips-for-tracing.md) - Fix up missing periods (.NET Framework docs)
- [Security Concerns for Message Logging](../framework/wcf/diagnostics/security-concerns-for-message-logging.md) - Fix up missing periods (.NET Framework docs)

## Community contributors

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).

- [shethaadit](https://github.com/shethaadit) - Adit Sheth ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [bigboybamo](https://github.com/bigboybamo) - Olabamiji Oyetubo ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [juner](https://github.com/juner) - juner ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [Marusyk](https://github.com/Marusyk) - Roman Marusyk ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [timdeschryver](https://github.com/timdeschryver) - Tim Deschryver ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [aarijimam](https://github.com/aarijimam) - Nawab Aarij Imam ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [alexravenna](https://github.com/alexravenna) - Alex Ravenna ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [am11](https://github.com/am11) - Adeel Mujahid ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [ardalis](https://github.com/ardalis) - Steve Smith ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [azarboon](https://github.com/azarboon) - Mahdi Azarboon ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [batkaevruslan](https://github.com/batkaevruslan) - Ruslan Batkaev ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [BigT-88](https://github.com/BigT-88) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [colejohnson66](https://github.com/colejohnson66) - Cole Tobin ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [fabrizziocht](https://github.com/fabrizziocht) - Fabrizzio Chavez ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [gbamqzkdyg](https://github.com/gbamqzkdyg) - Luca Ma ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [glen-84](https://github.com/glen-84) - Glen ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [hakenr](https://github.com/hakenr) - Robert Haken ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [HugoRoss](https://github.com/HugoRoss) - Christoph Hafner ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [ichensky](https://github.com/ichensky) - Ivan Chensky ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [janus-toendering](https://github.com/janus-toendering) - Janus Tøndering ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [jochenkirstaetter](https://github.com/jochenkirstaetter) - Jochen Kirstätter ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [jsedlak](https://github.com/jsedlak) - John Sedlak ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [magiudev](https://github.com/magiudev) - Miguel Angel Echeverri Quiroz ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [MarGraz](https://github.com/MarGraz) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [Navis304](https://github.com/Navis304) - Robert ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [omajid](https://github.com/omajid) - Omair Majid ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [PawelAdamczuk](https://github.com/PawelAdamczuk) - Paweł Adamczuk ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [pragnya17](https://github.com/pragnya17) - Pragnya ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [Rageking8](https://github.com/Rageking8) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [shethaadit](https://github.com/shethaadit) - Adit Sheth ![17 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-17-green)
- [BartoszKlonowski](https://github.com/BartoszKlonowski) - Bartosz Klonowski ![7 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-7-green)
- [azarboon](https://github.com/azarboon) - Mahdi Azarboon ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
- [theluckyprogrammer](https://github.com/theluckyprogrammer) - Tomasz Osmanowski ![3 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-3-green)
- [mpidash](https://github.com/mpidash) - Mario Pistrich ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [Rageking8](https://github.com/Rageking8) - ![2 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-2-green)
- [frdij](https://github.com/frdij) - Frans van Dijk ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [gregoryagu](https://github.com/gregoryagu) - Greg Gum ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [joproulx](https://github.com/joproulx) - Jonathan ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [K4PS3](https://github.com/K4PS3) - khaled ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [MangelMaxime](https://github.com/MangelMaxime) - Maxime Mangel ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [mguinness](https://github.com/mguinness) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [RandaZraik](https://github.com/RandaZraik) - Randa Zraik ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [rkargMsft](https://github.com/rkargMsft) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [samwherever](https://github.com/samwherever) - Sam Allen ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [Swimburger](https://github.com/Swimburger) - Niels Swimberghe ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [vcrobe](https://github.com/vcrobe) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [WeihanLi](https://github.com/WeihanLi) - Weihan Li ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [xakep139](https://github.com/xakep139) - Nikita Balabaev ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [xtqqczze](https://github.com/xtqqczze) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [Youssef1313](https://github.com/Youssef1313) - Youssef Victor ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [SetTrend](https://github.com/SetTrend) - Axel D. ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [ShaoHans](https://github.com/ShaoHans) - ShaoHans ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [wasabii](https://github.com/wasabii) - Jerome Haltom ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [willibrandon](https://github.com/willibrandon) - Brandon Williams ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
- [zacharylayne](https://github.com/zacharylayne) - ![1 pull requests.](https://img.shields.io/badge/Merged%20Pull%20Requests-1-green)
6 changes: 3 additions & 3 deletions docs/whats-new/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ summary: Welcome to what's new in .NET and .NET docs. Use this page to navigate
metadata:
title: .NET what's new?
description: Learn about new .NET features and new and updated content in .NET docs.
ms.date: 01/14/2025
ms.date: 02/01/2025
ms.topic: landing-page
landingContent:
- title: .NET 9 release updates
Expand Down Expand Up @@ -42,12 +42,12 @@ landingContent:
linkLists:
- linkListType: whats-new
links:
- text: January 2025
url: dotnet-docs-mod1.md
- text: December 2024
url: dotnet-docs-mod0.md
- text: November 2024
url: dotnet-docs-mod2.md
- text: October 2024
url: dotnet-docs-mod1.md
- title: Language updates
linkLists:
- linkListType: whats-new
Expand Down
4 changes: 2 additions & 2 deletions docs/whats-new/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ items:
- name: Latest documentation updates
expanded: true
items:
- name: January 2025
href: dotnet-docs-mod1.md
- name: December 2024
href: dotnet-docs-mod0.md
- name: November 2024
href: dotnet-docs-mod2.md
- name: October 2024
href: dotnet-docs-mod1.md
- name: Product updates
items:
- name: .NET 9
Expand Down