13 KiB
Fluid Framework v2.0.0-internal.8.0.0
aqueduct: Removed getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer
The getDefaultObjectFromContainer
, getObjectWithIdFromContainer
and getObjectFromContainer
helper methods have been removed from @fluidframework/aqueduct. Please move all code usage to the new entryPoint
pattern.
aqueduct: Removed IRootDataObjectFactory
The IRootDataObjectFactory
interface has been removed. Please remove all usage of it.
aqueduct: Removed requestHandler utilities
The following requestHandler
utilities have been removed:
makeModelRequestHandler
defaultFluidObjectRequestHandler
defaultRouteRequestHandler
mountableViewRequestHandler
createFluidObjectResponse
rootDataStoreRequestHandler
handleFromLegacyUri
RuntimeRequestHandlerBuilder
Please migrate all usage to the new entryPoint
pattern.
See Removing-IFluidRouter.md for more details.
azure-client: Removed deprecated FluidStatic classes
Several FluidStatic classes were unnecessarily exposed and were deprecated in an earlier release. They have been replaced with creation functions. This helps us keep implementations decoupled from usage which is easier to maintain and extend. It has very minimal impact on the public surface area of downstream packages. The removed classes are as follows:
container-definitions: Fix ISnapshotTreeWithBlobContents and mark internal
ISnapshotTreeWithBlobContents
is an internal type that should not be used externally. Additionally, the type didn't match the usage, specifically in runtime-utils where an any
cast was used to work around undefined blobContents. The type has been updated to reflect that blobContents can be undefined.
container-definitions: Removed request(...) and IFluidRouter from IContainer
The request(...)
method and IFluidRouter
property have been removed from IContainer
. Please use the IContainer.getEntryPoint()
method to get the container's entry point.
See Removing-IFluidRouter.md for more details.
container-runtime: Removed IPendingLocalState and IRuntime.notifyAttaching
The deprecated IPendingLocalState
and IRuntime.notifyAttaching
APIs are removed. There is no replacement as they are not longer used.
container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase
The request(...)
method and IFluidRouter
property have been removed from the following places:
ContainerRuntime
IRuntime
IContainerRuntimeBase
Please use the IRuntime.getEntryPoint()
method to get the runtime's entry point.
See Removing-IFluidRouter.md for more details.
container-runtime: Removed ContainerRuntime.load(...)
The static method ContainerRuntime.load(...)
has been removed. Please migrate all usage of this method to ContainerRuntime.loadRuntime(...)
.
container-runtime-definitions: Removed getRootDataStore
The getRootDataStore
method has been removed from IContainerRuntime
and ContainerRuntime
. Please migrate all usage to the new getAliasedDataStoreEntryPoint
method. This method returns the data store's entry point which is its IFluidHandle
.
See Removing-IFluidRouter.md for more details.
container-runtime-definitions: Removed resolveHandle and IFluidHandleContext from ContainerRuntime interfaces
The IContainerRuntime.resolveHandle(...)
method and the IContainerRuntimeBase.IFluidHandleContext
property have been removed. Please remove all usage of these APIs.
See Removing-IFluidRouter.md for more details.
container-loader: Removed request(...) and IFluidRouter from ILoader and Loader
The request(...)
method and IFluidRouter
property have been removed from ILoader
and Loader
. Instead, after calling ILoader.resolve(...)
, call the getEntryPoint()
method on the returned IContainer
.
See Removing-IFluidRouter.md for more details.
container-loader: Removed requestResolvedObjectFromContainer
The helper function requestResolvedObjectFromContainer
has been removed. Please remove all calls to it and instead use the new entryPoint
pattern. See Removing-IFluidRouter.md for more details.
core-interfaces: Removed IFluidRouter and IProvideFluidRouter
The IFluidRouter
and IProvideFluidRouter
interfaces have been removed. Please migrate all usage to the new entryPoint
pattern.
See Removing-IFluidRouter.md for more details.
datastore-definitions: Removed request and IFluidRouter from IFluidDataStoreRuntime
The request
method and IFluidRouter
property have been removed from IFluidDataStoreRuntime
. Please migrate all usage to the IFluidDataStoreRuntime.entryPoint
API.
See Removing-IFluidRouter.md for more details.
datastore-definitions: Jsonable and Serializable now require a generic parameter
The Jsonable
and Serializable
types from @fluidframework/datastore-definitions now require a generic parameter and
if that type is any
or unknown
will return a new result JsonableTypeWith<>
that more accurately represents the
limitation of serialization.
Additional modifications:
Jsonable
'sTReplacement
parameter default has also been changed fromvoid
tonever
, which now disallowsvoid
.- Unrecognized primitive types like
symbol
are now filtered tonever
instead of{}
. - Recursive types with arrays (
[]
) are now supported.
Serializable
is commonly used for DDS values and now requires more precision when using them. For example SharedMatrix (unqualified) has an any
default that meant values were Serializable<any>
(i.e. any
), but now Serializable<any>
is JsonableTypeWith<IFluidHandle>
which may be problematic for reading or writing. Preferred correction is to specify the value type but casting through any
may provide a quick fix.
datastore: Removed FluidDataStoreRuntime.load(...)
The static method FluidDataStoreRuntime.load(...)
has been removed. Please migrate all usage of this method to FluidDataStoreRuntime
constructor.
data-object-base: Removed IFluidRouter from DataObject interfaces and classes
The IFluidRouter
property has been removed from a number of DataObject related classes:
PureDataObject
LazyLoadedDataObject
TestFluidObject
Please migrate to the new entryPoint
pattern or use the relevant request
method as necessary.
See Removing-IFluidRouter.md for more details.
local-driver: LocalDocumentStorageService class property type changes
The repositoryUrl
property on the LocalDocumentStorageService
class has changed from a property getter to a readonly
field. While this is an API change, there should be no changes required on the consumer side since calling code should remain the same.
merge-tree: Remove IIntegerRange
This interface is deprecated and was not intended for public export.
merge-tree: Remove several APIs
Removed the following APIs:
Stack
clone
combine
createMap
extend
extendIfUndefined
matchProperties
This functionality is deprecated and was not intended for public export.
AzureAudience
(useIAzureAudience
instead)TinyliciousAudience
(useITinyliciousAudience
instead)DOProviderContainerRuntimeFactory
FluidContainer
ServiceAudience
runtime-definitions: Removed request and IFluidRouter from IDataStore
The request
method and IFluidRouter
property have been removed from IDataStore
. Please migrate all usage to the IDataStore.entryPoint
API.
See Removing-IFluidRouter.md for more details.
runtime-definitions: Removed IFluidRouter from IFluidDataStoreChannel and FluidDataStoreRuntime
The IFluidRouter
property has been removed from IFluidDataStoreChannel
and FluidDataStoreRuntime
. Please migrate all usage to the IFluidDataStoreChannel.entryPoint
API.
See Removing-IFluidRouter.md for more details.
runtime-utils: Removed requestFluidObject
The requestFluidObject
utility has been removed. Please migrate all usage of it to the new entryPoint
pattern.
See Removing-IFluidRouter.md for more details.
sequence: Some function return types are now void instead of any
The return types of some functions have changed from any
to void
because the projects are now being compiled with the noImplicitAny
TypeScript compilation option. This does not represent a logic change and only serves to make the typing of these functions more accurate.
sequence: Add experimental support for the obliterate operation
This change adds experimental support for obliterate, a form of remove that deletes concurrently inserted segments. To use, enable the mergeTreeEnableObliterate
feature flag and call the new obliterateRange
functions.
Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in current handlers, their current implementation is sound.
sequence: Removed Marker.hasSimpleType and made sequence operations return void
Marker.hasSimpleType
was unused. Sequence operations now no longer return IMergeTree*Msg types. These types are redundant with the input.
sequence: Removed several public exports from merge-tree and sequence
The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never intended for public export.
BaseSegment.ack
Client
CollaborationWindow
compareNumbers
compareStrings
createAnnotateMarkerOp
createAnnotateRangeOp
createGroupOp
createInsertOp
createInsertSegmentOp
createRemoveRangeOp
IConsensusInfo
IConsensusValue
IMarkerModifiedAction
IMergeTreeTextHelper
LocalClientId
MergeTreeDeltaCallback
MergeTreeMaintenanceCallback
NonCollabClient
SegmentAccumulator
SegmentGroup
SegmentGroupCollection.enqueue
SegmentGroupCollection.dequeue
SegmentGroupCollection.pop
SortedSegmentSet
SortedSegmentSetItem
SortedSet
toRemovalInfo
TreeMaintenanceSequenceNumber
UniversalSequenceNumber
SharedSegmentSequence.submitSequenceMessage
sequence: Remove support for combining ops
In sequence, removed the following APIs:
- the
combiningOp
argument fromSharedSegmentSequence.annotateRange
andSharedString.annotateMarker
- the function
SharedString.annotateMarkerNotifyConsensus
In merge-tree, removed the following APIs:
ICombiningOp
- the
combiningOp
field fromIMergeTreeAnnotateMsg
- the
op
argument fromBaseSegment.addProperties
,PropertiesManager.addProperties
, andReferencePosition.addProperties
- the enum variant
PropertiesRollback.Rewrite
.
This functionality was largely unused and had no test coverage.
sequence: Removed several APIs
The following APIs have been removed:
Client.getStackContext
SharedSegmentSequence.getStackContext
IntervalType.Nest
ReferenceType.NestBegin
ReferenceType.NestEnd
internedSpaces
RangeStackMap
refGetRangeLabels
refHasRangeLabel
refHasRangeLabels
This functionality is deprecated, has low test coverage, and is largely unused.
test-runtime-utils: MockDeltaManager class property type changes
The active
and maxMessageSize
properties on the MockDeltaManager
class have changed from property getters to readonly
fields. While this is an API change, there should be no changes required on the consumer side since calling code should remain the same.