-
Notifications
You must be signed in to change notification settings - Fork 557
Description
This issue is automatically updated with a preview of the release notes for the upcoming Fluid Framework release.
To generate release notes locally to commit to the RELEASE_NOTES folder in the repo, run the following command:
pnpm flub generate releaseNotes -g client -t minor --outFile RELEASE_NOTES/2.70.0.mdTo generate the release notes to paste into the GitHub Release, run the following command:
pnpm flub generate releaseNotes -g client -t minor --headingLinks --excludeH1 --outFile temporary-file.mdThis should happen automatically as part of the release process, but if you need to generate the release notes manually, you can use the above command.
Fluid Framework v2.70.0
Contents
🚨 Breaking Changes
Deprecated properties have been removed from IRuntimeStorageService and IContainerStorageService (#25708)
The following deprecated properties have been removed from IRuntimeStorageService:
createBlobdisposedisposeddownloadSummarygetSnapshotgetSnapshotTreegetVersionspoliciesuploadSummaryWithContext
The following deprecated properties have been removed from IContainerStorageService:
disposedisposeddownloadSummary
Please see this Github issue for more details.
Change details
Commit: 82c936e
Affected packages:
- @fluidframework/container-definitions
- @fluidframework/runtime-definitions
getSnapshotTree is now required in IChannelStorageService (#25707)
The getSnapshotTree property was added as optional to IChannelStorageService in version 2.51.0. It is now a required property. See this github issue for more details.
Change details
Commit: d1c4c0a
Affected packages:
- @fluidframework/datastore-definitions
- @fluidframework/test-runtime-utils
Deprecated property processCore has been removed from SharedObject (#25749)
The deprecated property processCore has been removed from SharedObject.
Please see this github issue for more details.
Change details
Commit: a33a2e3
Affected packages:
- @fluidframework/ordered-collection
- @fluidframework/register-collection
- @fluidframework/shared-object-base
✨ New Features
Promote core devtools APIs from alpha to beta (#25695)
The primary devtools APIs may now be imported from /beta. This includes:
initializeDevtools- Initialize the devtools singletontryGetFluidDevtools- Get the existing devtools instance if initializedIFluidDevtools- Main devtools interface for registering containersContainerDevtoolsProps- Properties for registering containers with devtools
For example:
import {
initializeDevtools,
tryGetFluidDevtools,
type IFluidDevtools,
type ContainerDevtoolsProps,
} from "@fluidframework/devtools-core/beta";
// Initialize devtools
const devtools = initializeDevtools();
// Register a container
devtools.registerContainerDevtools({
containerKey: "my-container",
container: myContainer,
});Change details
Commit: 7c8e203
Affected packages:
- @fluidframework/devtools-core
Added Tree.ensureSchema (#25740)
This helper function allows content to be tagged with a schema type before being inserted into the tree. This allows content that would otherwise be ambiguous to be well-defined, without having to wrap it in a node constructor.
Example:
const sf = new SchemaFactory("example");
class Dog extends sf.object("Dog", { name: sf.string() }) {}
class Cat extends sf.object("Cat", { name: sf.string() }) {}
class Root extends sf.object("Root", { pet: [Dog, Cat] }) {}
// ...
const pet = { name: "Max" };
view.root.pet = pet; // Error: `pet` is ambiguous - is it a Dog or a Cat?
view.root.pet = new Dog(pet); // This works, but has the overhead of creating a Dog node before the insertion actually happens.
TreeAlpha.ensureSchema(Dog, pet); // Instead, this tags the `pet` object as a Dog...
view.root.pet = pet; // So now there is no error for a normal insertion - it's a Dog.This function works by leveraging the new schemaSymbol, which is also available for use. See its documentation for more information.
Change details
Commit: 8213407
Affected packages:
- @fluidframework/tree
A minimal set of branching APIs has been promoted to beta. (#25744)
The following APIs have been promoted to beta in @fluidframework/tree:
TreeBranch.fork()TreeBranch.merge()TreeBranch.rebaseOnto()TreeBranch.dispose()TreeView.fork()
These APIs enable applications to implement basic local branching flows.
Change details
Commit: 32cc2c7
Affected packages:
- fluid-framework
- @fluidframework/tree
- @fluidframework/tree-agent
🌳 SharedTree DDS Changes
Update TableSchema APIs (alpha) to accept SchemaFactoryBeta in addition to SchemaFactoryAlpha (#25613)
Makes the TableSchema APIs more flexible, and prepares them for future promotion to beta themselves.
Change details
Commit: 1bdf44a
Affected packages:
- @fluidframework/tree
- fluid-framework
All non-structurally named beta schema factory APIs now support node schema metadata (#25685)
The "options" parameter which allows providing metadata for TreeNodeSchema is now available consistently on SchemaFactoryBeta, not just SchemaFactoryAlpha and a subset of SchemaFactoryBeta.
Change details
Commit: 6d8c0ca
Affected packages:
- fluid-framework
- @fluidframework/tree
Promote FluidSerializableAsTree APIs from alpha to beta (#25693)
FluidSerializableAsTree may now be imported from /beta.
Change details
Commit: 43fbc54
Affected packages:
- @fluidframework/tree
- fluid-framework
⚠️ Deprecations
Removed deprecated export of MinimumVersionForCollab from @fluidframework/container-runtime (#25309)
Removed the deprecated re-export of MinimumVersionForCollab from @fluidframework/container-runtime. This type should now be imported from @fluidframework/runtime-definitions. See the Fluid Framework 2.52.0 release notes for details.
Change details
Commit: 776cb1c
Affected packages:
- @fluidframework/aqueduct
- @fluidframework/container-runtime
- @fluidframework/fluid-static
- @fluid-private/test-end-to-end-tests
- @fluidframework/test-utils
- @fluid-private/test-version-utils
🛠️ Start Building Today!
Please continue to engage with us on GitHub Discussion and Issue pages as you adopt Fluid Framework!