github microsoft/FluidFramework client_v2.0.0-rc.1.0.0
Fluid Framework 2.0 Beta 1 (v2.0.0-rc.1.0.0)

latest releases: client_v2.5.0, build-tools_v0.50.0, client_v2.4.0...
10 months ago

Fluid Framework 2.0 contains two major updates: SharedTree DDS and support for SharePoint Embedded.

We listened to your feedback and have made it even easier to use Fluid by introducing a new programming model based on the new SharedTree DDS. Now you can specify the data model schema for your app, and we'll represent it with a SharedTree. Like other DDSs, you can continue to use these data objects like local objects and we'll keep them in sync.

We have also added support for SharePoint Embedded, which is an M365 hosted service offering. You can access it by using the @fluidframework/odsp-client package.

New features

SharedTree DDS

Our new DDS offering that allows you to represent any hierarchichal data model for you app.

odsp-client

New service API that allows you to access SharePoint Embedded service.

Breaking Changes

sequence: Remove the findTile API

The findTile API that was previously deprecated is now being removed. The new searchForMarker function provides similar functionality, and can be called with the start position, the client ID, the desired marker label to find, and the search direction, where a value of true indicates a forward search.

sequence: Unify the change and changeProperties methods

Instead of having two separate APIs to modify an interval's endpoints and properties, combine both into the same method, IntervalCollection.change. Change is called with a string id value as the first parameter, and an object containing the start value, the end value, and/or the properties, depending on the desired modifications to the interval. Start and end must both be either defined or undefined.

The old functionality and signatures were deprecated in the internal.7.4.0 minor release.

telemetry-utils: Remove deprecated config types from telemetry-utils

The types ConfigTypes and IConfigProviderBase were deprecated and are now removed from @fluidframework/telemetry-utils. They continue to exist in @fluidframework/core-interfaces. Please update your reference to use these types from @fluidframework/core-interfaces.

Deprecations

garbage collection: Deprecate addedGCOutboundReference

The addedGCOutboundReference property on IDeltaConnection, IFluidDataStoreContext, and MockFluidDataStoreRuntime is now deprecated.

The responsibility of adding outbound references (for Garbage Collection tracking) is moving up to the ContainerRuntime. Previously, DDSes themselves were responsible to detect and report added outbound references (via a handle being stored), so these interfaces (and corresponding mock) needed to plumb that information up to the ContainerRuntime layer where GC sits. This is no longer necessary so they're being removed in an upcoming release.

Updates to Alpha APIs

shared-object-base: SharedObject processGCDataCore now takes IFluidSerializer rather than SummarySerializer

This change should be a no-op for consumers, and SummarySerializer and IFluidSerializer expose the same consumer facing APIs. This change just makes our APIs more consistent by only using interfaces, rather than a mix of interfaces and concrete implementations.

datastore-definitions: Remove unused IFluidDataStoreRegistry from IFluidDataStoreRuntime

IFluidDataStoreRuntime optionally extended IFluidDataStoreRegistry. This is never used, so is removed. As with all provider interfaces, consumers can continue to extend the interface if they have a use, and use FluidObject to inspect for it existing.

id-compressor: Cluster allocation strategy updated

This change adjusts the cluster allocation strategy for ghost sessions to exactly fill the cluster instead of needlessly allocating a large cluster. It will also not make a cluster at all if IDs are not allocated. This change adjusts a computation performed at a consensus point, and thus breaks any sessions collaborating across version numbers. The version for the serialized format has been bumped to 2.0, and 1.0 documents will fail to load with the following error: IdCompressor version 1.0 is no longer supported.

Further updates

sequence: Remove the signature of IntervalCollection.add that takes a type parameter

The previously deprecated signature of IntervalCollection.add that takes an IntervalType as a parameter is now being removed. The new signature is called without the type parameter and takes the start, end, and properties parameters as a single object.

Updated server dependencies

The following Fluid server dependencies have been updated to the latest version, 3.0.0.
See the full changelog.

  • @fluidframework/gitresources
  • @fluidframework/server-kafka-orderer
  • @fluidframework/server-lambdas
  • @fluidframework/server-lambdas-driver
  • @fluidframework/server-local-server
  • @fluidframework/server-memory-orderer
  • @fluidframework/protocol-base
  • @fluidframework/server-routerlicious
  • @fluidframework/server-routerlicious-base
  • @fluidframework/server-services
  • @fluidframework/server-services-client
  • @fluidframework/server-services-core
  • @fluidframework/server-services-ordering-kafkanode
  • @fluidframework/server-services-ordering-rdkafka
  • @fluidframework/server-services-ordering-zookeeper
  • @fluidframework/server-services-shared
  • @fluidframework/server-services-telemetry
  • @fluidframework/server-services-utils
  • @fluidframework/server-test-utils
  • tinylicious

Updated @fluidframework/protocol-definitions

The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0.
See the full changelog.

Don't miss a new FluidFramework release

NewReleases is sending notifications on new releases.