diff --git a/docs/whats-new/dotnet-docs-mod1.md b/docs/whats-new/dotnet-docs-mod1.md index 9aa05785b14e3..e0bddd30e346c 100644 --- a/docs/whats-new/dotnet-docs-mod1.md +++ b/docs/whats-new/dotnet-docs-mod1.md @@ -1,108 +1,123 @@ --- -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` 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 + +## 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) ## 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) diff --git a/docs/whats-new/index.yml b/docs/whats-new/index.yml index b619df0b27c61..77740c2ee93ae 100644 --- a/docs/whats-new/index.yml +++ b/docs/whats-new/index.yml @@ -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 @@ -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 diff --git a/docs/whats-new/toc.yml b/docs/whats-new/toc.yml index 1c67a13daa766..99164b8e424be 100644 --- a/docs/whats-new/toc.yml +++ b/docs/whats-new/toc.yml @@ -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