deprecate(dds): mark DDS implementation classes as deprecated#26501
Merged
tylerbutler merged 2 commits intomicrosoft:mainfrom Feb 20, 2026
Merged
Conversation
Deprecate ConsensusRegisterCollectionClass, ConsensusOrderedCollection, and ConsensusQueueClass on the legacy API surface. These implementation classes will be removed in a future release in favor of the interfaces and factory/singleton patterns.
ChumpChief
approved these changes
Feb 19, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR deprecates legacy DDS implementation classes in the register-collection and ordered-collection packages to discourage consumer dependencies on internal implementation details as part of the custom DDS removal effort.
Changes:
- Added
@deprecatedTSDoc annotations to DDS implementation classes on the legacy API surface. - Added targeted
eslint-disable-next-line import-x/no-deprecatedsuppressions for internal usages (factories/subclasses). - Regenerated legacy API reports and added a changeset documenting the deprecations.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/dds/register-collection/src/consensusRegisterCollectionFactory.ts | Suppresses deprecated-usage lint for factory’s internal instantiation of the deprecated class. |
| packages/dds/register-collection/src/consensusRegisterCollection.ts | Marks the implementation class as @deprecated with migration guidance. |
| packages/dds/register-collection/api-report/register-collection.legacy.beta.api.md | Updates API report to reflect deprecated class annotation. |
| packages/dds/ordered-collection/src/consensusQueue.ts | Marks queue implementation class as @deprecated and suppresses deprecated base-class usage. |
| packages/dds/ordered-collection/src/consensusOrderedCollectionFactory.ts | Suppresses deprecated-usage lint where the deprecated implementation class is referenced/instantiated. |
| packages/dds/ordered-collection/src/consensusOrderedCollection.ts | Marks ordered collection implementation base class as @deprecated. |
| packages/dds/ordered-collection/api-report/ordered-collection.legacy.beta.api.md | Updates API report to reflect deprecated class annotations. |
| .changeset/deprecate-dds-impl-classes.md | Adds a deprecation changeset for the affected packages. |
packages/dds/ordered-collection/src/consensusOrderedCollectionFactory.ts
Show resolved
Hide resolved
jzaffiro
approved these changes
Feb 19, 2026
Address review feedback: the ConsensusQueue type alias exposes the deprecated ConsensusQueueClass but wasn't itself marked deprecated, so consumers using it for typing wouldn't see deprecation warnings.
Contributor
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
ChumpChief
approved these changes
Feb 20, 2026
This was referenced Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Deprecate DDS implementation classes on the legacy API surface as part of the custom DDS removal effort:
ConsensusRegisterCollectionClassin@fluidframework/register-collectionConsensusOrderedCollectionin@fluidframework/ordered-collectionConsensusQueueClassin@fluidframework/ordered-collectionThese classes expose internal implementation details that consumers should not depend on. Consumers should use the corresponding interfaces (
IConsensusRegisterCollection,IConsensusOrderedCollection) for typing and factory/singleton patterns for instance creation.What changed
@deprecatedTSDoc tags to all three implementation classeseslint-disablecomments forimport-x/no-deprecatedon internal usages (factories and subclasses)@deprecatedannotationsTest plan
@deprecatedannotations