Skip to content

Implement capability API rename#7710

Draft
Xuanwo wants to merge 1 commit into
mainfrom
xuanwo/implement-capability-api
Draft

Implement capability API rename#7710
Xuanwo wants to merge 1 commit into
mainfrom
xuanwo/implement-capability-api

Conversation

@Xuanwo
Copy link
Copy Markdown
Member

@Xuanwo Xuanwo commented Jun 8, 2026

Which issue does this PR close?

N/A. Implements RFC #7700.

Rationale for this change

RFC #7700 simplifies OpenDAL's capability model by making Capability the single user-facing type and OperatorInfo::capability() the recommended availability check. The previous native_capability() and full_capability() naming made users choose between backend-declared and effective capabilities even though most user code only needs the effective operator capability.

What changes are included in this PR?

This PR adds OperatorInfo::capability() and renames raw internals to service_capability() / set_service_capability() and capability() / update_capability(). The old native/full APIs remain as deprecated compatibility aliases.

It also updates services, layers, behavior tests, the object_store integration, binding shims, binding docs, and upgrade notes to use the new effective capability terminology.

Are there any user-facing changes?

Yes. Users should migrate from OperatorInfo::full_capability() to OperatorInfo::capability(). full_capability() and native_capability() remain available as deprecated compatibility APIs.

Bindings add matching capability accessors where applicable while keeping existing full/native APIs for compatibility.

AI Usage Statement

AI assistance was used to implement and check this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant