@fluidframework/runtime-definitions 2.23.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @fluidframework/runtime-definitions
2
2
 
3
+ ## 2.31.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.30.0
8
+
9
+ ### Minor Changes
10
+
11
+ - The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
12
+
13
+ `process` has been replaced by `processMessages` from the following:
14
+
15
+ - `FluidDataStoreRuntime`
16
+ - `IDeltaHandler`
17
+ - `IFluidDataStoreChannel`
18
+ - `MockFluidDataStoreRuntime`
19
+ - `MockDeltaConnection`
20
+
21
+ `processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
22
+
23
+ See the [deprecation release note](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.5.0#user-content-the-process-function-on-ifluiddatastorechannel-ideltahandler-mockfluiddatastoreruntime-and-mockdeltaconnection-is-now-deprecated-22840) for more details.
24
+
3
25
  ## 2.23.0
4
26
 
5
27
  Dependency updates only.
@@ -16,18 +38,18 @@ Dependency updates only.
16
38
 
17
39
  ### Minor Changes
18
40
 
19
- - The createDataStoreWithProps APIs on ContainerRuntime and IContainerRuntimeBase have been removed ([#22996](https://github.com/microsoft/FluidFramework/pull/22996)) [bd243fb292](https://github.com/microsoft/FluidFramework/commit/bd243fb2927915d87c42486e21ee0c990962a9a7)
41
+ - The createDataStoreWithProps APIs on ContainerRuntime and IContainerRuntimeBase have been removed ([#22996](https://github.com/microsoft/FluidFramework/pull/22996)) [bd243fb292](https://github.com/microsoft/FluidFramework/commit/bd243fb2927915d87c42486e21ee0c990962a9a7)
20
42
 
21
- `ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
22
- were [deprecated in version 0.25.0](https://github.com/microsoft/FluidFramework/blob/main/BREAKING.md#icontainerruntimebase_createdatastorewithprops-is-removed) and have been removed.
43
+ `ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
44
+ were [deprecated in version 0.25.0](https://github.com/microsoft/FluidFramework/blob/main/BREAKING.md#icontainerruntimebase_createdatastorewithprops-is-removed) and have been removed.
23
45
 
24
- Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
25
- parameter.
46
+ Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
47
+ parameter.
26
48
 
27
- These changes were originally announced in version 0.25.0. See the following issues for more details:
49
+ These changes were originally announced in version 0.25.0. See the following issues for more details:
28
50
 
29
- - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
30
- - [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
51
+ - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
52
+ - [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
31
53
 
32
54
  ## 2.13.0
33
55
 
@@ -41,108 +63,108 @@ Dependency updates only.
41
63
 
42
64
  ### Minor Changes
43
65
 
44
- - Synchronous Child Datastore Creation ([#23143](https://github.com/microsoft/FluidFramework/pull/23143)) [3426b434df](https://github.com/microsoft/FluidFramework/commit/3426b434dfa06de3ee1a60a5f0d605cd312f2c58)
66
+ - Synchronous Child Datastore Creation ([#23143](https://github.com/microsoft/FluidFramework/pull/23143)) [3426b434df](https://github.com/microsoft/FluidFramework/commit/3426b434dfa06de3ee1a60a5f0d605cd312f2c58)
45
67
 
46
- #### Overview
68
+ #### Overview
47
69
 
48
- This feature introduces a new pattern for creating datastores synchronously within the Fluid Framework. It allows for the synchronous creation of a child datastore from an existing datastore, provided that the child datastore is available synchronously via the existing datastore's registry and that the child's factory supports synchronous creation. This method also ensures strong typing for the consumer.
70
+ This feature introduces a new pattern for creating datastores synchronously within the Fluid Framework. It allows for the synchronous creation of a child datastore from an existing datastore, provided that the child datastore is available synchronously via the existing datastore's registry and that the child's factory supports synchronous creation. This method also ensures strong typing for the consumer.
49
71
 
50
- In this context, "child" refers specifically to the organization of factories and registries, not to any hierarchical or hosting relationship between datastores. The parent datastore does not control the runtime behaviors of the child datastore beyond its creation.
72
+ In this context, "child" refers specifically to the organization of factories and registries, not to any hierarchical or hosting relationship between datastores. The parent datastore does not control the runtime behaviors of the child datastore beyond its creation.
51
73
 
52
- The synchronous creation of child datastores enhances the flexibility of datastore management within the Fluid Framework. It ensures type safety and provides a different way to manage datastores within a container. However, it is important to consider the overhead associated with datastores, as they are stored, summarized, garbage collected, loaded, and referenced independently. This overhead should be justified by the scenario's requirements.
74
+ The synchronous creation of child datastores enhances the flexibility of datastore management within the Fluid Framework. It ensures type safety and provides a different way to manage datastores within a container. However, it is important to consider the overhead associated with datastores, as they are stored, summarized, garbage collected, loaded, and referenced independently. This overhead should be justified by the scenario's requirements.
53
75
 
54
- Datastores offer increased capabilities, such as the ability to reference them via handles, allowing multiple references to exist and enabling those references to be moved, swapped, or changed. Additionally, datastores are garbage collected after becoming unreferenced, which can simplify final cleanup across clients. This is in contrast to subdirectories in a shared directory, which do not have native capabilities for referencing or garbage collection but are very low overhead to create.
76
+ Datastores offer increased capabilities, such as the ability to reference them via handles, allowing multiple references to exist and enabling those references to be moved, swapped, or changed. Additionally, datastores are garbage collected after becoming unreferenced, which can simplify final cleanup across clients. This is in contrast to subdirectories in a shared directory, which do not have native capabilities for referencing or garbage collection but are very low overhead to create.
55
77
 
56
- Synchronous creation relies on both the factory and the datastore to support it. This means that asynchronous operations, such as resolving handles, some browser API calls, consensus-based operations, or other asynchronous tasks, cannot be performed during the creation flow. Therefore, synchronous child datastore creation is best limited to scenarios where the existing asynchronous process cannot be used, such as when a new datastore must be created in direct response to synchronous user input.
78
+ Synchronous creation relies on both the factory and the datastore to support it. This means that asynchronous operations, such as resolving handles, some browser API calls, consensus-based operations, or other asynchronous tasks, cannot be performed during the creation flow. Therefore, synchronous child datastore creation is best limited to scenarios where the existing asynchronous process cannot be used, such as when a new datastore must be created in direct response to synchronous user input.
57
79
 
58
- #### Key Benefits
80
+ #### Key Benefits
59
81
 
60
- - **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
61
- - **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
82
+ - **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
83
+ - **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
62
84
 
63
- #### Use Cases
85
+ #### Use Cases
64
86
 
65
- ##### Example 1: Creating a Child Datastore
87
+ ##### Example 1: Creating a Child Datastore
66
88
 
67
- In this example, we demonstrate how to support creating a child datastore synchronously from a parent datastore.
89
+ In this example, we demonstrate how to support creating a child datastore synchronously from a parent datastore.
68
90
 
69
- ```typescript
70
- /**
71
- * This is the parent DataObject, which is also a datastore. It has a
72
- * synchronous method to create child datastores, which could be called
73
- * in response to synchronous user input, like a key press.
74
- */
75
- class ParentDataObject extends DataObject {
76
- createChild(name: string): ChildDataStore {
77
- assert(
78
- this.context.createChildDataStore !== undefined,
79
- "this.context.createChildDataStore",
80
- );
91
+ ```typescript
92
+ /**
93
+ * This is the parent DataObject, which is also a datastore. It has a
94
+ * synchronous method to create child datastores, which could be called
95
+ * in response to synchronous user input, like a key press.
96
+ */
97
+ class ParentDataObject extends DataObject {
98
+ createChild(name: string): ChildDataStore {
99
+ assert(
100
+ this.context.createChildDataStore !== undefined,
101
+ "this.context.createChildDataStore",
102
+ );
81
103
 
82
- const { entrypoint } = this.context.createChildDataStore(
83
- ChildDataStoreFactory.instance,
84
- );
85
- const dir = this.root.createSubDirectory("children");
86
- dir.set(name, entrypoint.handle);
87
- entrypoint.setProperty("childValue", name);
104
+ const { entrypoint } = this.context.createChildDataStore(
105
+ ChildDataStoreFactory.instance,
106
+ );
107
+ const dir = this.root.createSubDirectory("children");
108
+ dir.set(name, entrypoint.handle);
109
+ entrypoint.setProperty("childValue", name);
88
110
 
89
- return entrypoint;
90
- }
111
+ return entrypoint;
112
+ }
91
113
 
92
- getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
93
- const dir = this.root.getSubDirectory("children");
94
- return dir?.get<IFluidHandle<ChildDataStore>>(name);
95
- }
114
+ getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
115
+ const dir = this.root.getSubDirectory("children");
116
+ return dir?.get<IFluidHandle<ChildDataStore>>(name);
96
117
  }
97
- ```
118
+ }
119
+ ```
98
120
 
99
- For a complete example see the following test:
100
- https://github.com/microsoft/FluidFramework/blob/main/packages/test/local-server-tests/src/test/synchronousDataStoreCreation.spec.ts
121
+ For a complete example see the following test:
122
+ https://github.com/microsoft/FluidFramework/blob/main/packages/test/local-server-tests/src/test/synchronousDataStoreCreation.spec.ts
101
123
 
102
124
  ## 2.10.0
103
125
 
104
126
  ### Minor Changes
105
127
 
106
- - Changes to the batchBegin and batchEnd events on ContainerRuntime ([#22791](https://github.com/microsoft/FluidFramework/pull/22791)) [d252af539a](https://github.com/microsoft/FluidFramework/commit/d252af539afc2b44d05db35cb94b4351b75d9432)
128
+ - Changes to the batchBegin and batchEnd events on ContainerRuntime ([#22791](https://github.com/microsoft/FluidFramework/pull/22791)) [d252af539a](https://github.com/microsoft/FluidFramework/commit/d252af539afc2b44d05db35cb94b4351b75d9432)
107
129
 
108
- The 'batchBegin'/'batchEnd' events on ContainerRuntime indicate when a batch is beginning or finishing being processed. The `contents` property on the event argument `op` is not useful or relevant when reasoning over incoming changes at the batch level. Accordingly, it has been removed from the `op` event argument.
130
+ The 'batchBegin'/'batchEnd' events on ContainerRuntime indicate when a batch is beginning or finishing being processed. The `contents` property on the event argument `op` is not useful or relevant when reasoning over incoming changes at the batch level. Accordingly, it has been removed from the `op` event argument.
109
131
 
110
- - "Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations ([#22842](https://github.com/microsoft/FluidFramework/pull/22842)) [3aff19a462](https://github.com/microsoft/FluidFramework/commit/3aff19a4622a242e906286c14dfcfa6523175132)
132
+ - "Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations ([#22842](https://github.com/microsoft/FluidFramework/pull/22842)) [3aff19a462](https://github.com/microsoft/FluidFramework/commit/3aff19a4622a242e906286c14dfcfa6523175132)
111
133
 
112
- - `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
113
- - `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.
134
+ - `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
135
+ - `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.
114
136
 
115
- - The inbound and outbound properties have been removed from IDeltaManager ([#22282](https://github.com/microsoft/FluidFramework/pull/22282)) [45a57693f2](https://github.com/microsoft/FluidFramework/commit/45a57693f291e0dc5e91af7f29a9b9c8f82dfad5)
137
+ - The inbound and outbound properties have been removed from IDeltaManager ([#22282](https://github.com/microsoft/FluidFramework/pull/22282)) [45a57693f2](https://github.com/microsoft/FluidFramework/commit/45a57693f291e0dc5e91af7f29a9b9c8f82dfad5)
116
138
 
117
- The inbound and outbound properties were [deprecated in version 2.0.0-rc.2.0.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.0.0-rc.2.0.0.md#container-definitions-deprecate-ideltamanagerinbound-and-ideltamanageroutbound) and have been removed from `IDeltaManager`.
139
+ The inbound and outbound properties were [deprecated in version 2.0.0-rc.2.0.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.0.0-rc.2.0.0.md#container-definitions-deprecate-ideltamanagerinbound-and-ideltamanageroutbound) and have been removed from `IDeltaManager`.
118
140
 
119
- `IDeltaManager.inbound` contained functionality that could break core runtime features such as summarization and processing batches if used improperly. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
141
+ `IDeltaManager.inbound` contained functionality that could break core runtime features such as summarization and processing batches if used improperly. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
120
142
 
121
- Similarly, `IDeltaManager.outbound` contained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
143
+ Similarly, `IDeltaManager.outbound` contained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
122
144
 
123
- #### Alternatives
145
+ #### Alternatives
124
146
 
125
- - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
126
- - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
127
- - Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
147
+ - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
148
+ - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
149
+ - Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
128
150
 
129
151
  ## 2.5.0
130
152
 
131
153
  ### Minor Changes
132
154
 
133
- - The op event on IFluidDataStoreRuntimeEvents and IContainerRuntimeBaseEvents is emitted at a different time ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
155
+ - The op event on IFluidDataStoreRuntimeEvents and IContainerRuntimeBaseEvents is emitted at a different time ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
134
156
 
135
- Previously, in versions 2.4 and below, the `op` event was emitted immediately after an op was processed and before the next op was processed.
157
+ Previously, in versions 2.4 and below, the `op` event was emitted immediately after an op was processed and before the next op was processed.
136
158
 
137
- In versions 2.5.0 and beyond, the `op` event will be emitted after an op is processed, but it may not be immediate. In addition, other ops in a
138
- batch may be processed before the op event is emitted for a particular op.
159
+ In versions 2.5.0 and beyond, the `op` event will be emitted after an op is processed, but it may not be immediate. In addition, other ops in a
160
+ batch may be processed before the op event is emitted for a particular op.
139
161
 
140
- - The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now deprecated ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
162
+ - The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now deprecated ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
141
163
 
142
- The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now
143
- deprecated. It has been replaced with a new function `processMessages`, which will be called to process multiple messages instead of a single one on the channel. This is part of a feature called "Op bunching", where contiguous ops of a given type and to a given data store / DDS are bunched and sent together for processing.
164
+ The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now
165
+ deprecated. It has been replaced with a new function `processMessages`, which will be called to process multiple messages instead of a single one on the channel. This is part of a feature called "Op bunching", where contiguous ops of a given type and to a given data store / DDS are bunched and sent together for processing.
144
166
 
145
- Implementations of `IFluidDataStoreChannel` and `IDeltaHandler` must now also implement `processMessages`. For reference implementations, see `FluidDataStoreRuntime::processMessages` and `SharedObjectCore::attachDeltaHandler`.
167
+ Implementations of `IFluidDataStoreChannel` and `IDeltaHandler` must now also implement `processMessages`. For reference implementations, see `FluidDataStoreRuntime::processMessages` and `SharedObjectCore::attachDeltaHandler`.
146
168
 
147
169
  ## 2.4.0
148
170
 
@@ -156,27 +178,27 @@ Dependency updates only.
156
178
 
157
179
  ### Minor Changes
158
180
 
159
- - gcThrowOnTombstoneUsage and gcTombstoneEnforcementAllowed are deprecated ([#21992](https://github.com/microsoft/FluidFramework/pull/21992)) [b2bfed3a62](https://github.com/microsoft/FluidFramework/commit/b2bfed3a624d590d776c64a3317c60400b4b3e81)
181
+ - gcThrowOnTombstoneUsage and gcTombstoneEnforcementAllowed are deprecated ([#21992](https://github.com/microsoft/FluidFramework/pull/21992)) [b2bfed3a62](https://github.com/microsoft/FluidFramework/commit/b2bfed3a624d590d776c64a3317c60400b4b3e81)
160
182
 
161
- These properties `gcThrowOnTombstoneUsage` and `gcTombstoneEnforcementAllowed` have been deprecated in
162
- `IFluidParentContext` and `ContainerRuntime`. These were included in certain garbage collection (GC) telemetry to
163
- identify whether the corresponding features have been enabled. These features are now enabled by default and this
164
- information is added to the "GarbageCollectorLoaded" telemetry.
183
+ These properties `gcThrowOnTombstoneUsage` and `gcTombstoneEnforcementAllowed` have been deprecated in
184
+ `IFluidParentContext` and `ContainerRuntime`. These were included in certain garbage collection (GC) telemetry to
185
+ identify whether the corresponding features have been enabled. These features are now enabled by default and this
186
+ information is added to the "GarbageCollectorLoaded" telemetry.
165
187
 
166
- Also, the following Garbage collection runtime options and configs have been removed. They were added during GC feature
167
- development to roll out and control functionalities. The corresponding features are on by default and can no longer be
168
- disabled or controlled:
188
+ Also, the following Garbage collection runtime options and configs have been removed. They were added during GC feature
189
+ development to roll out and control functionalities. The corresponding features are on by default and can no longer be
190
+ disabled or controlled:
169
191
 
170
- GC runtime options removed:
192
+ GC runtime options removed:
171
193
 
172
- - `gcDisableThrowOnTombstoneLoad`
173
- - `disableDataStoreSweep`
194
+ - `gcDisableThrowOnTombstoneLoad`
195
+ - `disableDataStoreSweep`
174
196
 
175
- GC configs removed:
197
+ GC configs removed:
176
198
 
177
- - `"Fluid.GarbageCollection.DisableTombstone"`
178
- - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
179
- - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
199
+ - `"Fluid.GarbageCollection.DisableTombstone"`
200
+ - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
201
+ - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
180
202
 
181
203
  ## 2.1.0
182
204
 
@@ -186,269 +208,269 @@ Dependency updates only.
186
208
 
187
209
  ### Minor Changes
188
210
 
189
- - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
211
+ - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
190
212
 
191
- A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
213
+ A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
192
214
 
193
- This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
215
+ This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
194
216
 
195
- This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
217
+ This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
196
218
 
197
- Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
198
- The full list of such types is:
219
+ Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
220
+ The full list of such types is:
199
221
 
200
- - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
201
- - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
202
- `ISharedObject`
203
- - `IChannel`
204
- - `IChannelAttributes`
205
- - `IChannelFactory`
206
- - `IExperimentalIncrementalSummaryContext`
207
- - `IGarbageCollectionData`
208
- - `ISummaryStats`
209
- - `ISummaryTreeWithStats`
210
- - `ITelemetryContext`
211
- - `IDeltaManagerErased`
212
- - `IFluidDataStoreRuntimeEvents`
213
- - `IFluidHandleContext`
214
- - `IProvideFluidHandleContext`
222
+ - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
223
+ - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
224
+ `ISharedObject`
225
+ - `IChannel`
226
+ - `IChannelAttributes`
227
+ - `IChannelFactory`
228
+ - `IExperimentalIncrementalSummaryContext`
229
+ - `IGarbageCollectionData`
230
+ - `ISummaryStats`
231
+ - `ISummaryTreeWithStats`
232
+ - `ITelemetryContext`
233
+ - `IDeltaManagerErased`
234
+ - `IFluidDataStoreRuntimeEvents`
235
+ - `IFluidHandleContext`
236
+ - `IProvideFluidHandleContext`
215
237
 
216
- Removed APIs:
238
+ Removed APIs:
217
239
 
218
- - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
219
- - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
220
- - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
221
- -
240
+ - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
241
+ - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
242
+ - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
243
+ -
222
244
 
223
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
245
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
224
246
 
225
- Update package implementations to use TypeScript 5.4.5.
247
+ Update package implementations to use TypeScript 5.4.5.
226
248
 
227
- - runtime-definitions: Remove deprecated 'get' and 'serialize' members on the ITelemetryContext interface ([#21009](https://github.com/microsoft/FluidFramework/pull/21009)) [c0483b49a3](https://github.com/microsoft/FluidFramework/commit/c0483b49a31df87b3a7d3eafd4175efd5eb1762f)
249
+ - runtime-definitions: Remove deprecated 'get' and 'serialize' members on the ITelemetryContext interface ([#21009](https://github.com/microsoft/FluidFramework/pull/21009)) [c0483b49a3](https://github.com/microsoft/FluidFramework/commit/c0483b49a31df87b3a7d3eafd4175efd5eb1762f)
228
250
 
229
- The `ITelemetryContext` interface was not intended to allow getting properties that had been added to it, so it is now "write-only". Internal usage within FluidFramework should use the new `ITelemetryContextExt`.
251
+ The `ITelemetryContext` interface was not intended to allow getting properties that had been added to it, so it is now "write-only". Internal usage within FluidFramework should use the new `ITelemetryContextExt`.
230
252
 
231
- - runtime-definitions: Make IInboundSignalMessage alpha and readonly ([#21226](https://github.com/microsoft/FluidFramework/pull/21226)) [1df91dd844](https://github.com/microsoft/FluidFramework/commit/1df91dd844bebcb6c837370827b244a01eca8295)
253
+ - runtime-definitions: Make IInboundSignalMessage alpha and readonly ([#21226](https://github.com/microsoft/FluidFramework/pull/21226)) [1df91dd844](https://github.com/microsoft/FluidFramework/commit/1df91dd844bebcb6c837370827b244a01eca8295)
232
254
 
233
- Users of `IInboundSignalMessage` will need to import it from the `/legacy` scope and should not mutate it.
234
- Only users of existing `@alpha` APIs like `IFluidDataStoreRuntime` should be able to use this type, so it should not introduce new `/legacy` usage.
255
+ Users of `IInboundSignalMessage` will need to import it from the `/legacy` scope and should not mutate it.
256
+ Only users of existing `@alpha` APIs like `IFluidDataStoreRuntime` should be able to use this type, so it should not introduce new `/legacy` usage.
235
257
 
236
258
  ## 2.0.0-rc.4.0.0
237
259
 
238
260
  ### Minor Changes
239
261
 
240
- - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
262
+ - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
241
263
 
242
- Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
243
- Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
264
+ Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
265
+ Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
244
266
 
245
- External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
246
- Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
247
- Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
267
+ External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
268
+ Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
269
+ Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
248
270
 
249
271
  ## 2.0.0-rc.3.0.0
250
272
 
251
273
  ### Major Changes
252
274
 
253
- - runtime-definitions: IFluidDataStoreContext no longer raises events, IFluidDataStoreChannel needs to implement new method [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
275
+ - runtime-definitions: IFluidDataStoreContext no longer raises events, IFluidDataStoreChannel needs to implement new method [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
254
276
 
255
- This change could be ignored, unless you have custom implementations of IFluidDataStoreChannel or listened to IFluidDataStoreContext's "attached" or "attaching" events
277
+ This change could be ignored, unless you have custom implementations of IFluidDataStoreChannel or listened to IFluidDataStoreContext's "attached" or "attaching" events
256
278
 
257
- IFluidDataStoreContext no longer raises events. Instead, it will call IFluidDataStoreChannel.setAttachState().
258
- If you are implementing data store runtme, please implement setAttachState() API and rely on this flow.
259
- If you are not data store developer, and were reaching out to context, then please stop doing it - the only purpose of IFluidDataStoreContext is
260
- communication with IFluidDataStoreChannel. Context object should not be exposed by impplementers of IFluidDataStoreChannel.
261
- If you are using stock implementations of IFluidDataStoreChannel, you can listen for same events on IFluidDataStoreRuntime instead.
279
+ IFluidDataStoreContext no longer raises events. Instead, it will call IFluidDataStoreChannel.setAttachState().
280
+ If you are implementing data store runtme, please implement setAttachState() API and rely on this flow.
281
+ If you are not data store developer, and were reaching out to context, then please stop doing it - the only purpose of IFluidDataStoreContext is
282
+ communication with IFluidDataStoreChannel. Context object should not be exposed by impplementers of IFluidDataStoreChannel.
283
+ If you are using stock implementations of IFluidDataStoreChannel, you can listen for same events on IFluidDataStoreRuntime instead.
262
284
 
263
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
285
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
264
286
 
265
- Fluid Framework packages have been updated to use the [package.json "exports"
266
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
267
- TypeScript types and implementation code.
287
+ Fluid Framework packages have been updated to use the [package.json "exports"
288
+ field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
289
+ TypeScript types and implementation code.
268
290
 
269
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
291
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
270
292
 
271
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
272
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
293
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
294
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
273
295
 
274
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
275
- for use with modern versions of Node.js _and_ Bundlers.
276
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
277
- regarding the module and moduleResolution options.
296
+ We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
297
+ for use with modern versions of Node.js _and_ Bundlers.
298
+ [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
299
+ regarding the module and moduleResolution options.
278
300
 
279
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
280
- to distinguish stable APIs from those that are in development.**
301
+ **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
302
+ to distinguish stable APIs from those that are in development.**
281
303
 
282
304
  ## 2.0.0-rc.2.0.0
283
305
 
284
306
  ### Minor Changes
285
307
 
286
- - runtime-definitions: ITelemetryContext: Functions `get` and `serialize` are now deprecated ([#19409](https://github.com/microsoft/FluidFramework/issues/19409)) [42696564dd](https://github.com/microsoft/FluidFramework/commits/42696564ddbacfe200d653bdf7a1db18fc253bfb)
308
+ - runtime-definitions: ITelemetryContext: Functions `get` and `serialize` are now deprecated ([#19409](https://github.com/microsoft/FluidFramework/issues/19409)) [42696564dd](https://github.com/microsoft/FluidFramework/commits/42696564ddbacfe200d653bdf7a1db18fc253bfb)
287
309
 
288
- ITelemetryContext is to be used only for instrumentation, not for attempting to read the values already set by other code.
289
- This is important because this _public_ interface may soon use FF's _should-be internal_ logging instrumentation types,
290
- which we reserve the right to expand (to support richer instrumentation).
291
- In that case, we would not be able to do so in a minor release if they're used as an "out" type
292
- like the return type for `get`.
310
+ ITelemetryContext is to be used only for instrumentation, not for attempting to read the values already set by other code.
311
+ This is important because this _public_ interface may soon use FF's _should-be internal_ logging instrumentation types,
312
+ which we reserve the right to expand (to support richer instrumentation).
313
+ In that case, we would not be able to do so in a minor release if they're used as an "out" type
314
+ like the return type for `get`.
293
315
 
294
- There is no replacement given in terms of immediate programmatic access to this data.
295
- The expected use pattern is something like this:
316
+ There is no replacement given in terms of immediate programmatic access to this data.
317
+ The expected use pattern is something like this:
296
318
 
297
- - Some code creates a concrete implementation of `ITelemetryContext` and passes it around
298
- - Callers use the "write" functions on the interface to build up the context
299
- - The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
300
- and passes the result to a logger
301
- - The data is inspected along with other logs in whatever telemetry pipeline is used by the application (or Debug Tools, etc)
319
+ - Some code creates a concrete implementation of `ITelemetryContext` and passes it around
320
+ - Callers use the "write" functions on the interface to build up the context
321
+ - The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
322
+ and passes the result to a logger
323
+ - The data is inspected along with other logs in whatever telemetry pipeline is used by the application (or Debug Tools, etc)
302
324
 
303
- - container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
325
+ - container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
304
326
 
305
- ### Key changes
327
+ ### Key changes
306
328
 
307
- 1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
308
- 2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
309
- 3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
329
+ 1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
330
+ 2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
331
+ 3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
310
332
 
311
- ### Implementation details
333
+ ### Implementation details
312
334
 
313
- 1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
335
+ 1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
314
336
 
315
- ### Breaking changes
337
+ ### Breaking changes
316
338
 
317
- 1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
339
+ 1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
318
340
 
319
- ### Backward compatibility considerations
341
+ ### Backward compatibility considerations
320
342
 
321
- 1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
322
- 2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
343
+ 1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
344
+ 2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
323
345
 
324
- ### Minor changes
346
+ ### Minor changes
325
347
 
326
- 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
327
- 2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
348
+ 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
349
+ 2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
328
350
 
329
- - driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
351
+ - driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
330
352
 
331
- The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
353
+ The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
332
354
 
333
- - runtime-definitions: FlushMode.Immediate is deprecated ([#19963](https://github.com/microsoft/FluidFramework/issues/19963)) [861500c1e2](https://github.com/microsoft/FluidFramework/commits/861500c1e2bdd3394308bd87007231d70b698be0)
355
+ - runtime-definitions: FlushMode.Immediate is deprecated ([#19963](https://github.com/microsoft/FluidFramework/issues/19963)) [861500c1e2](https://github.com/microsoft/FluidFramework/commits/861500c1e2bdd3394308bd87007231d70b698be0)
334
356
 
335
- `FlushMode.Immediate` is deprecated and will be removed in the next major version. It should not be used. Use
336
- `FlushMode.TurnBased` instead, which is the default. See
337
- <https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/opLifecycle#how-batching-works>
338
- for more information
357
+ `FlushMode.Immediate` is deprecated and will be removed in the next major version. It should not be used. Use
358
+ `FlushMode.TurnBased` instead, which is the default. See
359
+ <https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/opLifecycle#how-batching-works>
360
+ for more information
339
361
 
340
- - container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
362
+ - container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
341
363
 
342
- ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
364
+ ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
343
365
 
344
- - runtime-definitions: Deprecated ID compressor related types have been removed. ([#19031](https://github.com/microsoft/FluidFramework/issues/19031)) [de92ef0ac5](https://github.com/microsoft/FluidFramework/commits/de92ef0ac551ad89b00564c78c0091f8ecc33639)
366
+ - runtime-definitions: Deprecated ID compressor related types have been removed. ([#19031](https://github.com/microsoft/FluidFramework/issues/19031)) [de92ef0ac5](https://github.com/microsoft/FluidFramework/commits/de92ef0ac551ad89b00564c78c0091f8ecc33639)
345
367
 
346
- This change should be a no-op for consumers, as these types were almost certainly unused and are also available in the
347
- standalone package id-compressor (see <https://github.com/microsoft/FluidFramework/pull/18749>).
368
+ This change should be a no-op for consumers, as these types were almost certainly unused and are also available in the
369
+ standalone package id-compressor (see <https://github.com/microsoft/FluidFramework/pull/18749>).
348
370
 
349
- - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
371
+ - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
350
372
 
351
- Added `containerMetadata` prop on IContainer interface.
373
+ Added `containerMetadata` prop on IContainer interface.
352
374
 
353
- - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
375
+ - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
354
376
 
355
- The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
377
+ The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
356
378
 
357
379
  ## 2.0.0-rc.1.0.0
358
380
 
359
381
  ### Minor Changes
360
382
 
361
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
362
-
363
- The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
364
-
365
- - @fluidframework/gitresources
366
- - @fluidframework/server-kafka-orderer
367
- - @fluidframework/server-lambdas
368
- - @fluidframework/server-lambdas-driver
369
- - @fluidframework/server-local-server
370
- - @fluidframework/server-memory-orderer
371
- - @fluidframework/protocol-base
372
- - @fluidframework/server-routerlicious
373
- - @fluidframework/server-routerlicious-base
374
- - @fluidframework/server-services
375
- - @fluidframework/server-services-client
376
- - @fluidframework/server-services-core
377
- - @fluidframework/server-services-ordering-kafkanode
378
- - @fluidframework/server-services-ordering-rdkafka
379
- - @fluidframework/server-services-ordering-zookeeper
380
- - @fluidframework/server-services-shared
381
- - @fluidframework/server-services-telemetry
382
- - @fluidframework/server-services-utils
383
- - @fluidframework/server-test-utils
384
- - tinylicious
385
-
386
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
387
-
388
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
389
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
390
-
391
- - garbage collection: Deprecate addedGCOutboundReference ([#18456](https://github.com/microsoft/FluidFramework/issues/18456)) [0619cf8a41](https://github.com/microsoft/FluidFramework/commits/0619cf8a4197bee6d5ac56cac05db92008939817)
392
-
393
- The `addedGCOutboundReference` property on IDeltaConnection, IFluidDataStoreContext, and MockFluidDataStoreRuntime is
394
- now deprecated.
395
-
396
- The responsibility of adding outbound references (for Garbage Collection tracking) is moving up to the ContainerRuntime.
397
- Previously, DDSes themselves were responsible to detect and report added outbound references (via a handle being stored),
398
- so these interfaces (and corresponding mock) needed to plumb that information up to the ContainerRuntime layer where GC sits.
399
- This is no longer necessary so they're being removed in an upcoming release.
383
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
384
+
385
+ The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
386
+
387
+ - @fluidframework/gitresources
388
+ - @fluidframework/server-kafka-orderer
389
+ - @fluidframework/server-lambdas
390
+ - @fluidframework/server-lambdas-driver
391
+ - @fluidframework/server-local-server
392
+ - @fluidframework/server-memory-orderer
393
+ - @fluidframework/protocol-base
394
+ - @fluidframework/server-routerlicious
395
+ - @fluidframework/server-routerlicious-base
396
+ - @fluidframework/server-services
397
+ - @fluidframework/server-services-client
398
+ - @fluidframework/server-services-core
399
+ - @fluidframework/server-services-ordering-kafkanode
400
+ - @fluidframework/server-services-ordering-rdkafka
401
+ - @fluidframework/server-services-ordering-zookeeper
402
+ - @fluidframework/server-services-shared
403
+ - @fluidframework/server-services-telemetry
404
+ - @fluidframework/server-services-utils
405
+ - @fluidframework/server-test-utils
406
+ - tinylicious
407
+
408
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
409
+
410
+ The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
411
+ changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
412
+
413
+ - garbage collection: Deprecate addedGCOutboundReference ([#18456](https://github.com/microsoft/FluidFramework/issues/18456)) [0619cf8a41](https://github.com/microsoft/FluidFramework/commits/0619cf8a4197bee6d5ac56cac05db92008939817)
414
+
415
+ The `addedGCOutboundReference` property on IDeltaConnection, IFluidDataStoreContext, and MockFluidDataStoreRuntime is
416
+ now deprecated.
417
+
418
+ The responsibility of adding outbound references (for Garbage Collection tracking) is moving up to the ContainerRuntime.
419
+ Previously, DDSes themselves were responsible to detect and report added outbound references (via a handle being stored),
420
+ so these interfaces (and corresponding mock) needed to plumb that information up to the ContainerRuntime layer where GC sits.
421
+ This is no longer necessary so they're being removed in an upcoming release.
400
422
 
401
423
  ## 2.0.0-internal.8.0.0
402
424
 
403
425
  ### Major Changes
404
426
 
405
- - container-runtime-definitions: Removed resolveHandle and IFluidHandleContext from ContainerRuntime interfaces [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
427
+ - container-runtime-definitions: Removed resolveHandle and IFluidHandleContext from ContainerRuntime interfaces [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
406
428
 
407
- The `IContainerRuntime.resolveHandle(...)` method and the `IContainerRuntimeBase.IFluidHandleContext` property have been
408
- removed. Please remove all usage of these APIs.
429
+ The `IContainerRuntime.resolveHandle(...)` method and the `IContainerRuntimeBase.IFluidHandleContext` property have been
430
+ removed. Please remove all usage of these APIs.
409
431
 
410
- See
411
- [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
412
- for more details.
432
+ See
433
+ [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
434
+ for more details.
413
435
 
414
- - container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
436
+ - container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
415
437
 
416
- The `request(...)` method and `IFluidRouter` property have been removed from the following places:
438
+ The `request(...)` method and `IFluidRouter` property have been removed from the following places:
417
439
 
418
- - `ContainerRuntime`
419
- - `IRuntime`
420
- - `IContainerRuntimeBase`
440
+ - `ContainerRuntime`
441
+ - `IRuntime`
442
+ - `IContainerRuntimeBase`
421
443
 
422
- Please use the `IRuntime.getEntryPoint()` method to get the runtime's entry point.
444
+ Please use the `IRuntime.getEntryPoint()` method to get the runtime's entry point.
423
445
 
424
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
446
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
425
447
 
426
- - runtime-definitions: Removed IFluidRouter from IFluidDataStoreChannel and FluidDataStoreRuntime [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
448
+ - runtime-definitions: Removed IFluidRouter from IFluidDataStoreChannel and FluidDataStoreRuntime [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
427
449
 
428
- The `IFluidRouter` property has been removed from `IFluidDataStoreChannel` and `FluidDataStoreRuntime`. Please migrate
429
- all usage to the `IFluidDataStoreChannel.entryPoint` API.
450
+ The `IFluidRouter` property has been removed from `IFluidDataStoreChannel` and `FluidDataStoreRuntime`. Please migrate
451
+ all usage to the `IFluidDataStoreChannel.entryPoint` API.
430
452
 
431
- See
432
- [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
433
- for more details.
453
+ See
454
+ [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
455
+ for more details.
434
456
 
435
- - runtime-definitions: Removed request and IFluidRouter from IDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
457
+ - runtime-definitions: Removed request and IFluidRouter from IDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
436
458
 
437
- The `request` method and `IFluidRouter` property have been removed from `IDataStore`. Please migrate all usage to the `IDataStore.entryPoint` API.
459
+ The `request` method and `IFluidRouter` property have been removed from `IDataStore`. Please migrate all usage to the `IDataStore.entryPoint` API.
438
460
 
439
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
461
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
440
462
 
441
463
  ## 2.0.0-internal.7.4.0
442
464
 
443
465
  ### Minor Changes
444
466
 
445
- - container-runtime/runtime-definitions: `IdCompressor` and related types deprecated ([#18749](https://github.com/microsoft/FluidFramework/issues/18749)) [6f070179de](https://github.com/microsoft/FluidFramework/commits/6f070179ded7c2f4398252f75485e85b39725419)
467
+ - container-runtime/runtime-definitions: `IdCompressor` and related types deprecated ([#18749](https://github.com/microsoft/FluidFramework/issues/18749)) [6f070179de](https://github.com/microsoft/FluidFramework/commits/6f070179ded7c2f4398252f75485e85b39725419)
446
468
 
447
- `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
448
- packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.
469
+ `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
470
+ packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.
449
471
 
450
- The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
451
- `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
472
+ The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
473
+ `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
452
474
 
453
475
  ## 2.0.0-internal.7.3.0
454
476
 
@@ -466,97 +488,97 @@ Dependency updates only.
466
488
 
467
489
  ### Major Changes
468
490
 
469
- - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
491
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
470
492
 
471
- This included the following changes from the protocol-definitions release:
493
+ This included the following changes from the protocol-definitions release:
472
494
 
473
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
474
- submitted by clients to the server and the resulting signals sent from the server to clients.
475
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
476
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
477
- ISignalMessageBase interface that contains common members.
478
- - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
495
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
496
+ submitted by clients to the server and the resulting signals sent from the server to clients.
497
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
498
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
499
+ ISignalMessageBase interface that contains common members.
500
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
479
501
 
480
- - runtime-definitions: `bindToContext` API removed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
502
+ - runtime-definitions: `bindToContext` API removed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
481
503
 
482
- `bindToContext` has been removed from `FluidDataStoreRuntime`, `IFluidDataStoreContext` and
483
- `MockFluidDataStoreContext`. This has been deprecated for several releases and cannot be used anymore.
504
+ `bindToContext` has been removed from `FluidDataStoreRuntime`, `IFluidDataStoreContext` and
505
+ `MockFluidDataStoreContext`. This has been deprecated for several releases and cannot be used anymore.
484
506
 
485
- - DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
507
+ - DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
486
508
 
487
- The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
509
+ The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
488
510
 
489
- - `IContainerRuntime`
490
- - `IContainerRuntimeBase`
511
+ - `IContainerRuntime`
512
+ - `IContainerRuntimeBase`
491
513
 
492
- Requesting arbitrary URLs has been deprecated on `IContainerRuntime`. Please migrate all usage to the `IContainerRuntime.getEntryPoint()` method if trying to obtain the application-specified root object.
514
+ Requesting arbitrary URLs has been deprecated on `IContainerRuntime`. Please migrate all usage to the `IContainerRuntime.getEntryPoint()` method if trying to obtain the application-specified root object.
493
515
 
494
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
516
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
495
517
 
496
- - container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
518
+ - container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
497
519
 
498
- `IFluidRouter` and `request({ url: "/" })` on `IContainer` and `IDataStore` are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate `getEntryPoint()` or `entryPoint` APIs.
520
+ `IFluidRouter` and `request({ url: "/" })` on `IContainer` and `IDataStore` are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate `getEntryPoint()` or `entryPoint` APIs.
499
521
 
500
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
522
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
501
523
 
502
- - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
524
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
503
525
 
504
- Dependencies on the following Fluid server package have been updated to version 2.0.1:
526
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
505
527
 
506
- - @fluidframework/gitresources: 2.0.1
507
- - @fluidframework/server-kafka-orderer: 2.0.1
508
- - @fluidframework/server-lambdas: 2.0.1
509
- - @fluidframework/server-lambdas-driver: 2.0.1
510
- - @fluidframework/server-local-server: 2.0.1
511
- - @fluidframework/server-memory-orderer: 2.0.1
512
- - @fluidframework/protocol-base: 2.0.1
513
- - @fluidframework/server-routerlicious: 2.0.1
514
- - @fluidframework/server-routerlicious-base: 2.0.1
515
- - @fluidframework/server-services: 2.0.1
516
- - @fluidframework/server-services-client: 2.0.1
517
- - @fluidframework/server-services-core: 2.0.1
518
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
519
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
520
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
521
- - @fluidframework/server-services-shared: 2.0.1
522
- - @fluidframework/server-services-telemetry: 2.0.1
523
- - @fluidframework/server-services-utils: 2.0.1
524
- - @fluidframework/server-test-utils: 2.0.1
525
- - tinylicious: 2.0.1
528
+ - @fluidframework/gitresources: 2.0.1
529
+ - @fluidframework/server-kafka-orderer: 2.0.1
530
+ - @fluidframework/server-lambdas: 2.0.1
531
+ - @fluidframework/server-lambdas-driver: 2.0.1
532
+ - @fluidframework/server-local-server: 2.0.1
533
+ - @fluidframework/server-memory-orderer: 2.0.1
534
+ - @fluidframework/protocol-base: 2.0.1
535
+ - @fluidframework/server-routerlicious: 2.0.1
536
+ - @fluidframework/server-routerlicious-base: 2.0.1
537
+ - @fluidframework/server-services: 2.0.1
538
+ - @fluidframework/server-services-client: 2.0.1
539
+ - @fluidframework/server-services-core: 2.0.1
540
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
541
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
542
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
543
+ - @fluidframework/server-services-shared: 2.0.1
544
+ - @fluidframework/server-services-telemetry: 2.0.1
545
+ - @fluidframework/server-services-utils: 2.0.1
546
+ - @fluidframework/server-test-utils: 2.0.1
547
+ - tinylicious: 2.0.1
526
548
 
527
- - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
549
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
528
550
 
529
- The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
551
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
530
552
 
531
- - `BaseContainerRuntimeFactory`
532
- - `RuntimeFactory`
533
- - `ContainerRuntime` (constructor and `loadRuntime`)
534
- - `FluidDataStoreRuntime`
553
+ - `BaseContainerRuntimeFactory`
554
+ - `RuntimeFactory`
555
+ - `ContainerRuntime` (constructor and `loadRuntime`)
556
+ - `FluidDataStoreRuntime`
535
557
 
536
- See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
537
- See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
558
+ See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
559
+ See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
538
560
 
539
- Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
561
+ Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
540
562
 
541
- For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
563
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
542
564
 
543
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
565
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
544
566
 
545
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
567
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
546
568
 
547
569
  ## 2.0.0-internal.6.4.0
548
570
 
549
571
  ### Minor Changes
550
572
 
551
- - Upcoming: The type of the logger property/param in various APIs will be changing ([#17350](https://github.com/microsoft/FluidFramework/issues/17350)) [27284bcda3](https://github.com/microsoft/FluidFramework/commits/27284bcda3d63cc4306cf76806f8a075db0db60f)
573
+ - Upcoming: The type of the logger property/param in various APIs will be changing ([#17350](https://github.com/microsoft/FluidFramework/issues/17350)) [27284bcda3](https://github.com/microsoft/FluidFramework/commits/27284bcda3d63cc4306cf76806f8a075db0db60f)
552
574
 
553
- - @fluidframework/runtime-definitions
554
- - `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
555
- - @fluidframework/odsp-driver
556
- - `protected OdspDocumentServiceFactoryCore.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
557
- - `protected LocalOdspDocumentServiceFactory.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
575
+ - @fluidframework/runtime-definitions
576
+ - `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
577
+ - @fluidframework/odsp-driver
578
+ - `protected OdspDocumentServiceFactoryCore.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
579
+ - `protected LocalOdspDocumentServiceFactory.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
558
580
 
559
- Additionally, several of @fluidframework/telemetry-utils's exports are being marked as internal and should not be consumed outside of other FF packages.
581
+ Additionally, several of @fluidframework/telemetry-utils's exports are being marked as internal and should not be consumed outside of other FF packages.
560
582
 
561
583
  ## 2.0.0-internal.6.3.0
562
584
 
@@ -566,32 +588,32 @@ Dependency updates only.
566
588
 
567
589
  ### Minor Changes
568
590
 
569
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
570
-
571
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
572
- imported from the **@fluidframework/core-interfaces** package:
573
-
574
- - interface IDisposable
575
- - interface IErrorEvent
576
- - interface IErrorEvent
577
- - interface IEvent
578
- - interface IEventProvider
579
- - interface ILoggingError
580
- - interface ITaggedTelemetryPropertyType
581
- - interface ITelemetryBaseEvent
582
- - interface ITelemetryBaseLogger
583
- - interface ITelemetryErrorEvent
584
- - interface ITelemetryGenericEvent
585
- - interface ITelemetryLogger
586
- - interface ITelemetryPerformanceEvent
587
- - interface ITelemetryProperties
588
- - type ExtendEventProvider
589
- - type IEventThisPlaceHolder
590
- - type IEventTransformer
591
- - type ReplaceIEventThisPlaceHolder
592
- - type ReplaceIEventThisPlaceHolder
593
- - type TelemetryEventCategory
594
- - type TelemetryEventPropertyType
591
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
592
+
593
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
594
+ imported from the **@fluidframework/core-interfaces** package:
595
+
596
+ - interface IDisposable
597
+ - interface IErrorEvent
598
+ - interface IErrorEvent
599
+ - interface IEvent
600
+ - interface IEventProvider
601
+ - interface ILoggingError
602
+ - interface ITaggedTelemetryPropertyType
603
+ - interface ITelemetryBaseEvent
604
+ - interface ITelemetryBaseLogger
605
+ - interface ITelemetryErrorEvent
606
+ - interface ITelemetryGenericEvent
607
+ - interface ITelemetryLogger
608
+ - interface ITelemetryPerformanceEvent
609
+ - interface ITelemetryProperties
610
+ - type ExtendEventProvider
611
+ - type IEventThisPlaceHolder
612
+ - type IEventTransformer
613
+ - type ReplaceIEventThisPlaceHolder
614
+ - type ReplaceIEventThisPlaceHolder
615
+ - type TelemetryEventCategory
616
+ - type TelemetryEventPropertyType
595
617
 
596
618
  ## 2.0.0-internal.6.1.0
597
619
 
@@ -601,85 +623,85 @@ Dependency updates only.
601
623
 
602
624
  ### Major Changes
603
625
 
604
- - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
626
+ - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
605
627
 
606
- The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
628
+ The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
607
629
 
608
- - `IRuntime` and `ContainerRuntime`
609
- - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
610
- - `IFluidDataStoreChannel`
611
- - `MockFluidDataStoreRuntime`
612
- - `TestFluidObject`
630
+ - `IRuntime` and `ContainerRuntime`
631
+ - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
632
+ - `IFluidDataStoreChannel`
633
+ - `MockFluidDataStoreRuntime`
634
+ - `TestFluidObject`
613
635
 
614
- Please migrate usage to the corresponding `entryPoint` or `getEntryPoint()` of the object. The value for these "entryPoint" related APIs is determined from factories (for `IRuntime` and `IFluidDataStoreRuntime`) via the `initializeEntryPoint` method. If no method is passed to the factory, the corresponding `entryPoint` and `getEntryPoint()` will be undefined.
636
+ Please migrate usage to the corresponding `entryPoint` or `getEntryPoint()` of the object. The value for these "entryPoint" related APIs is determined from factories (for `IRuntime` and `IFluidDataStoreRuntime`) via the `initializeEntryPoint` method. If no method is passed to the factory, the corresponding `entryPoint` and `getEntryPoint()` will be undefined.
615
637
 
616
- For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/next/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
638
+ For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/next/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
617
639
 
618
- More information of the migration off the request pattern, and current status of its removal, is documented in [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md).
640
+ More information of the migration off the request pattern, and current status of its removal, is documented in [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md).
619
641
 
620
- - IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
642
+ - IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
621
643
 
622
- - The `request` function taking an arbitrary URL and headers is deprecated
623
- - However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
624
- from the request pattern to using entryPoint.
644
+ - The `request` function taking an arbitrary URL and headers is deprecated
645
+ - However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
646
+ from the request pattern to using entryPoint.
625
647
 
626
- ### About requesting "/" and using entryPoint
648
+ ### About requesting "/" and using entryPoint
627
649
 
628
- Requesting "/" is an idiom some consumers of Fluid Framework have used in their own `requestHandler`s
629
- (passed to `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor).
630
- The ability to access the "root" or "entry point" of a Container / DataStore will presently be provided by
631
- `IContainer.getEntryPoint` and `IDataStore.entryPoint`. However these are still optional, so a temporary workaround is needed.
650
+ Requesting "/" is an idiom some consumers of Fluid Framework have used in their own `requestHandler`s
651
+ (passed to `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor).
652
+ The ability to access the "root" or "entry point" of a Container / DataStore will presently be provided by
653
+ `IContainer.getEntryPoint` and `IDataStore.entryPoint`. However these are still optional, so a temporary workaround is needed.
632
654
 
633
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
634
- for more info on this transition from request to entryPoint.
655
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
656
+ for more info on this transition from request to entryPoint.
635
657
 
636
- ### Present Replacement for requesting an arbitrary URL
658
+ ### Present Replacement for requesting an arbitrary URL
637
659
 
638
- Suppose you have these variables:
660
+ Suppose you have these variables:
639
661
 
640
- ```ts
641
- const container: IContainer = ...;
642
- const dataStore: IDataStore = ...;
643
- ```
662
+ ```ts
663
+ const container: IContainer = ...;
664
+ const dataStore: IDataStore = ...;
665
+ ```
644
666
 
645
- Before:
667
+ Before:
646
668
 
647
- ```ts
648
- container.request({ url, headers });
649
- dataStore.request({ url, headers });
650
- ```
669
+ ```ts
670
+ container.request({ url, headers });
671
+ dataStore.request({ url, headers });
672
+ ```
651
673
 
652
- After:
674
+ After:
653
675
 
654
- ```ts
655
- // Assume there is an interface like this in the app's Container implementation
656
- interface CustomUrlRouter {
657
- doRequestRouting(request: { url: string; headers: Record<string, any>; }): any;
658
- }
676
+ ```ts
677
+ // Assume there is an interface like this in the app's Container implementation
678
+ interface CustomUrlRouter {
679
+ doRequestRouting(request: { url: string; headers: Record<string, any>; }): any;
680
+ }
659
681
 
660
- // Prerequisite: Pass a requestHandler to ContainerRuntime.loadRuntime that routes "/"
661
- // to some root object implementing CustomUrlRouter
662
- const containerRouter: CustomUrlRouter = await container.request({ "/" });
663
- containerRouter.doRequestRouting({ url, headers });
682
+ // Prerequisite: Pass a requestHandler to ContainerRuntime.loadRuntime that routes "/"
683
+ // to some root object implementing CustomUrlRouter
684
+ const containerRouter: CustomUrlRouter = await container.request({ "/" });
685
+ containerRouter.doRequestRouting({ url, headers });
664
686
 
665
- // Prerequisite: Pass a requestHandler to FluidDataStoreRuntime's constructor that routes "/"
666
- // to some root object implementing CustomUrlRouter
667
- const dataStoreRouter: CustomUrlRouter = await dataStore.request({ "/" });
668
- dataStoreRouter.doRequestRouting({ url, headers });
669
- ```
687
+ // Prerequisite: Pass a requestHandler to FluidDataStoreRuntime's constructor that routes "/"
688
+ // to some root object implementing CustomUrlRouter
689
+ const dataStoreRouter: CustomUrlRouter = await dataStore.request({ "/" });
690
+ dataStoreRouter.doRequestRouting({ url, headers });
691
+ ```
670
692
 
671
- ### Looking ahead to using entryPoint
693
+ ### Looking ahead to using entryPoint
672
694
 
673
- In the next major release, `getEntryPoint` and `entryPoint` should be mandatory and available for use.
674
- Then you may replace each call `request({ url: "/" })` with a call to get the entryPoint using these functions/properties.
695
+ In the next major release, `getEntryPoint` and `entryPoint` should be mandatory and available for use.
696
+ Then you may replace each call `request({ url: "/" })` with a call to get the entryPoint using these functions/properties.
675
697
 
676
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
698
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
677
699
 
678
- Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
700
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
679
701
 
680
- - IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
702
+ - IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
681
703
 
682
- IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
704
+ IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
683
705
 
684
706
  ## 2.0.0-internal.5.4.0
685
707
 
@@ -701,14 +723,14 @@ Dependency updates only.
701
723
 
702
724
  ### Major Changes
703
725
 
704
- - GC interfaces removed from runtime-definitions [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
726
+ - GC interfaces removed from runtime-definitions [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
705
727
 
706
- The following interfaces available in `@fluidframework/runtime-definitions` were deprecated in 2.0.0-internal.4.1.0 and are now removed.
728
+ The following interfaces available in `@fluidframework/runtime-definitions` were deprecated in 2.0.0-internal.4.1.0 and are now removed.
707
729
 
708
- - `IGarbageCollectionNodeData`
709
- - `IGarbageCollectionState`
710
- - `IGarbageCollectionSnapshotData`
711
- - `IGarbageCollectionSummaryDetailsLegacy`
730
+ - `IGarbageCollectionNodeData`
731
+ - `IGarbageCollectionState`
732
+ - `IGarbageCollectionSnapshotData`
733
+ - `IGarbageCollectionSummaryDetailsLegacy`
712
734
 
713
735
  ## 2.0.0-internal.4.4.0
714
736
 
@@ -718,11 +740,11 @@ Dependency updates only.
718
740
 
719
741
  ### Minor Changes
720
742
 
721
- - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
743
+ - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
722
744
 
723
- The following interfaces available in `@fluidframework/runtime-definitions` are internal implementation details and have been deprecated for public use. They will be removed in an upcoming release.
745
+ The following interfaces available in `@fluidframework/runtime-definitions` are internal implementation details and have been deprecated for public use. They will be removed in an upcoming release.
724
746
 
725
- - `IGarbageCollectionNodeData`
726
- - `IGarbageCollectionState`
727
- - `IGarbageCollectionSnapshotData`
728
- - `IGarbageCollectionSummaryDetailsLegacy`
747
+ - `IGarbageCollectionNodeData`
748
+ - `IGarbageCollectionState`
749
+ - `IGarbageCollectionSnapshotData`
750
+ - `IGarbageCollectionSummaryDetailsLegacy`