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 provided content details the version history of the `InternalExtensionOnly` interface, ranging from version 2.46.1 (latest) down to version 2.1.2."],["`InternalExtensionOnly` is a public API annotation that signifies stability for use by callers, but it does not guarantee stability for extensions outside of its defining package."],["Changes such as adding new methods to an interface, marking a class or method as final, or introducing new abstract methods are permissible for APIs marked with the `InternalExtensionOnly` annotation."],["Applying this annotation to an API is a breaking change, meaning it should be done with careful consideration."],["The `value()` method within the `InternalExtensionOnly` interface, returns a String that provides context on why it was marked as such."]]],[]]