Annotates a program element (class, method, package etc) which is internal to its containing
library, not part of the public API, and should not be used by users of the library.
This annotation only makes sense on APIs that are not private. Its existence is necessary
because Java does not have a visibility level for code within a compilation unit.
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-08-28 UTC."],[[["\u003cp\u003eThis webpage documents various versions of the \u003ccode\u003eInternalApi\u003c/code\u003e, a Java interface used for marking program elements as internal to a library and not for public use.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of \u003ccode\u003eInternalApi\u003c/code\u003e available is version 2.46.1, with numerous older versions also accessible through this page.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInternalApi\u003c/code\u003e is considered a pre-GA offering, which may come with limited support and potential compatibility issues between different pre-GA versions.\u003c/p\u003e\n"],["\u003cp\u003eAdding the \u003ccode\u003eInternalApi\u003c/code\u003e annotation to a program element is considered an API-breaking change.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInternalApi\u003c/code\u003e interface includes a \u003ccode\u003evalue()\u003c/code\u003e method that can provide context information about the annotated element, such as "internal to library" or "for testing".\u003c/p\u003e\n"]]],[],null,[]]