Skip to content

feat(tree): Promote TableSchema APIs to beta#26339

Merged
Josmithr merged 46 commits intomicrosoft:mainfrom
Josmithr:tree/promote-table-apis
Feb 4, 2026
Merged

feat(tree): Promote TableSchema APIs to beta#26339
Josmithr merged 46 commits intomicrosoft:mainfrom
Josmithr:tree/promote-table-apis

Conversation

@Josmithr
Copy link
Copy Markdown
Contributor

@Josmithr Josmithr commented Feb 2, 2026

Promotes TableSchema APIs from alpha to beta.

For docs on these APIs, see here: https://fluidframework.com/docs/api/fluid-framework/tableschema-namespace

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

This pull request promotes the TableSchema APIs from alpha to beta status, marking them as more stable for use.

Changes:

  • Updated all JSDoc tags from @alpha to @beta for TableSchema and System_TableSchema namespaces
  • Removed alpha-stage warning from the main TableSchema namespace documentation
  • Relocated orphaned cells documentation from TableSchema to System_TableSchema namespace

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/framework/fluid-framework/api-report/fluid-framework.legacy.beta.api.md Added TableSchema and System_TableSchema namespaces to beta API surface
packages/framework/fluid-framework/api-report/fluid-framework.beta.api.md Added TableSchema and System_TableSchema namespaces to beta API surface
packages/framework/fluid-framework/api-report/fluid-framework.alpha.api.md Updated namespace tags from @Alpha to @beta and removed @Sealed tag from createRowSchema
packages/dds/tree/api-report/tree.legacy.beta.api.md Added TableSchema and System_TableSchema namespaces to beta API surface
packages/dds/tree/api-report/tree.beta.api.md Added TableSchema and System_TableSchema namespaces to beta API surface
packages/dds/tree/api-report/tree.alpha.api.md Updated namespace tags from @Alpha to @beta and removed @Sealed tag from createRowSchema
packages/dds/tree/src/tableSchema.ts Updated JSDoc tags from @Alpha to @beta, reorganized documentation by moving orphaned cells info to System_TableSchema

Josmithr and others added 3 commits February 2, 2026 17:59
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
/**
* Factory for creating row schema.
* @sealed @alpha
* @system @beta
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note for reviewers: the @sealed tag here was wrong. It should have been @system

@Josmithr Josmithr added the release-blocking Must be addressed before we cut and publish the next release label Feb 2, 2026
Copy link
Copy Markdown
Contributor

@CraigMacomber CraigMacomber left a comment

Choose a reason for hiding this comment

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

Seems like this should have a changeset

// This is effectively a work-around that allows columns and rows to invoke table methods
// without having to pass the table as a parameter to their construction, which isn't possible.
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(Table as any)[tableSchemaSymbol] = true;
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note for reviewers: this symbol was being set, but was not read anywhere. The associated behaviors were removed a while back, and this appears to have been missed at that time.

* A private symbol put on table schema to help identify them.
*/
const tableSchemaSymbol: unique symbol = Symbol("tableNode");
const baseSchemaScope = "com.fluidframework.tableV2";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not necessarily for this this PR, but somewhere somehow, we should track all the scopes we have used at various points in time to avoid accidently reusing table someday. I imagine apps will have similar issues, so we should probably come up with something nice. Maybe a snapshot-based test setup, or a way to consume scopes so using them again will error.

Starting up a simple list of them in a DEV.md might be a good way to track them for now until we have a better system.

Josmithr and others added 2 commits February 3, 2026 12:27
Co-authored-by: Craig Macomber (Microsoft) <42876482+CraigMacomber@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 4, 2026

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> fluid-framework-docs-site@0.0.0 ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-docs-site@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-docs-site@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  252163 links
    1804 destination URLs
    2045 URLs ignored
       0 warnings
       0 errors


@Josmithr Josmithr merged commit 36a625a into microsoft:main Feb 4, 2026
33 checks passed
@Josmithr Josmithr deleted the tree/promote-table-apis branch February 4, 2026 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-blocking Must be addressed before we cut and publish the next release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants