diff --git a/.changeset/bitter-clocks-sleep.md b/.changeset/bitter-clocks-sleep.md deleted file mode 100644 index 04f32385a4b5..000000000000 --- a/.changeset/bitter-clocks-sleep.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/container-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/bumpy-papayas-invite.md b/.changeset/bumpy-papayas-invite.md deleted file mode 100644 index 839617553fe9..000000000000 --- a/.changeset/bumpy-papayas-invite.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/aqueduct": major ---- - -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. - -See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/cold-mails-notice.md b/.changeset/cold-mails-notice.md deleted file mode 100644 index 643024509402..000000000000 --- a/.changeset/cold-mails-notice.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/matrix": major -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major ---- - -Enable noImplicitAny in merge-tree, sequence, and matrix. This changes the return types of some functions from any to void. This does not represent a logic change and only serves to make the typing of these functions more accurate. diff --git a/.changeset/copied-llamas-digest.md b/.changeset/copied-llamas-digest.md deleted file mode 100644 index 46065b803793..000000000000 --- a/.changeset/copied-llamas-digest.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fluidframework/location-redirection-utils": major ---- - -Removes the @fluidframework/location-redirection-utils package - -The package was deprecated in version `2.0.0-internal.7.2.0`, and all of its library exports were moved to other packages. -It is now removed, and no future versions will be published. diff --git a/.changeset/cute-points-obey.md b/.changeset/cute-points-obey.md deleted file mode 100644 index 5c5de5483f44..000000000000 --- a/.changeset/cute-points-obey.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@fluidframework/container-runtime-definitions": major -"@fluidframework/runtime-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/dark-dancers-hug.md b/.changeset/dark-dancers-hug.md deleted file mode 100644 index cf212e696f11..000000000000 --- a/.changeset/dark-dancers-hug.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/datastore-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/eager-teeth-accept.md b/.changeset/eager-teeth-accept.md deleted file mode 100644 index 87bac9e49d89..000000000000 --- a/.changeset/eager-teeth-accept.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major -"@fluidframework/undo-redo": major ---- - -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 for `sequence` users: 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. diff --git a/.changeset/easy-deer-retire.md b/.changeset/easy-deer-retire.md deleted file mode 100644 index 951956f7e5fb..000000000000 --- a/.changeset/easy-deer-retire.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -"@fluidframework/datastore-definitions": major -"@fluid-experimental/devtools-core": major -"@fluidframework/map": major -"@fluidframework/matrix": major -"@fluidframework/sequence": major -"@fluidframework/shared-summary-block": major -"@fluid-experimental/sharejs-json1": major -"@fluid-private/test-end-to-end-tests": major -"@fluidframework/test-runtime-utils": major -"@fluid-experimental/tree2": major ---- - -Update `Jsonable` and `Serializable` types from @fluidframework-definitions to require a generic parameter and if that type is `any` or `unknown` use 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` (i.e. `any`), but now `Serializable` is `JsonableTypeWith` 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. diff --git a/.changeset/every-suns-bow.md b/.changeset/every-suns-bow.md deleted file mode 100644 index f618e52ef5f2..000000000000 --- a/.changeset/every-suns-bow.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major ---- - -Remove Marker.hasSimpleType and make sequence operations return void - -Marker.hasSimpleType was unused. Sequence operations now no longer return IMergeTree\*Msg types. These types are redundant with the input. diff --git a/.changeset/floppy-mails-hammer.md b/.changeset/floppy-mails-hammer.md deleted file mode 100644 index 00fdaf621a15..000000000000 --- a/.changeset/floppy-mails-hammer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@fluidframework/container-definitions": major -"@fluidframework/container-loader": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/fuzzy-cities-wonder.md b/.changeset/fuzzy-cities-wonder.md deleted file mode 100644 index abdcec04fe55..000000000000 --- a/.changeset/fuzzy-cities-wonder.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/datastore": major ---- - -Removed `FluidDataStoreRuntime.load(...)` - -The static method `FluidDataStoreRuntime.load(...)` has been removed. Please migrate all usage of this method to `FluidDataStoreRuntime` constructor. diff --git a/.changeset/gentle-hats-appear.md b/.changeset/gentle-hats-appear.md deleted file mode 100644 index a1109d6de61e..000000000000 --- a/.changeset/gentle-hats-appear.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@fluidframework/aqueduct": major -"@fluidframework/data-object-base": major -"@fluidframework/test-utils": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/gold-cats-tell.md b/.changeset/gold-cats-tell.md deleted file mode 100644 index fa914b00142b..000000000000 --- a/.changeset/gold-cats-tell.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/local-driver": major ---- - -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. diff --git a/.changeset/green-parrots-poke.md b/.changeset/green-parrots-poke.md deleted file mode 100644 index 176cfa67f715..000000000000 --- a/.changeset/green-parrots-poke.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major ---- - -Remove public exports from merge-tree and sequence - -Removes or marks `@internal` 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, and UniversalSequenceNumber from merge-tree. - -Removes SharedSegmentSequence.submitSequenceMessage from sequence. - -This functionality was never intended for public export. diff --git a/.changeset/little-mirrors-carry.md b/.changeset/little-mirrors-carry.md deleted file mode 100644 index f21809c6831b..000000000000 --- a/.changeset/little-mirrors-carry.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fluidframework/container-definitions": major -"@fluidframework/container-runtime": major ---- - -Remove Pending State Related Deprecations - -This change removes the deprecated `IPendingLocalState` and `IRuntiume.notifyAttaching`. There is no replacement as they are not longer used. diff --git a/.changeset/lucky-worms-return.md b/.changeset/lucky-worms-return.md deleted file mode 100644 index dc4f15f424f6..000000000000 --- a/.changeset/lucky-worms-return.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@fluidframework/container-definitions": major -"@fluidframework/container-runtime": major -"@fluidframework/runtime-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/metal-geese-battle.md b/.changeset/metal-geese-battle.md deleted file mode 100644 index 71773d4b8f2a..000000000000 --- a/.changeset/metal-geese-battle.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fluid-experimental/attributor": major -"@fluidframework/container-runtime": major ---- - -Removed `ContainerRuntime.load(...)` - -The static method `ContainerRuntime.load(...)` has been removed. Please migrate all usage of this method to `ContainerRuntime.loadRuntime(...)`. diff --git a/.changeset/nice-worms-try.md b/.changeset/nice-worms-try.md deleted file mode 100644 index 5e6c8758c2d3..000000000000 --- a/.changeset/nice-worms-try.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@fluidframework/container-runtime": major -"@fluidframework/container-runtime-definitions": major -"@fluidframework/core-interfaces": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/nine-coins-send.md b/.changeset/nine-coins-send.md deleted file mode 100644 index c74b18b84345..000000000000 --- a/.changeset/nine-coins-send.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/aqueduct": major ---- - -Removed `IRootDataObjectFactory` - -The `IRootDataObjectFactory` interface has been removed. Please remove all usage of it. diff --git a/.changeset/open-women-yawn.md b/.changeset/open-women-yawn.md deleted file mode 100644 index 3e4cf41a0cd8..000000000000 --- a/.changeset/open-women-yawn.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@fluidframework/container-definitions": major -"@fluidframework/container-loader": major -"@fluidframework/datastore": major -"@fluidframework/runtime-utils": major ---- - -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 diff --git a/.changeset/poor-peas-bow.md b/.changeset/poor-peas-bow.md deleted file mode 100644 index 961b0877f08f..000000000000 --- a/.changeset/poor-peas-bow.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/merge-tree": major ---- - -Remove IIntegerRange - -This interface is deprecated and was not intended for public export. diff --git a/.changeset/rich-shirts-sink.md b/.changeset/rich-shirts-sink.md new file mode 100644 index 000000000000..590eb2303e8e --- /dev/null +++ b/.changeset/rich-shirts-sink.md @@ -0,0 +1,7 @@ +--- +"@fluidframework/datastore-definitions": minor +--- + +Remove Unused IFluidDataStoreRegistry From IFluidDataStoreRuntime" + +IFluidDataStoreRuntime optionally extended IFluidDataStoreRegistry. This is never used, so is removed. As with all provider interfaces, consumers can continue to extend the interface if they have a use, and use FluidObject to inspect for it existing. diff --git a/.changeset/shaggy-doodles-fetch.md b/.changeset/shaggy-doodles-fetch.md deleted file mode 100644 index a25f79060447..000000000000 --- a/.changeset/shaggy-doodles-fetch.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@fluidframework/datastore": major -"@fluidframework/runtime-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/shaky-socks-fail.md b/.changeset/shaky-socks-fail.md deleted file mode 100644 index 4f376fa3013f..000000000000 --- a/.changeset/shaky-socks-fail.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/runtime-utils": major ---- - -Removed `requestFluidObject` - -The `requestFluidObject` utility has been removed. Please migrate all usage of it to the new `entryPoint` pattern. - -See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/silent-coins-report.md b/.changeset/silent-coins-report.md deleted file mode 100644 index e0744a415ff3..000000000000 --- a/.changeset/silent-coins-report.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major ---- - -Remove support for combining ops - -In `merge-tree`, removes ICombiningOp; the combiningOp field from IMergeTreeAnnotateMsg; the op argument from BaseSegment.addProperties, PropertiesManager.addProperties, and ReferencePosition.addProperties; and the enum variant PropertiesRollback.Rewrite. - -In `sequence`, removes the combiningOp argument from SharedSegmentSequence.annotateRange and SharedString.annotateMarker and the function SharedString.annotateMarkerNotifyConsensus. - -This functionality was largely unused and had no test coverage. diff --git a/.changeset/sixty-kings-carry.md b/.changeset/sixty-kings-carry.md deleted file mode 100644 index ad2beb96ef53..000000000000 --- a/.changeset/sixty-kings-carry.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/test-runtime-utils": major ---- - -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. diff --git a/.changeset/sweet-pandas-chew.md b/.changeset/sweet-pandas-chew.md deleted file mode 100644 index be30ea06a6b3..000000000000 --- a/.changeset/sweet-pandas-chew.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/core-interfaces": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/tangy-beers-pump.md b/.changeset/tangy-beers-pump.md deleted file mode 100644 index 42b13989c3e9..000000000000 --- a/.changeset/tangy-beers-pump.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@fluidframework/merge-tree": major -"@fluidframework/sequence": major ---- - -Remove Client.getStackContext, SharedSegmentSequence.getStackContext, IntervalType.Nest, ReferenceType.NestBegin, ReferenceType.NestEnd, internedSpaces, RangeStackMap, refGetRangeLabels, refHasRangeLabel, and refHasRangeLabels - -This functionality is deprecated, has low test coverage, and is largely unused. diff --git a/.changeset/tangy-geckos-swim.md b/.changeset/tangy-geckos-swim.md deleted file mode 100644 index 8abecaf43e91..000000000000 --- a/.changeset/tangy-geckos-swim.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/container-loader": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/tender-planets-beg.md b/.changeset/tender-planets-beg.md deleted file mode 100644 index e5abfbdb529a..000000000000 --- a/.changeset/tender-planets-beg.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@fluidframework/runtime-definitions": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/thick-ads-marry.md b/.changeset/thick-ads-marry.md deleted file mode 100644 index 61cd262f17a6..000000000000 --- a/.changeset/thick-ads-marry.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -"@fluid-example/example-utils": major -"@fluidframework/aqueduct": major -"@fluidframework/request-handler": major ---- - -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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details. diff --git a/.changeset/tricky-jobs-marry.md b/.changeset/tricky-jobs-marry.md new file mode 100644 index 000000000000..b6b1edae3870 --- /dev/null +++ b/.changeset/tricky-jobs-marry.md @@ -0,0 +1,9 @@ +--- +"@fluidframework/matrix": minor +"@fluidframework/sequence": minor +"@fluidframework/shared-object-base": minor +--- + +SharedObject processGCDataCore now takes IFluidSerializer rather than SummarySerializer + +This change should be a no-op for consumers, and SummarySerializer and IFluidSerializer expose the same consumer facing APIs. This change just makes our APIs more consistent by only using interfaces, rather than a mix of interfaces and concrete implementations. diff --git a/.changeset/wet-bags-pick.md b/.changeset/wet-bags-pick.md deleted file mode 100644 index 57f8eca0da98..000000000000 --- a/.changeset/wet-bags-pick.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@fluidframework/merge-tree": major ---- - -Remove Stack, clone, combine, createMap, extend, extendIfUndefined, and matchProperties - -This functionality is deprecated and was not intended for public export. diff --git a/.changeset/wet-hornets-trade.md b/.changeset/wet-hornets-trade.md deleted file mode 100644 index 46b1de16ddcb..000000000000 --- a/.changeset/wet-hornets-trade.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@fluidframework/azure-client": major -"fluid-framework": major -"@fluidframework/fluid-static": major -"@fluidframework/tinylicious-client": major ---- - -Removes Deprecated FluidStatic Classes - -This change removes a number of deprecated and unnecessarily exposed FluidStatic classes. -The removed classes are as follows: - -- AzureAudience -- TinyliciousAudience -- DOProviderContainerRuntimeFactory -- FluidContainer -- ServiceAudience diff --git a/RELEASE_NOTES/2.0.0-internal.8.0.0.md b/RELEASE_NOTES/2.0.0-internal.8.0.0.md new file mode 100644 index 000000000000..5153864098c6 --- /dev/null +++ b/RELEASE_NOTES/2.0.0-internal.8.0.0.md @@ -0,0 +1,259 @@ + + +# Upcoming changes in 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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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` (i.e. `any`), but now `Serializable` is `JsonableTypeWith` 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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/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. diff --git a/azure/packages/azure-client/CHANGELOG.md b/azure/packages/azure-client/CHANGELOG.md index 1698b2b20780..7685ac8d339d 100644 --- a/azure/packages/azure-client/CHANGELOG.md +++ b/azure/packages/azure-client/CHANGELOG.md @@ -1,5 +1,21 @@ # @fluidframework/azure-client +## 2.0.0-internal.8.0.0 + +### Major Changes + +- azure-client: Removed deprecated FluidStatic classes [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74) + + 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: + + - `AzureAudience` (use `IAzureAudience` instead) + - `TinyliciousAudience` (use `ITinyliciousAudience` instead) + - `DOProviderContainerRuntimeFactory` + - `FluidContainer` + - `ServiceAudience` + ## 2.0.0-internal.7.4.0 ### Minor Changes diff --git a/azure/packages/azure-client/api-extractor-lint.json b/azure/packages/azure-client/api-extractor-lint.json index 0646e509d685..4f7023c7e130 100644 --- a/azure/packages/azure-client/api-extractor-lint.json +++ b/azure/packages/azure-client/api-extractor-lint.json @@ -1,13 +1,4 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../../common/build/build-common/api-extractor-lint.json", - "messages": { - "extractorMessageReporting": { - // TODO: remove once base config has this enabled as an error - "ae-incompatible-release-tags": { - "logLevel": "error", - "addToApiReportFile": false - } - } - } + "extends": "../../../common/build/build-common/api-extractor-lint.json" } diff --git a/azure/packages/azure-client/package.json b/azure/packages/azure-client/package.json index 1a17d9dee2d8..ea1182632a80 100644 --- a/azure/packages/azure-client/package.json +++ b/azure/packages/azure-client/package.json @@ -1,6 +1,6 @@ { "name": "@fluidframework/azure-client", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "description": "A tool to enable creation and loading of Fluid containers using the Azure Fluid Relay service", "homepage": "https://fluidframework.com", "repository": { diff --git a/azure/packages/azure-local-service/CHANGELOG.md b/azure/packages/azure-local-service/CHANGELOG.md index f58ed5fe39b9..993f32788735 100644 --- a/azure/packages/azure-local-service/CHANGELOG.md +++ b/azure/packages/azure-local-service/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/azure-local-service +## 2.0.0-internal.8.0.0 + +Dependency updates only. + ## 2.0.0-internal.7.4.0 Dependency updates only. diff --git a/azure/packages/azure-local-service/api-extractor-lint.json b/azure/packages/azure-local-service/api-extractor-lint.json index 0646e509d685..4f7023c7e130 100644 --- a/azure/packages/azure-local-service/api-extractor-lint.json +++ b/azure/packages/azure-local-service/api-extractor-lint.json @@ -1,13 +1,4 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../../common/build/build-common/api-extractor-lint.json", - "messages": { - "extractorMessageReporting": { - // TODO: remove once base config has this enabled as an error - "ae-incompatible-release-tags": { - "logLevel": "error", - "addToApiReportFile": false - } - } - } + "extends": "../../../common/build/build-common/api-extractor-lint.json" } diff --git a/azure/packages/azure-local-service/package.json b/azure/packages/azure-local-service/package.json index fcc135958412..785475d5a1ce 100644 --- a/azure/packages/azure-local-service/package.json +++ b/azure/packages/azure-local-service/package.json @@ -1,6 +1,6 @@ { "name": "@fluidframework/azure-local-service", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "description": "Local implementation of the Azure Fluid Relay service for testing/development use", "homepage": "https://fluidframework.com", "repository": { diff --git a/azure/packages/azure-service-utils/CHANGELOG.md b/azure/packages/azure-service-utils/CHANGELOG.md index 7a195d655d39..f3a4d298aa6c 100644 --- a/azure/packages/azure-service-utils/CHANGELOG.md +++ b/azure/packages/azure-service-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/azure-service-utils +## 2.0.0-internal.8.0.0 + +Dependency updates only. + ## 2.0.0-internal.7.4.0 Dependency updates only. diff --git a/azure/packages/azure-service-utils/api-extractor-lint.json b/azure/packages/azure-service-utils/api-extractor-lint.json index 0646e509d685..4f7023c7e130 100644 --- a/azure/packages/azure-service-utils/api-extractor-lint.json +++ b/azure/packages/azure-service-utils/api-extractor-lint.json @@ -1,13 +1,4 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../../common/build/build-common/api-extractor-lint.json", - "messages": { - "extractorMessageReporting": { - // TODO: remove once base config has this enabled as an error - "ae-incompatible-release-tags": { - "logLevel": "error", - "addToApiReportFile": false - } - } - } + "extends": "../../../common/build/build-common/api-extractor-lint.json" } diff --git a/azure/packages/azure-service-utils/package.json b/azure/packages/azure-service-utils/package.json index 8f95bfe26786..626eb6968e7a 100644 --- a/azure/packages/azure-service-utils/package.json +++ b/azure/packages/azure-service-utils/package.json @@ -1,6 +1,6 @@ { "name": "@fluidframework/azure-service-utils", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "description": "Helper service-side utilities for connecting to Azure Fluid Relay service", "homepage": "https://fluidframework.com", "repository": { diff --git a/azure/packages/external-controller/CHANGELOG.md b/azure/packages/external-controller/CHANGELOG.md index 67839c41e459..85695eff65b1 100644 --- a/azure/packages/external-controller/CHANGELOG.md +++ b/azure/packages/external-controller/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-external-controller +## 2.0.0-internal.8.0.0 + +Dependency updates only. + ## 2.0.0-internal.7.4.0 Dependency updates only. diff --git a/azure/packages/external-controller/package.json b/azure/packages/external-controller/package.json index 8c474b111ea8..663b36fae51f 100644 --- a/azure/packages/external-controller/package.json +++ b/azure/packages/external-controller/package.json @@ -1,6 +1,6 @@ { "name": "@fluid-example/app-integration-external-controller", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "private": true, "description": "Minimal Fluid Container & Data Object sample to implement a collaborative dice roller as a standalone app.", "homepage": "https://fluidframework.com", diff --git a/azure/packages/test/end-to-end-tests/CHANGELOG.md b/azure/packages/test/end-to-end-tests/CHANGELOG.md index cda051f118eb..a42fcb02e863 100644 --- a/azure/packages/test/end-to-end-tests/CHANGELOG.md +++ b/azure/packages/test/end-to-end-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/azure-end-to-end-tests +## 2.0.0-internal.8.0.0 + +Dependency updates only. + ## 2.0.0-internal.7.4.0 Dependency updates only. diff --git a/azure/packages/test/end-to-end-tests/package.json b/azure/packages/test/end-to-end-tests/package.json index 7687b577a242..dcfee4f1f08e 100644 --- a/azure/packages/test/end-to-end-tests/package.json +++ b/azure/packages/test/end-to-end-tests/package.json @@ -1,6 +1,6 @@ { "name": "@fluidframework/azure-end-to-end-tests", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "description": "Azure client end to end tests", "homepage": "https://fluidframework.com", "repository": { diff --git a/azure/packages/test/scenario-runner/CHANGELOG.md b/azure/packages/test/scenario-runner/CHANGELOG.md index 70db05092881..1b2a40c1292a 100644 --- a/azure/packages/test/scenario-runner/CHANGELOG.md +++ b/azure/packages/test/scenario-runner/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/azure-scenario-runner +## 2.0.0-internal.8.0.0 + +Dependency updates only. + ## 2.0.0-internal.7.4.0 Dependency updates only. diff --git a/azure/packages/test/scenario-runner/package.json b/azure/packages/test/scenario-runner/package.json index a425655e2d46..e4f61881ecf3 100644 --- a/azure/packages/test/scenario-runner/package.json +++ b/azure/packages/test/scenario-runner/package.json @@ -1,6 +1,6 @@ { "name": "@fluid-experimental/azure-scenario-runner", - "version": "2.0.0-internal.8.0.0", + "version": "2.0.0-internal.9.0.0", "description": "Azure client end to end tests", "homepage": "https://fluidframework.com", "repository": { diff --git a/azure/packages/test/scenario-runner/src/packageVersion.ts b/azure/packages/test/scenario-runner/src/packageVersion.ts index 6045527b51d9..800eefa27b26 100644 --- a/azure/packages/test/scenario-runner/src/packageVersion.ts +++ b/azure/packages/test/scenario-runner/src/packageVersion.ts @@ -6,4 +6,4 @@ */ export const pkgName = "@fluid-experimental/azure-scenario-runner"; -export const pkgVersion = "2.0.0-internal.8.0.0"; +export const pkgVersion = "2.0.0-internal.9.0.0"; diff --git a/build-tools/packages/build-cli/.mocharc.json b/build-tools/packages/build-cli/.mocharc.json index 28aeb2edabbc..5e9671fd78c2 100644 --- a/build-tools/packages/build-cli/.mocharc.json +++ b/build-tools/packages/build-cli/.mocharc.json @@ -1,8 +1,7 @@ { - "require": ["test/helpers/init.js", "ts-node/register"], + "require": ["ts-node/register"], "watch-extensions": ["ts"], "recursive": true, - "reporter": "mocha-multi-reporters", - "reporter-options": "configFile=mocha-multi-reporter-config.json", + "reporter": "spec", "timeout": 60000 } diff --git a/build-tools/packages/build-cli/docs/generate.md b/build-tools/packages/build-cli/docs/generate.md index 0c6ffd042b75..66b060dc2042 100644 --- a/build-tools/packages/build-cli/docs/generate.md +++ b/build-tools/packages/build-cli/docs/generate.md @@ -80,7 +80,8 @@ FLAGS based on the TypeScript types that are expected to be used. This flag should only be used in the Fluid Framework CI pipeline. - --patch= Indicates the build is a patch build. + --patch= Indicates the build should use "simple patch versioning" where the value of the + --build flag is used as the patch version. --release=