ReleaseMicrosoftMicrosoftpublished Nov 3, 2025seen Jun 26

microsoft/FluidFramework client_v2.71.0

microsoft/FluidFramework

Open original ↗

Captured source

source ↗
published Nov 3, 2025seen Jun 26captured 6dhttp 200method plain

Fluid Framework v2.71.0 (minor)

Repository: microsoft/FluidFramework

Tag: client_v2.71.0

Published: 2025-11-03T21:41:06Z

Prerelease: no

Release notes:

Contents

  • [✨ New Features](#user-content--new-features)
  • [delete keyword support for ObjectNodes (#25738)](#user-content-delete-keyword-support-for-objectnodes-25738)
  • [🌳 SharedTree DDS Changes](#user-content--sharedtree-dds-changes)
  • [Add IndependentTree API (#25785)](#user-content-add-independenttree-api-25785)

✨ New Features

delete keyword support for ObjectNodes (#25738)

Added support for using the delete keyword to remove content under optional fields for ObjectNodes.

// This is now equivalent to node.foo = undefined
delete node.foo;

Change details

Commit: `31dca54`

Affected packages:

  • @fluidframework/tree

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

🌳 SharedTree DDS Changes

Add IndependentTree API (#25785)

New IndependentTreeAlpha and IndependentTreeBeta APIs provide similar utility to the existing alpha `IndependentView` API, except providing access to the `ViewableTree`.

This allows for multiple views (in sequence, not concurrently) to be created to test things like schema upgrades and incompatible view schema much more easily (see example below). For IndependentTreeAlpha, this also provides access to exportVerbose and exportSimpleSchema from `ITreeAlpha`.

An example of how to use createIndependentTreeBeta to create multiple views to test a schema upgrade:

const tree = createIndependentTreeBeta();

const stagedConfig = new TreeViewConfiguration({
schema: SchemaFactoryAlpha.types([
SchemaFactory.number,
SchemaFactoryAlpha.staged(SchemaFactory.string),
]),
});
const afterConfig = new TreeViewConfigurationAlpha({
schema: [SchemaFactory.number, SchemaFactory.string],
});

// Initialize tree
{
const view = tree.viewWith(stagedConfig);
view.initialize(1);
view.dispose();
}

// Do schema upgrade
{
const view = tree.viewWith(afterConfig);
view.upgradeSchema();
view.root = "A";
view.dispose();
}

// Can still view tree with staged schema
{
const view = tree.viewWith(stagedConfig);
assert.equal(view.root, "A");
view.dispose();
}

Change details

Commit: `21c4245`

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!