Add @InternalApi annotation to clarify public API surface. #573
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes are proposed in this pull request?
This PR introduces a new
@InternalApiannotation and applies it to internal SDK classes to clearly delineate the public API surface. The annotation marks classes intended for internal use only, which may change without notice.As the SDK grows, it's important to establish a clear contract with users about what constitutes the stable public API versus internal implementation details. Without this distinction, users might inadvertently depend on internal classes, leading to breakage when we refactor or improve the SDK internals.
The stable public API now consists only of unmarked classes (e.g.,
DatabricksConfig, exceptions, error types, extension interfaces likeCredentialsProvider). All core implementation classes incom.databricks.sdk.corepackages are marked as internal and subject to change.How is this tested?
This is a documentation-only change that adds annotations to existing classes without modifying their behavior.