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

Proposal: <preliminary> documentation element #1768

Open
sharwell opened this issue Aug 2, 2018 · 1 comment
Open

Proposal: <preliminary> documentation element #1768

sharwell opened this issue Aug 2, 2018 · 1 comment
Assignees
Labels
Milestone

Comments

@sharwell
Copy link
Member

sharwell commented Aug 2, 2018

I propose updating the C# language specification to define <preliminary> as a section-level documentation element. This element is valuable in versioning strategies where APIs may be included in published binaries prior to being declared stable. One recent example is the IOperation APIs used by Roslyn. Defining the <preliminary> element provides several benefits to library authors and users:

  • Library authors can validate the defined public API surface for both stable and preliminary APIs by updating PublicApiAnalyzer to account for <preliminary>
  • Library users can avoid using preliminary APIs by installing an analyzer capable of identifying preliminary APIs in a uniform manner
  • In cases where library users wish to use a preliminary API, analyzers can help users contain the usage scope to avoid possible negative impact on other parts of an application

🔗 preliminary (Sandcastle XML Comments Guide)
🔗 Breaking Changes Policy (Threading API Reference) (See the Preliminary Features section at the bottom)

@sharwell
Copy link
Member Author

sharwell commented Aug 2, 2018

/cc @EWSoftware

@DustinCampbell DustinCampbell self-assigned this Sep 17, 2018
@MadsTorgersen MadsTorgersen added this to the X.0 candidate milestone Sep 19, 2018
@MadsTorgersen MadsTorgersen added the Blocked Waiting for a dependency label Sep 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants