Indicates a public API that is stable for callers to use, but has no guarantee of stability for
extension. Consequently, the API should only be extended within the package containing the API.
For example:
An interface marked with this annotation can have new methods added to it.
A non-final class with this annotation can be marked final.
A class with this annotation can have new abstract methods added.
a non-final method with this annotation can be marked final.
The list above is just for illustration purposes and is not exhaustive.
Adding this annotation to an API is considered API-breaking.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-09 UTC."],[[["The latest version of the API is 2.46.1, and there are numerous previous versions listed, ranging down to version 2.1.2."],["This API is currently in a Pre-GA stage, meaning it has limited support and its features may undergo changes that are not compatible with other pre-GA versions."],["The `InternalExtensionOnly` interface is designed for stable public use but restricted extension within its own package, implying potential changes like adding methods or making classes final."],["Adding the `InternalExtensionOnly` annotation to an API is considered a breaking change to the API."],["The `value()` method, part of the `InternalExtensionOnly` interface, returns a String that provides context on why the interface or class has been annotated as such."]]],[]]