Library for building distributed, real-time collaborative web applications
MIT License
Bot releases are visible (Hide)
Published by github-actions[bot] about 1 year ago
forceReadonly
work (#17401) #17595
#17249
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.0.3...client_v2.0.0-internal.6.0.4
Published by github-actions[bot] about 1 year ago
IDataStoreWithBindToContext_Deprecated
interface removedIDataStoreWithBindToContext_Deprecated
has been removed. It has been deprecated for a while and cannot be used anymore.
getAliasedDataStoreEntryPoint
in IContainerRuntime
is now requiredgetAliasedDataStoreEntryPoint
was added to IContainerRuntime
in 2.0.0-internal.6.0 and is now required.
Container caching in the Loader has been removed. Do not to rely on caching and inform the FluidFramework team ASAP if you cannot do so.
Handle DriverErrorType.outOfStorage error from driver and load the container in readonly mode. Currently there is no handling and when the join session throws this error, the container will get closed. With this we use NoDeltaStream object as connection and load the container in read mode, so that it loads properly. We also notify the that the container is "readonly" through the event on delta manager so that apps can listen to this and show any UX etc. The app can listen to the event like this:
container.deltaManager.on(
"readonly",
(readonly?: boolean, readonlyConnectionReason?: { text: string; error?: IErrorBase }) => {
// error?.errorType will be equal to DriverErrorType.outOfStorage in this case
// App logic
},
);
When a container is loaded, it will connect in read-mode unless it is loaded with a pending state containing stashed ops.
bindToContext
API removedbindToContext
has been removed from FluidDataStoreRuntime
, IFluidDataStoreContext
and MockFluidDataStoreContext
. This has been deprecated for several releases and cannot be used anymore.
The following class constructors have been changed to allow for better flexible in arguments passed:
BaseContainerRuntimeFactory
ContainerRuntimeFactoryWithDefaultDataStore
RuntimeFactory
They now use a single object for constructor params. Example change to be made:
// Old
new BaseContainerRuntimeFactory(
myRegistryEntries,
myDependencyContainer,
myRequestHandlers,
myRuntimeOptions,
myProvideEntryPoint,
);
// New
new BaseContainerRuntimeFactory({
registryEntries: myRegistryEntries,
dependencyContainer: myDependencyContainer,
requestHandlers: myRequestHandlers,
runtimeOptions: myRuntimeOptions,
provideEntryPoint: myProvideEntryPoint,
});
The EventForwarder
and IDisposable
members of PureDataObject
were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
If your code was overriding any methods/properties from EventForwarder
and or IDisposable
on a class that inherits (directly or transitively) from PureDataObject
, you'll have to remove the override
keyword.
The optional provideEntryPoint
method has become required on a number of constructors. A value will need to be provided to the following classes:
BaseContainerRuntimeFactory
RuntimeFactory
ContainerRuntime
(constructor and loadRuntime
)FluidDataStoreRuntime
See testContainerRuntimeFactoryWithDefaultDataStore.ts for an example implemtation of provideEntryPoint
for ContainerRuntime. See pureDataObjectFactory.ts for an example implementation of provideEntryPoint
for DataStoreRuntime.
Subsequently, various entryPoint
and getEntryPoint()
endpoints have become required. Please see containerRuntime.ts for example implementations of these APIs.
For more details, see Removing-IFluidRouter.md
The naming of initializeEntryPoint
has been changed to provideEntryPoint
. Please change the property name in relevant calls to ContainerRuntime.loadRuntime(...)
.
IGCRuntimeOptions.sweepAllowed
ContainerRuntime.reSubmitFn
Previously intervals were specified with only an index. Now the model is a bit more nuanced in that you can specify positions that lie before or after a given index. This makes it more clear how interval endpoints should interact with changes to the sequence. See the docs for SequencePlace for additional context.
IIntervalCollection.change no longer allows an endpoint to be undefined. undefined can unintentionally result in end < start. To adapt to this change, simply use the current position of the endpoint that is not intended to change.
compareStarts
and compareEnds
from IIntervalHelpers
These methods are redudant with the functions IInterval.compareStart
and IInterval.compareEnd
respectively.
The mergeTreeUseNewLengthCalculations
flag has been removed, because the feature was enabled by default in 2.0.0-internal.6.0.0.
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
This included the following changes from the protocol-definitions release:
Dependencies on the following Fluid server package have been updated to version 2.0.1:
Dead concepts blob aggregation like aggregateBlobsSmallerThanBytes
and minBlobSize
have been removed.
All members of the @fluidframework/container-utils package have been deprecated and the package is now removed.
Migration by API member:
ClientSessionExpiredError
(deprecated in 2.0.0-internal.6.2.0
): No replacement API offered.DataCorruptionError
(deprecated in 2.0.0-internal.6.2.0
): Import from @fluidframework/telemetry-utils instead.DataProcessingError
(deprecated in 2.0.0-internal.6.2.0
): Import from @fluidframework/telemetry-utils instead.DeltaManagerProxyBase
(deprecated in 2.0.0-internal.6.1.0
): No replacement API offered.extractSafePropertiesFromMessage
(deprecated in 2.0.0-internal.6.2.0
): Import from @fluidframework/telemetry-utils instead.GenericError
(deprecated in 2.0.0-internal.6.2.0
): Import from @fluidframework/telemetry-utils instead.ThrottlingWarning
(deprecated in 2.0.0-internal.6.2.0
): No replacement API offered.UsageError
(deprecated in 2.0.0-internal.6.2.0
): Import from @fluidframework/telemetry-utils instead.The resolveHandle(...)
and get IFluidHandleContext()
methods have been deprecated on the following interfaces:
IContainerRuntime
IContainerRuntimeBase
Requesting arbitrary URLs has been deprecated on IContainerRuntime
. Please migrate all usage to the IContainerRuntime.getEntryPoint()
method if trying to obtain the application-specified root object.
See Removing-IFluidRouter.md for more details.
Please remove all calls to the following functions and instead use the new entryPoint
pattern:
requestFluidObject
requestResolvedObjectFromContainer
getDefaultObjectFromContainer
getObjectWithIdFromContainer
getObjectFromContainer
See Removing-IFluidRouter.md for more details.
IFluidRouter
and IProvideFluidRouter
have been deprecated. Please remove all usages of these interfaces and migrate to the new entryPoint
pattern.
See Removing-IFluidRouter.md for more details.
The concept of requestHandlers
has been deprecated. Please migrate all usage of the following APIs to the new entryPoint
pattern:
requestHandler
property in ContainerRuntime.loadRuntime(...)
RuntimeRequestHandler
RuntimeRequestHandlerBuilder
defaultFluidObjectRequestHandler(...)
defaultRouteRequestHandler(...)
mountableViewRequestHandler(...)
buildRuntimeRequestHandler(...)
createFluidObjectResponse(...)
handleFromLegacyUri(...)
rootDataStoreRequestHandler(...)
See Removing-IFluidRouter.md for more details.
IFluidRouter
and request({ url: "/" })
on IContainer
and IDataStore
are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate getEntryPoint()
or entryPoint
APIs.
See Removing-IFluidRouter.md for more details.
Published by github-actions[bot] about 1 year ago
IFluidDataStoreRuntime.logger
will be re-typed as ITelemetryBaseLogger
protected OdspDocumentServiceFactoryCore.createDocumentServiceCore
's parameter odspLogger
will be re-typed as ITelemetryLoggerExt
protected LocalOdspDocumentServiceFactory.createDocumentServiceCore
's parameter odspLogger
will be re-typed as ITelemetryLoggerExt
Additionally, several of @fluidframework/telemetry-utils's exports are being marked as internal and should not be consumed outside of other FF packages.
Some stack traces have been improved and might now include frames for async functions that weren't previously included.
Replace ValueSchema.Serializable with FluidHandle, removing support for arbitrary objects as tree values and preventing "any" type from Serializable from infecting TreeValue.
Struct field names are now restricted to avoid collisions with schema2 names.
Published by github-actions[bot] about 1 year ago
This is a major release.
Published by github-actions[bot] about 1 year ago
#17425
#17418
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.3.2...client_v2.0.0-internal.6.3.3
Published by github-actions[bot] about 1 year ago
#17255
#15967
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.4.3.1...client_v2.0.0-internal.4.3.2
Published by github-actions[bot] about 1 year ago
#17245
#17071
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.2.0...client_v2.0.0-internal.6.2.1
Published by github-actions[bot] about 1 year ago
#17244
#16927
#16916
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.1.1...client_v2.0.0-internal.6.1.2
Published by github-actions[bot] about 1 year ago
#17242
#17223
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.0.2...client_v2.0.0-internal.6.0.3
Published by github-actions[bot] about 1 year ago
#17236
#17216
#17211
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.3.1...client_v2.0.0-internal.6.3.2
Published by github-actions[bot] about 1 year ago
#17218
#16947
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.0.1...client_v2.0.0-internal.6.0.2
Published by github-actions[bot] about 1 year ago
This is a minor release.
Published by github-actions[bot] about 1 year ago
#17208
#17200
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.3.0...client_v2.0.0-internal.6.3.1
Published by tylerbutler about 1 year ago
This is a major release.
The following classes, functions, and types are deprecated in this release. In some cases, the implementations have been
moved to other packages.
Published by tylerbutler about 1 year ago
This is a major release.
The following interfaces and types are deprecated in this release. They can now be found in @fluidframework/core-interfaces.
These deprecated APIs will be removed in version 2.0.0.
Published by github-actions[bot] about 1 year ago
#16910
#16897
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.5.4.1...client_v2.0.0-internal.5.4.2
Published by github-actions[bot] about 1 year ago
#16908
#16893
#16862
#16857
#16849
#16716
#16708
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.0.0...client_v2.0.0-internal.6.0.1
Published by github-actions[bot] about 1 year ago
This is a minor release.
Published by github-actions[bot] about 1 year ago
The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.
They are now, and will continue to be exposed from the @fluid-experimental/sequence-deprecated package.
New usages of these types should not be added, but they may be necessary for migration.
PureDataObject
extends EventForwarder
and implements IDìsposable
again to ease the transition to 2.0.0-internal.6.x
. These interfaces will no longer be implemented on PureDataObject
in version 2.0.0-internal.7.0.0
.
The original deprecation announcement for these members can be found here.
Once the change is re-applied in 2.0.0-internal.7.0.0
, if your code was overriding any methods/properties from EventForwarder
and or IDisposable
on a class that inherits (directly or transitively) from PureDataObject
, you'll have to remove the override
keyword.
The id
property on IContainerContext
has been temporarily restored to ease the transition to 2.0.0-internal.6.x
. It will be removed again in 2.0.0-internal.7.0.0
.
The original deprecation announcement can be found here.
Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use). This functionality is unused, poorly tested, and incurs performance overhead.
refreshLatestAck
in ISummarizeOptions
, IOnDemandSummarizeOptions
and IEnqueueSummarizeOptions
Passing refreshLatestAck
as true will result in closing the summarizer. It is not supported anymore and will be removed in a future release. It should not be passed in to summarizeOnDemand
and enqueueSummarize
APIs anymore.
The @fluidframework/common-definitions package is being deprecated, so the following interfaces and types are now imported from the @fluidframework/core-interfaces package:
findTile has a decent amount of buggy behavior, which leads partners who want to use it to implement workarounds for the odd behavior. searchForMarker is being introduced as a replacement. It performs the same basic functionality of searching for the nearest marker to a given start position in the indicated direction. However, it includes the start position as one of the nodes to search, so markers at the start position will be returned as the nearest marker to that position. Notably, positions 0 and length-1 will be included in the search as well, so searching forwards from position 0 or backwards from position length-1 would allow the entire string to be searched.
Published by github-actions[bot] about 1 year ago
#16905
#16909
#16891
Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.1.0...client_v2.0.0-internal.6.1.1