FluidFramework

Library for building distributed, real-time collaborative web applications

MIT License

Downloads
1.4M
Stars
4.7K
Committers
246

Bot releases are visible (Hide)

FluidFramework - Routerlicious v3.0.0 (major)

Published by github-actions[bot] 10 months ago

BREAKING CHANGE: Foreman lambda removed

The Foreman lambda in @fluidframework/server-lambdas has been removed. It has not been used for several releases. There is no replacement.

Use RawAxiosRequestHeaders instead of AxiosRequestHeaders in BasicRestWrapper constructor.

The BasicRestWrapper class constructor now uses RawAxiosRequestHeaders from the axios package instead of AxiosRequestHeaders. This applies to both the defaultHeaders and refreshDefaultHeaders arguments.

This change was made in #17419.

server-services-client: New messageBrokerId property added to ISession

The ISession interface was updated with new field messageBrokerId that would be assigned when message broker is set to Event Hubs.

server-services-client: New internal exports

The @fluidframework/server-services-client package now exports the following items. These APIs are intended for internal use within the Fluid Framework only. They will be marked as internal APIs in a future release.

  • ITimeoutContext: Binds and tracks timeout info through a given codepath. The timeout can be checked manually to stop exit out of the codepath if the timeout has been exceeded.
  • getGlobalTimeoutContext: Retrieves the global ITimeoutContext instance if available. If not available, returns a NullTimeoutContext instance which behaves as a no-op.
  • setGlobalTimeoutContext: Sets the global ITimeoutContext instance.

This change was made in #17522.

Updated @fluidframework/common-utils

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

Updated @fluidframework/common-definitions

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

Updated @fluidframework/protocol-definitions

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

FluidFramework - Fluid Framework v2.0.0-internal.8.0.0 (major)

Published by github-actions[bot] 10 months ago

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's TReplacement parameter default has also been changed from void to never, which now disallows void.
  • Unrecognized primitive types like symbol are now filtered to never 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 (use IAzureAudience instead)
  • TinyliciousAudience (use ITinyliciousAudience 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 from SharedSegmentSequence.annotateRange and SharedString.annotateMarker
  • the function SharedString.annotateMarkerNotifyConsensus

In merge-tree, removed the following APIs:

  • ICombiningOp
  • the combiningOp field from IMergeTreeAnnotateMsg
  • the op argument from BaseSegment.addProperties, PropertiesManager.addProperties, and ReferencePosition.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.

FluidFramework - Fluid Framework v2.0.0-internal.7.4.0 (minor)

Published by github-actions[bot] 10 months ago

container-runtime: (GC) Tombstoned objects will fail to load by default

Previously, Tombstoned objects would only trigger informational logs by default, with an option via config to also cause errors to be thrown on load. Now, failure to load is the default with an option to disable it if necessary. This reflects the purpose of the Tombstone stage which is to mimic the user experience of objects being deleted.

container-runtime/runtime-definitions: IdCompressor and related types deprecated

IdCompressor and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.

The IdCompressor class is deprecated even in the new package. Consumers should use the interfaces, IIdCompressor and IIdCompressorCore, in conjunction with the factory function createIdCompressor instead.

telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase

The types ConfigTypes and IConfigProviderBase have been deprecated in the @fluidframework/telemetry-utils package. The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from @fluidframework/core-interfaces.

telemetry-utils: Deprecated logIfFalse

This functionality was not intended for export and will be removed in a future release. No replacement API is offered because the logic is trivial to reproduce as needed.

sequence: Deprecated findOverlappingIntervals API

The findOverlappingIntervals API from IntervalCollection has been deprecated. This functionality is moved to the OverlappingIntervalsIndex. Users should independently attach the index to the collection and utilize the API accordingly, for instance:

const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
collection.attachIndex(overlappingIntervalsIndex);
const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);

sequence: Deprecated previousInterval and nextInterval APIs

The previousInterval and nextInterval APIs from IntervalCollection have been deprecated. These functions are moved to the EndpointIndex. Users should independently attach the index to the collection and utilize the API accordingly, for instance:

const endpointIndex = createEndpointIndex(sharedString);
collection.attachIndex(endpointIndex);

const result1 = endpointIndex.previousInterval(pos);
const result2 = endpointIndex.nextInterval(pos);

sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus

The ICombiningOp and its usage in various APIs has been deprecated. APIs affected include SharedSegmentSequence.annotateRange and SharedString.annotateMarker. SharedString.annotateMarkerNotifyConsensus has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was largely unused.

sequence: change and changeProperties are now a single method

Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature of this combined method is now updated as well.

The new way to use the change method is to call it with an interval id as the first parameter and an object containing the desired portions of the interval to update as the second parameter. For the object parameter, the endpoints field should be an object containing the new start and end values for the interval, and the properties field should be an object containing the new properties for the interval. Either the endpoints field or the properties field can be omitted, and if neither are present, change will return undefined.

The new usage of the change method is as follows:

Change interval endpoints: change(id, { endpoints: { start: 1, end: 4 } });

Change interval properties: change(id { props: { a: 1 } });

Change interval endpoints and properties: change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });

aqueduct: Deprecated IRootDataObjectFactory

The IRootDataObjectFactory interface has been deprecated and will be removed in a future major release. Please remove all usage of it.

azure-client: Deprecated FluidStatic Classes

Several FluidStatic classes were unnecessarily exposed. 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 deprecated classes are as follows:

  • AzureAudience (use IAzureAudience instead)
  • TinyliciousAudience (use ITinyliciousAudience instead)
  • DOProviderContainerRuntimeFactory
  • FluidContainer
  • ServiceAudience
FluidFramework - Fluid Framework v2.0.0-internal.7.3.0 (minor)

Published by github-actions[bot] 11 months ago

This is a minor release.

Rename SchemaCollection.treeSchema to nodeSchema

This breaks all existing documents, as well as any users of SchemaCollection.treeSchema.

Deprecate BaseSegment.ack, Client, CollaborationWindow, compareNumbers, compareStrings, createAnnotateMarkerOp, createAnnotateRangeOp, createInsertOp, createInsertSegmentOp, createRemoveRangeOp, IConsensusInfo, IConsensusValue, IMarkerModifiedAction, IMergeTreeTextHelper, ISegment.ack, LocalClientId, MergeTreeDeltaCallback, MergeTreeMaintenanceCallback, NonCollabClient, SegmentAccumulator, SegmentGroup, SegmentGroupCollection.dequeue, SegmentGroupCollection.enqueue, SegmentGroupCollection.pop, SortedSegmentSet, SortedSegmentSetItem, SortedSet, toRemovalInfo, TreeMaintenanceSequenceNumber, UnassignedSequenceNumber, UniversalSequenceNumber

This functionality was not intended for export and will be removed in a future release.

Remove editable-tree-1

Remove editable-tree-1 and APIs related to it. Users must migrate to editable-tree-2.

@fluid-internal/stochastic-test-utils renamed to @fluid-private/stochastic-test-utils

The @fluid-internal/stochastic-test-utils has been renamed to @fluid-private/stochastic-test-utils. This package is intended for use within the Fluid Framework repo and is not published externally.

@fluid-internal/test-pairwise-generator renamed to @fluid-private/test-pairwise-generator

The @fluid-internal/test-pairwise-generator has been renamed to @fluid-private/test-pairwise-generator. This package is intended for use within the Fluid Framework repo and is not published externally.

@fluid-internal/test-version-utils renamed to @fluid-private/test-version-utils

The @fluid-internal/test-version-utils has been renamed to @fluid-private/test-version-utils. This package is intended for use within the Fluid Framework repo and is not published externally.

@fluid-internal/test-drivers renamed to @fluid-private/test-drivers

The @fluid-internal/test-drivers has been renamed to @fluid-private/test-drivers. This package is intended for use within the Fluid Framework repo and is not published externally.

@fluid-internal/test-dds-utils renamed to @fluid-private/test-dds-utils

The @fluid-internal/test-dds-utils has been renamed to @fluid-private/test-dds-utils. This package is intended for use within the Fluid Framework repo and is not published externally.

@fluid-internal/test-loader-utils renamed to @fluid-private/test-loader-utils

The @fluid-internal/test-loader-utils has been renamed to @fluid-private/test-loader-utils. This package is intended for use within the Fluid Framework repo and is not published externally.

FluidFramework - build-tools v0.28.0 (minor)

Published by github-actions[bot] 11 months ago

This is a minor release.

FluidFramework - build-tools v0.27.0 (minor)

Published by github-actions[bot] 11 months ago

This is a minor release.

FluidFramework - Fluid Framework v2.0.0-internal.7.0.3 (patch)

Published by github-actions[bot] 11 months ago

What's Changed

  • [main > release/v2int/7.0]: Make improvements in calculating retry after time for calls to storage/relayService #18315
  • [bump] client: 2.0.0-internal.7.0.2 => 2.0.0-internal.7.0.3 (patch) #18204

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.0.2...client_v2.0.0-internal.7.0.3

FluidFramework - Fluid Framework v2.0.0-internal.7.1.2 (patch)

Published by github-actions[bot] 12 months ago

What's Changed

  • [Port v2int 7.1] Fixes and improvements around grouped batching #18183
  • [Port v2int 7.1] GC option to enable tombstone throw on load and telemetry improvement #18193

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.1.1...client_v2.0.0-internal.7.1.2

FluidFramework - Fluid Framework v2.0.0-internal.7.0.2 (patch)

Published by github-actions[bot] 12 months ago

What's Changed

  • [Port v2int 7.0] Fixes and improvements around grouped batching #18182
  • [Port v2int 7.0] GC option to enable tombstone throw on load and telemetry improvement #18189

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.0.1...client_v2.0.0-internal.7.0.2

FluidFramework - Fluid Framework 2.0.0-internal.7.2.2 (patch)

Published by tylerbutler 12 months ago

What's Changed

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.2.1...client_v2.0.0-internal.7.2.2

FluidFramework - Fluid Framework 2.0.0-internal.7.2.1 (patch)

Published by tylerbutler 12 months ago

What's Changed

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.2.0...client_v2.0.0-internal.7.2.1

FluidFramework - Fluid Framework v2.0.0-internal.7.1.1 (patch)

Published by github-actions[bot] 12 months ago

What's Changed

  • [v2int/7.1] Port #18013 (Improve tombstone logs to include additional unreferenced state) #18048
  • [v2int/7.1] Port #17841 (GC: Do not throw when loading a DDS that is Inactive or Tombstoned) #17985
  • [Port v2int 7.1] Fix grouped batching asserts #17950
  • Update type tests #17786

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.1.0...client_v2.0.0-internal.7.1.1

FluidFramework - Fluid Framework v2.0.0-internal.7.0.1 (patch)

Published by github-actions[bot] 12 months ago

What's Changed

  • [v2int/7.0] Port #18013 (Improve tombstone logs to include additional unreferenced state) #18049
  • [v2int/7.0] Port #17841 (GC: Do not throw when loading a DDS that is Inactive or Tombstoned) #17984
  • [Port v2int 7.0] Fix grouped batching asserts #17949
  • [main > 7.0] ci: Centralize feed publishing and unify style #17671

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.7.0.0...client_v2.0.0-internal.7.0.1

FluidFramework - build-tools v0.26.2 (patch)

Published by github-actions[bot] 12 months ago

What's Changed

  • fix(build-cli): Fix parsing of --json flag #18039

Full Changelog: https://github.com/microsoft/FluidFramework/compare/build-tools_v0.26.1...build-tools_v0.26.2

FluidFramework - Fluid Framework v2.0.0-internal.7.2.0 (minor)

Published by tylerbutler 12 months ago

sequence: SharedString.findTile is now deprecated

findTile was previously deprecated on client and mergeTree, but was not on SharedString. Usage is mostly the same, with the exception that the parameter 'startPos' must be a number and cannot be undefined.

tree2: Rename DocumentSchema and toDocumentSchema

The following APIs have been renamed:

  • DocumentSchema is now TreeSchema
  • toDocumentSchema is now intoSchema

tree2: Rename SchemaData, FieldSchema, and FieldStoredSchema

The following APIs have been renamed:

  • SchemaData is now TreeStoredSchema
  • FieldSchema is now TreeFieldSchema
  • FieldStoredSchema is now TreeFieldStoredSchema

tree2: Rename TreeSchema

The following APIs have been renamed:

  • TreeSchema is now TreeNodeSchema

tree2: Add null to allowed leaf types

Replaced the jsonNull schema with a new null leaf schema, and added support for leaf values which are null.

tree2: Rename Struct

The following APIs have been renamed:

  • Struct is now ObjectNode
FluidFramework - build-tools v0.25.0 (minor)

Published by github-actions[bot] 12 months ago

This is a minor release.

FluidFramework - Fluid Framework v2.0.0-internal.7.1.0 (minor)

Published by github-actions[bot] about 1 year ago

Move location-redirection-utils APIs to container-loader

Moves the 2 package exports of location-redirection-utils to the container-loader package.

Exports from location-redirection-utils are now deprecated, and the package itself will be removed in an upcoming release.

container-runtime: Summarizer.create(...) has been deprecated

The public static method Summarizer.create(...) has been deprecated and will be removed in a future major release. Creating a summarizer is not a publicly supported API. Please remove all usage of this method.

merge-tree: Deprecate IntervalType.Nest, internedSpaces, RangeStackMap, refGetRangeLabels, refHasRangeLabel, and refHasRangeLabels

The following classes and functions have been deprecated. The functionality has poor test coverage and is largely unused. They will be removed in a future release.

  • IntervalType.Nest
  • internedSpaces
  • RangeStackMap
  • refGetRangeLabels
  • refHasRangeLabel
  • refHasRangeLabels

merge-tree: Deprecate Stack, clone, combine, createMap, extend, extendIfUndefined, and matchProperties

The following classes and functions have been deprecated. They were not intended for public export and will be removed in a future release.

  • Stack
  • clone
  • combine
  • createMap
  • extend
  • extendIfUndefined
  • matchProperties

sequence: IntervalCollection.add's intervalType is now deprecated

The intervalType parameter is being removed from IntervalCollection.add. The new usage requires calling add with an object containing each of the desired parameters. Example: add({start: 0, end: 1, props: { a: b }})

The signature of IntervalCollection.change is also being updated to an object containing the desired parameters, instead of the existing list of parameters. In addition, changeProperties will be removed, so in order to change the properties of an interval, the change method (with the updated signature) will be used. The id of the interval is not included in the object passed to change, but is instead passed as the first parameter to change.

Examples:

  • Change interval endpoints: change(intervalId, { start: 3, end: 4 })
  • Change interval properties: change(intervalId, { props: { a: c } })

tree2: Forest summaries now include detached fields

Forest summaries now include detached fields. This breaks existing documents.

tree2: Rename "Value" Multiplicity and FieldKind

Multiplicity.Value has been renamed to Multiplicity.Single and FieldKinds.value has been renamed to FieldKinds.required.

tree2: SharedTreeFactory type changed

The 'type' field for @fluid-experimental/tree2's exported IChannelFactorys has been changed to not overlap with @fluid-experimental/tree's channel type. This breaks existing tree2 documents: upon loading them, an error with message "Channel Factory SharedTree not registered" will be thrown. If using the typed-tree API, the message will instead be "Channel Factory SharedTree: not registered" where is the subtype used by the application when constructing their TypedTreeFactory.

Applications which want to support such documents could add an explicit registry entry to their ISharedObjectRegistry which maps the type shown in the error message to a factory producing @fluid-experimental/tree2.

tree2: Allow ImplicitFieldSchema for non-recursive schema building

SchemaBuilder now accepts ImplicitFieldSchema in many places which used to require FieldSchema. This allows Required fields to be implicitly specified from just their AllowedTypes. Additionally in these cases the AllowedTypes can be implicitly specified from a single Any or TreeSchema.

FluidFramework - Fluid Framework v2.0.0-internal.6.2.2 (patch)

Published by github-actions[bot] about 1 year ago

What's Changed

  • Porting #17401 (Make forceReadonly work) to release/v2int/6.2 #17599
  • [bump] client: 2.0.0-internal.6.2.1 => 2.0.0-internal.6.2.2 (patch) #17252

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.2.1...client_v2.0.0-internal.6.2.2

FluidFramework - Fluid Framework v2.0.0-internal.6.3.4 (patch)

Published by github-actions[bot] about 1 year ago

What's Changed

  • Porting #17401 (Make forceReadonly work) to release/v2int/6.3 #17597
  • [v2int/6.3] Bump client patch 2.0.0 internal.6.3.4 #17432
  • [main>6.3] ci: publish packages to feeds based on settings #17537

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.3.3...client_v2.0.0-internal.6.3.4

FluidFramework - Fluid Framework v2.0.0-internal.6.1.3 (patch)

Published by github-actions[bot] about 1 year ago

What's Changed

  • Porting #17401 (Make forceReadonly work) to release/v2int/6.1 #17596
  • [bump] client: 2.0.0-internal.6.1.2 => 2.0.0-internal.6.1.3 (patch) #17251

Full Changelog: https://github.com/microsoft/FluidFramework/compare/client_v2.0.0-internal.6.1.2...client_v2.0.0-internal.6.1.3

Package Rankings
Top 1.24% on Npmjs.org