Fluid Framework v2.32.0 (minor)
Contents
✨ New Features
Blobs in Detached Container Supported by Default (#24119)
It is no longer necessary or supported to provide detachedBlobStorage
to the Loader. This functionality is now provided by default, and the deprecated IDetachedBlobStorage
will be removed in the 2.40.0 release. The new behavior can be disabled by setting Fluid.Container.MemoryBlobStorageEnabled
to false
. This flag will also be removed in the 2.40.0 release if no issues are reported.
Change details
Commit: fcf561a
Affected packages:
- @fluidframework/container-loader
Shorter IDs for DataStores and DDSes (#24231)
Fluid Framework will now use shorter IDs for Datastores and DDSes when enableRuntimeIdCompressor:"on"
is set in IContainerRuntimeOptions
. This change should help reduce summary and snapshot sizes as well as improve runtime performance because of a smaller memory footprint.
Change details
Commit: 27bbb87
Affected packages:
- @fluidframework/container-runtime
- @fluidframework/datastore
🌳 SharedTree DDS Changes
Cleanup of several tree and schema alpha APIs for content import and export (#24255)
A new TreeSchema
type has been introduced which extends SimpleTreeSchema
but contains TreeNodeSchema
instead of SimpleNodeSchema
.
TreeViewConfigurationAlpha
is added which is just TreeViewConfiguration
but implementing TreeSchema
.
SimpleTreeSchema
was modified to have a root
property instead of implementing SimpleFieldSchema
directly: this makes it possible for TreeViewConfigurationAlpha
to implement TreeSchema
which extends SimpleTreeSchema
.
generateSchemaFromSimpleSchema
now returns the new TreeSchema
type.
EncodeOptions
and ParseOptions
have been unified as TreeEncodingOptions
which covers both the encoding and parsing cases.
getJsonSchema
now takes in ImplicitAllowedTypes
instead of ImplicitFieldSchema
since it can't handle optional roots. getJsonSchema
also takes in the new TreeSchemaEncodingOptions
to provide options for how to handle stored keys vs property keys, and fields with defaults.
Now that getJsonSchema
takes in configuration options, its results are no longer cached.
Change details
Commit: c6563e5
Affected packages:
- fluid-framework
- @fluidframework/tree
Provide alpha APIs for accessing tree content and stored schema without requiring a compatible view schema (#24225)
Adds an ITreeAlpha
interface (which ITree
can be down-casted to) that provides access to both the tree content and the schema. This allows inspecting the content saved in a SharedTree in a generic way that can work on any SharedTree.
This can be combined with the existing generateSchemaFromSimpleSchema
to generate a schema that can be used with IIree.viewWith
to allow constructing a TreeView
for any SharedTree, regardless of its schema.
Note that the resulting TypeScript typing for such a view will not be friendly: the TreeView
APIs are designed for statically known schema. Using them is possible with care and a lot of type casts but not recommended if it can be avoided: see disclaimer on generateSchemaFromSimpleSchema
. Example using ITreeAlpha
and generateSchemaFromSimpleSchema
:
const viewAlpha = tree as ITreeAlpha;
const treeSchema = generateSchemaFromSimpleSchema(
viewAlpha.exportSimpleSchema(),
);
const config = new TreeViewConfiguration({ schema: treeSchema.root });
const view = viewAlpha.viewWith(config);
getSimpleSchema
is also added as an @alpha
API to provide a way to clone schema into the simple schema formats. Note that when using (or copying) a view schema as a simple schema, more metadata will be preserved than when deriving one from the stored schema using ITreeAlpha
.
Change details
Commit: 18b6e05
Affected packages:
- fluid-framework
- @fluidframework/tree
⚠️ Deprecations
The containerPackageInfo parameter in createOdspCreateContainerRequest() is now deprecated (#23919)
The containerPackageInfo
parameter in createOdspCreateContainerRequest()
is now deprecated and will be removed in version 2.40.0.
The name of the containerPackage can no longer be sent through the request. Instead, it can be added in the constructor of OdspDriverUrlResolverForShareLink
.
See issue #23882 for more details.
Change details
Commit: 42b26b7
Affected packages:
- @fluidframework/odsp-driver
🛠️ Start Building Today!
Please continue to engage with us on GitHub Discussion and Issue pages as you adopt Fluid Framework!