Summary
The Full Fidelity Change Feed (AllVersionsAndDeletes) feature has been in Preview since SDK version 3.18.0-preview (PR #2122). After multiple iterations of hardening, contract refinements, and CFP integration, the feature is ready for GA promotion.
This issue tracks removing the #if PREVIEW guards from 7 types/members to make them unconditionally public, along with updating the corresponding API contract files.
APIs to Promote
Required Changes
For each file listed above:
- Remove the
#if PREVIEW / public / #else / internal / #endif block and replace with unconditional public.
- Regenerate the GA API contract file (GenAPI) to include the newly public surface.
- Verify that preview contract files are updated accordingly (remove the entries that moved to GA).
Notes
Container.GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes<T>() is already unconditionally public (no #if PREVIEW guard) — no changes needed there.
- The pull-model
GetChangeFeedIterator<T>() accepting ChangeFeedMode is also already public, but passing AllVersionsAndDeletes is effectively blocked without Preview since the static property itself is internal without the flag.
Related PRs / Issues
Summary
The Full Fidelity Change Feed (AllVersionsAndDeletes) feature has been in Preview since SDK version 3.18.0-preview (PR #2122). After multiple iterations of hardening, contract refinements, and CFP integration, the feature is ready for GA promotion.
This issue tracks removing the
#if PREVIEWguards from 7 types/members to make them unconditionallypublic, along with updating the corresponding API contract files.APIs to Promote
ChangeFeedMode.AllVersionsAndDeletessrc/ChangeFeed/ChangeFeedMode.csChangeFeedItem<T>src/Resource/FullFidelity/ChangeFeedItem.csChangeFeedMetadatasrc/Resource/FullFidelity/ChangeFeedMetadata.csChangeFeedOperationTypesrc/Resource/FullFidelity/ChangeFeedOperationType.csChangeFeedPolicysrc/Resource/Settings/ChangeFeedPolicy.csChangeFeedPolicyDefinitionsrc/Fluent/Settings/ChangeFeedPolicyDefinition.csContainerProperties.ChangeFeedPolicysrc/Resource/Settings/ContainerProperties.csRequired Changes
For each file listed above:
#if PREVIEW/public/#else/internal/#endifblock and replace with unconditionalpublic.Notes
Container.GetChangeFeedProcessorBuilderWithAllVersionsAndDeletes<T>()is already unconditionallypublic(no#if PREVIEWguard) — no changes needed there.GetChangeFeedIterator<T>()acceptingChangeFeedModeis also already public, but passingAllVersionsAndDeletesis effectively blocked without Preview since the static property itself isinternalwithout the flag.Related PRs / Issues