diff --git a/ObsoletionReport.md b/ObsoletionReport.md new file mode 100644 index 000000000000..d2731679ff9f --- /dev/null +++ b/ObsoletionReport.md @@ -0,0 +1,254 @@ +# ASP.NET Core Obsolete API Report + +This document lists all occurrences of the C# `[Obsolete]` attribute usage across the ASP.NET Core codebase, +along with the date each obsolete attribute was introduced into the main branch. + +## Methodology + +This report was generated using the following approach: + +1. **Search Pattern**: Searched the entire repository for C# attribute usages: `[Obsolete]`, `[Obsolete("...")]`, + and `[ObsoleteAttribute(...)]` (case-sensitive) in `.cs` files within the `src` directory. + +2. **Commit Tracking**: For each occurrence, used `git log -L` to trace the line history and identify the + commit where the opening `[` of the attribute was first introduced into the main branch. + +3. **Symbol Identification**: Extracted the symbol name (type, method, property, field, etc.) that the + obsolete attribute applies to by examining the code line immediately following the attribute. + +4. **Data Extraction**: For each obsolete usage, extracted: + - Symbol name and kind (Type, Method, Property, Field, etc.) + - File path relative to repository root + - Obsolete message (if provided) + - IsError flag (whether the obsolete is an error) + - Commit SHA (full 40-character hash) + - Commit date in UTC (ISO 8601 format) + +### Limitations + +- File renames or code moves may attribute the obsolete to a later commit if the file was recreated + or restructured rather than moved via `git mv`. +- Symbol names are extracted via pattern matching and may not always reflect the fully qualified name, + particularly for nested types or complex declarations. +- Multi-line attribute declarations are concatenated for readability. + +## Obsolete APIs + +Total obsolete APIs found: **195** + +| SymbolName | Kind | File | ObsoleteMessage | IsError | IntroducedCommit | IntroducedDate | +|------------|------|------|-----------------|---------|------------------|----------------| +| Body | Property | src/Http/Http.Features/src/IHttpResponseFeature.cs | Use IHttpResponseBodyFeature.Stream instead. | False | bdf69b0d0c7aafb021c64140bc619d276a5f83d4 | 2013-12-19T19:38:05Z | +| ComplexTypeModelBinder | Type | src/Mvc/Mvc.Core/src/ModelBinding/Binders/ComplexTypeModelBinder.cs | This type is obsolete and will be removed in a future version. Use ComplexObjectModelBinder instead. | False | b6c78de4ea197088feeb4b12a1fbba9215aa7ea1 | 2014-02-23T23:23:58Z | +| Clock | Property | src/Security/Authentication/Core/src/AuthenticationHandler.cs | ISystemClock is obsolete, use TimeProvider instead. | False | 085188996c2e6d56e47e534e888768d4130fcfb1 | 2014-03-14T19:43:45Z | +| ResponseCookiesFeature | Method | src/Http/Http/src/Features/ResponseCookiesFeature.cs | This constructor is obsolete and will be removed in a future version. | False | ae9545a124b1b0469ca9ff181ea892dfd6e676bc | 2014-03-18T17:21:12Z | +| ExtendedWebSocketAcceptContext | Type | src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs | This type is obsolete and will be removed in a future version. The recommended alternative is Microsoft.AspNetCore.Http.WebSocketAcceptContext. | False | df425e479662db6daafd0d6df48b8bfae5d86e8e | 2014-06-30T19:50:55Z | +| ReceiveBufferSize | Property | src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs | Setting this property has no effect. It will be removed in a future version. | False | df425e479662db6daafd0d6df48b8bfae5d86e8e | 2014-06-30T19:50:55Z | +| ReceiveBufferSize | Property | src/Middleware/WebSockets/src/WebSocketOptions.cs | Setting this property has no effect. It will be removed in a future version. | False | df425e479662db6daafd0d6df48b8bfae5d86e8e | 2014-06-30T19:50:55Z | +| NewtonsoftJsonOutputFormatter | Method | src/Mvc/Mvc.NewtonsoftJson/src/NewtonsoftJsonOutputFormatter.cs | This constructor is obsolete and will be removed in a future version. | False | 1df4738a19f2dd75a590fe0698cc4574a6617132 | 2014-07-11T18:23:14Z | +| DatabaseErrorPageMiddleware | Method | src/Middleware/Diagnostics.EntityFrameworkCore/src/DatabaseErrorPageMiddleware.cs | This is obsolete and will be removed in a future version. Use DatabaseDeveloperPageExceptionFilter instead, see documentation at https://aka.ms/DatabaseDeveloperPageExceptionFilter. | False | fad5ba4323cd29f8d5ad6d31fc835d722a37d7d9 | 2014-11-17T23:49:09Z | +| DatabaseErrorPageExtensions | Type | src/Middleware/Diagnostics.EntityFrameworkCore/src/DatabaseErrorPageExtensions.cs | This is obsolete and will be removed in a future version. Use DatabaseDeveloperPageExceptionFilter instead, see documentation at https://aka.ms/DatabaseDeveloperPageExceptionFilter. | False | fad5ba4323cd29f8d5ad6d31fc835d722a37d7d9 | 2014-11-17T23:49:09Z | +| ForProperty | Method | src/Mvc/Mvc.Abstractions/src/ModelBinding/Metadata/ModelMetadataIdentity.cs | This API is obsolete and may be removed in a future release. Please use the overload that takes a PropertyInfo object. | False | 90cef3b9ca86f56bd49700f632474e7db068816a | 2015-02-27T23:09:44Z | +| HostingEnvironment | Property | src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs | This property is obsolete and will be removed in a future version. | False | ab4d2eec31392607803e053e6af6402e1928ded8 | 2015-05-07T18:25:38Z | +| Cache | Property | src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs | This property is obsolete and will be removed in a future version. | False | ab4d2eec31392607803e053e6af6402e1928ded8 | 2015-05-07T18:25:38Z | +| WithCulture | Method | src/Mvc/Mvc.Localization/test/MvcLocalizationServiceCollectionExtensionsTest.cs | This method is obsolete. Use `CurrentCulture` and `CurrentUICulture` instead. | False | d8a523a07f76f722b00a2a95f74668b9fc93e6a4 | 2015-06-01T23:15:38Z | +| WithCulture | Method | src/Mvc/Mvc.Localization/test/MvcLocalizationServiceCollectionExtensionsTest.cs | This method is obsolete. Use `CurrentCulture` and `CurrentUICulture` instead. | False | d8a523a07f76f722b00a2a95f74668b9fc93e6a4 | 2015-06-01T23:15:38Z | +| UseDatabaseErrorPage | Method | src/Middleware/Diagnostics.EntityFrameworkCore/src/DatabaseErrorPageExtensions.cs | This is obsolete and will be removed in a future version. Use DatabaseDeveloperPageExceptionFilter instead, see documentation at https://aka.ms/DatabaseDeveloperPageExceptionFilter. | False | 2e884f20f75ef7607a1b46440f72bc5e823dac7f | 2015-10-20T17:18:10Z | +| WithCulture | Method | src/Mvc/Mvc.Localization/test/ViewLocalizerTest.cs | This method is obsolete. Use `CurrentCulture` and `CurrentUICulture` instead. | False | 3da2c35e3ecff8314205ca3ff0c46755748e2cff | 2015-11-03T22:27:01Z | +| KnownNetworks | Property | src/Middleware/HttpOverrides/src/ForwardedHeadersOptions.cs | Please use KnownIPNetworks instead. For more information, visit https://aka.ms/aspnet/deprecate/005. | False | 44f03ef83f1d0678b1dd95f7b021378f5b54eb7d | 2015-12-21T22:45:37Z | +| BadHttpRequestException | Type | src/Servers/Kestrel/Core/src/BadHttpRequestException.cs | Moved to Microsoft.AspNetCore.Http.BadHttpRequestException. See https://aka.ms/badhttprequestexception for details. | False | 766803c573961cab131218a4b931b1203dad543e | 2016-02-23T10:18:46Z | +| ComplexTypeModelBinderProvider | Type | src/Mvc/Mvc.Core/src/ModelBinding/Binders/ComplexTypeModelBinderProvider.cs | This type is obsolete and will be removed in a future version. Use ComplexObjectModelBinderProvider instead. | False | fb81a5e11ead9866b2ecf6851168230b44327085 | 2016-03-16T21:38:36Z | +| EnableAltSvc | Property | src/Servers/Kestrel/Core/src/KestrelServerOptions.cs | This property is obsolete and will be removed in a future version. It no longer has any impact on runtime behavior. Use {nameof(Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions)}.{nameof(Micr... [m1] | True | 6047a62c070780ca960f84d60c918ee464d3f319 | 2016-04-13T21:57:54Z | +| GetFileStream | Method | src/Mvc/Mvc.Core/src/Infrastructure/PhysicalFileResultExecutor.cs | This API is no longer called. | False | 8493064fe5ac9a14eb0dbe970717b1821cdc7ad8 | 2016-05-25T17:06:13Z | +| IPageLoader | Interface | src/Mvc/Mvc.RazorPages/src/Infrastructure/IPageLoader.cs | This type is obsolete. Use | False | 2b8233932a1633dba82bb7e1b70102295fa1f71d | 2016-11-15T19:49:35Z | +| LoadAsync | Method | src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageLoader.cs | | False | 9f3dfd98194d94362586bd5a8c1dccec9df38a48 | 2017-02-01T01:37:07Z | +| ViewAttribute | Property | src/Mvc/Mvc.Razor/src/Compilation/CompiledViewDescriptor.cs | Use Item instead. RazorViewAttribute has been superseded by RazorCompiledItem and will not be used by the runtime. | False | 452578e4a880676a35a8c50a6e4e8e11dccbd125 | 2017-05-16T18:07:58Z | +| RazorViewAttribute | Type | src/Mvc/Mvc.Razor/src/Compilation/RazorViewAttribute.cs | This attribute has been superseded by RazorCompiledItem and will not be used by the runtime. | False | 452578e4a880676a35a8c50a6e4e8e11dccbd125 | 2017-05-16T18:07:58Z | +| RazorPageAttribute | Type | src/Mvc/Mvc.RazorPages/src/Infrastructure/RazorPageAttribute.cs | This attribute has been superseded by RazorCompiledItem and will not be used by the runtime. | False | 452578e4a880676a35a8c50a6e4e8e11dccbd125 | 2017-05-16T18:07:58Z | +| IStartupConfigureServicesFilter | Interface | src/Hosting/Abstractions/src/IStartupConfigureServicesFilter.cs | | False | 964b671288d95ee659d2119f3c3d9831c70b81db | 2017-08-14T20:35:06Z | +| IStartupConfigureContainerFilter | Interface | src/Hosting/Abstractions/src/IStartupConfigureContainerFilter.cs | | False | 964b671288d95ee659d2119f3c3d9831c70b81db | 2017-08-14T20:35:06Z | +| AngularCliBuilder | Type | src/Middleware/Spa/SpaServices.Extensions/src/AngularCli/AngularCliBuilder.cs | Prerendering is no longer supported out of box | False | c8b337ebaa67c888901cbed4b3fd574a9113df15 | 2017-10-23T14:38:32Z | +| SpaPrerenderingOptions | Type | src/Middleware/Spa/SpaServices.Extensions/src/Prerendering/SpaPrerenderingOptions.cs | Prerendering is no longer supported out of box | False | c8b337ebaa67c888901cbed4b3fd574a9113df15 | 2017-10-23T14:38:32Z | +| ISpaPrerendererBuilder | Interface | src/Middleware/Spa/SpaServices.Extensions/src/Prerendering/ISpaPrerendererBuilder.cs | Prerendering is no longer supported out of box | False | c8b337ebaa67c888901cbed4b3fd574a9113df15 | 2017-10-23T14:38:32Z | +| BindingAddress | Method | src/Http/Http/src/BindingAddress.cs | This constructor is obsolete and will be removed in a future version. Use BindingAddress.Parse(address) to create a BindingAddress instance. | False | 150bb3faf413226d053777bbc72618fb284a6970 | 2017-12-19T02:40:11Z | +| ConfigureCompatibilityOptions | Type | src/Mvc/Mvc.Core/src/Infrastructure/ConfigureCompatibilityOptions.cs | This API is obsolete and will be removed in a future version. Consider removing usages. | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| MvcCompatibilityOptions | Type | src/Mvc/Mvc.Core/src/Infrastructure/MvcCompatibilityOptions.cs | This API is obsolete and will be removed in a future version. Consider removing usages. | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| SetCompatibilityVersion | Method | src/Mvc/Mvc.Core/src/DependencyInjection/MvcCoreMvcCoreBuilderExtensions.cs | This API is obsolete and will be removed in a future version. Consider removing usages. | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| CompatibilityVersion | Enum | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This API is obsolete and will be removed in a future version. Consider removing usages. | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| Unknown | Unknown | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| Unknown | Unknown | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| Unknown | Unknown | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| Latest | Field | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This | False | 747420e5aa7cc2c7834cfb9731510286ded6fc03 | 2017-12-28T17:43:24Z | +| GetIISServerVariable | Method | src/Servers/IIS/IIS/src/HttpContextExtensions.cs | This is obsolete and will be removed in a future version. Use | False | 011cf720e6fcb049946991339d5213a70167c8b4 | 2018-01-28T07:57:13Z | +| Unknown | Unknown | src/Mvc/Mvc.Core/src/CompatibilityVersion.cs | This | False | edf4e8fd9e238409f77c34ebd66d8ed8be332962 | 2018-05-21T19:09:56Z | +| SetCompatibilityVersion | Method | src/Mvc/Mvc.Core/src/DependencyInjection/MvcCoreMvcBuilderExtensions.cs | This API is obsolete and will be removed in a future version. Consider removing usages. | False | 2544926b2fc9231fa508070291eb9dc5bf2d58df | 2018-10-17T20:58:09Z | +| TestPathUtilities | Type | src/Testing/src/TestPathUtilities.cs | This API is obsolete and the pattern its usage encouraged should not be used anymore. See https://github.com/dotnet/extensions/issues/1697 for details. | False | 45b0b83997cf5369d1e6541952af4e35de31c694 | 2018-10-30T23:39:06Z | +| SkippedTestCase | Method | src/Testing/src/xunit/SkippedTestCase.cs | Called by the de-serializer; should only be called by deriving classes for de-serialization purposes | False | 45b0b83997cf5369d1e6541952af4e35de31c694 | 2018-10-30T23:39:06Z | +| OSSkipConditionAttribute | Method | src/Testing/src/xunit/OSSkipConditionAttribute.cs | Use the Minimum/MaximumOSVersionAttribute for version checks. | True | 45b0b83997cf5369d1e6541952af4e35de31c694 | 2018-10-30T23:39:06Z | +| AddDataAnnotationsValidation | Method | src/Components/Forms/src/EditContextDataAnnotationsExtensions.cs | Use | False | 7a2dfd32004d1496c6b8ddfd89cfa0aee8fce4e9 | 2019-02-20T09:56:32Z | +| LoadAsync | Method | src/Mvc/Mvc.RazorPages/src/Infrastructure/PageLoader.cs | This overload is obsolete and no longer called by the framework. Use the overload that includes an EndpointMetadataCollection. | False | 39e52578d354a6a7abb3f6169d5ac2174ffe4551 | 2019-03-04T22:45:59Z | +| BadHttpRequestException | Type | src/Servers/IIS/IIS/src/BadHttpRequestException.cs | Moved to Microsoft.AspNetCore.Http.BadHttpRequestException. See https://aka.ms/badhttprequestexception for details. | False | aaaaf572fdf11088ee0efd205ff6834e16a36804 | 2019-05-06T02:30:12Z | +| ResponseModeKey | Field | src/Security/Authentication/MicrosoftAccount/src/MicrosoftChallengeProperties.cs | This parameter is not supported in MicrosoftAccountHandler. | False | 402394347d5a9b3add7decf52af85cbb4e7866b3 | 2019-06-12T20:07:44Z | +| Unknown | Unknown | src/Security/Authentication/MicrosoftAccount/src/MicrosoftChallengeProperties.cs | This parameter is not supported in MicrosoftAccountHandler. | False | 402394347d5a9b3add7decf52af85cbb4e7866b3 | 2019-06-12T20:07:44Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| Create | Method | src/Components/Web/src/Web/WebEventCallbackFactoryEventArgsExtensions.cs | This extension method is obsolete and will be removed in a future version. Use the generic overload instead. | False | f00a6e9c50232e27fbe03c4c5b4ab46121cf891d | 2019-07-19T01:26:15Z | +| NotifyLocationChanged | Method | src/Components/WebAssembly/WebAssembly/src/Infrastructure/JSInteropMethods.cs | This API is for framework use only and is no longer used in the current version | False | d716ca9d62970a04f6be627a0b7b34b9dbd86266 | 2019-08-08T23:03:40Z | +| WORKAROUND_SkippedDataRowTestCase | Method | src/Testing/src/xunit/WORKAROUND_SkippedDataRowTestCase.cs | Called by the de-serializer; should only be called by deriving classes for de-serialization purposes | False | b1987c75cbceb42c2da539d4df956a5204af07fd | 2019-09-11T23:27:57Z | +| WORKAROUND_SkippedDataRowTestCase | Method | src/Testing/src/xunit/WORKAROUND_SkippedDataRowTestCase.cs | Please call the constructor which takes TestMethodDisplayOptions | False | b1987c75cbceb42c2da539d4df956a5204af07fd | 2019-09-11T23:27:57Z | +| CreateTestCaseForSkippedDataRow | Method | src/Testing/src/xunit/ConditionalTheoryDiscoverer.cs | | False | b1987c75cbceb42c2da539d4df956a5204af07fd | 2019-09-11T23:27:57Z | +| UseDatabaseErrorPage | Method | src/Middleware/Diagnostics.EntityFrameworkCore/src/DatabaseErrorPageExtensions.cs | This is obsolete and will be removed in a future version. Use DatabaseDeveloperPageExceptionFilter instead, see documentation at https://aka.ms/DatabaseDeveloperPageExceptionFilter. | False | cfe158cbed7483e8ab931e4cf47d578ba6c7170d | 2020-08-17T18:13:17Z | +| RemoteBrowserFileStreamOptions | Type | src/Components/Web/src/Forms/InputFile/RemoteBrowserFileStreamOptions.cs | RemoteJSDataStream defaults are utilized instead of the options here. | False | 0b1042c54e5906d8ffe3cd7b0bea36a530c7d5b3 | 2020-08-21T00:52:41Z | +| Manager | Property | src/SignalR/server/Specification.Tests/src/HubLifetimeManagerTestBase.cs | This API is obsolete and will be removed in a future version. Use CreateNewHubLifetimeManager in tests instead. | False | de21923744a8de3be37384f68b35d7fd14e19057 | 2021-01-06T22:18:11Z | +| Unknown | Unknown | src/Components/Web/src/WebRenderer.cs | The renderer ID can be assigned by overriding '{nameof(GetWebRendererId)}'. | False | 9f48bb24d4a077c2a706c6f02d8a7201a2ed2b4a | 2021-07-22T11:23:10Z | +| Win2008R2 | Field | src/Testing/src/xunit/WindowsVersions.cs | Use Win7 instead. | True | a450cb69b5e4549f5515cdb057a68771f56cefd7 | 2021-11-06T00:52:08Z | +| ImageTagHelper | Method | src/Mvc/Mvc.TagHelpers/src/ImageTagHelper.cs | This constructor is obsolete and will be removed in a future version. | False | a450cb69b5e4549f5515cdb057a68771f56cefd7 | 2021-11-06T00:52:08Z | +| GetFileStream | Method | src/Mvc/Mvc.Core/src/Infrastructure/VirtualFileResultExecutor.cs | This API is no longer called. | False | a450cb69b5e4549f5515cdb057a68771f56cefd7 | 2021-11-06T00:52:08Z | +| EnableDataAnnotationsValidation | Method | src/Components/Forms/src/EditContextDataAnnotationsExtensions.cs | This API is obsolete and may be removed in future versions. Use the overload that accepts an IServiceProvider instead. | False | 091fdc9aeedf5aa8a5c3154473e91ae921dca792 | 2022-01-19T14:34:50Z | +| Authority | Field | src/Http/Headers/src/HeaderNames.cs | | False | 0240b1f62c8c1b6cf5875d5e3ef49759afe5ad8e | 2022-07-11T22:41:17Z | +| Method | Field | src/Http/Headers/src/HeaderNames.cs | | False | 0240b1f62c8c1b6cf5875d5e3ef49759afe5ad8e | 2022-07-11T22:41:17Z | +| Path | Field | src/Http/Headers/src/HeaderNames.cs | | False | 0240b1f62c8c1b6cf5875d5e3ef49759afe5ad8e | 2022-07-11T22:41:17Z | +| Scheme | Field | src/Http/Headers/src/HeaderNames.cs | | False | 0240b1f62c8c1b6cf5875d5e3ef49759afe5ad8e | 2022-07-11T22:41:17Z | +| Status | Field | src/Http/Headers/src/HeaderNames.cs | | False | 0240b1f62c8c1b6cf5875d5e3ef49759afe5ad8e | 2022-07-11T22:41:17Z | +| LeakTrackingObjectPoolProvider | Type | src/ObjectPool/src/LeakTrackingObjectPoolProvider.cs | LeakTrackingObjectPoolProvider was only intended for internal use in diagnostic builds of .NET. | False | c86a82b7f36b80e75e6dd1eaf3c963d037162204 | 2022-08-09T01:39:34Z | +| LeakTrackingObjectPool | Type | src/ObjectPool/src/LeakTrackingObjectPool.cs | LeakTrackingObjectPool was only intended for internal use in diagnostic builds of .NET. | False | c86a82b7f36b80e75e6dd1eaf3c963d037162204 | 2022-08-09T01:39:34Z | +| SignOutSessionStateManager | Type | src/Components/WebAssembly/WebAssembly.Authentication/src/Services/SignOutSessionStateManager.cs | Use 'Microsoft.AspNetCore.Components.Webassembly.Authentication.NavigationManagerExtensions.NavigateToLogout' instead. | False | e8257757e3c3b5aa0bf8fb946c24b7852b69017f | 2022-08-12T09:35:24Z | +| RemoteAuthenticationService | Method | src/Components/WebAssembly/WebAssembly.Authentication/src/Services/RemoteAuthenticationService.cs | Use the constructor RemoteAuthenticationService(IJSRuntime,IOptionsSnapshot>,NavigationManager,AccountClaimsPrincipalFactory,ILogger>,NavigationManager,AccountClaimsPrincipalFactory,ILogger>) instead. + +**[m3]**: Concurrency Limiter middleware has been deprecated and will be removed in a future release. Update the app to use concurrency features in rate limiting middleware. For more information, see https://aka.ms/aspnet/rate-limiting + +**[m4]**: SecurityTokenHandlers is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenHandlers, set UseSecurityTokenHandlers to true. See https://aka.ms/aspnetcore8/security-token-changes + +**[m5]**: SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes + +**[m6]**: SecurityTokenValidator is no longer used by default. Use TokenHandler instead. To continue using SecurityTokenValidator, set UseSecurityTokenValidator to true. See https://aka.ms/aspnetcore8/security-token-changes + +**[m7]**: Razor runtime compilation is obsolete and is not recommended for production scenarios. For production scenarios, use the default build time compilation. For development scenarios, use Hot Reload instead. For more information, visit https://aka.ms/aspnet/deprecate/003. +