Releases: microsoft/FluidFramework
Fluid Framework v2.0.0-internal.5.4.0 (minor)
Changes in Fluid Framework v2.0.0-internal.5.4.0
Deprecate Internal TelemetryLogger Implementations
This change deprecates our internal TelemetryLogger implementations and unifies our exported and consumed surface area on our telemetry interfaces.
For the deprecated implementations the following replacement function should be used:
- replace ChildLogger.create, new TelemetryNullLogger, and new BaseTelemetryNullLogger with createChildLogger
- replace new MultiSinkLogger with createMultiSinkLogger
- replace TelemetryUTLogger with MockLogger
- DebugLogger.create will be made internal with no intended replacement
ILoaderOptions.cache
has been deprecated
ILoaderOptions.cache
has been deprecated and will be removed in a future release, as well as all caching functionality of containers. Cache support will be removed soon, please try not to rely on caching, and inform us if you cannot do so.
Remove support for Global Fields
Support for Global fields has been removed.
Some interval-related APIs are deprecated
The following APIs are now deprecated from IntervalCollection
:
-
findOverlappingIntervals
andgatherIterationResults
- these functions are moved to theOverlappingIntervalsIndex
. Users are advised to independently attach the index to the collection and utilize the API accordingly, for instance:const overlappingIntervalsIndex = createOverlappingIntervalsIndex( client, helpers ); collection.attachIndex(overlappingIntervalsIndex); const result1 = overlappingIntervalsIndex.findOverlappingIntervals( start, end ); const result2 = []; overlappingIntervalsIndex.gatherIterationResults(result2, true);
-
CreateBackwardIteratorWithEndPosition
,CreateBackwardIteratorWithStartPosition
,CreateForwardIteratorWithEndPosition
andCreateForwardIteratorWithStartPosition
- only the default iterator will be supported in the future, and it will no longer preserve sequence order.Equivalent functionality to these four methods is provided by
IOverlappingIntervalIndex.gatherIterationResults
. -
previousInterval
andnextInterval
- These functionalities are moved to theEndpointIndex
. Users are advised to independently attach the index to the collection and utilize the API accordingly, for instance:const endpointIndex = createEndpointIndex(client, helpers); collection.attachIndex(endpointIndex); const result1 = endpointIndex.previousInterval(pos); const result2 = endpointIndex.nextInterval(pos);
ContainerRuntime.reSubmitFn is deprecated:
ContainerRuntime.reSubmitFn is deprecatedsince this functionality needs not be exposed, and we are refactoring the signatures of related code internally.
Old SchemaBuilder APIs removed
Remove old SchemaBuilder APIs in favor of Schema2 design.
Fluid Framework v2.0.0-internal.4.4.4 (patch)
What's Changed
- Port 16649 to patch release 4.4.4
#16701
- [bump] client: 2.0.0-internal.4.4.3 => 2.0.0-internal.4.4.4 (patch)
#16599
Full Changelog: client_v2.0.0-internal.4.4.3...client_v2.0.0-internal.4.4.4
build-tools v0.22.0 (minor)
This is a minor release.
Fluid Framework v2.0.0-internal.5.3.2 (patch)
What's Changed
- Fix handling of SharedDirectory ops on subdirs created on a detached data store
#16582
- [bump] client: 2.0.0-internal.5.3.1 => 2.0.0-internal.5.3.2 (patch)
#16539
Full Changelog: client_v2.0.0-internal.5.3.1...client_v2.0.0-internal.5.3.2
Fluid Framework v2.0.0-internal.4.4.3 (patch)
What's Changed
- Fix handling of SharedDirectory ops on subdirs created on a detached data store
#16583
- [bump] client: 2.0.0-internal.4.4.2 => 2.0.0-internal.4.4.3 (patch)
#16525
Full Changelog: client_v2.0.0-internal.4.4.2...client_v2.0.0-internal.4.4.3
Fluid Framework v2.0.0-internal.5.3.1 (patch)
What's Changed
- Port nilUuid removal to 5.3
#16523
- [bump] client: 2.0.0-internal.5.3.0 => 2.0.0-internal.5.3.1 (patch)
#16384
Full Changelog: client_v2.0.0-internal.5.3.0...client_v2.0.0-internal.5.3.1
Fluid Framework v2.0.0-internal.4.4.2 (patch)
What's Changed
- Port nilUuid removal to 4.4
#16521
- [bump] client: 2.0.0-internal.4.4.1 => 2.0.0-internal.4.4.2 (patch)
#15995
Full Changelog: client_v2.0.0-internal.4.4.1...client_v2.0.0-internal.4.4.2
Fluid Framework v2.0.0-internal.5.3.0 (minor)
Changes in Fluid Framework v2.0.0-internal.5.3.0
This is a minor release that contains deprecations and new features.
IDeltaManager members disposed and dispose() deprecated
Directly calling dispose() on the IDeltaManager puts the system in an inconsistent state, and inspecting the disposed state of the IDeltaManager is not recommended (instead, prefer to inspect either the IContainer.disposed, IContainerRuntime.disposed, or IFluidDataStoreRuntime.disposed depending on your scenario). These members have been deprecated from the interface and will be removed in an upcoming release.
Move closeAndGetPendingLocalState to IContainerExperimental
This change deprecates the experimental method closeAndGetPendingLocalState on IContainer and moves it to IContainerExperimental. IContainerExperimental is an interface that is easily casted to, which enables partners to access experimental features for testing and evaluation. Moving the experimental method off IContainer will reduce exposure and churn on that production interface as we iterate on and finalize our experimental features. Experimental features should not be used in production environments.
New API getRelaySessionInfo in odsp-driver
OdspDocumentServiceFactory
and OdspDocumentServiceFactoryCore
now provide a new API getRelaySessionInfo
to surface relay session info from cache.
New interfaces to discover getRelaySessionInfo API
There are new interfaces IRelaySessionAwareDriverFactory
and IProvideSessionAwareDriverFactory
in odsp-driver-definitions that enable using the provider pattern to discover the new API getRelaySessionInfo
in odsp-driver.
build-tools v0.21.0 (minor)
This is a minor release.
Fluid Framework v2.0.0-internal.5.2.0 (minor)
Changes in Fluid Framework v2.0.0-internal.5.2.0
IConnectionDetailsInternal and IDeltaHandlerStrategy deprecated
The IConnectionDetailsInternal and IDeltaHandlerStrategy interfaces from the @fluidframework/container-definitions package have been deprecated and will be removed in a future release. These are internal-only interfaces and should not be used.
Deprecate unnecessary exports
This change deprecates a number of interfaces in the merge tree package that are not used in the exported apis surface and therefore should not be used.
Deprecate ISegment.parent
This change deprecates the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
There are some circumstances where a consumer may wish to know if a segment is still in the underlying tree and were using the parent property to determine that.
Please change those checks to use the following "parent" in segment && segment.parent !== undefined
slide parameter in changeInterval event
The changeInterval event listener has a new parameter "slide" that is true if the event was caused by the interval endpoint sliding from a removed range.
IContainerContext members deprecated
IContainerContext members disposed, dispose(), serviceConfiguration, and id have been deprecated and will be removed in an upcoming release.
disposed - The disposed state on the IContainerContext is not meaningful to the runtime.
dispose() - The runtime is not permitted to dispose the IContainerContext, this results in an inconsistent system state.
serviceConfiguration - This property is redundant, and is unused by the runtime. The same information can be found via deltaManager.serviceConfiguration
on this object if it is necessary.
id - The docId is already logged by the IContainerContext.taggedLogger for telemetry purposes, so this is generally unnecessary for telemetry. If the id is needed for other purposes it should be passed to the consumer explicitly.
EventForwarder and IDisposable members deprecated from PureDataObject
The EventForwarder and IDisposable members have been deprecated from PureDataObject and will be removed in an upcoming release. The EventForwarder pattern was mostly unused by the current implementation, and is also recommended against generally (instead, register and forward events explicitly). The disposal implementation was incomplete and likely to cause poor behavior as the disposal was not observable by default. Inheritors of the PureDataObject can of course still implement their own di