Skip to content
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

"Pubternal" APIs in ASP.NET Core have been removed #14708

Closed
analogrelay opened this issue Sep 26, 2019 · 0 comments · Fixed by #15044
Closed

"Pubternal" APIs in ASP.NET Core have been removed #14708

analogrelay opened this issue Sep 26, 2019 · 0 comments · Fixed by #15044
Assignees
Labels
breaking-change Indicates a .NET Core breaking change

Comments

@analogrelay
Copy link

"Pubternal" APIs in ASP.NET Core have been removed

In order to better maintain the public API surface of ASP.NET Core, we've moved a large majority of the types in the *.Internal namespace (previously we used the term "pubternal" to refer to these) to be truly internal. Members in these namespaces were always in a gray area. They were never meant to be supported as public APIs and could break in minor releases (and often did). We've moved away from pubternal for a large majority of APIs (there are still a few edge cases) an as a result, code that used to depend on these APIs will be broken when moving to 3.0.

See these issues for more details:

Version introduced

3.0

Old behavior

Previously, these APIs were public, but in namespaces with the Internal in the name.

New behavior

These APIs are now internal and can no longer be used.

Reason for change

The guidance for these "pubternal" APIs was that they could change without notice and were not subject to our policies to prevent breaking changes. In 3.0 we determined that leaving them public (even in the Internal namespaces) was still confusing to customers.

Recommended action

Discontinue use of these APIs. If you have questions about alternate APIs, feel free to file issues at https://github.com/aspnet/AspNetCore

Category

  • ASP.NET Core

Affected APIs

All APIs in namespaces under Microsoft.AspNetCore or Microsoft.Extensions which have an Internal segment in the namespace name. For example:

  • Microsoft.AspNetCore.Mvc.Formatters.Xml.Internal
  • Microsoft.AspNetCore.Mvc.Cors.Internal
  • Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
  • Microsoft.AspNetCore.Mvc.Formatters.Json.Internal
  • Microsoft.AspNetCore.Mvc.RazorPages.Internal
  • Microsoft.AspNetCore.Mvc.DataAnnotations.Internal
  • Microsoft.AspNetCore.Mvc.TagHelpers.Internal
  • Microsoft.AspNetCore.Mvc.Internal
  • Microsoft.AspNetCore.Mvc.Razor.Internal
  • Microsoft.AspNetCore.Mvc.Formatters.Internal
  • Microsoft.AspNetCore.Mvc.Core.Internal
  • Microsoft.AspNetCore.Mvc.ModelBinding.Internal
  • Microsoft.AspNetCore.Authentication.Internal
  • Microsoft.AspNetCore.Builder.Internal
  • Microsoft.AspNetCore.DataProtection.Internal
  • Microsoft.AspNetCore.DataProtection.Cng.Internal
  • Microsoft.AspNetCore.Hosting.Internal
  • Microsoft.AspNetCore.Http.Internal
  • Microsoft.AspNetCore.Mvc.Core.Infrastructure
  • Microsoft.AspNetCore.Mvc.Razor.Internal
  • Microsoft.AspNetCore.Rewrite.Internal
  • Microsoft.AspNetCore.Routing.Internal
  • Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal
  • Microsoft.AspNetCore.Server.Kestrel.Https.Internal
  • Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
  • Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure

Issue metadata

  • Issue type: breaking-change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Indicates a .NET Core breaking change
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants