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-07-01 UTC."],[[["The latest version of the API documentation available is version 2.46.1, with various other versions listed down to 2.1.2, all related to `com.google.api.core.InternalExtensionOnly`."],["`InternalExtensionOnly` is a public API interface, implemented as an annotation, designed to be stable for use but not for outside extension."],["Modifications to APIs annotated with `InternalExtensionOnly`, such as adding methods or marking classes as final, are allowed and will not be considered API-breaking within their own package."],["Adding the `InternalExtensionOnly` annotation to a previously unannotated API is considered an API-breaking change."],["The interface `InternalExtensionOnly` has a `value()` method that returns a string providing context on the interface/class's annotation."]]],[]]