From ffa02b58be0b32ae0d74bfec3217313e06fed498 Mon Sep 17 00:00:00 2001 From: Tyler Butler Date: Tue, 15 Oct 2024 09:52:23 -0700 Subject: [PATCH] build(client): Generate changelogs for 2.4 release (#22803) Cherry-picks the changelog commit from main into the 2.4 release branch. --- .changeset/clever-dancers-post.md | 33 --- .changeset/common-jokes-press.md | 15 -- .changeset/curvy-tables-kiss.md | 12 -- .changeset/dark-circles-whine.md | 12 -- .changeset/light-rectangles-rejoice.md | 70 ------- .changeset/lucky-goats-find.md | 32 --- .changeset/poor-islands-battle.md | 19 -- .changeset/purple-hats-roll.md | 19 -- .changeset/quiet-lizards-prove.md | 14 -- .changeset/seven-women-pick.md | 29 --- .changeset/shaggy-pens-occur.md | 26 --- .changeset/spicy-candles-smash.md | 13 -- .changeset/witty-suits-worry.md | 14 -- .../packages/azure-local-service/CHANGELOG.md | 4 + .../packages/azure-service-utils/CHANGELOG.md | 4 + .../test/scenario-runner/CHANGELOG.md | 4 + examples/apps/ai-collab/CHANGELOG.md | 4 + examples/apps/attributable-map/CHANGELOG.md | 4 + .../apps/collaborative-textarea/CHANGELOG.md | 4 + examples/apps/contact-collection/CHANGELOG.md | 4 + examples/apps/data-object-grid/CHANGELOG.md | 4 + examples/apps/presence-tracker/CHANGELOG.md | 4 + examples/apps/task-selection/CHANGELOG.md | 4 + examples/apps/tree-comparison/CHANGELOG.md | 4 + .../bubblebench/baseline/CHANGELOG.md | 4 + .../bubblebench/common/CHANGELOG.md | 4 + .../experimental-tree/CHANGELOG.md | 4 + .../benchmarks/bubblebench/ot/CHANGELOG.md | 4 + .../bubblebench/shared-tree/CHANGELOG.md | 4 + .../CHANGELOG.md | 4 + examples/benchmarks/tablebench/CHANGELOG.md | 4 + .../app-insights-logger/CHANGELOG.md | 4 + examples/data-objects/canvas/CHANGELOG.md | 4 + examples/data-objects/clicker/CHANGELOG.md | 4 + examples/data-objects/codemirror/CHANGELOG.md | 4 + examples/data-objects/diceroller/CHANGELOG.md | 4 + .../data-objects/inventory-app/CHANGELOG.md | 4 + examples/data-objects/monaco/CHANGELOG.md | 4 + .../constellation-model/CHANGELOG.md | 4 + .../multiview/constellation-view/CHANGELOG.md | 4 + .../multiview/container/CHANGELOG.md | 4 + .../multiview/coordinate-model/CHANGELOG.md | 4 + .../multiview/interface/CHANGELOG.md | 4 + .../plot-coordinate-view/CHANGELOG.md | 4 + .../slider-coordinate-view/CHANGELOG.md | 4 + .../multiview/triangle-view/CHANGELOG.md | 4 + .../data-objects/prosemirror/CHANGELOG.md | 4 + examples/data-objects/smde/CHANGELOG.md | 4 + .../data-objects/table-document/CHANGELOG.md | 4 + examples/data-objects/todo/CHANGELOG.md | 4 + examples/data-objects/webflow/CHANGELOG.md | 4 + examples/external-data/CHANGELOG.md | 4 + .../external-controller/CHANGELOG.md | 4 + .../odsp-client/shared-tree-demo/CHANGELOG.md | 4 + examples/utils/bundle-size-tests/CHANGELOG.md | 4 + examples/utils/example-utils/CHANGELOG.md | 4 + examples/utils/migration-tools/CHANGELOG.md | 4 + .../utils/webpack-fluid-loader/CHANGELOG.md | 4 + .../live-schema-upgrade/CHANGELOG.md | 4 + .../same-container/CHANGELOG.md | 4 + .../separate-container/CHANGELOG.md | 4 + .../version-migration/tree-shim/CHANGELOG.md | 4 + .../container-views/CHANGELOG.md | 4 + .../external-views/CHANGELOG.md | 4 + .../view-framework-sampler/CHANGELOG.md | 4 + .../packages/property-changeset/CHANGELOG.md | 4 + .../packages/property-common/CHANGELOG.md | 4 + .../platform-dependent/CHANGELOG.md | 4 + .../packages/property-dds/CHANGELOG.md | 4 + .../packages/property-properties/CHANGELOG.md | 4 + .../dds/attributable-map/CHANGELOG.md | 4 + experimental/dds/ot/ot/CHANGELOG.md | 4 + .../dds/ot/sharejs/json1/CHANGELOG.md | 4 + .../dds/sequence-deprecated/CHANGELOG.md | 4 + experimental/dds/tree/CHANGELOG.md | 4 + .../framework/data-objects/CHANGELOG.md | 4 + .../framework/last-edited/CHANGELOG.md | 4 + .../framework/tree-react-api/CHANGELOG.md | 4 + packages/common/client-utils/CHANGELOG.md | 4 + .../common/container-definitions/CHANGELOG.md | 4 + packages/common/core-interfaces/CHANGELOG.md | 4 + packages/common/core-utils/CHANGELOG.md | 4 + .../common/driver-definitions/CHANGELOG.md | 4 + packages/dds/cell/CHANGELOG.md | 4 + packages/dds/counter/CHANGELOG.md | 4 + packages/dds/ink/CHANGELOG.md | 4 + packages/dds/map/CHANGELOG.md | 4 + packages/dds/matrix/CHANGELOG.md | 4 + packages/dds/merge-tree/CHANGELOG.md | 23 +++ packages/dds/ordered-collection/CHANGELOG.md | 4 + packages/dds/pact-map/CHANGELOG.md | 4 + packages/dds/register-collection/CHANGELOG.md | 4 + packages/dds/sequence/CHANGELOG.md | 23 +++ packages/dds/shared-object-base/CHANGELOG.md | 4 + .../dds/shared-summary-block/CHANGELOG.md | 4 + packages/dds/task-manager/CHANGELOG.md | 4 + packages/dds/test-dds-utils/CHANGELOG.md | 4 + packages/dds/tree/CHANGELOG.md | 192 ++++++++++++++++++ packages/drivers/debugger/CHANGELOG.md | 4 + packages/drivers/driver-base/CHANGELOG.md | 4 + .../drivers/driver-web-cache/CHANGELOG.md | 4 + packages/drivers/file-driver/CHANGELOG.md | 4 + packages/drivers/local-driver/CHANGELOG.md | 4 + .../odsp-driver-definitions/CHANGELOG.md | 4 + packages/drivers/odsp-driver/CHANGELOG.md | 4 + .../drivers/odsp-urlResolver/CHANGELOG.md | 4 + packages/drivers/replay-driver/CHANGELOG.md | 4 + .../drivers/routerlicious-driver/CHANGELOG.md | 4 + .../routerlicious-urlResolver/CHANGELOG.md | 4 + .../drivers/tinylicious-driver/CHANGELOG.md | 4 + .../framework/agent-scheduler/CHANGELOG.md | 4 + packages/framework/ai-collab/CHANGELOG.md | 4 + packages/framework/aqueduct/CHANGELOG.md | 4 + packages/framework/attributor/CHANGELOG.md | 4 + .../app-insights-logger/CHANGELOG.md | 4 + .../fluid-telemetry/CHANGELOG.md | 4 + .../framework/data-object-base/CHANGELOG.md | 4 + .../framework/dds-interceptions/CHANGELOG.md | 4 + .../framework/fluid-framework/CHANGELOG.md | 111 ++++++++++ packages/framework/fluid-static/CHANGELOG.md | 4 + .../oldest-client-observer/CHANGELOG.md | 4 + packages/framework/presence/CHANGELOG.md | 4 + .../framework/request-handler/CHANGELOG.md | 4 + packages/framework/synthesize/CHANGELOG.md | 4 + packages/framework/undo-redo/CHANGELOG.md | 4 + packages/loader/container-loader/CHANGELOG.md | 4 + packages/loader/driver-utils/CHANGELOG.md | 4 + .../loader/test-loader-utils/CHANGELOG.md | 4 + .../CHANGELOG.md | 4 + .../runtime/container-runtime/CHANGELOG.md | 12 ++ .../datastore-definitions/CHANGELOG.md | 4 + packages/runtime/datastore/CHANGELOG.md | 4 + packages/runtime/id-compressor/CHANGELOG.md | 4 + .../runtime/runtime-definitions/CHANGELOG.md | 4 + packages/runtime/runtime-utils/CHANGELOG.md | 4 + .../runtime/test-runtime-utils/CHANGELOG.md | 4 + .../service-clients/azure-client/CHANGELOG.md | 4 + .../azure-client/CHANGELOG.md | 4 + .../end-to-end-tests/odsp-client/CHANGELOG.md | 4 + .../service-clients/odsp-client/CHANGELOG.md | 4 + .../tinylicious-client/CHANGELOG.md | 4 + packages/test/functional-tests/CHANGELOG.md | 4 + packages/test/local-server-tests/CHANGELOG.md | 4 + packages/test/mocha-test-setup/CHANGELOG.md | 4 + packages/test/snapshots/CHANGELOG.md | 4 + .../test/stochastic-test-utils/CHANGELOG.md | 4 + .../test/test-driver-definitions/CHANGELOG.md | 4 + packages/test/test-drivers/CHANGELOG.md | 4 + .../test/test-end-to-end-tests/CHANGELOG.md | 4 + .../test/test-pairwise-generator/CHANGELOG.md | 4 + packages/test/test-service-load/CHANGELOG.md | 4 + packages/test/test-utils/CHANGELOG.md | 4 + packages/test/test-version-utils/CHANGELOG.md | 4 + .../changelog-generator-wrapper/CHANGELOG.md | 4 + .../devtools-browser-extension/CHANGELOG.md | 4 + .../tools/devtools/devtools-core/CHANGELOG.md | 4 + .../devtools/devtools-example/CHANGELOG.md | 4 + .../tools/devtools/devtools-view/CHANGELOG.md | 4 + packages/tools/devtools/devtools/CHANGELOG.md | 4 + packages/tools/fetch-tool/CHANGELOG.md | 4 + packages/tools/fluid-runner/CHANGELOG.md | 4 + packages/tools/replay-tool/CHANGELOG.md | 4 + packages/utils/odsp-doclib-utils/CHANGELOG.md | 4 + packages/utils/telemetry-utils/CHANGELOG.md | 4 + packages/utils/tool-utils/CHANGELOG.md | 4 + tools/markdown-magic/CHANGELOG.md | 4 + 166 files changed, 953 insertions(+), 308 deletions(-) delete mode 100644 .changeset/clever-dancers-post.md delete mode 100644 .changeset/common-jokes-press.md delete mode 100644 .changeset/curvy-tables-kiss.md delete mode 100644 .changeset/dark-circles-whine.md delete mode 100644 .changeset/light-rectangles-rejoice.md delete mode 100644 .changeset/lucky-goats-find.md delete mode 100644 .changeset/poor-islands-battle.md delete mode 100644 .changeset/purple-hats-roll.md delete mode 100644 .changeset/quiet-lizards-prove.md delete mode 100644 .changeset/seven-women-pick.md delete mode 100644 .changeset/shaggy-pens-occur.md delete mode 100644 .changeset/spicy-candles-smash.md delete mode 100644 .changeset/witty-suits-worry.md diff --git a/.changeset/clever-dancers-post.md b/.changeset/clever-dancers-post.md deleted file mode 100644 index 48a12f66f026..000000000000 --- a/.changeset/clever-dancers-post.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -"section": tree -highlight: true ---- - -✨ New! Alpha API for providing SharedTree configuration options - -A new alpha `configuredSharedTree` had been added. -This allows providing configuration options, primarily for debugging, testing and evaluation of upcoming features. -The resulting configured `SharedTree` object can then be used in-place of the regular `SharedTree` imported from `fluid-framework`. - -```typescript -import { - ForestType, - TreeCompressionStrategy, - configuredSharedTree, - typeboxValidator, -} from "@fluid-framework/alpha"; -// Maximum debuggability and validation enabled: -const SharedTree = configuredSharedTree({ - forest: ForestType.Expensive, - jsonValidator: typeboxValidator, - treeEncodeType: TreeCompressionStrategy.Uncompressed, -}); -// Opts into the under development optimized tree storage planned to be the eventual default implementation: -const SharedTree = configuredSharedTree({ - forest: ForestType.Optimized, -}); -``` diff --git a/.changeset/common-jokes-press.md b/.changeset/common-jokes-press.md deleted file mode 100644 index d696db066997..000000000000 --- a/.changeset/common-jokes-press.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -"section": tree -highlight: true ---- - -✨ New! Alpha API for snapshotting Schema - -`extractPersistedSchema` can now be used to extra a JSON-compatible representation of the subset of a schema that gets stored in documents. -This can be used write tests which snapshot an applications schema. -Such tests can be used to detect schema changes which could would impact document compatibility, -and can be combined with the new `comparePersistedSchema` to measure what kind of compatibility impact the schema change has. diff --git a/.changeset/curvy-tables-kiss.md b/.changeset/curvy-tables-kiss.md deleted file mode 100644 index a71159c24cb2..000000000000 --- a/.changeset/curvy-tables-kiss.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@fluidframework/tree": minor -"fluid-framework": minor ---- ---- -"section": fix ---- - -Fix reading of `null` from unhydrated trees - -Unhydrated trees containing object nodes with required fields set to `null` used to throw an error. -This was a bug: `null` is a valid value in tree's whose schema allow it, and this specific case now correctly returns `null` values when appropriate without erroring. diff --git a/.changeset/dark-circles-whine.md b/.changeset/dark-circles-whine.md deleted file mode 100644 index 499e46c1bc96..000000000000 --- a/.changeset/dark-circles-whine.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@fluidframework/tree": minor ---- ---- -section: tree ---- - -Expose the view schema from the TreeView interface - -Users of TreeView can now access the type-safe view schema directly on the view object via `TreeView.schema`. -This allows users to avoid passing the schema around in addition to the view in scenarios where both are needed. -It also avoids scenarios in which code wants to accept both a view and its schema and thus must constrain both to be of the same schema type. diff --git a/.changeset/light-rectangles-rejoice.md b/.changeset/light-rectangles-rejoice.md deleted file mode 100644 index 0aac120f0f4e..000000000000 --- a/.changeset/light-rectangles-rejoice.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -"@fluidframework/tree": minor ---- ---- -section: tree ---- - -Metadata can now be associated with Field Schema - -Users of TreeView can now specify metadata when creating Field Schema. -This includes system-understood metadata, i.e., `description`. - -Example: - -```typescript - -class Point extends schemaFactory.object("Point", { - x: schemaFactory.required(schemaFactory.number, { - metadata: { description: "The horizontal component of the point." } - }), - y: schemaFactory.required(schemaFactory.number, { - metadata: { description: "The vertical component of the point." } - }), -}) {} - -``` - -Functionality like the experimental conversion of Tree Schema to [JSON Schema](https://json-schema.org/) (`getJsonSchema`) can leverage such system-understood metadata to generate useful information. -In the case of the `description` property, this is mapped directly to the `description` property supported by JSON Schema. - -Custom, user-defined properties can also be specified. -These properties will not be leveraged by the system by default, but can be used as a handy means of associating common application-specific properties with Field Schema. - -Example: - -An application is implementing search functionality. -By default, the app author wishes for all app content to be indexable by search, unless otherwise specified. -They can leverage schema metadata to decorate fields that should be ignored by search, and leverage that information when walking the tree during a search. - -```typescript - -interface AppMetadata { - /** - * Whether or not the field should be ignored by search. - * @defaultValue `false` - */ - searchIgnore?: boolean; -} - -class Note extends schemaFactory.object("Note", { - position: schemaFactory.required(Point, { - metadata: { - description: "The position of the upper-left corner of the note." - custom: { - // Search doesn't care where the note is on the canvas. - // It only cares about the text content. - searchIgnore: true - } - } - }), - text: schemaFactory.required(schemaFactory.string, { - metadata: { - description: "The textual contents of the note." - } - }), -}) {} - -``` - -Search can then be implemented to look for the appropriate metadata, and leverage it to omit the unwanted position data from search. diff --git a/.changeset/lucky-goats-find.md b/.changeset/lucky-goats-find.md deleted file mode 100644 index 52d4a0bef477..000000000000 --- a/.changeset/lucky-goats-find.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -"section": tree -highlight: true ---- - -✨ New! Alpha SharedTree branching APIs - -Several APIs have been added to allow for creating and coordinating "version-control"-style branches of the SharedTree. -Use the `getBranch` entry point function to acquire a branch. -For example: - -```ts -function makeEditOnBranch(mainView: TreeView) { - mainView.root.myData = 3; - const mainBranch = getBranch(mainView); // This function accepts either a view of a SharedTree (acquired e.g. via `sharedTree.viewWith(...)`) or a `SharedTree` directly. - const forkBranch = mainBranch.branch(); // This creates a new branch based on the existing branch. - const forkView = forkBranch.viewWith(new TreeViewConfiguration({ schema: MySchema })); // Acquire a view of the forked branch in order to read or edit its tree. - forkView.root.myData = 4; // Set the value on the fork branch to be 4. The main branch still has a value of 3. - mainBranch.merge(forkBranch); // Merging the fork changes into the main branch causes the main branch to have a value of 4. - - // Note: The main branch (and therefore, also the `forkView`) is automatically disposed by the merge. - // To prevent this, use `mainBranch.merge(forkBranch, false)`. -} -``` - -Merging any number of commits into a target branch (via the `TreeBranch.merge` method) generates a revertible for each -commit on the target branch. See [#22644](https://github.com/microsoft/FluidFramework/pull/22644) for more information -about revertible support in the branching APIs. diff --git a/.changeset/poor-islands-battle.md b/.changeset/poor-islands-battle.md deleted file mode 100644 index e28165618252..000000000000 --- a/.changeset/poor-islands-battle.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -"@fluidframework/tree": minor ---- ---- -"section": tree ---- - -Unhydrated SharedTree nodes now emit change events when edited - -Newly-created SharedTree nodes which have not yet been inserted into the tree will now emit `nodeChanged` and `treeChanged` events when they are mutated via editing operations. - -```ts -const node = new Foo({ foo: 3 }); -Tree.on(node, "nodeChanged", () => { - console.log("This will fire even before node is inserted!"); -}); - -node.foo = 4; // log: "This will fire even before node is inserted!"; -``` diff --git a/.changeset/purple-hats-roll.md b/.changeset/purple-hats-roll.md deleted file mode 100644 index c75b0d33f681..000000000000 --- a/.changeset/purple-hats-roll.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -"section": "deprecation" ---- - -SharedTree's `RestrictiveReadonlyRecord` is deprecated - -`RestrictiveReadonlyRecord` was an attempt to implement a version of TypeScript's built-in `Record` type that would prohibit (instead of leaving unrestricted like Record does) values under keys that do not extend `TKey`. - -The implementation of `RestrictiveReadonlyRecord` failed to accomplish this except for the edge cases where `TKey` was exactly `string` or exactly `symbol`. -Fixing this bug appears to be impossible within the current limitation of TypeScript, however this library does not require any case other than `TKey` being exactly `string`. - -To reduce the risk of users of the tree library using the problematic `RestrictiveReadonlyRecord` type, it has been deprecated and replaced with a more specific type that avoids the bug, `RestrictiveStringRecord`. - -To highlight that this new type is not intended for direct use by users of tree, and instead is just used as part of the typing of its public API, `RestrictiveStringRecord` has been tagged with `@system`. -See [API Support Levels](https://fluidframework.com/docs/build/releases-and-apitags/#api-support-levels) for more details. diff --git a/.changeset/quiet-lizards-prove.md b/.changeset/quiet-lizards-prove.md deleted file mode 100644 index cc56f89b92b0..000000000000 --- a/.changeset/quiet-lizards-prove.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"@fluidframework/container-runtime": minor ---- ---- -"section": deprecation ---- - -The `op.contents` member on ContainerRuntime's `batchBegin`/`batchEnd` event args is deprecated - -The `batchBegin`/`batchEnd` events on ContainerRuntime indicate when a batch is beginning/finishing being processed. -The events include an argument of type `ISequencedDocumentMessage` which is the first or last message of the batch. - -The `contents` property of the `op` argument should not be used when reasoning over the begin/end of a batch. -If you want to look at the `contents` of an op, wait for the `op` event. diff --git a/.changeset/seven-women-pick.md b/.changeset/seven-women-pick.md deleted file mode 100644 index 078455be069e..000000000000 --- a/.changeset/seven-women-pick.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -"section": fix ---- - -Fix `.create` on structurally named MapNode and ArrayNode schema - -Constructing a structurally named MapNode or ArrayNode schema (using the overload of `SchemaFactory.map` or `SchemaFactory.array` which does not take an explicit name), returned a `TreeNodeSchema` instead of a `TreeNodeSchemaNonClass`, which resulted in the `create` static method not being exposed. -This has been fixed, and can now be used as follows: - -```typescript -const MyMap = schemaFactory.map(schemaFactory.number); -type MyMap = NodeFromSchema; -const _fromMap: MyMap = MyMap.create(new MyMap()); -const _fromIterable: MyMap = MyMap.create([]); -const _fromObject: MyMap = MyMap.create({}); -``` - -This change causes some types to reference `TreeNodeSchemaNonClass` which did not reference it before. -While `TreeNodeSchemaNonClass` is `@system` (See [Fluid Releases and API Support Levels -](https://fluidframework.com/docs/build/releases-and-apitags/) for details) and thus not intended to be referred to by users of Fluid, -this change caused the TypeScript compiler to generate references to it in more cases when compiling `d.ts` files. -Since the TypeScript compiler is unable to generate references to `TreeNodeSchemaNonClass` with how it was nested in `internalTypes.js`, -this change could break the build of packages exporting types referencing structurally named map and array schema. -This has been mitigated by moving `TreeNodeSchemaNonClass` out of `internalTypes.js`: -any code importing `TreeNodeSchemaNonClass` (and thus disregarding the `@system` restriction) can be fixed by importing it from the top level instead of the `internalTypes.js` diff --git a/.changeset/shaggy-pens-occur.md b/.changeset/shaggy-pens-occur.md deleted file mode 100644 index 74333713987e..000000000000 --- a/.changeset/shaggy-pens-occur.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -"@fluidframework/merge-tree": minor -"@fluidframework/sequence": minor ---- ---- -"section": deprecation ---- - -Several MergeTree `Client` Legacy APIs are now deprecated - -To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class. - -Most of these types are not meant to be used directly, and direct use is not supported: - - - AttributionPolicy - - IClientEvents - - IMergeTreeAttributionOptions - - SharedSegmentSequence - - SharedStringClass - -Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types: - -- SequenceInterval -- SequenceEvent -- SequenceDeltaEvent -- SequenceMaintenanceEvent diff --git a/.changeset/spicy-candles-smash.md b/.changeset/spicy-candles-smash.md deleted file mode 100644 index 1991f1ecc09f..000000000000 --- a/.changeset/spicy-candles-smash.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@fluidframework/tree": minor -"fluid-framework": minor ---- ---- -"section": tree ---- - -Non-leaf field access has been optimized - -When reading non-leaf children which have been read previously, they are retrieved from cache faster. -Several operations on subtrees under arrays have been optimized, including reading of non-leaf nodes for the first time. -Overall this showed a roughly 5% speed up in a read heavy test application (the BubbleBench example) but gains are expected to vary a lot based on use-case. diff --git a/.changeset/witty-suits-worry.md b/.changeset/witty-suits-worry.md deleted file mode 100644 index f8a5068f1ee9..000000000000 --- a/.changeset/witty-suits-worry.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"fluid-framework": minor -"@fluidframework/tree": minor ---- ---- -section: tree -highlight: true ---- - -✨ New! Alpha APIs for producing SharedTree schema from enums - -`adaptEnum` and `enumFromStrings` have been added to `@fluidframework/tree/alpha` and `fluid-framework/alpha`. -These unstable alpha APIs are relatively simple helpers on-top of public APIs (source: [schemaCreationUtilities.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/src/simple-tree/schemaCreationUtilities.ts)): -thus if these change or stable alternatives are needed, an application can replicate this functionality using these implementations as an example. diff --git a/azure/packages/azure-local-service/CHANGELOG.md b/azure/packages/azure-local-service/CHANGELOG.md index bb2a939d8795..5ee355a32dcf 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.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/azure/packages/azure-service-utils/CHANGELOG.md b/azure/packages/azure-service-utils/CHANGELOG.md index f6b5ae9f3270..007b2a65c0d8 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.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/azure/packages/test/scenario-runner/CHANGELOG.md b/azure/packages/test/scenario-runner/CHANGELOG.md index ced3af4b7691..5d36beedda74 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.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/ai-collab/CHANGELOG.md b/examples/apps/ai-collab/CHANGELOG.md index e67c9aa4f702..542c567d4866 100644 --- a/examples/apps/ai-collab/CHANGELOG.md +++ b/examples/apps/ai-collab/CHANGELOG.md @@ -1 +1,5 @@ # @fluid-example/ai-collab + +## 2.4.0 + +New package. diff --git a/examples/apps/attributable-map/CHANGELOG.md b/examples/apps/attributable-map/CHANGELOG.md index 443b00a33779..5e3917e89183 100644 --- a/examples/apps/attributable-map/CHANGELOG.md +++ b/examples/apps/attributable-map/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/attributable-map +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/collaborative-textarea/CHANGELOG.md b/examples/apps/collaborative-textarea/CHANGELOG.md index bdf70291565c..78824bc3e98a 100644 --- a/examples/apps/collaborative-textarea/CHANGELOG.md +++ b/examples/apps/collaborative-textarea/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/collaborative-textarea +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/contact-collection/CHANGELOG.md b/examples/apps/contact-collection/CHANGELOG.md index 5c485874b7ee..27cf5a549bb4 100644 --- a/examples/apps/contact-collection/CHANGELOG.md +++ b/examples/apps/contact-collection/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/contact-collection +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/data-object-grid/CHANGELOG.md b/examples/apps/data-object-grid/CHANGELOG.md index c7c2209f346f..b35575967c8c 100644 --- a/examples/apps/data-object-grid/CHANGELOG.md +++ b/examples/apps/data-object-grid/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/data-object-grid +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/presence-tracker/CHANGELOG.md b/examples/apps/presence-tracker/CHANGELOG.md index 189d67cc072c..0f83e7db0c9f 100644 --- a/examples/apps/presence-tracker/CHANGELOG.md +++ b/examples/apps/presence-tracker/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/presence-tracker +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/task-selection/CHANGELOG.md b/examples/apps/task-selection/CHANGELOG.md index d6747fb18ac7..a31b598764c6 100644 --- a/examples/apps/task-selection/CHANGELOG.md +++ b/examples/apps/task-selection/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/task-selection +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/apps/tree-comparison/CHANGELOG.md b/examples/apps/tree-comparison/CHANGELOG.md index 2b22a49b36bf..c56e799f165e 100644 --- a/examples/apps/tree-comparison/CHANGELOG.md +++ b/examples/apps/tree-comparison/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/tree-comparison +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/bubblebench/baseline/CHANGELOG.md b/examples/benchmarks/bubblebench/baseline/CHANGELOG.md index 15c2b16441ee..a676341cd47c 100644 --- a/examples/benchmarks/bubblebench/baseline/CHANGELOG.md +++ b/examples/benchmarks/bubblebench/baseline/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bubblebench-baseline +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/bubblebench/common/CHANGELOG.md b/examples/benchmarks/bubblebench/common/CHANGELOG.md index c764a8575ef7..f55dd4c062b0 100644 --- a/examples/benchmarks/bubblebench/common/CHANGELOG.md +++ b/examples/benchmarks/bubblebench/common/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bubblebench-common +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/bubblebench/experimental-tree/CHANGELOG.md b/examples/benchmarks/bubblebench/experimental-tree/CHANGELOG.md index 84ecaa165112..28b4a3819d8b 100644 --- a/examples/benchmarks/bubblebench/experimental-tree/CHANGELOG.md +++ b/examples/benchmarks/bubblebench/experimental-tree/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bubblebench-experimental-tree +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/bubblebench/ot/CHANGELOG.md b/examples/benchmarks/bubblebench/ot/CHANGELOG.md index 2536e6033b3a..a9eeea6907e7 100644 --- a/examples/benchmarks/bubblebench/ot/CHANGELOG.md +++ b/examples/benchmarks/bubblebench/ot/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bubblebench-ot +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/bubblebench/shared-tree/CHANGELOG.md b/examples/benchmarks/bubblebench/shared-tree/CHANGELOG.md index c3aaf2382873..af75dcaef4ee 100644 --- a/examples/benchmarks/bubblebench/shared-tree/CHANGELOG.md +++ b/examples/benchmarks/bubblebench/shared-tree/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bubblebench-simple-tree +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/odspsnapshotfetch-perftestapp/CHANGELOG.md b/examples/benchmarks/odspsnapshotfetch-perftestapp/CHANGELOG.md index 930cdb15a694..a18d3d392771 100644 --- a/examples/benchmarks/odspsnapshotfetch-perftestapp/CHANGELOG.md +++ b/examples/benchmarks/odspsnapshotfetch-perftestapp/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/odspsnapshotfetch-perftestapp +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/benchmarks/tablebench/CHANGELOG.md b/examples/benchmarks/tablebench/CHANGELOG.md index 71155c278ee5..3c034729a0d7 100644 --- a/examples/benchmarks/tablebench/CHANGELOG.md +++ b/examples/benchmarks/tablebench/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/tablebench +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/client-logger/app-insights-logger/CHANGELOG.md b/examples/client-logger/app-insights-logger/CHANGELOG.md index 8fa60f753c09..36ca75710753 100644 --- a/examples/client-logger/app-insights-logger/CHANGELOG.md +++ b/examples/client-logger/app-insights-logger/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-insights-logger +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/canvas/CHANGELOG.md b/examples/data-objects/canvas/CHANGELOG.md index df501a13a588..a50520a09905 100644 --- a/examples/data-objects/canvas/CHANGELOG.md +++ b/examples/data-objects/canvas/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/canvas +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/clicker/CHANGELOG.md b/examples/data-objects/clicker/CHANGELOG.md index 3c52459ccfef..0cfb77cfa586 100644 --- a/examples/data-objects/clicker/CHANGELOG.md +++ b/examples/data-objects/clicker/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/clicker +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/codemirror/CHANGELOG.md b/examples/data-objects/codemirror/CHANGELOG.md index 8067c4471130..f0640a0b14fa 100644 --- a/examples/data-objects/codemirror/CHANGELOG.md +++ b/examples/data-objects/codemirror/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/codemirror +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/diceroller/CHANGELOG.md b/examples/data-objects/diceroller/CHANGELOG.md index 46242bf0cf7f..628d2ee62348 100644 --- a/examples/data-objects/diceroller/CHANGELOG.md +++ b/examples/data-objects/diceroller/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/diceroller +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/inventory-app/CHANGELOG.md b/examples/data-objects/inventory-app/CHANGELOG.md index 03f9fbf2958a..9369c3cdc261 100644 --- a/examples/data-objects/inventory-app/CHANGELOG.md +++ b/examples/data-objects/inventory-app/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/inventory-app +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/monaco/CHANGELOG.md b/examples/data-objects/monaco/CHANGELOG.md index 846cfbb0d95c..23bb54000417 100644 --- a/examples/data-objects/monaco/CHANGELOG.md +++ b/examples/data-objects/monaco/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/monaco +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/constellation-model/CHANGELOG.md b/examples/data-objects/multiview/constellation-model/CHANGELOG.md index cf244255ee34..0f1b7a1981c3 100644 --- a/examples/data-objects/multiview/constellation-model/CHANGELOG.md +++ b/examples/data-objects/multiview/constellation-model/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-constellation-model +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/constellation-view/CHANGELOG.md b/examples/data-objects/multiview/constellation-view/CHANGELOG.md index 36b04f45cfab..e4b5913f1a85 100644 --- a/examples/data-objects/multiview/constellation-view/CHANGELOG.md +++ b/examples/data-objects/multiview/constellation-view/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-constellation-view +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/container/CHANGELOG.md b/examples/data-objects/multiview/container/CHANGELOG.md index 7dce5926e425..e09c994c6eef 100644 --- a/examples/data-objects/multiview/container/CHANGELOG.md +++ b/examples/data-objects/multiview/container/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-container +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/coordinate-model/CHANGELOG.md b/examples/data-objects/multiview/coordinate-model/CHANGELOG.md index 436a7aef5fe3..c580057fe553 100644 --- a/examples/data-objects/multiview/coordinate-model/CHANGELOG.md +++ b/examples/data-objects/multiview/coordinate-model/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-coordinate-model +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/interface/CHANGELOG.md b/examples/data-objects/multiview/interface/CHANGELOG.md index e1aa18ccf774..a36e3bc7c966 100644 --- a/examples/data-objects/multiview/interface/CHANGELOG.md +++ b/examples/data-objects/multiview/interface/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-coordinate-interface +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/plot-coordinate-view/CHANGELOG.md b/examples/data-objects/multiview/plot-coordinate-view/CHANGELOG.md index 01ae14a2edf2..c9a5815a2bb6 100644 --- a/examples/data-objects/multiview/plot-coordinate-view/CHANGELOG.md +++ b/examples/data-objects/multiview/plot-coordinate-view/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-plot-coordinate-view +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/slider-coordinate-view/CHANGELOG.md b/examples/data-objects/multiview/slider-coordinate-view/CHANGELOG.md index 7b63702f8db8..6d349d625676 100644 --- a/examples/data-objects/multiview/slider-coordinate-view/CHANGELOG.md +++ b/examples/data-objects/multiview/slider-coordinate-view/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-slider-coordinate-view +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/multiview/triangle-view/CHANGELOG.md b/examples/data-objects/multiview/triangle-view/CHANGELOG.md index 7bcbedf897b8..84044e3f1f50 100644 --- a/examples/data-objects/multiview/triangle-view/CHANGELOG.md +++ b/examples/data-objects/multiview/triangle-view/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/multiview-triangle-view +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/prosemirror/CHANGELOG.md b/examples/data-objects/prosemirror/CHANGELOG.md index e2aa4978d680..eb26ee989196 100644 --- a/examples/data-objects/prosemirror/CHANGELOG.md +++ b/examples/data-objects/prosemirror/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/prosemirror +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/smde/CHANGELOG.md b/examples/data-objects/smde/CHANGELOG.md index d3d42c05ac59..0c128797ea31 100644 --- a/examples/data-objects/smde/CHANGELOG.md +++ b/examples/data-objects/smde/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/smde +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/table-document/CHANGELOG.md b/examples/data-objects/table-document/CHANGELOG.md index 9241495606b9..7529abaef118 100644 --- a/examples/data-objects/table-document/CHANGELOG.md +++ b/examples/data-objects/table-document/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/table-document +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/todo/CHANGELOG.md b/examples/data-objects/todo/CHANGELOG.md index 4442731ea201..d4fce2b627a3 100644 --- a/examples/data-objects/todo/CHANGELOG.md +++ b/examples/data-objects/todo/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/todo +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/data-objects/webflow/CHANGELOG.md b/examples/data-objects/webflow/CHANGELOG.md index 8da63e9e1f2c..fd802eb83c06 100644 --- a/examples/data-objects/webflow/CHANGELOG.md +++ b/examples/data-objects/webflow/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/webflow +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/external-data/CHANGELOG.md b/examples/external-data/CHANGELOG.md index 33317352791b..0888490f96fb 100644 --- a/examples/external-data/CHANGELOG.md +++ b/examples/external-data/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-external-data +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/service-clients/azure-client/external-controller/CHANGELOG.md b/examples/service-clients/azure-client/external-controller/CHANGELOG.md index 46127674567d..3402c92de9dc 100644 --- a/examples/service-clients/azure-client/external-controller/CHANGELOG.md +++ b/examples/service-clients/azure-client/external-controller/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-external-controller +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/service-clients/odsp-client/shared-tree-demo/CHANGELOG.md b/examples/service-clients/odsp-client/shared-tree-demo/CHANGELOG.md index 663e3e0d6470..0af13293d26c 100644 --- a/examples/service-clients/odsp-client/shared-tree-demo/CHANGELOG.md +++ b/examples/service-clients/odsp-client/shared-tree-demo/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/shared-tree-demo +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/utils/bundle-size-tests/CHANGELOG.md b/examples/utils/bundle-size-tests/CHANGELOG.md index 48d9ba2e0e69..0eaee97c9c6c 100644 --- a/examples/utils/bundle-size-tests/CHANGELOG.md +++ b/examples/utils/bundle-size-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/bundle-size-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/utils/example-utils/CHANGELOG.md b/examples/utils/example-utils/CHANGELOG.md index eb10d3f2dfc6..31b743fc807d 100644 --- a/examples/utils/example-utils/CHANGELOG.md +++ b/examples/utils/example-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/example-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/utils/migration-tools/CHANGELOG.md b/examples/utils/migration-tools/CHANGELOG.md index aee9f4633da0..fc97941f81fa 100644 --- a/examples/utils/migration-tools/CHANGELOG.md +++ b/examples/utils/migration-tools/CHANGELOG.md @@ -1,3 +1,7 @@ # @fluid-example/migration-tools +## 2.4.0 + +Dependency updates only. + ## 2.3.0 diff --git a/examples/utils/webpack-fluid-loader/CHANGELOG.md b/examples/utils/webpack-fluid-loader/CHANGELOG.md index 1eb826b83145..07d1ac6348f4 100644 --- a/examples/utils/webpack-fluid-loader/CHANGELOG.md +++ b/examples/utils/webpack-fluid-loader/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/webpack-fluid-loader +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/version-migration/live-schema-upgrade/CHANGELOG.md b/examples/version-migration/live-schema-upgrade/CHANGELOG.md index 1c7f8dfe2ad1..80e80e9ab70c 100644 --- a/examples/version-migration/live-schema-upgrade/CHANGELOG.md +++ b/examples/version-migration/live-schema-upgrade/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-live-schema-upgrade +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/version-migration/same-container/CHANGELOG.md b/examples/version-migration/same-container/CHANGELOG.md index 10da5de71b70..71e0c34bfeb5 100644 --- a/examples/version-migration/same-container/CHANGELOG.md +++ b/examples/version-migration/same-container/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/version-migration-same-container +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/version-migration/separate-container/CHANGELOG.md b/examples/version-migration/separate-container/CHANGELOG.md index 3500a386ae69..1c8c8fb1afb5 100644 --- a/examples/version-migration/separate-container/CHANGELOG.md +++ b/examples/version-migration/separate-container/CHANGELOG.md @@ -1,3 +1,7 @@ # @fluid-example/version-migration-separate-container +## 2.4.0 + +Dependency updates only. + ## 2.3.0 diff --git a/examples/version-migration/tree-shim/CHANGELOG.md b/examples/version-migration/tree-shim/CHANGELOG.md index ab9ee42044a5..3f64ea854d03 100644 --- a/examples/version-migration/tree-shim/CHANGELOG.md +++ b/examples/version-migration/tree-shim/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/tree-comparison +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/view-integration/container-views/CHANGELOG.md b/examples/view-integration/container-views/CHANGELOG.md index f3944881e6ad..fe822998e539 100644 --- a/examples/view-integration/container-views/CHANGELOG.md +++ b/examples/view-integration/container-views/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-container-views +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/view-integration/external-views/CHANGELOG.md b/examples/view-integration/external-views/CHANGELOG.md index b10a459c739c..a44b03ec9bc4 100644 --- a/examples/view-integration/external-views/CHANGELOG.md +++ b/examples/view-integration/external-views/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/app-integration-external-views +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/examples/view-integration/view-framework-sampler/CHANGELOG.md b/examples/view-integration/view-framework-sampler/CHANGELOG.md index cf78f87565f9..154ea6b2b781 100644 --- a/examples/view-integration/view-framework-sampler/CHANGELOG.md +++ b/examples/view-integration/view-framework-sampler/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/view-framework-sampler +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/PropertyDDS/packages/property-changeset/CHANGELOG.md b/experimental/PropertyDDS/packages/property-changeset/CHANGELOG.md index 0f2b7192e477..5807b1631561 100644 --- a/experimental/PropertyDDS/packages/property-changeset/CHANGELOG.md +++ b/experimental/PropertyDDS/packages/property-changeset/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/property-changeset +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/PropertyDDS/packages/property-common/CHANGELOG.md b/experimental/PropertyDDS/packages/property-common/CHANGELOG.md index 3e1a26641248..306ab37ff643 100644 --- a/experimental/PropertyDDS/packages/property-common/CHANGELOG.md +++ b/experimental/PropertyDDS/packages/property-common/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/property-common +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/PropertyDDS/packages/property-common/platform-dependent/CHANGELOG.md b/experimental/PropertyDDS/packages/property-common/platform-dependent/CHANGELOG.md index 0e78073f6a69..b74bd939fc41 100644 --- a/experimental/PropertyDDS/packages/property-common/platform-dependent/CHANGELOG.md +++ b/experimental/PropertyDDS/packages/property-common/platform-dependent/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/platform-dependent +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/PropertyDDS/packages/property-dds/CHANGELOG.md b/experimental/PropertyDDS/packages/property-dds/CHANGELOG.md index d6996078ea62..f5c5dd0dc661 100644 --- a/experimental/PropertyDDS/packages/property-dds/CHANGELOG.md +++ b/experimental/PropertyDDS/packages/property-dds/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/property-dds +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/PropertyDDS/packages/property-properties/CHANGELOG.md b/experimental/PropertyDDS/packages/property-properties/CHANGELOG.md index a70a1e3ad2ee..e1e10210db6f 100644 --- a/experimental/PropertyDDS/packages/property-properties/CHANGELOG.md +++ b/experimental/PropertyDDS/packages/property-properties/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/property-properties +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/dds/attributable-map/CHANGELOG.md b/experimental/dds/attributable-map/CHANGELOG.md index e3ac6ecabb44..78f841f185c9 100644 --- a/experimental/dds/attributable-map/CHANGELOG.md +++ b/experimental/dds/attributable-map/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/attributable-map +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/dds/ot/ot/CHANGELOG.md b/experimental/dds/ot/ot/CHANGELOG.md index c7e010a5f3c3..f0962c0f17de 100644 --- a/experimental/dds/ot/ot/CHANGELOG.md +++ b/experimental/dds/ot/ot/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/ot +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/dds/ot/sharejs/json1/CHANGELOG.md b/experimental/dds/ot/sharejs/json1/CHANGELOG.md index db5ef5080abb..d2ca1bdf86f3 100644 --- a/experimental/dds/ot/sharejs/json1/CHANGELOG.md +++ b/experimental/dds/ot/sharejs/json1/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/sharejs-json1 +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/dds/sequence-deprecated/CHANGELOG.md b/experimental/dds/sequence-deprecated/CHANGELOG.md index 43d2e2564ec7..0dded5bbfbd2 100644 --- a/experimental/dds/sequence-deprecated/CHANGELOG.md +++ b/experimental/dds/sequence-deprecated/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/sequence-deprecated +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/dds/tree/CHANGELOG.md b/experimental/dds/tree/CHANGELOG.md index 45b9788c27c9..7cf429b56ee2 100644 --- a/experimental/dds/tree/CHANGELOG.md +++ b/experimental/dds/tree/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/tree +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/framework/data-objects/CHANGELOG.md b/experimental/framework/data-objects/CHANGELOG.md index 6f45d34a4d10..4fb37ba11b9e 100644 --- a/experimental/framework/data-objects/CHANGELOG.md +++ b/experimental/framework/data-objects/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/data-objects +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/framework/last-edited/CHANGELOG.md b/experimental/framework/last-edited/CHANGELOG.md index 183948e586fe..2ae662c72e11 100644 --- a/experimental/framework/last-edited/CHANGELOG.md +++ b/experimental/framework/last-edited/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/last-edited +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/experimental/framework/tree-react-api/CHANGELOG.md b/experimental/framework/tree-react-api/CHANGELOG.md index c6b7cc779aca..293370a9f803 100644 --- a/experimental/framework/tree-react-api/CHANGELOG.md +++ b/experimental/framework/tree-react-api/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/tree-react-api +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/common/client-utils/CHANGELOG.md b/packages/common/client-utils/CHANGELOG.md index 98d31784f1d5..fe8ccb19e6bc 100644 --- a/packages/common/client-utils/CHANGELOG.md +++ b/packages/common/client-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/client-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/common/container-definitions/CHANGELOG.md b/packages/common/container-definitions/CHANGELOG.md index 74fe6cd5e876..5d8bab1ed11d 100644 --- a/packages/common/container-definitions/CHANGELOG.md +++ b/packages/common/container-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/container-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/common/core-interfaces/CHANGELOG.md b/packages/common/core-interfaces/CHANGELOG.md index e151f2519def..fe6640c6d311 100644 --- a/packages/common/core-interfaces/CHANGELOG.md +++ b/packages/common/core-interfaces/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/core-interfaces +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/common/core-utils/CHANGELOG.md b/packages/common/core-utils/CHANGELOG.md index a89154f70c93..cf4bfd26386c 100644 --- a/packages/common/core-utils/CHANGELOG.md +++ b/packages/common/core-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/core-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/common/driver-definitions/CHANGELOG.md b/packages/common/driver-definitions/CHANGELOG.md index 0060f26d08d2..1aeb13fd3807 100644 --- a/packages/common/driver-definitions/CHANGELOG.md +++ b/packages/common/driver-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/driver-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/cell/CHANGELOG.md b/packages/dds/cell/CHANGELOG.md index 1b54271b37f8..eb4544b47d1c 100644 --- a/packages/dds/cell/CHANGELOG.md +++ b/packages/dds/cell/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/cell +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/counter/CHANGELOG.md b/packages/dds/counter/CHANGELOG.md index 2c88313f9458..c35d24c93175 100644 --- a/packages/dds/counter/CHANGELOG.md +++ b/packages/dds/counter/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/counter +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/ink/CHANGELOG.md b/packages/dds/ink/CHANGELOG.md index e6032ad8da23..452db61fd79f 100644 --- a/packages/dds/ink/CHANGELOG.md +++ b/packages/dds/ink/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/ink +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/map/CHANGELOG.md b/packages/dds/map/CHANGELOG.md index 9acfd0a444e4..56ed436fe19e 100644 --- a/packages/dds/map/CHANGELOG.md +++ b/packages/dds/map/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/map +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/matrix/CHANGELOG.md b/packages/dds/matrix/CHANGELOG.md index ee9ac1d98518..158cda2638b8 100644 --- a/packages/dds/matrix/CHANGELOG.md +++ b/packages/dds/matrix/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/matrix +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/merge-tree/CHANGELOG.md b/packages/dds/merge-tree/CHANGELOG.md index 6e3ec4668da4..a0ae154f5d5c 100644 --- a/packages/dds/merge-tree/CHANGELOG.md +++ b/packages/dds/merge-tree/CHANGELOG.md @@ -1,5 +1,28 @@ # @fluidframework/merge-tree +## 2.4.0 + +### Minor Changes + +- Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783) + + To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class. + + Most of these types are not meant to be used directly, and direct use is not supported: + + - AttributionPolicy + - IClientEvents + - IMergeTreeAttributionOptions + - SharedSegmentSequence + - SharedStringClass + + Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types: + + - SequenceInterval + - SequenceEvent + - SequenceDeltaEvent + - SequenceMaintenanceEvent + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/ordered-collection/CHANGELOG.md b/packages/dds/ordered-collection/CHANGELOG.md index d586869c6b6b..011f77504962 100644 --- a/packages/dds/ordered-collection/CHANGELOG.md +++ b/packages/dds/ordered-collection/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/ordered-collection +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/pact-map/CHANGELOG.md b/packages/dds/pact-map/CHANGELOG.md index 011ae81a550c..2477a69f5a2d 100644 --- a/packages/dds/pact-map/CHANGELOG.md +++ b/packages/dds/pact-map/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/pact-map +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/register-collection/CHANGELOG.md b/packages/dds/register-collection/CHANGELOG.md index 173a8064c3e6..7f18eab2bbe1 100644 --- a/packages/dds/register-collection/CHANGELOG.md +++ b/packages/dds/register-collection/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/register-collection +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/sequence/CHANGELOG.md b/packages/dds/sequence/CHANGELOG.md index 4278ab3b78e7..77c1c974fca3 100644 --- a/packages/dds/sequence/CHANGELOG.md +++ b/packages/dds/sequence/CHANGELOG.md @@ -1,5 +1,28 @@ # @fluidframework/sequence +## 2.4.0 + +### Minor Changes + +- Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783) + + To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class. + + Most of these types are not meant to be used directly, and direct use is not supported: + + - AttributionPolicy + - IClientEvents + - IMergeTreeAttributionOptions + - SharedSegmentSequence + - SharedStringClass + + Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types: + + - SequenceInterval + - SequenceEvent + - SequenceDeltaEvent + - SequenceMaintenanceEvent + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/shared-object-base/CHANGELOG.md b/packages/dds/shared-object-base/CHANGELOG.md index f8fd0eb2cc2b..a1be20497c8c 100644 --- a/packages/dds/shared-object-base/CHANGELOG.md +++ b/packages/dds/shared-object-base/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/shared-object-base +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/shared-summary-block/CHANGELOG.md b/packages/dds/shared-summary-block/CHANGELOG.md index 165d2493149d..e18aa047521e 100644 --- a/packages/dds/shared-summary-block/CHANGELOG.md +++ b/packages/dds/shared-summary-block/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/shared-summary-block +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/task-manager/CHANGELOG.md b/packages/dds/task-manager/CHANGELOG.md index 5290f5ca571b..9bd67415b870 100644 --- a/packages/dds/task-manager/CHANGELOG.md +++ b/packages/dds/task-manager/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/task-manager +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/test-dds-utils/CHANGELOG.md b/packages/dds/test-dds-utils/CHANGELOG.md index ad89cc333867..73c0684a24a1 100644 --- a/packages/dds/test-dds-utils/CHANGELOG.md +++ b/packages/dds/test-dds-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-dds-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/dds/tree/CHANGELOG.md b/packages/dds/tree/CHANGELOG.md index 9e6b5ce244f8..43e15e7ef53b 100644 --- a/packages/dds/tree/CHANGELOG.md +++ b/packages/dds/tree/CHANGELOG.md @@ -1,5 +1,197 @@ # @fluidframework/tree +## 2.4.0 + +### Minor Changes + +- ✨ New! Alpha API for providing SharedTree configuration options ([#22701](https://github.com/microsoft/FluidFramework/pull/22701)) [40d3648ddf](https://github.com/microsoft/FluidFramework/commit/40d3648ddfb5223ef6daef49a4f5cab1cfa52b71) + + A new alpha `configuredSharedTree` had been added. + This allows providing configuration options, primarily for debugging, testing and evaluation of upcoming features. + The resulting configured `SharedTree` object can then be used in-place of the regular `SharedTree` imported from `fluid-framework`. + + ```typescript + import { + ForestType, + TreeCompressionStrategy, + configuredSharedTree, + typeboxValidator, + } from "@fluid-framework/alpha"; + // Maximum debuggability and validation enabled: + const SharedTree = configuredSharedTree({ + forest: ForestType.Expensive, + jsonValidator: typeboxValidator, + treeEncodeType: TreeCompressionStrategy.Uncompressed, + }); + // Opts into the under development optimized tree storage planned to be the eventual default implementation: + const SharedTree = configuredSharedTree({ + forest: ForestType.Optimized, + }); + ``` + +- ✨ New! Alpha API for snapshotting Schema ([#22733](https://github.com/microsoft/FluidFramework/pull/22733)) [920a65f66e](https://github.com/microsoft/FluidFramework/commit/920a65f66e0caad7e1b5e3df1e0afd3475a87c4a) + + `extractPersistedSchema` can now be used to extra a JSON-compatible representation of the subset of a schema that gets stored in documents. + This can be used write tests which snapshot an applications schema. + Such tests can be used to detect schema changes which could would impact document compatibility, + and can be combined with the new `comparePersistedSchema` to measure what kind of compatibility impact the schema change has. + +- Fix reading of `null` from unhydrated trees ([#22748](https://github.com/microsoft/FluidFramework/pull/22748)) [6a75bd0616](https://github.com/microsoft/FluidFramework/commit/6a75bd0616ecd315ae0e9458d88ba1c755dfd785) + + Unhydrated trees containing object nodes with required fields set to `null` used to throw an error. + This was a bug: `null` is a valid value in tree's whose schema allow it, and this specific case now correctly returns `null` values when appropriate without erroring. + +- Expose the view schema from the TreeView interface ([#22547](https://github.com/microsoft/FluidFramework/pull/22547)) [2aa29d9a13](https://github.com/microsoft/FluidFramework/commit/2aa29d9a13f099b129ec6834c8cbdaf6a25db114) + + Users of TreeView can now access the type-safe view schema directly on the view object via `TreeView.schema`. + This allows users to avoid passing the schema around in addition to the view in scenarios where both are needed. + It also avoids scenarios in which code wants to accept both a view and its schema and thus must constrain both to be of the same schema type. + +- Metadata can now be associated with Field Schema ([#22564](https://github.com/microsoft/FluidFramework/pull/22564)) [1d9f4c97ed](https://github.com/microsoft/FluidFramework/commit/1d9f4c97edf3f2bbf23ca30c35b67f0ec38b728d) + + Users of TreeView can now specify metadata when creating Field Schema. + This includes system-understood metadata, i.e., `description`. + + Example: + + ```typescript + class Point extends schemaFactory.object("Point", { + x: schemaFactory.required(schemaFactory.number, { + metadata: { description: "The horizontal component of the point." }, + }), + y: schemaFactory.required(schemaFactory.number, { + metadata: { description: "The vertical component of the point." }, + }), + }) {} + ``` + + Functionality like the experimental conversion of Tree Schema to [JSON Schema](https://json-schema.org/) (`getJsonSchema`) can leverage such system-understood metadata to generate useful information. + In the case of the `description` property, this is mapped directly to the `description` property supported by JSON Schema. + + Custom, user-defined properties can also be specified. + These properties will not be leveraged by the system by default, but can be used as a handy means of associating common application-specific properties with Field Schema. + + Example: + + An application is implementing search functionality. + By default, the app author wishes for all app content to be indexable by search, unless otherwise specified. + They can leverage schema metadata to decorate fields that should be ignored by search, and leverage that information when walking the tree during a search. + + ```typescript + + interface AppMetadata { + /** + * Whether or not the field should be ignored by search. + * @defaultValue `false` + */ + searchIgnore?: boolean; + } + + class Note extends schemaFactory.object("Note", { + position: schemaFactory.required(Point, { + metadata: { + description: "The position of the upper-left corner of the note." + custom: { + // Search doesn't care where the note is on the canvas. + // It only cares about the text content. + searchIgnore: true + } + } + }), + text: schemaFactory.required(schemaFactory.string, { + metadata: { + description: "The textual contents of the note." + } + }), + }) {} + + ``` + + Search can then be implemented to look for the appropriate metadata, and leverage it to omit the unwanted position data from search. + +- ✨ New! Alpha SharedTree branching APIs ([#22550](https://github.com/microsoft/FluidFramework/pull/22550)) [8f4587c912](https://github.com/microsoft/FluidFramework/commit/8f4587c912f955c405d7bbbc5b42f3ffc3b497d7) + + Several APIs have been added to allow for creating and coordinating "version-control"-style branches of the SharedTree. + Use the `getBranch` entry point function to acquire a branch. + For example: + + ```ts + function makeEditOnBranch(mainView: TreeView) { + mainView.root.myData = 3; + const mainBranch = getBranch(mainView); // This function accepts either a view of a SharedTree (acquired e.g. via `sharedTree.viewWith(...)`) or a `SharedTree` directly. + const forkBranch = mainBranch.branch(); // This creates a new branch based on the existing branch. + const forkView = forkBranch.viewWith(new TreeViewConfiguration({ schema: MySchema })); // Acquire a view of the forked branch in order to read or edit its tree. + forkView.root.myData = 4; // Set the value on the fork branch to be 4. The main branch still has a value of 3. + mainBranch.merge(forkBranch); // Merging the fork changes into the main branch causes the main branch to have a value of 4. + + // Note: The main branch (and therefore, also the `forkView`) is automatically disposed by the merge. + // To prevent this, use `mainBranch.merge(forkBranch, false)`. + } + ``` + + Merging any number of commits into a target branch (via the `TreeBranch.merge` method) generates a revertible for each + commit on the target branch. See [#22644](https://github.com/microsoft/FluidFramework/pull/22644) for more information + about revertible support in the branching APIs. + +- Unhydrated SharedTree nodes now emit change events when edited ([#22661](https://github.com/microsoft/FluidFramework/pull/22661)) [d1eade6547](https://github.com/microsoft/FluidFramework/commit/d1eade65477a4e7fb1f8062cb83dfa03a8b1d800) + + Newly-created SharedTree nodes which have not yet been inserted into the tree will now emit `nodeChanged` and `treeChanged` events when they are mutated via editing operations. + + ```ts + const node = new Foo({ foo: 3 }); + Tree.on(node, "nodeChanged", () => { + console.log("This will fire even before node is inserted!"); + }); + + node.foo = 4; // log: "This will fire even before node is inserted!"; + ``` + +- SharedTree's `RestrictiveReadonlyRecord` is deprecated ([#22479](https://github.com/microsoft/FluidFramework/pull/22479)) [8be73d374d](https://github.com/microsoft/FluidFramework/commit/8be73d374de04ff6226c531ba8b562561572640f) + + `RestrictiveReadonlyRecord` was an attempt to implement a version of TypeScript's built-in `Record` type that would prohibit (instead of leaving unrestricted like Record does) values under keys that do not extend `TKey`. + + The implementation of `RestrictiveReadonlyRecord` failed to accomplish this except for the edge cases where `TKey` was exactly `string` or exactly `symbol`. + Fixing this bug appears to be impossible within the current limitation of TypeScript, however this library does not require any case other than `TKey` being exactly `string`. + + To reduce the risk of users of the tree library using the problematic `RestrictiveReadonlyRecord` type, it has been deprecated and replaced with a more specific type that avoids the bug, `RestrictiveStringRecord`. + + To highlight that this new type is not intended for direct use by users of tree, and instead is just used as part of the typing of its public API, `RestrictiveStringRecord` has been tagged with `@system`. + See [API Support Levels](https://fluidframework.com/docs/build/releases-and-apitags/#api-support-levels) for more details. + +- Fix `.create` on structurally named MapNode and ArrayNode schema ([#22522](https://github.com/microsoft/FluidFramework/pull/22522)) [b3f91ae91c](https://github.com/microsoft/FluidFramework/commit/b3f91ae91cb750a6a7696ab5ea17c00895bb6d92) + + Constructing a structurally named MapNode or ArrayNode schema (using the overload of `SchemaFactory.map` or `SchemaFactory.array` which does not take an explicit name), returned a `TreeNodeSchema` instead of a `TreeNodeSchemaNonClass`, which resulted in the `create` static method not being exposed. + This has been fixed, and can now be used as follows: + + ```typescript + const MyMap = schemaFactory.map(schemaFactory.number); + type MyMap = NodeFromSchema; + const _fromMap: MyMap = MyMap.create(new MyMap()); + const _fromIterable: MyMap = MyMap.create([]); + const _fromObject: MyMap = MyMap.create({}); + ``` + + This change causes some types to reference `TreeNodeSchemaNonClass` which did not reference it before. + While `TreeNodeSchemaNonClass` is `@system` (See [Fluid Releases and API Support Levels + ](https://fluidframework.com/docs/build/releases-and-apitags/) for details) and thus not intended to be referred to by users of Fluid, + this change caused the TypeScript compiler to generate references to it in more cases when compiling `d.ts` files. + Since the TypeScript compiler is unable to generate references to `TreeNodeSchemaNonClass` with how it was nested in `internalTypes.js`, + this change could break the build of packages exporting types referencing structurally named map and array schema. + This has been mitigated by moving `TreeNodeSchemaNonClass` out of `internalTypes.js`: + any code importing `TreeNodeSchemaNonClass` (and thus disregarding the `@system` restriction) can be fixed by importing it from the top level instead of the `internalTypes.js` + +- Non-leaf field access has been optimized ([#22717](https://github.com/microsoft/FluidFramework/pull/22717)) [6a2b68103c](https://github.com/microsoft/FluidFramework/commit/6a2b68103cc3ad56a9ac0dfcaaa8546978ec29ac) + + When reading non-leaf children which have been read previously, they are retrieved from cache faster. + Several operations on subtrees under arrays have been optimized, including reading of non-leaf nodes for the first time. + Overall this showed a roughly 5% speed up in a read heavy test application (the BubbleBench example) but gains are expected to vary a lot based on use-case. + +- ✨ New! Alpha APIs for producing SharedTree schema from enums ([#20035](https://github.com/microsoft/FluidFramework/pull/20035)) [5f9bbe011a](https://github.com/microsoft/FluidFramework/commit/5f9bbe011a18ccac08a70340f6d20e60ce30c4a4) + + `adaptEnum` and `enumFromStrings` have been added to `@fluidframework/tree/alpha` and `fluid-framework/alpha`. + These unstable alpha APIs are relatively simple helpers on-top of public APIs (source: [schemaCreationUtilities.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/src/simple-tree/schemaCreationUtilities.ts)): + thus if these change or stable alternatives are needed, an application can replicate this functionality using these implementations as an example. + ## 2.3.0 ### Minor Changes diff --git a/packages/drivers/debugger/CHANGELOG.md b/packages/drivers/debugger/CHANGELOG.md index 263692dd9d55..3f4f8560b46b 100644 --- a/packages/drivers/debugger/CHANGELOG.md +++ b/packages/drivers/debugger/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/debugger +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/driver-base/CHANGELOG.md b/packages/drivers/driver-base/CHANGELOG.md index 5864510c8d3e..32ddbea79921 100644 --- a/packages/drivers/driver-base/CHANGELOG.md +++ b/packages/drivers/driver-base/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/driver-base +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/driver-web-cache/CHANGELOG.md b/packages/drivers/driver-web-cache/CHANGELOG.md index 0df92a99af39..a3cbd6be654c 100644 --- a/packages/drivers/driver-web-cache/CHANGELOG.md +++ b/packages/drivers/driver-web-cache/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/driver-web-cache +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/file-driver/CHANGELOG.md b/packages/drivers/file-driver/CHANGELOG.md index 97fd33757936..be3f5c373fc4 100644 --- a/packages/drivers/file-driver/CHANGELOG.md +++ b/packages/drivers/file-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/file-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/local-driver/CHANGELOG.md b/packages/drivers/local-driver/CHANGELOG.md index 892bf0da8751..6a0436a34e63 100644 --- a/packages/drivers/local-driver/CHANGELOG.md +++ b/packages/drivers/local-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/local-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/odsp-driver-definitions/CHANGELOG.md b/packages/drivers/odsp-driver-definitions/CHANGELOG.md index e51dd596e3e0..79b8490b8e88 100644 --- a/packages/drivers/odsp-driver-definitions/CHANGELOG.md +++ b/packages/drivers/odsp-driver-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/odsp-driver-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/odsp-driver/CHANGELOG.md b/packages/drivers/odsp-driver/CHANGELOG.md index 0fba41e9048b..b5e412e74848 100644 --- a/packages/drivers/odsp-driver/CHANGELOG.md +++ b/packages/drivers/odsp-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/odsp-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/odsp-urlResolver/CHANGELOG.md b/packages/drivers/odsp-urlResolver/CHANGELOG.md index 6f264d246182..daa7ce249aa8 100644 --- a/packages/drivers/odsp-urlResolver/CHANGELOG.md +++ b/packages/drivers/odsp-urlResolver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/odsp-urlresolver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/replay-driver/CHANGELOG.md b/packages/drivers/replay-driver/CHANGELOG.md index 32a392c4212b..6b7899ab9598 100644 --- a/packages/drivers/replay-driver/CHANGELOG.md +++ b/packages/drivers/replay-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/replay-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/routerlicious-driver/CHANGELOG.md b/packages/drivers/routerlicious-driver/CHANGELOG.md index 6aa012ebfc30..c7a89e99a395 100644 --- a/packages/drivers/routerlicious-driver/CHANGELOG.md +++ b/packages/drivers/routerlicious-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/routerlicious-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/routerlicious-urlResolver/CHANGELOG.md b/packages/drivers/routerlicious-urlResolver/CHANGELOG.md index 650a8b3350e8..caba52d01faf 100644 --- a/packages/drivers/routerlicious-urlResolver/CHANGELOG.md +++ b/packages/drivers/routerlicious-urlResolver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/routerlicious-urlresolver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/drivers/tinylicious-driver/CHANGELOG.md b/packages/drivers/tinylicious-driver/CHANGELOG.md index 28ff79f280b5..c74e8bea683a 100644 --- a/packages/drivers/tinylicious-driver/CHANGELOG.md +++ b/packages/drivers/tinylicious-driver/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/tinylicious-driver +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/agent-scheduler/CHANGELOG.md b/packages/framework/agent-scheduler/CHANGELOG.md index e25807d3efe2..1c9663ba0cdc 100644 --- a/packages/framework/agent-scheduler/CHANGELOG.md +++ b/packages/framework/agent-scheduler/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/agent-scheduler +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/ai-collab/CHANGELOG.md b/packages/framework/ai-collab/CHANGELOG.md index 8f141ff76e9b..8969e0451b76 100644 --- a/packages/framework/ai-collab/CHANGELOG.md +++ b/packages/framework/ai-collab/CHANGELOG.md @@ -1 +1,5 @@ # @fluid-experimental/ai-collab + +## 2.4.0 + +New package. diff --git a/packages/framework/aqueduct/CHANGELOG.md b/packages/framework/aqueduct/CHANGELOG.md index 91b0c74fb30c..1c0712f2a05e 100644 --- a/packages/framework/aqueduct/CHANGELOG.md +++ b/packages/framework/aqueduct/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/aqueduct +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/attributor/CHANGELOG.md b/packages/framework/attributor/CHANGELOG.md index 29bed9192357..27771c646a07 100644 --- a/packages/framework/attributor/CHANGELOG.md +++ b/packages/framework/attributor/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/attributor +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/client-logger/app-insights-logger/CHANGELOG.md b/packages/framework/client-logger/app-insights-logger/CHANGELOG.md index 8ef243461727..19fb5eca395f 100644 --- a/packages/framework/client-logger/app-insights-logger/CHANGELOG.md +++ b/packages/framework/client-logger/app-insights-logger/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/app-insights-logger +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/client-logger/fluid-telemetry/CHANGELOG.md b/packages/framework/client-logger/fluid-telemetry/CHANGELOG.md index bf9bfd926685..ba2a760d30dd 100644 --- a/packages/framework/client-logger/fluid-telemetry/CHANGELOG.md +++ b/packages/framework/client-logger/fluid-telemetry/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/fluid-telemetry +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/data-object-base/CHANGELOG.md b/packages/framework/data-object-base/CHANGELOG.md index 1b3b6559436b..00095fca62a6 100644 --- a/packages/framework/data-object-base/CHANGELOG.md +++ b/packages/framework/data-object-base/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/data-object-base +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/dds-interceptions/CHANGELOG.md b/packages/framework/dds-interceptions/CHANGELOG.md index 2ab808072b72..ff2c873f27f2 100644 --- a/packages/framework/dds-interceptions/CHANGELOG.md +++ b/packages/framework/dds-interceptions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/dds-interceptions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/fluid-framework/CHANGELOG.md b/packages/framework/fluid-framework/CHANGELOG.md index c03f2dbebb99..4e191703fe54 100644 --- a/packages/framework/fluid-framework/CHANGELOG.md +++ b/packages/framework/fluid-framework/CHANGELOG.md @@ -1,5 +1,116 @@ # fluid-framework +## 2.4.0 + +### Minor Changes + +- ✨ New! Alpha API for providing SharedTree configuration options ([#22701](https://github.com/microsoft/FluidFramework/pull/22701)) [40d3648ddf](https://github.com/microsoft/FluidFramework/commit/40d3648ddfb5223ef6daef49a4f5cab1cfa52b71) + + A new alpha `configuredSharedTree` had been added. + This allows providing configuration options, primarily for debugging, testing and evaluation of upcoming features. + The resulting configured `SharedTree` object can then be used in-place of the regular `SharedTree` imported from `fluid-framework`. + + ```typescript + import { + ForestType, + TreeCompressionStrategy, + configuredSharedTree, + typeboxValidator, + } from "@fluid-framework/alpha"; + // Maximum debuggability and validation enabled: + const SharedTree = configuredSharedTree({ + forest: ForestType.Expensive, + jsonValidator: typeboxValidator, + treeEncodeType: TreeCompressionStrategy.Uncompressed, + }); + // Opts into the under development optimized tree storage planned to be the eventual default implementation: + const SharedTree = configuredSharedTree({ + forest: ForestType.Optimized, + }); + ``` + +- ✨ New! Alpha API for snapshotting Schema ([#22733](https://github.com/microsoft/FluidFramework/pull/22733)) [920a65f66e](https://github.com/microsoft/FluidFramework/commit/920a65f66e0caad7e1b5e3df1e0afd3475a87c4a) + + `extractPersistedSchema` can now be used to extra a JSON-compatible representation of the subset of a schema that gets stored in documents. + This can be used write tests which snapshot an applications schema. + Such tests can be used to detect schema changes which could would impact document compatibility, + and can be combined with the new `comparePersistedSchema` to measure what kind of compatibility impact the schema change has. + +- Fix reading of `null` from unhydrated trees ([#22748](https://github.com/microsoft/FluidFramework/pull/22748)) [6a75bd0616](https://github.com/microsoft/FluidFramework/commit/6a75bd0616ecd315ae0e9458d88ba1c755dfd785) + + Unhydrated trees containing object nodes with required fields set to `null` used to throw an error. + This was a bug: `null` is a valid value in tree's whose schema allow it, and this specific case now correctly returns `null` values when appropriate without erroring. + +- ✨ New! Alpha SharedTree branching APIs ([#22550](https://github.com/microsoft/FluidFramework/pull/22550)) [8f4587c912](https://github.com/microsoft/FluidFramework/commit/8f4587c912f955c405d7bbbc5b42f3ffc3b497d7) + + Several APIs have been added to allow for creating and coordinating "version-control"-style branches of the SharedTree. + Use the `getBranch` entry point function to acquire a branch. + For example: + + ```ts + function makeEditOnBranch(mainView: TreeView) { + mainView.root.myData = 3; + const mainBranch = getBranch(mainView); // This function accepts either a view of a SharedTree (acquired e.g. via `sharedTree.viewWith(...)`) or a `SharedTree` directly. + const forkBranch = mainBranch.branch(); // This creates a new branch based on the existing branch. + const forkView = forkBranch.viewWith(new TreeViewConfiguration({ schema: MySchema })); // Acquire a view of the forked branch in order to read or edit its tree. + forkView.root.myData = 4; // Set the value on the fork branch to be 4. The main branch still has a value of 3. + mainBranch.merge(forkBranch); // Merging the fork changes into the main branch causes the main branch to have a value of 4. + + // Note: The main branch (and therefore, also the `forkView`) is automatically disposed by the merge. + // To prevent this, use `mainBranch.merge(forkBranch, false)`. + } + ``` + + Merging any number of commits into a target branch (via the `TreeBranch.merge` method) generates a revertible for each + commit on the target branch. See [#22644](https://github.com/microsoft/FluidFramework/pull/22644) for more information + about revertible support in the branching APIs. + +- SharedTree's `RestrictiveReadonlyRecord` is deprecated ([#22479](https://github.com/microsoft/FluidFramework/pull/22479)) [8be73d374d](https://github.com/microsoft/FluidFramework/commit/8be73d374de04ff6226c531ba8b562561572640f) + + `RestrictiveReadonlyRecord` was an attempt to implement a version of TypeScript's built-in `Record` type that would prohibit (instead of leaving unrestricted like Record does) values under keys that do not extend `TKey`. + + The implementation of `RestrictiveReadonlyRecord` failed to accomplish this except for the edge cases where `TKey` was exactly `string` or exactly `symbol`. + Fixing this bug appears to be impossible within the current limitation of TypeScript, however this library does not require any case other than `TKey` being exactly `string`. + + To reduce the risk of users of the tree library using the problematic `RestrictiveReadonlyRecord` type, it has been deprecated and replaced with a more specific type that avoids the bug, `RestrictiveStringRecord`. + + To highlight that this new type is not intended for direct use by users of tree, and instead is just used as part of the typing of its public API, `RestrictiveStringRecord` has been tagged with `@system`. + See [API Support Levels](https://fluidframework.com/docs/build/releases-and-apitags/#api-support-levels) for more details. + +- Fix `.create` on structurally named MapNode and ArrayNode schema ([#22522](https://github.com/microsoft/FluidFramework/pull/22522)) [b3f91ae91c](https://github.com/microsoft/FluidFramework/commit/b3f91ae91cb750a6a7696ab5ea17c00895bb6d92) + + Constructing a structurally named MapNode or ArrayNode schema (using the overload of `SchemaFactory.map` or `SchemaFactory.array` which does not take an explicit name), returned a `TreeNodeSchema` instead of a `TreeNodeSchemaNonClass`, which resulted in the `create` static method not being exposed. + This has been fixed, and can now be used as follows: + + ```typescript + const MyMap = schemaFactory.map(schemaFactory.number); + type MyMap = NodeFromSchema; + const _fromMap: MyMap = MyMap.create(new MyMap()); + const _fromIterable: MyMap = MyMap.create([]); + const _fromObject: MyMap = MyMap.create({}); + ``` + + This change causes some types to reference `TreeNodeSchemaNonClass` which did not reference it before. + While `TreeNodeSchemaNonClass` is `@system` (See [Fluid Releases and API Support Levels + ](https://fluidframework.com/docs/build/releases-and-apitags/) for details) and thus not intended to be referred to by users of Fluid, + this change caused the TypeScript compiler to generate references to it in more cases when compiling `d.ts` files. + Since the TypeScript compiler is unable to generate references to `TreeNodeSchemaNonClass` with how it was nested in `internalTypes.js`, + this change could break the build of packages exporting types referencing structurally named map and array schema. + This has been mitigated by moving `TreeNodeSchemaNonClass` out of `internalTypes.js`: + any code importing `TreeNodeSchemaNonClass` (and thus disregarding the `@system` restriction) can be fixed by importing it from the top level instead of the `internalTypes.js` + +- Non-leaf field access has been optimized ([#22717](https://github.com/microsoft/FluidFramework/pull/22717)) [6a2b68103c](https://github.com/microsoft/FluidFramework/commit/6a2b68103cc3ad56a9ac0dfcaaa8546978ec29ac) + + When reading non-leaf children which have been read previously, they are retrieved from cache faster. + Several operations on subtrees under arrays have been optimized, including reading of non-leaf nodes for the first time. + Overall this showed a roughly 5% speed up in a read heavy test application (the BubbleBench example) but gains are expected to vary a lot based on use-case. + +- ✨ New! Alpha APIs for producing SharedTree schema from enums ([#20035](https://github.com/microsoft/FluidFramework/pull/20035)) [5f9bbe011a](https://github.com/microsoft/FluidFramework/commit/5f9bbe011a18ccac08a70340f6d20e60ce30c4a4) + + `adaptEnum` and `enumFromStrings` have been added to `@fluidframework/tree/alpha` and `fluid-framework/alpha`. + These unstable alpha APIs are relatively simple helpers on-top of public APIs (source: [schemaCreationUtilities.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/dds/tree/src/simple-tree/schemaCreationUtilities.ts)): + thus if these change or stable alternatives are needed, an application can replicate this functionality using these implementations as an example. + ## 2.3.0 ### Minor Changes diff --git a/packages/framework/fluid-static/CHANGELOG.md b/packages/framework/fluid-static/CHANGELOG.md index 62919ece7b46..243eddd86f7c 100644 --- a/packages/framework/fluid-static/CHANGELOG.md +++ b/packages/framework/fluid-static/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/fluid-static +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/oldest-client-observer/CHANGELOG.md b/packages/framework/oldest-client-observer/CHANGELOG.md index 4a453bbd45c1..8b34acd90f27 100644 --- a/packages/framework/oldest-client-observer/CHANGELOG.md +++ b/packages/framework/oldest-client-observer/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/oldest-client-observer +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/presence/CHANGELOG.md b/packages/framework/presence/CHANGELOG.md index 3217048fbca5..ca0813e24fe1 100644 --- a/packages/framework/presence/CHANGELOG.md +++ b/packages/framework/presence/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/presence +## 2.4.0 + +Dependency updates only. + ## 2.3.0 ### Major Changes diff --git a/packages/framework/request-handler/CHANGELOG.md b/packages/framework/request-handler/CHANGELOG.md index 464c9c9160e2..06c7371d59c2 100644 --- a/packages/framework/request-handler/CHANGELOG.md +++ b/packages/framework/request-handler/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/request-handler +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/synthesize/CHANGELOG.md b/packages/framework/synthesize/CHANGELOG.md index 667054ba533a..78726b106fc7 100644 --- a/packages/framework/synthesize/CHANGELOG.md +++ b/packages/framework/synthesize/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/synthesize +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/framework/undo-redo/CHANGELOG.md b/packages/framework/undo-redo/CHANGELOG.md index e24919b4bb3f..6cb7fbd9188b 100644 --- a/packages/framework/undo-redo/CHANGELOG.md +++ b/packages/framework/undo-redo/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/undo-redo +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/loader/container-loader/CHANGELOG.md b/packages/loader/container-loader/CHANGELOG.md index 772efbd64f33..bdacc5b6a743 100644 --- a/packages/loader/container-loader/CHANGELOG.md +++ b/packages/loader/container-loader/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/container-loader +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/loader/driver-utils/CHANGELOG.md b/packages/loader/driver-utils/CHANGELOG.md index eace96f7caa5..055a43a57f15 100644 --- a/packages/loader/driver-utils/CHANGELOG.md +++ b/packages/loader/driver-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/driver-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/loader/test-loader-utils/CHANGELOG.md b/packages/loader/test-loader-utils/CHANGELOG.md index a1fa4cdb50aa..c3bd79bf7e76 100644 --- a/packages/loader/test-loader-utils/CHANGELOG.md +++ b/packages/loader/test-loader-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-loader-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/container-runtime-definitions/CHANGELOG.md b/packages/runtime/container-runtime-definitions/CHANGELOG.md index 6239346a700f..36b7bcdcf4a7 100644 --- a/packages/runtime/container-runtime-definitions/CHANGELOG.md +++ b/packages/runtime/container-runtime-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/container-runtime-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/container-runtime/CHANGELOG.md b/packages/runtime/container-runtime/CHANGELOG.md index 7d1ab1cee2d1..a1d14103893c 100644 --- a/packages/runtime/container-runtime/CHANGELOG.md +++ b/packages/runtime/container-runtime/CHANGELOG.md @@ -1,5 +1,17 @@ # @fluidframework/container-runtime +## 2.4.0 + +### Minor Changes + +- The `op.contents` member on ContainerRuntime's `batchBegin`/`batchEnd` event args is deprecated ([#22750](https://github.com/microsoft/FluidFramework/pull/22750)) [de6928b528](https://github.com/microsoft/FluidFramework/commit/de6928b528ceb115b12cdf7a4183077cbaa80a71) + + The `batchBegin`/`batchEnd` events on ContainerRuntime indicate when a batch is beginning/finishing being processed. + The events include an argument of type `ISequencedDocumentMessage` which is the first or last message of the batch. + + The `contents` property of the `op` argument should not be used when reasoning over the begin/end of a batch. + If you want to look at the `contents` of an op, wait for the `op` event. + ## 2.3.0 ### Minor Changes diff --git a/packages/runtime/datastore-definitions/CHANGELOG.md b/packages/runtime/datastore-definitions/CHANGELOG.md index bcdd1fc652de..67b074a146dc 100644 --- a/packages/runtime/datastore-definitions/CHANGELOG.md +++ b/packages/runtime/datastore-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/datastore-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/datastore/CHANGELOG.md b/packages/runtime/datastore/CHANGELOG.md index b78f8596f9c9..7f1db9b8499e 100644 --- a/packages/runtime/datastore/CHANGELOG.md +++ b/packages/runtime/datastore/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/datastore +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/id-compressor/CHANGELOG.md b/packages/runtime/id-compressor/CHANGELOG.md index b0b66148aaaf..462bbc6827f6 100644 --- a/packages/runtime/id-compressor/CHANGELOG.md +++ b/packages/runtime/id-compressor/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/id-compressor +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/runtime-definitions/CHANGELOG.md b/packages/runtime/runtime-definitions/CHANGELOG.md index 3670ae572b5e..1b04e8d27622 100644 --- a/packages/runtime/runtime-definitions/CHANGELOG.md +++ b/packages/runtime/runtime-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/runtime-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/runtime-utils/CHANGELOG.md b/packages/runtime/runtime-utils/CHANGELOG.md index 4f19997eca84..cf229433d967 100644 --- a/packages/runtime/runtime-utils/CHANGELOG.md +++ b/packages/runtime/runtime-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/runtime-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/runtime/test-runtime-utils/CHANGELOG.md b/packages/runtime/test-runtime-utils/CHANGELOG.md index ee6bfc824347..8f7b732b9062 100644 --- a/packages/runtime/test-runtime-utils/CHANGELOG.md +++ b/packages/runtime/test-runtime-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/test-runtime-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/service-clients/azure-client/CHANGELOG.md b/packages/service-clients/azure-client/CHANGELOG.md index 821406744ee7..241b7106925f 100644 --- a/packages/service-clients/azure-client/CHANGELOG.md +++ b/packages/service-clients/azure-client/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/azure-client +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/service-clients/end-to-end-tests/azure-client/CHANGELOG.md b/packages/service-clients/end-to-end-tests/azure-client/CHANGELOG.md index 2e55d49f4417..a657242dfa8c 100644 --- a/packages/service-clients/end-to-end-tests/azure-client/CHANGELOG.md +++ b/packages/service-clients/end-to-end-tests/azure-client/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/azure-end-to-end-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/service-clients/end-to-end-tests/odsp-client/CHANGELOG.md b/packages/service-clients/end-to-end-tests/odsp-client/CHANGELOG.md index b07ff9b16323..d4b728da36ca 100644 --- a/packages/service-clients/end-to-end-tests/odsp-client/CHANGELOG.md +++ b/packages/service-clients/end-to-end-tests/odsp-client/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/odsp-end-to-end-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/service-clients/odsp-client/CHANGELOG.md b/packages/service-clients/odsp-client/CHANGELOG.md index f1325c0f255c..fb08a96c1495 100644 --- a/packages/service-clients/odsp-client/CHANGELOG.md +++ b/packages/service-clients/odsp-client/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-experimental/odsp-client +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/service-clients/tinylicious-client/CHANGELOG.md b/packages/service-clients/tinylicious-client/CHANGELOG.md index aaf893a3ae5b..20038ae75c5a 100644 --- a/packages/service-clients/tinylicious-client/CHANGELOG.md +++ b/packages/service-clients/tinylicious-client/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/tinylicious-client +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/functional-tests/CHANGELOG.md b/packages/test/functional-tests/CHANGELOG.md index 5347d22eb4b1..ea760de88dac 100644 --- a/packages/test/functional-tests/CHANGELOG.md +++ b/packages/test/functional-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/functional-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/local-server-tests/CHANGELOG.md b/packages/test/local-server-tests/CHANGELOG.md index cf0dfb50e87a..a613e258415e 100644 --- a/packages/test/local-server-tests/CHANGELOG.md +++ b/packages/test/local-server-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/local-server-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/mocha-test-setup/CHANGELOG.md b/packages/test/mocha-test-setup/CHANGELOG.md index dcc179527de8..55df7adda72d 100644 --- a/packages/test/mocha-test-setup/CHANGELOG.md +++ b/packages/test/mocha-test-setup/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/mocha-test-setup +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/snapshots/CHANGELOG.md b/packages/test/snapshots/CHANGELOG.md index d8175a2d2907..7911806bf31e 100644 --- a/packages/test/snapshots/CHANGELOG.md +++ b/packages/test/snapshots/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/test-snapshots +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/stochastic-test-utils/CHANGELOG.md b/packages/test/stochastic-test-utils/CHANGELOG.md index fd2bb0ddbb2a..0f3119ed78d1 100644 --- a/packages/test/stochastic-test-utils/CHANGELOG.md +++ b/packages/test/stochastic-test-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/stochastic-test-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-driver-definitions/CHANGELOG.md b/packages/test/test-driver-definitions/CHANGELOG.md index de61c51ccba6..779b3c835851 100644 --- a/packages/test/test-driver-definitions/CHANGELOG.md +++ b/packages/test/test-driver-definitions/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/test-driver-definitions +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-drivers/CHANGELOG.md b/packages/test/test-drivers/CHANGELOG.md index 05dbbbe207c4..30946c64372e 100644 --- a/packages/test/test-drivers/CHANGELOG.md +++ b/packages/test/test-drivers/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-drivers +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-end-to-end-tests/CHANGELOG.md b/packages/test/test-end-to-end-tests/CHANGELOG.md index 1ebbb36ecb53..fdb953241450 100644 --- a/packages/test/test-end-to-end-tests/CHANGELOG.md +++ b/packages/test/test-end-to-end-tests/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-end-to-end-tests +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-pairwise-generator/CHANGELOG.md b/packages/test/test-pairwise-generator/CHANGELOG.md index fa6ad4c65bcd..7221723c2c9a 100644 --- a/packages/test/test-pairwise-generator/CHANGELOG.md +++ b/packages/test/test-pairwise-generator/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-pairwise-generator +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-service-load/CHANGELOG.md b/packages/test/test-service-load/CHANGELOG.md index 01c65ff50d35..02fe47c5fae8 100644 --- a/packages/test/test-service-load/CHANGELOG.md +++ b/packages/test/test-service-load/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/test-service-load +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-utils/CHANGELOG.md b/packages/test/test-utils/CHANGELOG.md index c8c63e037f91..51fdbad9e3b5 100644 --- a/packages/test/test-utils/CHANGELOG.md +++ b/packages/test/test-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/test-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/test/test-version-utils/CHANGELOG.md b/packages/test/test-version-utils/CHANGELOG.md index 06a26ce027d7..8b2309729c79 100644 --- a/packages/test/test-version-utils/CHANGELOG.md +++ b/packages/test/test-version-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/test-version-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/changelog-generator-wrapper/CHANGELOG.md b/packages/tools/changelog-generator-wrapper/CHANGELOG.md index 5376c8043a23..942e13b093e0 100644 --- a/packages/tools/changelog-generator-wrapper/CHANGELOG.md +++ b/packages/tools/changelog-generator-wrapper/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-private/changelog-generator-wrapper +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/devtools/devtools-browser-extension/CHANGELOG.md b/packages/tools/devtools/devtools-browser-extension/CHANGELOG.md index 81e4ce64ed6e..1324942a7d4a 100644 --- a/packages/tools/devtools/devtools-browser-extension/CHANGELOG.md +++ b/packages/tools/devtools/devtools-browser-extension/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/devtools-browser-extension +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/devtools/devtools-core/CHANGELOG.md b/packages/tools/devtools/devtools-core/CHANGELOG.md index 0b1dcbf34e73..3d98da480eb4 100644 --- a/packages/tools/devtools/devtools-core/CHANGELOG.md +++ b/packages/tools/devtools/devtools-core/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/devtools-core +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/devtools/devtools-example/CHANGELOG.md b/packages/tools/devtools/devtools-example/CHANGELOG.md index b2e28fe97ed1..5fa70b91dded 100644 --- a/packages/tools/devtools/devtools-example/CHANGELOG.md +++ b/packages/tools/devtools/devtools-example/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-example/devtools-example +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/devtools/devtools-view/CHANGELOG.md b/packages/tools/devtools/devtools-view/CHANGELOG.md index 8e2d9dc4021f..fe92f7ab0662 100644 --- a/packages/tools/devtools/devtools-view/CHANGELOG.md +++ b/packages/tools/devtools/devtools-view/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/devtools-view +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/devtools/devtools/CHANGELOG.md b/packages/tools/devtools/devtools/CHANGELOG.md index 05f39fa80e4d..33243a8e1fb1 100644 --- a/packages/tools/devtools/devtools/CHANGELOG.md +++ b/packages/tools/devtools/devtools/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/devtools +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/fetch-tool/CHANGELOG.md b/packages/tools/fetch-tool/CHANGELOG.md index d0368738fcc6..9c16c55adb72 100644 --- a/packages/tools/fetch-tool/CHANGELOG.md +++ b/packages/tools/fetch-tool/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-tools/fetch-tool +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/fluid-runner/CHANGELOG.md b/packages/tools/fluid-runner/CHANGELOG.md index 9517d5c6ec34..beea26a5ce34 100644 --- a/packages/tools/fluid-runner/CHANGELOG.md +++ b/packages/tools/fluid-runner/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/fluid-runner +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/tools/replay-tool/CHANGELOG.md b/packages/tools/replay-tool/CHANGELOG.md index 2f1466f6c68a..339037073c50 100644 --- a/packages/tools/replay-tool/CHANGELOG.md +++ b/packages/tools/replay-tool/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-internal/replay-tool +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/utils/odsp-doclib-utils/CHANGELOG.md b/packages/utils/odsp-doclib-utils/CHANGELOG.md index cdeffbcd8129..174064bb06e4 100644 --- a/packages/utils/odsp-doclib-utils/CHANGELOG.md +++ b/packages/utils/odsp-doclib-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/odsp-doclib-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/utils/telemetry-utils/CHANGELOG.md b/packages/utils/telemetry-utils/CHANGELOG.md index 1febd8da1127..22fa27813894 100644 --- a/packages/utils/telemetry-utils/CHANGELOG.md +++ b/packages/utils/telemetry-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/telemetry-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/packages/utils/tool-utils/CHANGELOG.md b/packages/utils/tool-utils/CHANGELOG.md index c70b92f65c71..d10d9da5012e 100644 --- a/packages/utils/tool-utils/CHANGELOG.md +++ b/packages/utils/tool-utils/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluidframework/tool-utils +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only. diff --git a/tools/markdown-magic/CHANGELOG.md b/tools/markdown-magic/CHANGELOG.md index 97e3f644628f..14ad49ecc2cc 100644 --- a/tools/markdown-magic/CHANGELOG.md +++ b/tools/markdown-magic/CHANGELOG.md @@ -1,5 +1,9 @@ # @fluid-tools/markdown-magic +## 2.4.0 + +Dependency updates only. + ## 2.3.0 Dependency updates only.