github microsoft/FluidFramework client_v2.0.0-internal.5.0.0
Fluid Framework v2.0.0-internal.5.0.0 (major)

latest releases: eslint-plugin-fluid_v0.1.3, eslint-config-fluid_v5.5.1, client_v2.5.0...
17 months ago

This is a major release that includes breaking changes in addition to deprecations that will take effect in a future major release.

💥 Breaking changes

This release contains the following breaking changes:

IResolvedUrl equivalent to IFluidResolvedUrl

In @fluidframework/driver-definitions IResolvedUrlBase and IWebResolvedUrl have now been removed.

This makes IResolvedUrl and IFluidResolvedUrl equivalent. Since all ResolvedUrls are now FluidResolvedUrls we no longer need to differentiate them. In @fluidframework/driver-utils isFluidResolvedUrl and ensureFluidResolvedUrl have been removed due to this.

@fluidframework/garbage-collector removed

The @fluidframework/garbage-collector package was deprecated in 2.0.0-internal.4.1.0. It has now been removed with the following functions, interfaces, and types in it.

  • runGarbageCollection
  • trimLeadingAndTrailingSlashes
  • trimLeadingSlashes
  • trimTrailingSlashes
  • cloneGCData
  • unpackChildNodesGCDetails
  • unpackChildNodesUsedRoutes
  • removeRouteFromAllNodes
  • concatGarbageCollectionStates
  • concatGarbageCollectionData
  • GCDataBuilder
  • getGCDataFromSnapshot
  • IGCResult

GC interfaces removed from runtime-definitions

The following interfaces available in @fluidframework/runtime-definitions were deprecated in 2.0.0-internal.4.1.0 and are now removed.

  • IGarbageCollectionNodeData
  • IGarbageCollectionState
  • IGarbageCollectionSnapshotData
  • IGarbageCollectionSummaryDetailsLegacy

ensureSynchronizedWithTimeout removed from LoaderContainerTracker

LoaderContainerTracker.ensureSynchronizedWithTimeout has been removed as it is equivalent to LoaderContainerTracker.ensureSynchronized. The timeoutDuration parameter from TestObjectProvider.ensureSynchronized will also be removed. Configure the timeout for the test instead.

Container-loader deprecation removals

The following types in the @fluidframework/container-loader package are not used by, or necessary to use our public api, so have been removed from export in this release:

  • IContainerLoadOptions
  • IContainerConfig
  • IPendingContainerState
  • ISerializableBlobContents

Closing Container no longer disposes

Calling IContainer.close(...) will no longer dispose the container runtime, document service, or document storage service.

If the container is not expected to be used after the close(...) call, replace it instead with a IContainer.dispose(...) call (this should be the most common case). Using IContainer.dispose(...) will no longer switch the container to "readonly" mode and relevant code should instead listen to the Container's "disposed" event.
If you intend to pass your own critical error to the container, use IContainer.close(...). Once you are done using the container, call IContainer.dispose(...).

Please see the Closure section of Loader README.md for more details.

IContainer.dispose is now required

IContainer.dispose is now a required method. This method should dispose any resources and switch the container to a permanently disconnected state.

Please see the Closure section of Loader README.md for more details.

ISummarizerRuntime on/off op required

The on("op") and off("op") methods on ISummarizerRuntime are now required. These listener methods are needed to accurately run summary heuristics.

Driver param removed from appendToMergeTreeDeltaRevertibles

The first parameter, driver, of the function appendToMergeTreeDeltaRevertibles has been removed. Additionally, the interface MergeTreeRevertibleDriver has been simplified, and no longer requires:

  • createLocalReferencePosition
  • localReferencePositionToPosition
  • getPosition
  • getContainingSegment

PureDataObject.getFluidObjectFromDirectory removed

PureDataObject.getFluidObjectFromDirectory was deprecated in a previous release and has been removed.

IProvideContainerRuntime and IContainerRuntime member removed

IProvideContainerRuntime and its IContainerRuntime member were deprecated in a previous release and have been removed. This applies to the ContainerRuntime class as well.

IntervalCollection removed

The exports deprecated in IntervalCollection public export deprecated have been removed.

Internal ITelemetryLogger interface upgraded to ITelemetryLoggerExt

ITelemetryLoggerExt is a replacement for ITelemetryLogger, which adds additional types that can be logged as property values.
This interface is not expected to be used outside the codebase, and all Logger implementations already use the new interface.
In this release, the new type is used throughout the codebase to allow richer instrumentation.

Deprecations

IFluidResolvedUrl Deprecated

IFluidResolvedUrl is now deprecated, all usages should move to IResolvedUrl instead.

Don't miss a new FluidFramework release

NewReleases is sending notifications on new releases.