ReleaseMicrosoftMicrosoftpublished Feb 18, 2026seen Jun 26

microsoft/FluidFramework client_v2.83.0

microsoft/FluidFramework

Open original ↗

Captured source

source ↗
published Feb 18, 2026seen Jun 26captured 4dhttp 200method plain

Fluid Framework v2.83.0 (minor)

Repository: microsoft/FluidFramework

Tag: client_v2.83.0

Published: 2026-02-18T17:56:56Z

Prerelease: no

Release notes:

Contents

  • [🌳 SharedTree DDS Changes](#user-content--sharedtree-dds-changes)
  • [Fix false positive error from FormatValidator (#26372)](#user-content-fix-false-positive-error-from-formatvalidator-26372)
  • [Improve error messages when failing to construct nodes (#26388)](#user-content-improve-error-messages-when-failing-to-construct-nodes-26388)
  • [New beta ExtensibleUnionNode API (#26438)](#user-content-new-beta-extensibleunionnode-api-26438)

🌳 SharedTree DDS Changes

Fix false positive error from FormatValidator (#26372)

Users of the alpha API FormatValidatorBasic could hit an "Invalid JSON." error when parsing data. This would occur where the result of evaluating "MinimumVersionForCollab Change details

Commit: `adad917`

Affected packages:

  • @fluidframework/tree
  • fluid-framework

[⬆️ Table of contents](#user-content-contents)

Improve error messages when failing to construct nodes (#26388)

The error messages when constructing tree nodes have been improved. Several cases now list not only the schema identifiers, but also schema names which can help when there are identifier collisions and make it easier to find the implementations. Additionally some cases which did not include what schema were encountered and which were allowed now include both.

Change details

Commit: `862a65e`

Affected packages:

  • @fluidframework/tree
  • fluid-framework

[⬆️ Table of contents](#user-content-contents)

New beta ExtensibleUnionNode API (#26438)

The new ExtensibleUnionNode API allows for creation of unions which can tolerate future additions not yet known to the current code.

const sf = new SchemaFactoryBeta("extensibleUnionNodeExample.items");
class ItemA extends sf.object("A", { x: sf.string }) {}
class ItemB extends sf.object("B", { x: sf.number }) {}

class AnyItem extends ExtensibleUnionNode.createSchema(
[ItemA, ItemB], // Future versions may add more members here
sf,
"ExtensibleUnion",
) {}
// Instances of the union are created using `create`.
const anyItem = AnyItem.create(new ItemA({ x: "hello" }));
// Reading the content from the union is done via the `union` property,
// which can be `undefined` to handle the case where a future version of this schema allows a type unknown to the current version.
const childNode: ItemA | ItemB | undefined = anyItem.union;
// To determine which member of the union was present, its schema can be inspected:
const aSchema = Tree.schema(childNode ?? assert.fail("No child"));
assert.equal(aSchema, ItemA);

Change details

Commit: `05f716f`

Affected packages:

  • fluid-framework
  • @fluidframework/tree

[⬆️ Table of contents](#user-content-contents)

🛠️ Start Building Today!

Please continue to engage with us on GitHub Discussion and Issue pages as you adopt Fluid Framework!