@fluidframework/runtime-definitions 2.30.0 → 2.31.1

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,22 +1,26 @@
1
1
  # @fluidframework/runtime-definitions
2
2
 
3
+ ## 2.31.0
4
+
5
+ Dependency updates only.
6
+
3
7
  ## 2.30.0
4
8
 
5
9
  ### Minor Changes
6
10
 
7
- - The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
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)
8
12
 
9
- `process` has been replaced by `processMessages` from the following:
13
+ `process` has been replaced by `processMessages` from the following:
10
14
 
11
- - `FluidDataStoreRuntime`
12
- - `IDeltaHandler`
13
- - `IFluidDataStoreChannel`
14
- - `MockFluidDataStoreRuntime`
15
- - `MockDeltaConnection`
15
+ - `FluidDataStoreRuntime`
16
+ - `IDeltaHandler`
17
+ - `IFluidDataStoreChannel`
18
+ - `MockFluidDataStoreRuntime`
19
+ - `MockDeltaConnection`
16
20
 
17
- `processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
21
+ `processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
18
22
 
19
- 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.
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.
20
24
 
21
25
  ## 2.23.0
22
26
 
@@ -34,18 +38,18 @@ Dependency updates only.
34
38
 
35
39
  ### Minor Changes
36
40
 
37
- - 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)
38
42
 
39
- `ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
40
- 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.
41
45
 
42
- Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
43
- parameter.
46
+ Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
47
+ parameter.
44
48
 
45
- 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:
46
50
 
47
- - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
48
- - [#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)
49
53
 
50
54
  ## 2.13.0
51
55
 
@@ -59,108 +63,108 @@ Dependency updates only.
59
63
 
60
64
  ### Minor Changes
61
65
 
62
- - 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)
63
67
 
64
- #### Overview
68
+ #### Overview
65
69
 
66
- 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.
67
71
 
68
- 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.
69
73
 
70
- 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.
71
75
 
72
- 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.
73
77
 
74
- 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.
75
79
 
76
- #### Key Benefits
80
+ #### Key Benefits
77
81
 
78
- - **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
79
- - **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.
80
84
 
81
- #### Use Cases
85
+ #### Use Cases
82
86
 
83
- ##### Example 1: Creating a Child Datastore
87
+ ##### Example 1: Creating a Child Datastore
84
88
 
85
- 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.
86
90
 
87
- ```typescript
88
- /**
89
- * This is the parent DataObject, which is also a datastore. It has a
90
- * synchronous method to create child datastores, which could be called
91
- * in response to synchronous user input, like a key press.
92
- */
93
- class ParentDataObject extends DataObject {
94
- createChild(name: string): ChildDataStore {
95
- assert(
96
- this.context.createChildDataStore !== undefined,
97
- "this.context.createChildDataStore",
98
- );
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
+ );
99
103
 
100
- const { entrypoint } = this.context.createChildDataStore(
101
- ChildDataStoreFactory.instance,
102
- );
103
- const dir = this.root.createSubDirectory("children");
104
- dir.set(name, entrypoint.handle);
105
- 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);
106
110
 
107
- return entrypoint;
108
- }
111
+ return entrypoint;
112
+ }
109
113
 
110
- getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
111
- const dir = this.root.getSubDirectory("children");
112
- return dir?.get<IFluidHandle<ChildDataStore>>(name);
113
- }
114
+ getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
115
+ const dir = this.root.getSubDirectory("children");
116
+ return dir?.get<IFluidHandle<ChildDataStore>>(name);
114
117
  }
115
- ```
118
+ }
119
+ ```
116
120
 
117
- For a complete example see the following test:
118
- 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
119
123
 
120
124
  ## 2.10.0
121
125
 
122
126
  ### Minor Changes
123
127
 
124
- - 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)
125
129
 
126
- 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.
127
131
 
128
- - "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)
129
133
 
130
- - `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
131
- - `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.
132
136
 
133
- - 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)
134
138
 
135
- 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`.
136
140
 
137
- `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.
138
142
 
139
- 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.
140
144
 
141
- #### Alternatives
145
+ #### Alternatives
142
146
 
143
- - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
144
- - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
145
- - 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`.
146
150
 
147
151
  ## 2.5.0
148
152
 
149
153
  ### Minor Changes
150
154
 
151
- - 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)
152
156
 
153
- 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.
154
158
 
155
- 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
156
- 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.
157
161
 
158
- - 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)
159
163
 
160
- The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now
161
- 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.
162
166
 
163
- 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`.
164
168
 
165
169
  ## 2.4.0
166
170
 
@@ -174,27 +178,27 @@ Dependency updates only.
174
178
 
175
179
  ### Minor Changes
176
180
 
177
- - 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)
178
182
 
179
- These properties `gcThrowOnTombstoneUsage` and `gcTombstoneEnforcementAllowed` have been deprecated in
180
- `IFluidParentContext` and `ContainerRuntime`. These were included in certain garbage collection (GC) telemetry to
181
- identify whether the corresponding features have been enabled. These features are now enabled by default and this
182
- 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.
183
187
 
184
- Also, the following Garbage collection runtime options and configs have been removed. They were added during GC feature
185
- development to roll out and control functionalities. The corresponding features are on by default and can no longer be
186
- 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:
187
191
 
188
- GC runtime options removed:
192
+ GC runtime options removed:
189
193
 
190
- - `gcDisableThrowOnTombstoneLoad`
191
- - `disableDataStoreSweep`
194
+ - `gcDisableThrowOnTombstoneLoad`
195
+ - `disableDataStoreSweep`
192
196
 
193
- GC configs removed:
197
+ GC configs removed:
194
198
 
195
- - `"Fluid.GarbageCollection.DisableTombstone"`
196
- - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
197
- - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
199
+ - `"Fluid.GarbageCollection.DisableTombstone"`
200
+ - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
201
+ - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
198
202
 
199
203
  ## 2.1.0
200
204
 
@@ -204,269 +208,269 @@ Dependency updates only.
204
208
 
205
209
  ### Minor Changes
206
210
 
207
- - 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)
208
212
 
209
- 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`.
210
214
 
211
- 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.
212
216
 
213
- 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".
214
218
 
215
- 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.
216
- 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:
217
221
 
218
- - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
219
- - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
220
- `ISharedObject`
221
- - `IChannel`
222
- - `IChannelAttributes`
223
- - `IChannelFactory`
224
- - `IExperimentalIncrementalSummaryContext`
225
- - `IGarbageCollectionData`
226
- - `ISummaryStats`
227
- - `ISummaryTreeWithStats`
228
- - `ITelemetryContext`
229
- - `IDeltaManagerErased`
230
- - `IFluidDataStoreRuntimeEvents`
231
- - `IFluidHandleContext`
232
- - `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`
233
237
 
234
- Removed APIs:
238
+ Removed APIs:
235
239
 
236
- - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
237
- - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
238
- - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
239
- -
240
+ - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
241
+ - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
242
+ - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
243
+ -
240
244
 
241
- - 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)
242
246
 
243
- Update package implementations to use TypeScript 5.4.5.
247
+ Update package implementations to use TypeScript 5.4.5.
244
248
 
245
- - 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)
246
250
 
247
- 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`.
248
252
 
249
- - 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)
250
254
 
251
- Users of `IInboundSignalMessage` will need to import it from the `/legacy` scope and should not mutate it.
252
- 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.
253
257
 
254
258
  ## 2.0.0-rc.4.0.0
255
259
 
256
260
  ### Minor Changes
257
261
 
258
- - 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)
259
263
 
260
- Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
261
- 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`.
262
266
 
263
- External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
264
- 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.
265
- 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.
266
270
 
267
271
  ## 2.0.0-rc.3.0.0
268
272
 
269
273
  ### Major Changes
270
274
 
271
- - 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)
272
276
 
273
- 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
274
278
 
275
- IFluidDataStoreContext no longer raises events. Instead, it will call IFluidDataStoreChannel.setAttachState().
276
- If you are implementing data store runtme, please implement setAttachState() API and rely on this flow.
277
- If you are not data store developer, and were reaching out to context, then please stop doing it - the only purpose of IFluidDataStoreContext is
278
- communication with IFluidDataStoreChannel. Context object should not be exposed by impplementers of IFluidDataStoreChannel.
279
- 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.
280
284
 
281
- - 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)
282
286
 
283
- Fluid Framework packages have been updated to use the [package.json "exports"
284
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
285
- 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.
286
290
 
287
- 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:
288
292
 
289
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
290
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
293
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
294
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
291
295
 
292
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
293
- for use with modern versions of Node.js _and_ Bundlers.
294
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
295
- 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.
296
300
 
297
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
298
- 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.**
299
303
 
300
304
  ## 2.0.0-rc.2.0.0
301
305
 
302
306
  ### Minor Changes
303
307
 
304
- - 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)
305
309
 
306
- ITelemetryContext is to be used only for instrumentation, not for attempting to read the values already set by other code.
307
- This is important because this _public_ interface may soon use FF's _should-be internal_ logging instrumentation types,
308
- which we reserve the right to expand (to support richer instrumentation).
309
- In that case, we would not be able to do so in a minor release if they're used as an "out" type
310
- 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`.
311
315
 
312
- There is no replacement given in terms of immediate programmatic access to this data.
313
- 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:
314
318
 
315
- - Some code creates a concrete implementation of `ITelemetryContext` and passes it around
316
- - Callers use the "write" functions on the interface to build up the context
317
- - The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
318
- and passes the result to a logger
319
- - 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)
320
324
 
321
- - 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)
322
326
 
323
- ### Key changes
327
+ ### Key changes
324
328
 
325
- 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.
326
- 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)
327
- 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)
328
332
 
329
- ### Implementation details
333
+ ### Implementation details
330
334
 
331
- 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).
332
336
 
333
- ### Breaking changes
337
+ ### Breaking changes
334
338
 
335
- 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).
336
340
 
337
- ### Backward compatibility considerations
341
+ ### Backward compatibility considerations
338
342
 
339
- 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.
340
- 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".
341
345
 
342
- ### Minor changes
346
+ ### Minor changes
343
347
 
344
- 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
345
- 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.
346
350
 
347
- - 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)
348
352
 
349
- 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.
350
354
 
351
- - 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)
352
356
 
353
- `FlushMode.Immediate` is deprecated and will be removed in the next major version. It should not be used. Use
354
- `FlushMode.TurnBased` instead, which is the default. See
355
- <https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/opLifecycle#how-batching-works>
356
- 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
357
361
 
358
- - 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)
359
363
 
360
- 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.
361
365
 
362
- - 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)
363
367
 
364
- This change should be a no-op for consumers, as these types were almost certainly unused and are also available in the
365
- 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>).
366
370
 
367
- - 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)
368
372
 
369
- Added `containerMetadata` prop on IContainer interface.
373
+ Added `containerMetadata` prop on IContainer interface.
370
374
 
371
- - 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)
372
376
 
373
- 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.
374
378
 
375
379
  ## 2.0.0-rc.1.0.0
376
380
 
377
381
  ### Minor Changes
378
382
 
379
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
380
-
381
- 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)
382
-
383
- - @fluidframework/gitresources
384
- - @fluidframework/server-kafka-orderer
385
- - @fluidframework/server-lambdas
386
- - @fluidframework/server-lambdas-driver
387
- - @fluidframework/server-local-server
388
- - @fluidframework/server-memory-orderer
389
- - @fluidframework/protocol-base
390
- - @fluidframework/server-routerlicious
391
- - @fluidframework/server-routerlicious-base
392
- - @fluidframework/server-services
393
- - @fluidframework/server-services-client
394
- - @fluidframework/server-services-core
395
- - @fluidframework/server-services-ordering-kafkanode
396
- - @fluidframework/server-services-ordering-rdkafka
397
- - @fluidframework/server-services-ordering-zookeeper
398
- - @fluidframework/server-services-shared
399
- - @fluidframework/server-services-telemetry
400
- - @fluidframework/server-services-utils
401
- - @fluidframework/server-test-utils
402
- - tinylicious
403
-
404
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
405
-
406
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
407
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
408
-
409
- - garbage collection: Deprecate addedGCOutboundReference ([#18456](https://github.com/microsoft/FluidFramework/issues/18456)) [0619cf8a41](https://github.com/microsoft/FluidFramework/commits/0619cf8a4197bee6d5ac56cac05db92008939817)
410
-
411
- The `addedGCOutboundReference` property on IDeltaConnection, IFluidDataStoreContext, and MockFluidDataStoreRuntime is
412
- now deprecated.
413
-
414
- The responsibility of adding outbound references (for Garbage Collection tracking) is moving up to the ContainerRuntime.
415
- Previously, DDSes themselves were responsible to detect and report added outbound references (via a handle being stored),
416
- so these interfaces (and corresponding mock) needed to plumb that information up to the ContainerRuntime layer where GC sits.
417
- 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.
418
422
 
419
423
  ## 2.0.0-internal.8.0.0
420
424
 
421
425
  ### Major Changes
422
426
 
423
- - 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)
424
428
 
425
- The `IContainerRuntime.resolveHandle(...)` method and the `IContainerRuntimeBase.IFluidHandleContext` property have been
426
- 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.
427
431
 
428
- See
429
- [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
430
- 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.
431
435
 
432
- - 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)
433
437
 
434
- 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:
435
439
 
436
- - `ContainerRuntime`
437
- - `IRuntime`
438
- - `IContainerRuntimeBase`
440
+ - `ContainerRuntime`
441
+ - `IRuntime`
442
+ - `IContainerRuntimeBase`
439
443
 
440
- 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.
441
445
 
442
- 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.
443
447
 
444
- - 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)
445
449
 
446
- The `IFluidRouter` property has been removed from `IFluidDataStoreChannel` and `FluidDataStoreRuntime`. Please migrate
447
- 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.
448
452
 
449
- See
450
- [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
451
- 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.
452
456
 
453
- - 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)
454
458
 
455
- 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.
456
460
 
457
- 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.
458
462
 
459
463
  ## 2.0.0-internal.7.4.0
460
464
 
461
465
  ### Minor Changes
462
466
 
463
- - 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)
464
468
 
465
- `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
466
- 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.
467
471
 
468
- The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
469
- `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.
470
474
 
471
475
  ## 2.0.0-internal.7.3.0
472
476
 
@@ -484,97 +488,97 @@ Dependency updates only.
484
488
 
485
489
  ### Major Changes
486
490
 
487
- - 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)
488
492
 
489
- This included the following changes from the protocol-definitions release:
493
+ This included the following changes from the protocol-definitions release:
490
494
 
491
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
492
- submitted by clients to the server and the resulting signals sent from the server to clients.
493
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
494
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
495
- ISignalMessageBase interface that contains common members.
496
- - 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.
497
501
 
498
- - 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)
499
503
 
500
- `bindToContext` has been removed from `FluidDataStoreRuntime`, `IFluidDataStoreContext` and
501
- `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.
502
506
 
503
- - 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)
504
508
 
505
- 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:
506
510
 
507
- - `IContainerRuntime`
508
- - `IContainerRuntimeBase`
511
+ - `IContainerRuntime`
512
+ - `IContainerRuntimeBase`
509
513
 
510
- 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.
511
515
 
512
- 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.
513
517
 
514
- - 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)
515
519
 
516
- `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.
517
521
 
518
- 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.
519
523
 
520
- - 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)
521
525
 
522
- 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:
523
527
 
524
- - @fluidframework/gitresources: 2.0.1
525
- - @fluidframework/server-kafka-orderer: 2.0.1
526
- - @fluidframework/server-lambdas: 2.0.1
527
- - @fluidframework/server-lambdas-driver: 2.0.1
528
- - @fluidframework/server-local-server: 2.0.1
529
- - @fluidframework/server-memory-orderer: 2.0.1
530
- - @fluidframework/protocol-base: 2.0.1
531
- - @fluidframework/server-routerlicious: 2.0.1
532
- - @fluidframework/server-routerlicious-base: 2.0.1
533
- - @fluidframework/server-services: 2.0.1
534
- - @fluidframework/server-services-client: 2.0.1
535
- - @fluidframework/server-services-core: 2.0.1
536
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
537
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
538
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
539
- - @fluidframework/server-services-shared: 2.0.1
540
- - @fluidframework/server-services-telemetry: 2.0.1
541
- - @fluidframework/server-services-utils: 2.0.1
542
- - @fluidframework/server-test-utils: 2.0.1
543
- - 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
544
548
 
545
- - 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)
546
550
 
547
- 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:
548
552
 
549
- - `BaseContainerRuntimeFactory`
550
- - `RuntimeFactory`
551
- - `ContainerRuntime` (constructor and `loadRuntime`)
552
- - `FluidDataStoreRuntime`
553
+ - `BaseContainerRuntimeFactory`
554
+ - `RuntimeFactory`
555
+ - `ContainerRuntime` (constructor and `loadRuntime`)
556
+ - `FluidDataStoreRuntime`
553
557
 
554
- 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.
555
- 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.
556
560
 
557
- 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.
558
562
 
559
- 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)
560
564
 
561
- - 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)
562
566
 
563
- 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.
564
568
 
565
569
  ## 2.0.0-internal.6.4.0
566
570
 
567
571
  ### Minor Changes
568
572
 
569
- - 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)
570
574
 
571
- - @fluidframework/runtime-definitions
572
- - `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
573
- - @fluidframework/odsp-driver
574
- - `protected OdspDocumentServiceFactoryCore.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
575
- - `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`
576
580
 
577
- 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.
578
582
 
579
583
  ## 2.0.0-internal.6.3.0
580
584
 
@@ -584,32 +588,32 @@ Dependency updates only.
584
588
 
585
589
  ### Minor Changes
586
590
 
587
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
588
-
589
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
590
- imported from the **@fluidframework/core-interfaces** package:
591
-
592
- - interface IDisposable
593
- - interface IErrorEvent
594
- - interface IErrorEvent
595
- - interface IEvent
596
- - interface IEventProvider
597
- - interface ILoggingError
598
- - interface ITaggedTelemetryPropertyType
599
- - interface ITelemetryBaseEvent
600
- - interface ITelemetryBaseLogger
601
- - interface ITelemetryErrorEvent
602
- - interface ITelemetryGenericEvent
603
- - interface ITelemetryLogger
604
- - interface ITelemetryPerformanceEvent
605
- - interface ITelemetryProperties
606
- - type ExtendEventProvider
607
- - type IEventThisPlaceHolder
608
- - type IEventTransformer
609
- - type ReplaceIEventThisPlaceHolder
610
- - type ReplaceIEventThisPlaceHolder
611
- - type TelemetryEventCategory
612
- - 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
613
617
 
614
618
  ## 2.0.0-internal.6.1.0
615
619
 
@@ -619,85 +623,85 @@ Dependency updates only.
619
623
 
620
624
  ### Major Changes
621
625
 
622
- - 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)
623
627
 
624
- 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:
625
629
 
626
- - `IRuntime` and `ContainerRuntime`
627
- - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
628
- - `IFluidDataStoreChannel`
629
- - `MockFluidDataStoreRuntime`
630
- - `TestFluidObject`
630
+ - `IRuntime` and `ContainerRuntime`
631
+ - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
632
+ - `IFluidDataStoreChannel`
633
+ - `MockFluidDataStoreRuntime`
634
+ - `TestFluidObject`
631
635
 
632
- 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.
633
637
 
634
- 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).
635
639
 
636
- 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).
637
641
 
638
- - 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)
639
643
 
640
- - The `request` function taking an arbitrary URL and headers is deprecated
641
- - However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
642
- 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.
643
647
 
644
- ### About requesting "/" and using entryPoint
648
+ ### About requesting "/" and using entryPoint
645
649
 
646
- Requesting "/" is an idiom some consumers of Fluid Framework have used in their own `requestHandler`s
647
- (passed to `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor).
648
- The ability to access the "root" or "entry point" of a Container / DataStore will presently be provided by
649
- `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.
650
654
 
651
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
652
- 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.
653
657
 
654
- ### Present Replacement for requesting an arbitrary URL
658
+ ### Present Replacement for requesting an arbitrary URL
655
659
 
656
- Suppose you have these variables:
660
+ Suppose you have these variables:
657
661
 
658
- ```ts
659
- const container: IContainer = ...;
660
- const dataStore: IDataStore = ...;
661
- ```
662
+ ```ts
663
+ const container: IContainer = ...;
664
+ const dataStore: IDataStore = ...;
665
+ ```
662
666
 
663
- Before:
667
+ Before:
664
668
 
665
- ```ts
666
- container.request({ url, headers });
667
- dataStore.request({ url, headers });
668
- ```
669
+ ```ts
670
+ container.request({ url, headers });
671
+ dataStore.request({ url, headers });
672
+ ```
669
673
 
670
- After:
674
+ After:
671
675
 
672
- ```ts
673
- // Assume there is an interface like this in the app's Container implementation
674
- interface CustomUrlRouter {
675
- doRequestRouting(request: { url: string; headers: Record<string, any>; }): any;
676
- }
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
+ }
677
681
 
678
- // Prerequisite: Pass a requestHandler to ContainerRuntime.loadRuntime that routes "/"
679
- // to some root object implementing CustomUrlRouter
680
- const containerRouter: CustomUrlRouter = await container.request({ "/" });
681
- 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 });
682
686
 
683
- // Prerequisite: Pass a requestHandler to FluidDataStoreRuntime's constructor that routes "/"
684
- // to some root object implementing CustomUrlRouter
685
- const dataStoreRouter: CustomUrlRouter = await dataStore.request({ "/" });
686
- dataStoreRouter.doRequestRouting({ url, headers });
687
- ```
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
+ ```
688
692
 
689
- ### Looking ahead to using entryPoint
693
+ ### Looking ahead to using entryPoint
690
694
 
691
- In the next major release, `getEntryPoint` and `entryPoint` should be mandatory and available for use.
692
- 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.
693
697
 
694
- - 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)
695
699
 
696
- 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.
697
701
 
698
- - 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)
699
703
 
700
- 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.
701
705
 
702
706
  ## 2.0.0-internal.5.4.0
703
707
 
@@ -719,14 +723,14 @@ Dependency updates only.
719
723
 
720
724
  ### Major Changes
721
725
 
722
- - 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)
723
727
 
724
- 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.
725
729
 
726
- - `IGarbageCollectionNodeData`
727
- - `IGarbageCollectionState`
728
- - `IGarbageCollectionSnapshotData`
729
- - `IGarbageCollectionSummaryDetailsLegacy`
730
+ - `IGarbageCollectionNodeData`
731
+ - `IGarbageCollectionState`
732
+ - `IGarbageCollectionSnapshotData`
733
+ - `IGarbageCollectionSummaryDetailsLegacy`
730
734
 
731
735
  ## 2.0.0-internal.4.4.0
732
736
 
@@ -736,11 +740,11 @@ Dependency updates only.
736
740
 
737
741
  ### Minor Changes
738
742
 
739
- - 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)
740
744
 
741
- 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.
742
746
 
743
- - `IGarbageCollectionNodeData`
744
- - `IGarbageCollectionState`
745
- - `IGarbageCollectionSnapshotData`
746
- - `IGarbageCollectionSummaryDetailsLegacy`
747
+ - `IGarbageCollectionNodeData`
748
+ - `IGarbageCollectionState`
749
+ - `IGarbageCollectionSnapshotData`
750
+ - `IGarbageCollectionSummaryDetailsLegacy`