Skip to content

Expose staged, types, stagedRecursive and typesRecursive on `…#25779

Merged
daesunp merged 14 commits intomicrosoft:mainfrom
daesunp:promote-staged-to-beta
Nov 5, 2025
Merged

Expose staged, types, stagedRecursive and typesRecursive on `…#25779
daesunp merged 14 commits intomicrosoft:mainfrom
daesunp:promote-staged-to-beta

Conversation

@daesunp
Copy link
Contributor

@daesunp daesunp commented Oct 30, 2025

Description

This PR promotes SchemaStaticsAlpha to SchemaStaticsBeta, and exposes staged, types, stagedRecursive and typesRecursive to be used in beta apps.

@github-actions github-actions bot added area: dds Issues related to distributed data structures area: dds: tree changeset-present base: main PRs targeted against main branch labels Oct 30, 2025
@github-actions github-actions bot added area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct public api change Changes to a public API labels Oct 31, 2025
static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, LeafSchema<"string", string> & SimpleLeafNodeSchema, TCustomMetadata>;
static readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema, LeafSchema<"null", null> & SimpleLeafNodeSchema, LeafSchema<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema];
readonly leaves: readonly [LeafSchema<"string", string> & SimpleLeafNodeSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema, LeafSchema<"null", null> & SimpleLeafNodeSchema, LeafSchema<"handle", IFluidHandle_2<unknown>> & SimpleLeafNodeSchema];
static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, LeafSchema_3<"string", string> & SimpleLeafNodeSchema_2, TCustomMetadata>;
Copy link
Contributor

Choose a reason for hiding this comment

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

There is a block of imports in SchemFactoryAlpha comments with

// These imports prevent a large number of type references in the API reports from showing up as *_2.

Try copying that into schema factory beta and seeing if that cleans up this mess.

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, I think the issue is you removed some of those imports from that block from schema factory alpha. Those unused imports clean up this mess (it is dumb included unused imports fixes things, but that's the world we live in)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added back in the removed imports and re-ran npm run build:docs

@daesunp daesunp marked this pull request as ready for review November 4, 2025 23:59
@daesunp daesunp requested review from a team as code owners November 4, 2025 23:59
Copilot AI review requested due to automatic review settings November 4, 2025 23:59
@daesunp daesunp requested a review from a team as a code owner November 4, 2025 23:59
"@fluidframework/tree": minor
"__section": feature
---
Expose `staged`, `types`, `stagedRecursive` and `typesRecursive` on `SchemaFactoryBeta`
Copy link
Contributor

Choose a reason for hiding this comment

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

See https://github.com/microsoft/FluidFramework/wiki/Changesets#formatting :

The title/heading should not contain code formatting

---
Expose `staged`, `types`, `stagedRecursive` and `typesRecursive` on `SchemaFactoryBeta`

These APIs were previously only available on `SchemaFactoryAlpha`, but is now available on `SchemaFactoryBeta`. No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
These APIs were previously only available on `SchemaFactoryAlpha`, but is now available on `SchemaFactoryBeta`.
These APIs were previously only available on `SchemaFactoryAlpha`, but are now available on `SchemaFactoryBeta`.

Copy link
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 PR promotes the staged, types, stagedRecursive, and typesRecursive APIs from alpha to beta stability level by moving them from SchemaFactoryAlpha to SchemaFactoryBeta, along with related type definitions and documentation updates.

Key changes:

  • Move SchemaStaticsBeta interface and related APIs from SchemaFactoryAlpha to SchemaFactoryBeta
  • Update all documentation references from SchemaStaticsAlpha to SchemaStaticsBeta
  • Change API stability tags from @alpha to @beta for related types and interfaces

Reviewed Changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/dds/tree/src/simple-tree/api/schemaFactoryBeta.ts Adds SchemaStaticsBeta interface and implements staged, types, stagedRecursive, and typesRecursive methods on SchemaFactoryBeta
packages/dds/tree/src/simple-tree/api/schemaFactoryAlpha.ts Removes SchemaStaticsAlpha interface and related implementations (moved to Beta)
packages/dds/tree/src/simple-tree/api/typesUnsafe.ts Updates API stability tags from @alpha to @beta for unsafe type utilities
packages/dds/tree/src/simple-tree/api/index.ts Updates exports to export SchemaStaticsBeta from schemaFactoryBeta instead of SchemaStaticsAlpha from schemaFactoryAlpha
packages/dds/tree/src/simple-tree/index.ts Updates public exports to expose SchemaStaticsBeta and remove SchemaStaticsAlpha
packages/dds/tree/src/index.ts Updates main package exports for the API level change
packages/dds/tree/src/simple-tree/simpleSchema.ts Updates documentation references from SchemaStaticsAlpha to SchemaStaticsBeta
packages/dds/tree/src/simple-tree/core/allowedTypes.ts Updates documentation references from SchemaStaticsAlpha to SchemaStaticsBeta
packages/dds/tree/src/simple-tree/api/tree.ts Updates documentation references from SchemaStaticsAlpha to SchemaStaticsBeta
packages/dds/tree/src/simple-tree/api/incrementalAllowedTypes.ts Updates documentation reference from SchemaStaticsAlpha to SchemaStaticsBeta
packages/dds/tree/src/simple-tree/api/discrepancies.ts Updates documentation references from SchemaStaticsAlpha to SchemaStaticsBeta
packages/dds/tree/src/shared-tree/treeAlpha.ts Updates documentation reference from SchemaStaticsAlpha to SchemaStaticsBeta
docs/docs/data-structures/tree/schema-evolution/allowed-types-rollout.mdx Updates documentation links from SchemaFactoryAlpha to SchemaFactoryBeta
packages/framework/fluid-framework/api-report/*.api.md API report updates reflecting the stability level changes
packages/dds/tree/api-report/*.api.md API report updates reflecting the stability level changes
.changeset/metal-games-love.md Changeset documenting the feature promotion

Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

🔗 Found some broken links! 💔

Run a link check locally to find them. See
https://github.com/microsoft/FluidFramework/wiki/Checking-for-broken-links-in-the-documentation for more information.

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

 ELIFECYCLE  Command failed with exit code 1.

@daesunp daesunp merged commit 75d7f11 into microsoft:main Nov 5, 2025
38 checks passed
anthony-murphy-agent pushed a commit to anthony-murphy-agent/FluidFramework that referenced this pull request Jan 14, 2026
microsoft#25779)

## Description

This PR promotes SchemaStaticsAlpha to SchemaStaticsBeta, and exposes
`staged`, `types`, `stagedRecursive` and `typesRecursive` to be used in
beta apps.

---------

Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: dds: tree area: dds Issues related to distributed data structures area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct area: website base: main PRs targeted against main branch changeset-present public api change Changes to a public API

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants