Skip to content

Cosmos: Promote Full Fidelity Change Feed (AllVersionsAndDeletes) API to GA#49283

Open
ananth7592 wants to merge 1 commit into
mainfrom
feature/cosmos-ffcf-ga-48959
Open

Cosmos: Promote Full Fidelity Change Feed (AllVersionsAndDeletes) API to GA#49283
ananth7592 wants to merge 1 commit into
mainfrom
feature/cosmos-ffcf-ga-48959

Conversation

@ananth7592
Copy link
Copy Markdown
Member

Promote Full Fidelity Change Feed (AllVersionsAndDeletes) APIs to GA

Removes @beta from FFCF / AllVersionsAndDeletes public APIs. The deprecated fullFidelity / createFullFidelityPolicy / createIncrementalPolicy / getFullFidelityRetentionDuration methods are intentionally kept for back-compat. ChangeFeedMode.FULL_FIDELITY enum is also kept (continuation token wire format).

Resolves #48959

Description

Please add an informative description that covers that changes made by the pull request and link all relevant issues.

If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Promotes Cosmos DB Full Fidelity Change Feed (AllVersionsAndDeletes) surface area to GA by removing @Beta markings from the public API types/methods (while keeping deprecated legacy APIs for back-compat), and updates release notes / Revapi configuration accordingly.

Changes:

  • Removed @Beta annotations from AllVersionsAndDeletes-related public APIs (policies, request options, processor builder, item/metadata models, operation type enum).
  • Updated sdk/cosmos/azure-cosmos/CHANGELOG.md to document the GA promotion.
  • Updated Revapi ignore configuration to account for @Beta annotation removals on enums as well.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosContainerProperties.java Removes @Beta from change feed policy getter/setter.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosChangeFeedRequestOptions.java Removes @Beta from allVersionsAndDeletes() request option.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ChangeFeedProcessorItem.java Promotes processor item model/accessors to GA by removing @Beta.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ChangeFeedPolicy.java Promotes policy factory/accessor APIs to GA by removing @Beta.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ChangeFeedOperationType.java Promotes operation type enum to GA by removing @Beta.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ChangeFeedMetaData.java Promotes metadata model/accessors to GA by removing @Beta.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/CosmosChangeFeedRequestOptionsImpl.java Removes @Beta from internal allVersionsAndDeletes() implementation method.
sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/ChangeFeedProcessorBuilder.java Removes @Beta from builder handlers for AllVersionsAndDeletes.
sdk/cosmos/azure-cosmos/CHANGELOG.md Adds release note entry for GA promotion.
eng/lintingconfigs/revapi/track2/revapi.json Adjusts Revapi ignore matcher to include enums for annotation removals.
Comments suppressed due to low confidence (1)

sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/ChangeFeedPolicy.java:99

  • createAllVersionsAndDeletesPolicy(Duration retentionDuration) is now GA, but it still dereferences retentionDuration without a null check, leading to an unhelpful NullPointerException if callers pass null. Add an explicit null validation (e.g., Objects.requireNonNull) with a clear parameter name/message before the existing argument validation.
    public static ChangeFeedPolicy createAllVersionsAndDeletesPolicy(Duration retentionDuration) {

        if (retentionDuration.isNegative() ||
            retentionDuration.isZero() ||
            retentionDuration.getNano() != 0 ||

"matcher": "regex",
"match": "(class|interface|method|parameter) com\\.azure\\.cosmos\\..*"
"match": "(class|interface|enum|method|parameter) com\\.azure\\.cosmos\\..*"
},
…s to GA

Removes @beta from FFCF / AllVersionsAndDeletes public APIs, including
ChangeFeedProcessorContext (parameter type of the BiConsumer overload).
The deprecated fullFidelity / createFullFidelityPolicy / createIncrementalPolicy /
getFullFidelityRetentionDuration methods are intentionally kept for
back-compat. ChangeFeedMode.FULL_FIDELITY enum is also kept (continuation
token wire format).

Resolves #48959

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ananth7592 ananth7592 force-pushed the feature/cosmos-ffcf-ga-48959 branch from a99efc7 to 1aba48d Compare May 27, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ChangeFeed: Adds GA promotion for AllVersionsAndDeletes (Full Fidelity Change Feed) APIs

2 participants