Skip to content

Rework api categories format#9160

Merged
DanRod1999 merged 3 commits into
masterfrom
dan/rework-api-tag-defs
Apr 3, 2026
Merged

Rework api categories format#9160
DanRod1999 merged 3 commits into
masterfrom
dan/rework-api-tag-defs

Conversation

@DanRod1999

@DanRod1999 DanRod1999 commented Apr 1, 2026

Copy link
Copy Markdown
Contributor

Trying to make it clearer that deprecated and preview tags are to be used on top of any of the other categories.

Also Preview does not link to anything and looks weird. Not sure if we should link to something or just remove the square brackets so it looks more normal

Current docs

@DanRod1999 DanRod1999 changed the title rework api categories structure Rework api categories format Apr 1, 2026
@DanRod1999

Copy link
Copy Markdown
Contributor Author

Formatted example:

API categories

iTwin.js uses API Extractor to help manage its APIs. Each API exported by a package is marked with one of four "release tags" categorizing its level of maturity.

  • "internal" indicates an API that is intended strictly to be used inside the iTwin.js libraries - never by users.
  • "alpha" indicates a highly-experimental API likely to undergo significant, frequent change and/or abrupt removal. These are rare in iTwin.js as we are typically interested in early feedback.
  • "beta" indicates an API currently under development. Users are encouraged to experiment with the API and provide feedback, with the understanding that breaking changes may occur at any time.
  • "public" indicates a stable API suitable for use in production, to which breaking changes will only be introduced under the strict policies described in this document.

In addition to any one of the above release tags, an API may also be tagged as:

  • "deprecated", indicating that it should no longer be used and may be removed in a future release. A deprecated tag is typically accompanied by information about the package version in which it became deprecated and guidance for adjusting existing usage of the API, e.g., what API to use instead. A "public" deprecated API will only be removed according to the deprecation policy.
  • ["preview"] indicates an API that is stable within the current major version, but may be changed or removed in the next major version. It is typically used in conjunction with the public tag to signal that while the API is production-ready for the time being, it is not guaranteed to remain stable across major version updates.

Only "public" and "beta" APIs are included in the published documentation. An API typically starts out as "beta". It may evolve rapidly in response to feedback before stabilizing and being promoted to "public". On occasion, a "beta" API may be abandoned - not all experiments succeed.

The "public API" of a package comprises the set of all APIs it contains that are marked with the "public" release tag. The package's public API enjoys stability guarantees provided by the package versioning policy.

Contributors to iTwin.js should follow the provided guidelines when applying release tags to their APIs.

Comment thread docs/learning/api-support-policies.md Outdated
Comment thread docs/learning/api-support-policies.md Outdated
Comment thread docs/learning/api-support-policies.md
@DanRod1999 DanRod1999 marked this pull request as ready for review April 3, 2026 15:48
@DanRod1999 DanRod1999 requested a review from a team as a code owner April 3, 2026 15:48
@DanRod1999 DanRod1999 merged commit dcee523 into master Apr 3, 2026
13 checks passed
@DanRod1999 DanRod1999 deleted the dan/rework-api-tag-defs branch April 3, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants