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 available is 2.46.1, with a comprehensive list of previous versions accessible for reference, down to version 2.1.2."],["The `InternalExtensionOnly` annotation denotes a public API that is stable for use but not for extension, with the only approved extensions being within the API's package."],["Adding the `InternalExtensionOnly` annotation to an API is considered a breaking change to the API's contract, and should be taken into consideration when adding it to an API."],["The annotated API component can undergo modifications such as adding new methods or being marked as final, as long as they are within the package."],["This library is in a Pre-GA stage, and might have limited support, with potential compatibility issues across different Pre-GA releases."]]],[]]