@fluidframework/container-runtime 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.
Files changed (120) hide show
  1. package/CHANGELOG.md +588 -584
  2. package/dist/channelCollection.js +1 -1
  3. package/dist/channelCollection.js.map +1 -1
  4. package/dist/containerRuntime.d.ts +19 -4
  5. package/dist/containerRuntime.d.ts.map +1 -1
  6. package/dist/containerRuntime.js +100 -74
  7. package/dist/containerRuntime.js.map +1 -1
  8. package/dist/dataStoreContext.d.ts +6 -1
  9. package/dist/dataStoreContext.d.ts.map +1 -1
  10. package/dist/dataStoreContext.js +12 -1
  11. package/dist/dataStoreContext.js.map +1 -1
  12. package/dist/gc/gcTelemetry.js +2 -2
  13. package/dist/gc/gcTelemetry.js.map +1 -1
  14. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  15. package/dist/opLifecycle/batchManager.js +16 -5
  16. package/dist/opLifecycle/batchManager.js.map +1 -1
  17. package/dist/opLifecycle/outbox.d.ts +12 -3
  18. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  19. package/dist/opLifecycle/outbox.js +41 -21
  20. package/dist/opLifecycle/outbox.js.map +1 -1
  21. package/dist/packageVersion.d.ts +1 -1
  22. package/dist/packageVersion.js +1 -1
  23. package/dist/packageVersion.js.map +1 -1
  24. package/dist/pendingStateManager.d.ts +1 -0
  25. package/dist/pendingStateManager.d.ts.map +1 -1
  26. package/dist/pendingStateManager.js +12 -2
  27. package/dist/pendingStateManager.js.map +1 -1
  28. package/dist/runCounter.d.ts +11 -0
  29. package/dist/runCounter.d.ts.map +1 -0
  30. package/dist/runCounter.js +43 -0
  31. package/dist/runCounter.js.map +1 -0
  32. package/dist/runtimeLayerCompatState.d.ts +51 -0
  33. package/dist/runtimeLayerCompatState.d.ts.map +1 -0
  34. package/dist/runtimeLayerCompatState.js +123 -0
  35. package/dist/runtimeLayerCompatState.js.map +1 -0
  36. package/dist/summary/summarizerNode/summarizerNode.d.ts +2 -2
  37. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  38. package/dist/summary/summarizerNode/summarizerNode.js +4 -4
  39. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  40. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -18
  41. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  42. package/dist/summary/summarizerNode/summarizerNodeUtils.js +0 -27
  43. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  44. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  45. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  46. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -2
  47. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  48. package/lib/channelCollection.js +1 -1
  49. package/lib/channelCollection.js.map +1 -1
  50. package/lib/containerRuntime.d.ts +19 -4
  51. package/lib/containerRuntime.d.ts.map +1 -1
  52. package/lib/containerRuntime.js +100 -74
  53. package/lib/containerRuntime.js.map +1 -1
  54. package/lib/dataStoreContext.d.ts +6 -1
  55. package/lib/dataStoreContext.d.ts.map +1 -1
  56. package/lib/dataStoreContext.js +12 -1
  57. package/lib/dataStoreContext.js.map +1 -1
  58. package/lib/gc/gcTelemetry.js +2 -2
  59. package/lib/gc/gcTelemetry.js.map +1 -1
  60. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  61. package/lib/opLifecycle/batchManager.js +16 -5
  62. package/lib/opLifecycle/batchManager.js.map +1 -1
  63. package/lib/opLifecycle/outbox.d.ts +12 -3
  64. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  65. package/lib/opLifecycle/outbox.js +43 -23
  66. package/lib/opLifecycle/outbox.js.map +1 -1
  67. package/lib/packageVersion.d.ts +1 -1
  68. package/lib/packageVersion.js +1 -1
  69. package/lib/packageVersion.js.map +1 -1
  70. package/lib/pendingStateManager.d.ts +1 -0
  71. package/lib/pendingStateManager.d.ts.map +1 -1
  72. package/lib/pendingStateManager.js +12 -2
  73. package/lib/pendingStateManager.js.map +1 -1
  74. package/lib/runCounter.d.ts +11 -0
  75. package/lib/runCounter.d.ts.map +1 -0
  76. package/lib/runCounter.js +39 -0
  77. package/lib/runCounter.js.map +1 -0
  78. package/lib/runtimeLayerCompatState.d.ts +51 -0
  79. package/lib/runtimeLayerCompatState.d.ts.map +1 -0
  80. package/lib/runtimeLayerCompatState.js +118 -0
  81. package/lib/runtimeLayerCompatState.js.map +1 -0
  82. package/lib/summary/summarizerNode/summarizerNode.d.ts +2 -2
  83. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  84. package/lib/summary/summarizerNode/summarizerNode.js +5 -5
  85. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  86. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -18
  87. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  88. package/lib/summary/summarizerNode/summarizerNodeUtils.js +1 -25
  89. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  90. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
  91. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  92. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -2
  93. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  94. package/lib/tsdoc-metadata.json +1 -1
  95. package/package.json +20 -30
  96. package/src/channelCollection.ts +1 -1
  97. package/src/containerRuntime.ts +148 -100
  98. package/src/dataStoreContext.ts +22 -1
  99. package/src/gc/{garbageCollection.md → README.md} +17 -19
  100. package/src/gc/gcTelemetry.ts +2 -2
  101. package/src/opLifecycle/batchManager.ts +20 -6
  102. package/src/opLifecycle/outbox.ts +64 -24
  103. package/src/packageVersion.ts +1 -1
  104. package/src/pendingStateManager.ts +18 -2
  105. package/src/runCounter.ts +25 -0
  106. package/src/runtimeLayerCompatState.ts +143 -0
  107. package/src/summary/summarizerNode/summarizerNode.ts +6 -5
  108. package/src/summary/summarizerNode/summarizerNodeUtils.ts +1 -27
  109. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +2 -3
  110. package/tsconfig.json +1 -0
  111. package/dist/layerCompatState.d.ts +0 -19
  112. package/dist/layerCompatState.d.ts.map +0 -1
  113. package/dist/layerCompatState.js +0 -64
  114. package/dist/layerCompatState.js.map +0 -1
  115. package/lib/layerCompatState.d.ts +0 -19
  116. package/lib/layerCompatState.d.ts.map +0 -1
  117. package/lib/layerCompatState.js +0 -60
  118. package/lib/layerCompatState.js.map +0 -1
  119. package/prettier.config.cjs +0 -8
  120. package/src/layerCompatState.ts +0 -75
package/CHANGELOG.md CHANGED
@@ -1,56 +1,60 @@
1
1
  # @fluidframework/container-runtime
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
- - Unnecessary exports are now removed from container-runtime ([#23981](https://github.com/microsoft/FluidFramework/pull/23981)) [74896b92e8](https://github.com/microsoft/FluidFramework/commit/74896b92e8878911e9e4874a8ac45e659a293110)
8
-
9
- The following types in the @fluidframework/container-runtime are now removed. These types are unnecessary for external users of this package.
10
-
11
- - currentDocumentVersionSchema
12
- - DeletedResponseHeaderKey
13
- - DocumentSchemaValueType
14
- - DocumentsSchemaController
15
- - GCFeatureMatrix
16
- - GCNodeType
17
- - GCVersion
18
- - IBlobManagerLoadInfo
19
- - ICancellableSummarizerController
20
- - ICancellationToken
21
- - IConnectableRuntime
22
- - IContainerRuntimeMetadata
23
- - ICreateContainerMetadata
24
- - IDocumentSchema
25
- - IDocumentSchemaChangeMessage
26
- - IDocumentSchemaCurrent
27
- - IDocumentSchemaFeatures
28
- - IGCMetadata
29
- - IGCStats
30
- - IMarkPhaseStats
31
- - IRefreshSummaryAckOptions
32
- - ISerializedElection
33
- - ISubmitSummaryOptions
34
- - ISummarizerInternalsProvider
35
- - ISummarizerRuntime
36
- - ISummaryCancellationToken
37
- - ISummaryMetadataMessage
38
- - ISweepPhaseStats
39
- - Summarizer
40
-
41
- - The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
42
-
43
- `process` has been replaced by `processMessages` from the following:
44
-
45
- - `FluidDataStoreRuntime`
46
- - `IDeltaHandler`
47
- - `IFluidDataStoreChannel`
48
- - `MockFluidDataStoreRuntime`
49
- - `MockDeltaConnection`
50
-
51
- `processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
52
-
53
- 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.
11
+ - Unnecessary exports are now removed from container-runtime ([#23981](https://github.com/microsoft/FluidFramework/pull/23981)) [74896b92e8](https://github.com/microsoft/FluidFramework/commit/74896b92e8878911e9e4874a8ac45e659a293110)
12
+
13
+ The following types in the @fluidframework/container-runtime are now removed. These types are unnecessary for external users of this package.
14
+
15
+ - currentDocumentVersionSchema
16
+ - DeletedResponseHeaderKey
17
+ - DocumentSchemaValueType
18
+ - DocumentsSchemaController
19
+ - GCFeatureMatrix
20
+ - GCNodeType
21
+ - GCVersion
22
+ - IBlobManagerLoadInfo
23
+ - ICancellableSummarizerController
24
+ - ICancellationToken
25
+ - IConnectableRuntime
26
+ - IContainerRuntimeMetadata
27
+ - ICreateContainerMetadata
28
+ - IDocumentSchema
29
+ - IDocumentSchemaChangeMessage
30
+ - IDocumentSchemaCurrent
31
+ - IDocumentSchemaFeatures
32
+ - IGCMetadata
33
+ - IGCStats
34
+ - IMarkPhaseStats
35
+ - IRefreshSummaryAckOptions
36
+ - ISerializedElection
37
+ - ISubmitSummaryOptions
38
+ - ISummarizerInternalsProvider
39
+ - ISummarizerRuntime
40
+ - ISummaryCancellationToken
41
+ - ISummaryMetadataMessage
42
+ - ISweepPhaseStats
43
+ - Summarizer
44
+
45
+ - The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
46
+
47
+ `process` has been replaced by `processMessages` from the following:
48
+
49
+ - `FluidDataStoreRuntime`
50
+ - `IDeltaHandler`
51
+ - `IFluidDataStoreChannel`
52
+ - `MockFluidDataStoreRuntime`
53
+ - `MockDeltaConnection`
54
+
55
+ `processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
56
+
57
+ 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.
54
58
 
55
59
  ## 2.23.0
56
60
 
@@ -64,85 +68,85 @@ Dependency updates only.
64
68
 
65
69
  ### Minor Changes
66
70
 
67
- - Many unnecessary exports have been deprecated in the container-runtime package ([#23607](https://github.com/microsoft/FluidFramework/pull/23607)) [3da5b427ef](https://github.com/microsoft/FluidFramework/commit/3da5b427ef406799abade04196e43bb6d66d898d)
68
-
69
- The following types in the `@fluidframework/container-runtime` package are now deprecated. These types are unnecessary for external users of this package.
70
-
71
- - currentDocumentVersionSchema
72
- - DeletedResponseHeaderKey
73
- - DocumentSchemaValueType
74
- - DocumentsSchemaController
75
- - GCFeatureMatrix
76
- - GCNodeType
77
- - GCVersion
78
- - IBlobManagerLoadInfo
79
- - ICancellableSummarizerController
80
- - ICancellationToken
81
- - IConnectableRuntime
82
- - IContainerRuntimeMetadata
83
- - ICreateContainerMetadata
84
- - IDocumentSchema
85
- - IDocumentSchemaChangeMessage
86
- - IDocumentSchemaCurrent
87
- - IDocumentSchemaFeatures
88
- - IGCMetadata
89
- - IGCStats
90
- - IMarkPhaseStats
91
- - IRefreshSummaryAckOptions
92
- - ISerializedElection
93
- - ISubmitSummaryOptions
94
- - ISummarizerInternalsProvider
95
- - ISummarizerRuntime
96
- - ISummaryCancellationToken
97
- - ISummaryMetadataMessage
98
- - ISweepPhaseStats
99
- - Summarizer
71
+ - Many unnecessary exports have been deprecated in the container-runtime package ([#23607](https://github.com/microsoft/FluidFramework/pull/23607)) [3da5b427ef](https://github.com/microsoft/FluidFramework/commit/3da5b427ef406799abade04196e43bb6d66d898d)
72
+
73
+ The following types in the `@fluidframework/container-runtime` package are now deprecated. These types are unnecessary for external users of this package.
74
+
75
+ - currentDocumentVersionSchema
76
+ - DeletedResponseHeaderKey
77
+ - DocumentSchemaValueType
78
+ - DocumentsSchemaController
79
+ - GCFeatureMatrix
80
+ - GCNodeType
81
+ - GCVersion
82
+ - IBlobManagerLoadInfo
83
+ - ICancellableSummarizerController
84
+ - ICancellationToken
85
+ - IConnectableRuntime
86
+ - IContainerRuntimeMetadata
87
+ - ICreateContainerMetadata
88
+ - IDocumentSchema
89
+ - IDocumentSchemaChangeMessage
90
+ - IDocumentSchemaCurrent
91
+ - IDocumentSchemaFeatures
92
+ - IGCMetadata
93
+ - IGCStats
94
+ - IMarkPhaseStats
95
+ - IRefreshSummaryAckOptions
96
+ - ISerializedElection
97
+ - ISubmitSummaryOptions
98
+ - ISummarizerInternalsProvider
99
+ - ISummarizerRuntime
100
+ - ISummaryCancellationToken
101
+ - ISummaryMetadataMessage
102
+ - ISweepPhaseStats
103
+ - Summarizer
100
104
 
101
105
  ## 2.20.0
102
106
 
103
107
  ### Minor Changes
104
108
 
105
- - The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
109
+ - The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
106
110
 
107
- The `ContainerRuntime` class was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331) and has been removed.
108
- Use `IContainerRuntime` to replace type usages and use the free function `loadContainerRuntime` to replace usages of the static method `ContainerRuntime.loadRuntime`.
111
+ The `ContainerRuntime` class was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331) and has been removed.
112
+ Use `IContainerRuntime` to replace type usages and use the free function `loadContainerRuntime` to replace usages of the static method `ContainerRuntime.loadRuntime`.
109
113
 
110
- See the [deprecation
111
- announcement](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331)
112
- for more details about how to update existing code.
114
+ See the [deprecation
115
+ announcement](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331)
116
+ for more details about how to update existing code.
113
117
 
114
- - The IContainerRuntimeOptions.flushMode property has been removed ([#23337](https://github.com/microsoft/FluidFramework/pull/23337)) [fe8279c774](https://github.com/microsoft/FluidFramework/commit/fe8279c774fcc3c4805b49ce4f64d0e03a64c39b)
118
+ - The IContainerRuntimeOptions.flushMode property has been removed ([#23337](https://github.com/microsoft/FluidFramework/pull/23337)) [fe8279c774](https://github.com/microsoft/FluidFramework/commit/fe8279c774fcc3c4805b49ce4f64d0e03a64c39b)
115
119
 
116
- The `IContainerRuntimeOptions.flushMode` property was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-icontainerruntimeoptionsflushmode-is-now-deprecated-23288) and has been removed.
120
+ The `IContainerRuntimeOptions.flushMode` property was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-icontainerruntimeoptionsflushmode-is-now-deprecated-23288) and has been removed.
117
121
 
118
- Only the default value, `FlushMode.TurnBased`, is supported when calling `ContainerRuntime.loadRuntime` directly,
119
- so there's no need for consumers to pass this option in.
122
+ Only the default value, `FlushMode.TurnBased`, is supported when calling `ContainerRuntime.loadRuntime` directly,
123
+ so there's no need for consumers to pass this option in.
120
124
 
121
- - 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)
125
+ - 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)
122
126
 
123
- `ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
124
- were [deprecated in version 0.25.0](https://github.com/microsoft/FluidFramework/blob/main/BREAKING.md#icontainerruntimebase_createdatastorewithprops-is-removed) and have been removed.
127
+ `ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
128
+ were [deprecated in version 0.25.0](https://github.com/microsoft/FluidFramework/blob/main/BREAKING.md#icontainerruntimebase_createdatastorewithprops-is-removed) and have been removed.
125
129
 
126
- Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
127
- parameter.
130
+ Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
131
+ parameter.
128
132
 
129
- These changes were originally announced in version 0.25.0. See the following issues for more details:
133
+ These changes were originally announced in version 0.25.0. See the following issues for more details:
130
134
 
131
- - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
132
- - [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
135
+ - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
136
+ - [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
133
137
 
134
- - Enabling Op Compression without Op Grouping is no longer supported ([#23608](https://github.com/microsoft/FluidFramework/pull/23608)) [92b695aa4b](https://github.com/microsoft/FluidFramework/commit/92b695aa4b36eee41a4d235a71c6408d2c70b54b)
138
+ - Enabling Op Compression without Op Grouping is no longer supported ([#23608](https://github.com/microsoft/FluidFramework/pull/23608)) [92b695aa4b](https://github.com/microsoft/FluidFramework/commit/92b695aa4b36eee41a4d235a71c6408d2c70b54b)
135
139
 
136
- `IContainerRuntimeOptions.enableGroupedBatching` was deprecated in 2.12 (see [release notes](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-icontainerruntimeoptionsenablegroupedbatching-is-now-deprecated-23260)).
137
- While this option is not yet removed (and still defaults to `true`), disabling it (by setting to `false`) is not supported
138
- if compression is enabled (by passing a finite value for `IContainerRuntimeOptions.compressionOptions.minimumBatchSizeInBytes`).
140
+ `IContainerRuntimeOptions.enableGroupedBatching` was deprecated in 2.12 (see [release notes](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-icontainerruntimeoptionsenablegroupedbatching-is-now-deprecated-23260)).
141
+ While this option is not yet removed (and still defaults to `true`), disabling it (by setting to `false`) is not supported
142
+ if compression is enabled (by passing a finite value for `IContainerRuntimeOptions.compressionOptions.minimumBatchSizeInBytes`).
139
143
 
140
- - Summarizer-related types have been moved to container-runtime-definitions ([#23483](https://github.com/microsoft/FluidFramework/pull/23483)) [6666d496e6](https://github.com/microsoft/FluidFramework/commit/6666d496e63031026cdedee98c24bb59fa79edcf)
144
+ - Summarizer-related types have been moved to container-runtime-definitions ([#23483](https://github.com/microsoft/FluidFramework/pull/23483)) [6666d496e6](https://github.com/microsoft/FluidFramework/commit/6666d496e63031026cdedee98c24bb59fa79edcf)
141
145
 
142
- `SummarizerStopReason`, `ISummarizeEventProps`, and `ISummarizerEvents` have all been moved from the
143
- `"@fluidframework/container-runtime"` package to `@fluidframework/container-runtime-definitions`.
146
+ `SummarizerStopReason`, `ISummarizeEventProps`, and `ISummarizerEvents` have all been moved from the
147
+ `"@fluidframework/container-runtime"` package to `@fluidframework/container-runtime-definitions`.
144
148
 
145
- Users should now import them from `@fluidframework/container-runtime-definitions`.
149
+ Users should now import them from `@fluidframework/container-runtime-definitions`.
146
150
 
147
151
  ## 2.13.0
148
152
 
@@ -152,198 +156,198 @@ Dependency updates only.
152
156
 
153
157
  ### Minor Changes
154
158
 
155
- - SummarizerStopReason, ISummarizeEventProps, and ISummarizerEvents are now deprecated ([#23217](https://github.com/microsoft/FluidFramework/pull/23217)) [cd88ee2320](https://github.com/microsoft/FluidFramework/commit/cd88ee2320c40ed9e0d43ec8ed73cb878f1c18a9)
159
+ - SummarizerStopReason, ISummarizeEventProps, and ISummarizerEvents are now deprecated ([#23217](https://github.com/microsoft/FluidFramework/pull/23217)) [cd88ee2320](https://github.com/microsoft/FluidFramework/commit/cd88ee2320c40ed9e0d43ec8ed73cb878f1c18a9)
156
160
 
157
- `SummarizerStopReason`, `ISummarizeEventProps`, and `ISummarizerEvents` have all been deprecated from the `"@fluidframework/container-runtime"` package. Please migrate all uses of these APIs to their counterparts in the `"@fluidframework/container-runtime-definitions"` package.
161
+ `SummarizerStopReason`, `ISummarizeEventProps`, and `ISummarizerEvents` have all been deprecated from the `"@fluidframework/container-runtime"` package. Please migrate all uses of these APIs to their counterparts in the `"@fluidframework/container-runtime-definitions"` package.
158
162
 
159
- - IContainerRuntimeOptions.flushMode is now deprecated ([#23288](https://github.com/microsoft/FluidFramework/pull/23288)) [af1cd7b370](https://github.com/microsoft/FluidFramework/commit/af1cd7b3707cce1306ae071aba1482734b039635)
163
+ - IContainerRuntimeOptions.flushMode is now deprecated ([#23288](https://github.com/microsoft/FluidFramework/pull/23288)) [af1cd7b370](https://github.com/microsoft/FluidFramework/commit/af1cd7b3707cce1306ae071aba1482734b039635)
160
164
 
161
- The `IContainerRuntimeOptions.flushMode` property is deprecated and will be removed in version 2.20.0.
165
+ The `IContainerRuntimeOptions.flushMode` property is deprecated and will be removed in version 2.20.0.
162
166
 
163
- Only the default value `FlushMode.TurnBased` is supported when calling `ContainerRuntime.loadRuntime` directly, so there's no need for consumers to pass this option in.
167
+ Only the default value `FlushMode.TurnBased` is supported when calling `ContainerRuntime.loadRuntime` directly, so there's no need for consumers to pass this option in.
164
168
 
165
- - The ContainerRuntime class is now deprecated ([#23331](https://github.com/microsoft/FluidFramework/pull/23331)) [dc48446d7c](https://github.com/microsoft/FluidFramework/commit/dc48446d7c4914aca2a76095205975824aac1ba5)
169
+ - The ContainerRuntime class is now deprecated ([#23331](https://github.com/microsoft/FluidFramework/pull/23331)) [dc48446d7c](https://github.com/microsoft/FluidFramework/commit/dc48446d7c4914aca2a76095205975824aac1ba5)
166
170
 
167
- The class `ContainerRuntime` is deprecated and will no longer be exported starting in version 2.20.0.
171
+ The class `ContainerRuntime` is deprecated and will no longer be exported starting in version 2.20.0.
168
172
 
169
- There are two possible migration paths to stop using `ContainerRuntime`:
173
+ There are two possible migration paths to stop using `ContainerRuntime`:
170
174
 
171
- - When using it as a type, replace it with an interface like `IContainerRuntime`
172
- - When using the static function `ContainerRuntime.loadRuntime` replace it with the free function `loadContainerRuntime`.
175
+ - When using it as a type, replace it with an interface like `IContainerRuntime`
176
+ - When using the static function `ContainerRuntime.loadRuntime` replace it with the free function `loadContainerRuntime`.
173
177
 
174
- `BaseContainerRuntimeFactory` has some changes as well, since it exposed `ContainerRuntime` in several function signatures:
178
+ `BaseContainerRuntimeFactory` has some changes as well, since it exposed `ContainerRuntime` in several function signatures:
175
179
 
176
- - `instantiateFirstTime` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
177
- - `instantiateFromExisting` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
178
- - `preInitialize` - deprecated as well, since it returns `ContainerRuntime`
180
+ - `instantiateFirstTime` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
181
+ - `instantiateFromExisting` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
182
+ - `preInitialize` - deprecated as well, since it returns `ContainerRuntime`
179
183
 
180
- These functions should never be called directly anyway - use `BaseContainerRuntimeFactory.instantiateRuntime` instead.
184
+ These functions should never be called directly anyway - use `BaseContainerRuntimeFactory.instantiateRuntime` instead.
181
185
 
182
- - IContainerRuntimeOptions.enableGroupedBatching is now deprecated ([#23260](https://github.com/microsoft/FluidFramework/pull/23260)) [49d8e75e5c](https://github.com/microsoft/FluidFramework/commit/49d8e75e5cad12205aed15850db72c1ad21513c3)
186
+ - IContainerRuntimeOptions.enableGroupedBatching is now deprecated ([#23260](https://github.com/microsoft/FluidFramework/pull/23260)) [49d8e75e5c](https://github.com/microsoft/FluidFramework/commit/49d8e75e5cad12205aed15850db72c1ad21513c3)
183
187
 
184
- The `IContainerRuntimeOptions.enableGroupedBatching` property is deprecated and will be removed in version 2.20.0. This will mean that the grouped batching feature can no longer be disabled. In versions 2.20.0 and beyond, grouped batching is required for the proper functioning of the Fluid Framework.
188
+ The `IContainerRuntimeOptions.enableGroupedBatching` property is deprecated and will be removed in version 2.20.0. This will mean that the grouped batching feature can no longer be disabled. In versions 2.20.0 and beyond, grouped batching is required for the proper functioning of the Fluid Framework.
185
189
 
186
- The sole case where grouped batching will be disabled is for compatibility with older v1 clients, and this will be implemented without any need for the configurable `IContainerRuntimeOptions.enableGroupedBatching` option.
190
+ The sole case where grouped batching will be disabled is for compatibility with older v1 clients, and this will be implemented without any need for the configurable `IContainerRuntimeOptions.enableGroupedBatching` option.
187
191
 
188
192
  ## 2.11.0
189
193
 
190
194
  ### Minor Changes
191
195
 
192
- - Synchronous Child Datastore Creation ([#23143](https://github.com/microsoft/FluidFramework/pull/23143)) [3426b434df](https://github.com/microsoft/FluidFramework/commit/3426b434dfa06de3ee1a60a5f0d605cd312f2c58)
196
+ - Synchronous Child Datastore Creation ([#23143](https://github.com/microsoft/FluidFramework/pull/23143)) [3426b434df](https://github.com/microsoft/FluidFramework/commit/3426b434dfa06de3ee1a60a5f0d605cd312f2c58)
193
197
 
194
- #### Overview
198
+ #### Overview
195
199
 
196
- 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.
200
+ 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.
197
201
 
198
- 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.
202
+ 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.
199
203
 
200
- 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.
204
+ 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.
201
205
 
202
- 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.
206
+ 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.
203
207
 
204
- 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.
208
+ 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.
205
209
 
206
- #### Key Benefits
210
+ #### Key Benefits
207
211
 
208
- - **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
209
- - **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
212
+ - **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
213
+ - **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
210
214
 
211
- #### Use Cases
215
+ #### Use Cases
212
216
 
213
- ##### Example 1: Creating a Child Datastore
217
+ ##### Example 1: Creating a Child Datastore
214
218
 
215
- In this example, we demonstrate how to support creating a child datastore synchronously from a parent datastore.
219
+ In this example, we demonstrate how to support creating a child datastore synchronously from a parent datastore.
216
220
 
217
- ```typescript
218
- /**
219
- * This is the parent DataObject, which is also a datastore. It has a
220
- * synchronous method to create child datastores, which could be called
221
- * in response to synchronous user input, like a key press.
222
- */
223
- class ParentDataObject extends DataObject {
224
- createChild(name: string): ChildDataStore {
225
- assert(
226
- this.context.createChildDataStore !== undefined,
227
- "this.context.createChildDataStore",
228
- );
221
+ ```typescript
222
+ /**
223
+ * This is the parent DataObject, which is also a datastore. It has a
224
+ * synchronous method to create child datastores, which could be called
225
+ * in response to synchronous user input, like a key press.
226
+ */
227
+ class ParentDataObject extends DataObject {
228
+ createChild(name: string): ChildDataStore {
229
+ assert(
230
+ this.context.createChildDataStore !== undefined,
231
+ "this.context.createChildDataStore",
232
+ );
229
233
 
230
- const { entrypoint } = this.context.createChildDataStore(
231
- ChildDataStoreFactory.instance,
232
- );
233
- const dir = this.root.createSubDirectory("children");
234
- dir.set(name, entrypoint.handle);
235
- entrypoint.setProperty("childValue", name);
234
+ const { entrypoint } = this.context.createChildDataStore(
235
+ ChildDataStoreFactory.instance,
236
+ );
237
+ const dir = this.root.createSubDirectory("children");
238
+ dir.set(name, entrypoint.handle);
239
+ entrypoint.setProperty("childValue", name);
236
240
 
237
- return entrypoint;
238
- }
241
+ return entrypoint;
242
+ }
239
243
 
240
- getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
241
- const dir = this.root.getSubDirectory("children");
242
- return dir?.get<IFluidHandle<ChildDataStore>>(name);
243
- }
244
+ getChild(name: string): IFluidHandle<ChildDataStore> | undefined {
245
+ const dir = this.root.getSubDirectory("children");
246
+ return dir?.get<IFluidHandle<ChildDataStore>>(name);
244
247
  }
245
- ```
248
+ }
249
+ ```
246
250
 
247
- For a complete example see the following test:
248
- https://github.com/microsoft/FluidFramework/blob/main/packages/test/local-server-tests/src/test/synchronousDataStoreCreation.spec.ts
251
+ For a complete example see the following test:
252
+ https://github.com/microsoft/FluidFramework/blob/main/packages/test/local-server-tests/src/test/synchronousDataStoreCreation.spec.ts
249
253
 
250
254
  ## 2.10.0
251
255
 
252
256
  ### Minor Changes
253
257
 
254
- - "Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations ([#22842](https://github.com/microsoft/FluidFramework/pull/22842)) [3aff19a462](https://github.com/microsoft/FluidFramework/commit/3aff19a4622a242e906286c14dfcfa6523175132)
258
+ - "Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations ([#22842](https://github.com/microsoft/FluidFramework/pull/22842)) [3aff19a462](https://github.com/microsoft/FluidFramework/commit/3aff19a4622a242e906286c14dfcfa6523175132)
255
259
 
256
- - `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
257
- - `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.
260
+ - `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
261
+ - `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.
258
262
 
259
- - 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)
263
+ - 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)
260
264
 
261
- 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`.
265
+ 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`.
262
266
 
263
- `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.
267
+ `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.
264
268
 
265
- 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.
269
+ 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.
266
270
 
267
- #### Alternatives
271
+ #### Alternatives
268
272
 
269
- - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
270
- - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
271
- - Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
273
+ - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
274
+ - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
275
+ - Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
272
276
 
273
277
  ## 2.5.0
274
278
 
275
279
  ### Minor Changes
276
280
 
277
- - Signal telemetry events details ([#22804](https://github.com/microsoft/FluidFramework/pull/22804)) [e6566f6358](https://github.com/microsoft/FluidFramework/commit/e6566f6358551b5e579637de6c111d42281f7716)
281
+ - Signal telemetry events details ([#22804](https://github.com/microsoft/FluidFramework/pull/22804)) [e6566f6358](https://github.com/microsoft/FluidFramework/commit/e6566f6358551b5e579637de6c111d42281f7716)
278
282
 
279
- Properties of `eventName`s beginning "fluid:telemetry:ContainerRuntime:Signal" are updated to use `details` for all event specific information. Additional per-event changes:
283
+ Properties of `eventName`s beginning "fluid:telemetry:ContainerRuntime:Signal" are updated to use `details` for all event specific information. Additional per-event changes:
280
284
 
281
- - SignalLatency: shorten names now that data is packed into details. Renames:
282
- - `signalsSent` -> `sent`
283
- - `signalsLost` -> `lost`
284
- - `outOfOrderSignals` -> `outOfOrder`
285
- - SignalLost/SignalOutOfOrder: rename `trackingSequenceNumber` to `expectedSequenceNumber`
286
- - SignalOutOfOrder: rename `type` to `contentsType` and only emit it some of the time
285
+ - SignalLatency: shorten names now that data is packed into details. Renames:
286
+ - `signalsSent` -> `sent`
287
+ - `signalsLost` -> `lost`
288
+ - `outOfOrderSignals` -> `outOfOrder`
289
+ - SignalLost/SignalOutOfOrder: rename `trackingSequenceNumber` to `expectedSequenceNumber`
290
+ - SignalOutOfOrder: rename `type` to `contentsType` and only emit it some of the time
287
291
 
288
- > [!IMPORTANT]
289
- > Reminder: the naming and structure of telemetry events are not considered a part of the public API and may change at any time.
292
+ > [!IMPORTANT]
293
+ > Reminder: the naming and structure of telemetry events are not considered a part of the public API and may change at any time.
290
294
 
291
295
  ## 2.4.0
292
296
 
293
297
  ### Minor Changes
294
298
 
295
- - The `op.contents` member on ContainerRuntime's `batchBegin`/`batchEnd` event args is deprecated ([#22750](https://github.com/microsoft/FluidFramework/pull/22750)) [de6928b528](https://github.com/microsoft/FluidFramework/commit/de6928b528ceb115b12cdf7a4183077cbaa80a71)
299
+ - The `op.contents` member on ContainerRuntime's `batchBegin`/`batchEnd` event args is deprecated ([#22750](https://github.com/microsoft/FluidFramework/pull/22750)) [de6928b528](https://github.com/microsoft/FluidFramework/commit/de6928b528ceb115b12cdf7a4183077cbaa80a71)
296
300
 
297
- The `batchBegin`/`batchEnd` events on ContainerRuntime indicate when a batch is beginning/finishing being processed.
298
- The events include an argument of type `ISequencedDocumentMessage` which is the first or last message of the batch.
301
+ The `batchBegin`/`batchEnd` events on ContainerRuntime indicate when a batch is beginning/finishing being processed.
302
+ The events include an argument of type `ISequencedDocumentMessage` which is the first or last message of the batch.
299
303
 
300
- The `contents` property of the `op` argument should not be used when reasoning over the begin/end of a batch.
301
- If you want to look at the `contents` of an op, wait for the `op` event.
304
+ The `contents` property of the `op` argument should not be used when reasoning over the begin/end of a batch.
305
+ If you want to look at the `contents` of an op, wait for the `op` event.
302
306
 
303
307
  ## 2.3.0
304
308
 
305
309
  ### Minor Changes
306
310
 
307
- - Restored old op processing behavior around batched ops to avoid potential regression ([#22508](https://github.com/microsoft/FluidFramework/pull/22508)) [709f085c580](https://github.com/microsoft/FluidFramework/commit/709f085c5802bb4ad80145911ca3b05e457e9d6e)
311
+ - Restored old op processing behavior around batched ops to avoid potential regression ([#22508](https://github.com/microsoft/FluidFramework/pull/22508)) [709f085c580](https://github.com/microsoft/FluidFramework/commit/709f085c5802bb4ad80145911ca3b05e457e9d6e)
308
312
 
309
- There's a theoretical risk of indeterminate behavior due to a recent change to how batches of ops are processed.
310
- This fix reverses that change.
313
+ There's a theoretical risk of indeterminate behavior due to a recent change to how batches of ops are processed.
314
+ This fix reverses that change.
311
315
 
312
- Pull Request #21785 updated the ContainerRuntime to hold onto the messages in an incoming batch until they've all arrived, and only then process the set of messages.
316
+ Pull Request #21785 updated the ContainerRuntime to hold onto the messages in an incoming batch until they've all arrived, and only then process the set of messages.
313
317
 
314
- While the batch is being processed, the DeltaManager and ContainerRuntime's view of the latest sequence numbers will be
315
- out of sync. This may have unintended side effects, so out of an abundance of caution we're reversing this behavior until
316
- we can add the proper protections to ensure the system stays properly in sync.
318
+ While the batch is being processed, the DeltaManager and ContainerRuntime's view of the latest sequence numbers will be
319
+ out of sync. This may have unintended side effects, so out of an abundance of caution we're reversing this behavior until
320
+ we can add the proper protections to ensure the system stays properly in sync.
317
321
 
318
322
  ## 2.2.0
319
323
 
320
324
  ### Minor Changes
321
325
 
322
- - gcThrowOnTombstoneUsage and gcTombstoneEnforcementAllowed are deprecated ([#21992](https://github.com/microsoft/FluidFramework/pull/21992)) [b2bfed3a62](https://github.com/microsoft/FluidFramework/commit/b2bfed3a624d590d776c64a3317c60400b4b3e81)
326
+ - gcThrowOnTombstoneUsage and gcTombstoneEnforcementAllowed are deprecated ([#21992](https://github.com/microsoft/FluidFramework/pull/21992)) [b2bfed3a62](https://github.com/microsoft/FluidFramework/commit/b2bfed3a624d590d776c64a3317c60400b4b3e81)
323
327
 
324
- These properties `gcThrowOnTombstoneUsage` and `gcTombstoneEnforcementAllowed` have been deprecated in
325
- `IFluidParentContext` and `ContainerRuntime`. These were included in certain garbage collection (GC) telemetry to
326
- identify whether the corresponding features have been enabled. These features are now enabled by default and this
327
- information is added to the "GarbageCollectorLoaded" telemetry.
328
+ These properties `gcThrowOnTombstoneUsage` and `gcTombstoneEnforcementAllowed` have been deprecated in
329
+ `IFluidParentContext` and `ContainerRuntime`. These were included in certain garbage collection (GC) telemetry to
330
+ identify whether the corresponding features have been enabled. These features are now enabled by default and this
331
+ information is added to the "GarbageCollectorLoaded" telemetry.
328
332
 
329
- Also, the following Garbage collection runtime options and configs have been removed. They were added during GC feature
330
- development to roll out and control functionalities. The corresponding features are on by default and can no longer be
331
- disabled or controlled:
333
+ Also, the following Garbage collection runtime options and configs have been removed. They were added during GC feature
334
+ development to roll out and control functionalities. The corresponding features are on by default and can no longer be
335
+ disabled or controlled:
332
336
 
333
- GC runtime options removed:
337
+ GC runtime options removed:
334
338
 
335
- - `gcDisableThrowOnTombstoneLoad`
336
- - `disableDataStoreSweep`
339
+ - `gcDisableThrowOnTombstoneLoad`
340
+ - `disableDataStoreSweep`
337
341
 
338
- GC configs removed:
342
+ GC configs removed:
339
343
 
340
- - `"Fluid.GarbageCollection.DisableTombstone"`
341
- - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
342
- - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
344
+ - `"Fluid.GarbageCollection.DisableTombstone"`
345
+ - `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
346
+ - `"Fluid.GarbageCollection.DisableDataStoreSweep"`
343
347
 
344
- - InactiveResponseHeaderKey header is deprecated ([#22107](https://github.com/microsoft/FluidFramework/pull/22107)) [2e4e9b2cfc](https://github.com/microsoft/FluidFramework/commit/2e4e9b2cfcdd7f5d2aa460ab9dedabd6dc2b20ba)
348
+ - InactiveResponseHeaderKey header is deprecated ([#22107](https://github.com/microsoft/FluidFramework/pull/22107)) [2e4e9b2cfc](https://github.com/microsoft/FluidFramework/commit/2e4e9b2cfcdd7f5d2aa460ab9dedabd6dc2b20ba)
345
349
 
346
- The header `InactiveResponseHeaderKey` is deprecated and will be removed in the future. It was part of an experimental feature where loading an inactive data store would result in returning a 404 with this header set to true. This feature is no longer supported.
350
+ The header `InactiveResponseHeaderKey` is deprecated and will be removed in the future. It was part of an experimental feature where loading an inactive data store would result in returning a 404 with this header set to true. This feature is no longer supported.
347
351
 
348
352
  ## 2.1.0
349
353
 
@@ -353,254 +357,254 @@ Dependency updates only.
353
357
 
354
358
  ### Minor Changes
355
359
 
356
- - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
360
+ - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
357
361
 
358
- A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
362
+ A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
359
363
 
360
- This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
364
+ This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
361
365
 
362
- 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".
366
+ 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".
363
367
 
364
- 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.
365
- The full list of such types is:
368
+ 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.
369
+ The full list of such types is:
366
370
 
367
- - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
368
- - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
369
- `ISharedObject`
370
- - `IChannel`
371
- - `IChannelAttributes`
372
- - `IChannelFactory`
373
- - `IExperimentalIncrementalSummaryContext`
374
- - `IGarbageCollectionData`
375
- - `ISummaryStats`
376
- - `ISummaryTreeWithStats`
377
- - `ITelemetryContext`
378
- - `IDeltaManagerErased`
379
- - `IFluidDataStoreRuntimeEvents`
380
- - `IFluidHandleContext`
381
- - `IProvideFluidHandleContext`
371
+ - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
372
+ - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
373
+ `ISharedObject`
374
+ - `IChannel`
375
+ - `IChannelAttributes`
376
+ - `IChannelFactory`
377
+ - `IExperimentalIncrementalSummaryContext`
378
+ - `IGarbageCollectionData`
379
+ - `ISummaryStats`
380
+ - `ISummaryTreeWithStats`
381
+ - `ITelemetryContext`
382
+ - `IDeltaManagerErased`
383
+ - `IFluidDataStoreRuntimeEvents`
384
+ - `IFluidHandleContext`
385
+ - `IProvideFluidHandleContext`
382
386
 
383
- Removed APIs:
387
+ Removed APIs:
384
388
 
385
- - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
386
- - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
387
- - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
388
- -
389
+ - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
390
+ - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
391
+ - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
392
+ -
389
393
 
390
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
394
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
391
395
 
392
- Update package implementations to use TypeScript 5.4.5.
396
+ Update package implementations to use TypeScript 5.4.5.
393
397
 
394
- - Update to ES 2022 ([#21292](https://github.com/microsoft/FluidFramework/pull/21292)) [68921502f7](https://github.com/microsoft/FluidFramework/commit/68921502f79b1833c4cd6d0fe339bfb126a712c7)
398
+ - Update to ES 2022 ([#21292](https://github.com/microsoft/FluidFramework/pull/21292)) [68921502f7](https://github.com/microsoft/FluidFramework/commit/68921502f79b1833c4cd6d0fe339bfb126a712c7)
395
399
 
396
- Update tsconfig to target ES 2022.
400
+ Update tsconfig to target ES 2022.
397
401
 
398
402
  ## 2.0.0-rc.4.0.0
399
403
 
400
404
  ### Major Changes
401
405
 
402
- - Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
406
+ - Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
403
407
 
404
- Here are breaking changes in Audience behavior:
408
+ Here are breaking changes in Audience behavior:
405
409
 
406
- 1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
407
- 2. IAudience interface implements getSelf() method and "selfChanged" event.
408
- 3. IContainerContext.audience is no longer optional
409
- 4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
410
+ 1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
411
+ 2. IAudience interface implements getSelf() method and "selfChanged" event.
412
+ 3. IContainerContext.audience is no longer optional
413
+ 4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
410
414
 
411
- - If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
412
- - "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
413
- - "Fluid.Container.DisableJoinSignalWait"
415
+ - If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
416
+ - "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
417
+ - "Fluid.Container.DisableJoinSignalWait"
414
418
 
415
- - container-runtime: Make op grouping On by default [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
419
+ - container-runtime: Make op grouping On by default [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
416
420
 
417
- Op grouping feature reduces number of ops on the wire by grouping all ops in a batch. This allows applications to substantially reduce chances of being throttled by service when sending a lot of ops.
418
- This feature could be enabled only by applications that have consumed 2.0.0-internal.7.0.2 version and have application version based on it saturated in the marker (to 99.99% or higher). Enabling it too soon will result on old client crashing when processing grouped ops.
421
+ Op grouping feature reduces number of ops on the wire by grouping all ops in a batch. This allows applications to substantially reduce chances of being throttled by service when sending a lot of ops.
422
+ This feature could be enabled only by applications that have consumed 2.0.0-internal.7.0.2 version and have application version based on it saturated in the marker (to 99.99% or higher). Enabling it too soon will result on old client crashing when processing grouped ops.
419
423
 
420
- The feature has been proven in production in Loop app, as it was enabled through feature gates at 100% in PROD.
421
- All internal applications (Loop, Whiteboard) that send telemetry to our common Kusto tenant are already at or above minimal required version of runtime.
424
+ The feature has been proven in production in Loop app, as it was enabled through feature gates at 100% in PROD.
425
+ All internal applications (Loop, Whiteboard) that send telemetry to our common Kusto tenant are already at or above minimal required version of runtime.
422
426
 
423
- If your application does not satisfy these deployment requirements, please disable op grouping via passing IContainerRuntimeOptions.enableGroupedBatching = false when calling ContainerRuntime.load().
427
+ If your application does not satisfy these deployment requirements, please disable op grouping via passing IContainerRuntimeOptions.enableGroupedBatching = false when calling ContainerRuntime.load().
424
428
 
425
429
  ### Minor Changes
426
430
 
427
- - Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
431
+ - Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
428
432
 
429
- Make IFluidDataStoreRuntime.deltaManager have an opaque type.
430
- Marks the following types which were reachable from it as alpha:
433
+ Make IFluidDataStoreRuntime.deltaManager have an opaque type.
434
+ Marks the following types which were reachable from it as alpha:
431
435
 
432
- - IConnectionDetails
433
- - IDeltaSender
434
- - IDeltaManagerEvents
435
- - IDeltaManager
436
- - IDeltaQueueEvents
437
- - IDeltaQueue
438
- - ReadOnlyInfo
436
+ - IConnectionDetails
437
+ - IDeltaSender
438
+ - IDeltaManagerEvents
439
+ - IDeltaManager
440
+ - IDeltaQueueEvents
441
+ - IDeltaQueue
442
+ - ReadOnlyInfo
439
443
 
440
- As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
444
+ As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
441
445
 
442
- Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
446
+ Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
443
447
 
444
448
  ## 2.0.0-rc.3.0.0
445
449
 
446
450
  ### Major Changes
447
451
 
448
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
452
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
449
453
 
450
- Fluid Framework packages have been updated to use the [package.json "exports"
451
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
452
- TypeScript types and implementation code.
454
+ Fluid Framework packages have been updated to use the [package.json "exports"
455
+ field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
456
+ TypeScript types and implementation code.
453
457
 
454
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
458
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
455
459
 
456
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
457
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
460
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
461
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
458
462
 
459
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
460
- for use with modern versions of Node.js _and_ Bundlers.
461
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
462
- regarding the module and moduleResolution options.
463
+ We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
464
+ for use with modern versions of Node.js _and_ Bundlers.
465
+ [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
466
+ regarding the module and moduleResolution options.
463
467
 
464
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
465
- to distinguish stable APIs from those that are in development.**
468
+ **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
469
+ to distinguish stable APIs from those that are in development.**
466
470
 
467
471
  ## 2.0.0-rc.2.0.0
468
472
 
469
473
  ### Minor Changes
470
474
 
471
- - 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)
475
+ - 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)
472
476
 
473
- ### Key changes
477
+ ### Key changes
474
478
 
475
- 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.
476
- 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)
477
- 3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
479
+ 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.
480
+ 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)
481
+ 3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
478
482
 
479
- ### Implementation details
483
+ ### Implementation details
480
484
 
481
- 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).
485
+ 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).
482
486
 
483
- ### Breaking changes
487
+ ### Breaking changes
484
488
 
485
- 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).
489
+ 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).
486
490
 
487
- ### Backward compatibility considerations
491
+ ### Backward compatibility considerations
488
492
 
489
- 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.
490
- 2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
493
+ 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.
494
+ 2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
491
495
 
492
- ### Minor changes
496
+ ### Minor changes
493
497
 
494
- 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
495
- 2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
498
+ 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
499
+ 2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
496
500
 
497
- - driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
501
+ - driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
498
502
 
499
- The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
503
+ The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
500
504
 
501
- - Deprecated error-related enums have been removed ([#19067](https://github.com/microsoft/FluidFramework/issues/19067)) [59793302e5](https://github.com/microsoft/FluidFramework/commits/59793302e56784cfb6ace0e6469345f3565b3312)
505
+ - Deprecated error-related enums have been removed ([#19067](https://github.com/microsoft/FluidFramework/issues/19067)) [59793302e5](https://github.com/microsoft/FluidFramework/commits/59793302e56784cfb6ace0e6469345f3565b3312)
502
506
 
503
- Error-related enums `ContainerErrorType`, `DriverErrorType`, `OdspErrorType` and `RouterliciousErrorType` were previously
504
- deprecated and are now removed. There are replacement object-based enumerations of `ContainerErrorTypes`,
505
- `DriverErrorTypes`, `OdspErrorTypes` and `RouterliciousErrorTypes`. Refer to the release notes of [Fluid Framework version
506
- 2.0.0-internal.7.0.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.7.0.0) for details
507
- on the replacements.
507
+ Error-related enums `ContainerErrorType`, `DriverErrorType`, `OdspErrorType` and `RouterliciousErrorType` were previously
508
+ deprecated and are now removed. There are replacement object-based enumerations of `ContainerErrorTypes`,
509
+ `DriverErrorTypes`, `OdspErrorTypes` and `RouterliciousErrorTypes`. Refer to the release notes of [Fluid Framework version
510
+ 2.0.0-internal.7.0.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.7.0.0) for details
511
+ on the replacements.
508
512
 
509
- - 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)
513
+ - 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)
510
514
 
511
- 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.
515
+ 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.
512
516
 
513
- - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
517
+ - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
514
518
 
515
- Added `containerMetadata` prop on IContainer interface.
519
+ Added `containerMetadata` prop on IContainer interface.
516
520
 
517
- - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
521
+ - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
518
522
 
519
- The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
523
+ The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
520
524
 
521
525
  ## 2.0.0-rc.1.0.0
522
526
 
523
527
  ### Minor Changes
524
528
 
525
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
526
-
527
- 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)
528
-
529
- - @fluidframework/gitresources
530
- - @fluidframework/server-kafka-orderer
531
- - @fluidframework/server-lambdas
532
- - @fluidframework/server-lambdas-driver
533
- - @fluidframework/server-local-server
534
- - @fluidframework/server-memory-orderer
535
- - @fluidframework/protocol-base
536
- - @fluidframework/server-routerlicious
537
- - @fluidframework/server-routerlicious-base
538
- - @fluidframework/server-services
539
- - @fluidframework/server-services-client
540
- - @fluidframework/server-services-core
541
- - @fluidframework/server-services-ordering-kafkanode
542
- - @fluidframework/server-services-ordering-rdkafka
543
- - @fluidframework/server-services-ordering-zookeeper
544
- - @fluidframework/server-services-shared
545
- - @fluidframework/server-services-telemetry
546
- - @fluidframework/server-services-utils
547
- - @fluidframework/server-test-utils
548
- - tinylicious
549
-
550
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
551
-
552
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
553
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
529
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
530
+
531
+ 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)
532
+
533
+ - @fluidframework/gitresources
534
+ - @fluidframework/server-kafka-orderer
535
+ - @fluidframework/server-lambdas
536
+ - @fluidframework/server-lambdas-driver
537
+ - @fluidframework/server-local-server
538
+ - @fluidframework/server-memory-orderer
539
+ - @fluidframework/protocol-base
540
+ - @fluidframework/server-routerlicious
541
+ - @fluidframework/server-routerlicious-base
542
+ - @fluidframework/server-services
543
+ - @fluidframework/server-services-client
544
+ - @fluidframework/server-services-core
545
+ - @fluidframework/server-services-ordering-kafkanode
546
+ - @fluidframework/server-services-ordering-rdkafka
547
+ - @fluidframework/server-services-ordering-zookeeper
548
+ - @fluidframework/server-services-shared
549
+ - @fluidframework/server-services-telemetry
550
+ - @fluidframework/server-services-utils
551
+ - @fluidframework/server-test-utils
552
+ - tinylicious
553
+
554
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
555
+
556
+ The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
557
+ changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
554
558
 
555
559
  ## 2.0.0-internal.8.0.0
556
560
 
557
561
  ### Major Changes
558
562
 
559
- - container-runtime: Removed IPendingLocalState and IRuntime.notifyAttaching [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
563
+ - container-runtime: Removed IPendingLocalState and IRuntime.notifyAttaching [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
560
564
 
561
- The deprecated `IPendingLocalState` and `IRuntime.notifyAttaching` APIs are removed. There is no replacement as they are
562
- not longer used.
565
+ The deprecated `IPendingLocalState` and `IRuntime.notifyAttaching` APIs are removed. There is no replacement as they are
566
+ not longer used.
563
567
 
564
- - container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
568
+ - container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
565
569
 
566
- The `request(...)` method and `IFluidRouter` property have been removed from the following places:
570
+ The `request(...)` method and `IFluidRouter` property have been removed from the following places:
567
571
 
568
- - `ContainerRuntime`
569
- - `IRuntime`
570
- - `IContainerRuntimeBase`
572
+ - `ContainerRuntime`
573
+ - `IRuntime`
574
+ - `IContainerRuntimeBase`
571
575
 
572
- Please use the `IRuntime.getEntryPoint()` method to get the runtime's entry point.
576
+ Please use the `IRuntime.getEntryPoint()` method to get the runtime's entry point.
573
577
 
574
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
578
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
575
579
 
576
- - container-runtime: Removed `ContainerRuntime.load(...)` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
580
+ - container-runtime: Removed `ContainerRuntime.load(...)` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
577
581
 
578
- The static method `ContainerRuntime.load(...)` has been removed. Please migrate all usage of this method to
579
- `ContainerRuntime.loadRuntime(...)`.
582
+ The static method `ContainerRuntime.load(...)` has been removed. Please migrate all usage of this method to
583
+ `ContainerRuntime.loadRuntime(...)`.
580
584
 
581
- - container-runtime-definitions: Removed getRootDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
585
+ - container-runtime-definitions: Removed getRootDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
582
586
 
583
- The `getRootDataStore` method has been removed from `IContainerRuntime` and `ContainerRuntime`. Please migrate all usage to the new `getAliasedDataStoreEntryPoint` method. This method returns the data store's entry point which is its `IFluidHandle`.
587
+ The `getRootDataStore` method has been removed from `IContainerRuntime` and `ContainerRuntime`. Please migrate all usage to the new `getAliasedDataStoreEntryPoint` method. This method returns the data store's entry point which is its `IFluidHandle`.
584
588
 
585
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
589
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
586
590
 
587
591
  ## 2.0.0-internal.7.4.0
588
592
 
589
593
  ### Minor Changes
590
594
 
591
- - container-runtime: (GC) Tombstoned objects will fail to load by default ([#18651](https://github.com/microsoft/FluidFramework/issues/18651)) [2245c0578e](https://github.com/microsoft/FluidFramework/commits/2245c0578e756c944caa5c22311eaafbb73452bb)
595
+ - container-runtime: (GC) Tombstoned objects will fail to load by default ([#18651](https://github.com/microsoft/FluidFramework/issues/18651)) [2245c0578e](https://github.com/microsoft/FluidFramework/commits/2245c0578e756c944caa5c22311eaafbb73452bb)
592
596
 
593
- Previously, Tombstoned objects would only trigger informational logs by default, with an option via config to also cause
594
- errors to be thrown on load. Now, failure to load is the default with an option to disable it if necessary. This
595
- reflects the purpose of the Tombstone stage which is to mimic the user experience of objects being deleted.
597
+ Previously, Tombstoned objects would only trigger informational logs by default, with an option via config to also cause
598
+ errors to be thrown on load. Now, failure to load is the default with an option to disable it if necessary. This
599
+ reflects the purpose of the Tombstone stage which is to mimic the user experience of objects being deleted.
596
600
 
597
- - 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)
601
+ - 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)
598
602
 
599
- `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
600
- packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.
603
+ `IdCompressor` and related types from the @fluidframework/container-runtime and @fluidframework/runtime-definitions
604
+ packages have been deprecated. They can now be found in a new package, @fluidframework/id-compressor.
601
605
 
602
- The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
603
- `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
606
+ The `IdCompressor` class is deprecated even in the new package. Consumers should use the interfaces, `IIdCompressor` and
607
+ `IIdCompressorCore`, in conjunction with the factory function `createIdCompressor` instead.
604
608
 
605
609
  ## 2.0.0-internal.7.3.0
606
610
 
@@ -614,120 +618,120 @@ Dependency updates only.
614
618
 
615
619
  ### Minor Changes
616
620
 
617
- - container-runtime: `Summarizer.create(...)` has been deprecated ([#17563](https://github.com/microsoft/FluidFramework/issues/17563)) [4264a3fd18](https://github.com/microsoft/FluidFramework/commits/4264a3fd18ee84e72137982e11438db444cd80f0)
621
+ - container-runtime: `Summarizer.create(...)` has been deprecated ([#17563](https://github.com/microsoft/FluidFramework/issues/17563)) [4264a3fd18](https://github.com/microsoft/FluidFramework/commits/4264a3fd18ee84e72137982e11438db444cd80f0)
618
622
 
619
- The public static method `Summarizer.create(...)` has been deprecated and will be removed in a future major release. Creating a summarizer is not a publicly supported API. Please remove all usage of this method.
623
+ The public static method `Summarizer.create(...)` has been deprecated and will be removed in a future major release. Creating a summarizer is not a publicly supported API. Please remove all usage of this method.
620
624
 
621
625
  ## 2.0.0-internal.7.0.0
622
626
 
623
627
  ### Major Changes
624
628
 
625
- - DEPRECATED: container-runtime: requestHandlers are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
629
+ - DEPRECATED: container-runtime: requestHandlers are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
626
630
 
627
- The concept of `requestHandlers` has been deprecated. Please migrate all usage of the following APIs to the new `entryPoint` pattern:
631
+ The concept of `requestHandlers` has been deprecated. Please migrate all usage of the following APIs to the new `entryPoint` pattern:
628
632
 
629
- - `requestHandler` property in `ContainerRuntime.loadRuntime(...)`
630
- - `RuntimeRequestHandler`
631
- - `RuntimeRequestHandlerBuilder`
632
- - `defaultFluidObjectRequestHandler(...)`
633
- - `defaultRouteRequestHandler(...)`
634
- - `mountableViewRequestHandler(...)`
635
- - `buildRuntimeRequestHandler(...)`
636
- - `createFluidObjectResponse(...)`
637
- - `handleFromLegacyUri(...)`
638
- - `rootDataStoreRequestHandler(...)`
633
+ - `requestHandler` property in `ContainerRuntime.loadRuntime(...)`
634
+ - `RuntimeRequestHandler`
635
+ - `RuntimeRequestHandlerBuilder`
636
+ - `defaultFluidObjectRequestHandler(...)`
637
+ - `defaultRouteRequestHandler(...)`
638
+ - `mountableViewRequestHandler(...)`
639
+ - `buildRuntimeRequestHandler(...)`
640
+ - `createFluidObjectResponse(...)`
641
+ - `handleFromLegacyUri(...)`
642
+ - `rootDataStoreRequestHandler(...)`
639
643
 
640
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
644
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
641
645
 
642
- - container-runtime: Removing some deprecated and likely unused ContainerRuntime APIs [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
646
+ - container-runtime: Removing some deprecated and likely unused ContainerRuntime APIs [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
643
647
 
644
- - `IGCRuntimeOptions.sweepAllowed`
645
- - `ContainerRuntime.reSubmitFn`
648
+ - `IGCRuntimeOptions.sweepAllowed`
649
+ - `ContainerRuntime.reSubmitFn`
646
650
 
647
- - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
651
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
648
652
 
649
- This included the following changes from the protocol-definitions release:
653
+ This included the following changes from the protocol-definitions release:
650
654
 
651
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
652
- submitted by clients to the server and the resulting signals sent from the server to clients.
653
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
654
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
655
- ISignalMessageBase interface that contains common members.
656
- - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
655
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
656
+ submitted by clients to the server and the resulting signals sent from the server to clients.
657
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
658
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
659
+ ISignalMessageBase interface that contains common members.
660
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
657
661
 
658
- - DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
662
+ - DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
659
663
 
660
- The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
664
+ The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
661
665
 
662
- - `IContainerRuntime`
663
- - `IContainerRuntimeBase`
666
+ - `IContainerRuntime`
667
+ - `IContainerRuntimeBase`
664
668
 
665
- 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.
669
+ 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.
666
670
 
667
- See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
671
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
668
672
 
669
- - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
673
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
670
674
 
671
- Dependencies on the following Fluid server package have been updated to version 2.0.1:
675
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
672
676
 
673
- - @fluidframework/gitresources: 2.0.1
674
- - @fluidframework/server-kafka-orderer: 2.0.1
675
- - @fluidframework/server-lambdas: 2.0.1
676
- - @fluidframework/server-lambdas-driver: 2.0.1
677
- - @fluidframework/server-local-server: 2.0.1
678
- - @fluidframework/server-memory-orderer: 2.0.1
679
- - @fluidframework/protocol-base: 2.0.1
680
- - @fluidframework/server-routerlicious: 2.0.1
681
- - @fluidframework/server-routerlicious-base: 2.0.1
682
- - @fluidframework/server-services: 2.0.1
683
- - @fluidframework/server-services-client: 2.0.1
684
- - @fluidframework/server-services-core: 2.0.1
685
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
686
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
687
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
688
- - @fluidframework/server-services-shared: 2.0.1
689
- - @fluidframework/server-services-telemetry: 2.0.1
690
- - @fluidframework/server-services-utils: 2.0.1
691
- - @fluidframework/server-test-utils: 2.0.1
692
- - tinylicious: 2.0.1
677
+ - @fluidframework/gitresources: 2.0.1
678
+ - @fluidframework/server-kafka-orderer: 2.0.1
679
+ - @fluidframework/server-lambdas: 2.0.1
680
+ - @fluidframework/server-lambdas-driver: 2.0.1
681
+ - @fluidframework/server-local-server: 2.0.1
682
+ - @fluidframework/server-memory-orderer: 2.0.1
683
+ - @fluidframework/protocol-base: 2.0.1
684
+ - @fluidframework/server-routerlicious: 2.0.1
685
+ - @fluidframework/server-routerlicious-base: 2.0.1
686
+ - @fluidframework/server-services: 2.0.1
687
+ - @fluidframework/server-services-client: 2.0.1
688
+ - @fluidframework/server-services-core: 2.0.1
689
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
690
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
691
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
692
+ - @fluidframework/server-services-shared: 2.0.1
693
+ - @fluidframework/server-services-telemetry: 2.0.1
694
+ - @fluidframework/server-services-utils: 2.0.1
695
+ - @fluidframework/server-test-utils: 2.0.1
696
+ - tinylicious: 2.0.1
693
697
 
694
- - container-runtime: initializeEntryPoint renamed to provideEntryPoint [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
698
+ - container-runtime: initializeEntryPoint renamed to provideEntryPoint [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
695
699
 
696
- The naming of `initializeEntryPoint` has been changed to `provideEntryPoint`. Please change the property name in relevant calls to `ContainerRuntime.loadRuntime(...)`.
700
+ The naming of `initializeEntryPoint` has been changed to `provideEntryPoint`. Please change the property name in relevant calls to `ContainerRuntime.loadRuntime(...)`.
697
701
 
698
- - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
702
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
699
703
 
700
- The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
704
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
701
705
 
702
- - `BaseContainerRuntimeFactory`
703
- - `RuntimeFactory`
704
- - `ContainerRuntime` (constructor and `loadRuntime`)
705
- - `FluidDataStoreRuntime`
706
+ - `BaseContainerRuntimeFactory`
707
+ - `RuntimeFactory`
708
+ - `ContainerRuntime` (constructor and `loadRuntime`)
709
+ - `FluidDataStoreRuntime`
706
710
 
707
- 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.
708
- 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.
711
+ 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.
712
+ 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.
709
713
 
710
- 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.
714
+ 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.
711
715
 
712
- For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
716
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
713
717
 
714
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
718
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
715
719
 
716
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
720
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
717
721
 
718
722
  ### Minor Changes
719
723
 
720
- - container-runtime: Remove DeltaManagerProxyBase [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
724
+ - container-runtime: Remove DeltaManagerProxyBase [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
721
725
 
722
- `DeltaManagerProxyBase` was deprecated in [version 2.0.0-internal.6.1.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.6.1.0). It is no longer exported, and no replacement API is intended.
726
+ `DeltaManagerProxyBase` was deprecated in [version 2.0.0-internal.6.1.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.6.1.0). It is no longer exported, and no replacement API is intended.
723
727
 
724
728
  ## 2.0.0-internal.6.4.0
725
729
 
726
730
  ### Minor Changes
727
731
 
728
- - Some stack traces are improved ([#17380](https://github.com/microsoft/FluidFramework/issues/17380)) [34f2808ee9](https://github.com/microsoft/FluidFramework/commits/34f2808ee9764aef21b990f8b48860d9e3ce27a5)
732
+ - Some stack traces are improved ([#17380](https://github.com/microsoft/FluidFramework/issues/17380)) [34f2808ee9](https://github.com/microsoft/FluidFramework/commits/34f2808ee9764aef21b990f8b48860d9e3ce27a5)
729
733
 
730
- Some stack traces have been improved and might now include frames for async functions that weren't previously included.
734
+ Some stack traces have been improved and might now include frames for async functions that weren't previously included.
731
735
 
732
736
  ## 2.0.0-internal.6.3.0
733
737
 
@@ -737,36 +741,36 @@ Dependency updates only.
737
741
 
738
742
  ### Minor Changes
739
743
 
740
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
741
-
742
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
743
- imported from the **@fluidframework/core-interfaces** package:
744
-
745
- - interface IDisposable
746
- - interface IErrorEvent
747
- - interface IErrorEvent
748
- - interface IEvent
749
- - interface IEventProvider
750
- - interface ILoggingError
751
- - interface ITaggedTelemetryPropertyType
752
- - interface ITelemetryBaseEvent
753
- - interface ITelemetryBaseLogger
754
- - interface ITelemetryErrorEvent
755
- - interface ITelemetryGenericEvent
756
- - interface ITelemetryLogger
757
- - interface ITelemetryPerformanceEvent
758
- - interface ITelemetryProperties
759
- - type ExtendEventProvider
760
- - type IEventThisPlaceHolder
761
- - type IEventTransformer
762
- - type ReplaceIEventThisPlaceHolder
763
- - type ReplaceIEventThisPlaceHolder
764
- - type TelemetryEventCategory
765
- - type TelemetryEventPropertyType
766
-
767
- - Deprecated `refreshLatestAck` in `ISummarizeOptions`, `IOnDemandSummarizeOptions` and `IEnqueueSummarizeOptions` ([#16907](https://github.com/microsoft/FluidFramework/issues/16907)) [5a921c56a6](https://github.com/microsoft/FluidFramework/commits/5a921c56a6ccd29a454e235e9d836717ce401714)
768
-
769
- Passing `refreshLatestAck` as true will result in closing the summarizer. It is not supported anymore and will be removed in a future release. It should not be passed in to `summarizeOnDemand` and `enqueueSummarize` APIs anymore.
744
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
745
+
746
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
747
+ imported from the **@fluidframework/core-interfaces** package:
748
+
749
+ - interface IDisposable
750
+ - interface IErrorEvent
751
+ - interface IErrorEvent
752
+ - interface IEvent
753
+ - interface IEventProvider
754
+ - interface ILoggingError
755
+ - interface ITaggedTelemetryPropertyType
756
+ - interface ITelemetryBaseEvent
757
+ - interface ITelemetryBaseLogger
758
+ - interface ITelemetryErrorEvent
759
+ - interface ITelemetryGenericEvent
760
+ - interface ITelemetryLogger
761
+ - interface ITelemetryPerformanceEvent
762
+ - interface ITelemetryProperties
763
+ - type ExtendEventProvider
764
+ - type IEventThisPlaceHolder
765
+ - type IEventTransformer
766
+ - type ReplaceIEventThisPlaceHolder
767
+ - type ReplaceIEventThisPlaceHolder
768
+ - type TelemetryEventCategory
769
+ - type TelemetryEventPropertyType
770
+
771
+ - Deprecated `refreshLatestAck` in `ISummarizeOptions`, `IOnDemandSummarizeOptions` and `IEnqueueSummarizeOptions` ([#16907](https://github.com/microsoft/FluidFramework/issues/16907)) [5a921c56a6](https://github.com/microsoft/FluidFramework/commits/5a921c56a6ccd29a454e235e9d836717ce401714)
772
+
773
+ Passing `refreshLatestAck` as true will result in closing the summarizer. It is not supported anymore and will be removed in a future release. It should not be passed in to `summarizeOnDemand` and `enqueueSummarize` APIs anymore.
770
774
 
771
775
  ## 2.0.0-internal.6.1.0
772
776
 
@@ -776,81 +780,81 @@ Dependency updates only.
776
780
 
777
781
  ### Major Changes
778
782
 
779
- - Removed IContainerContext.existing [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
783
+ - Removed IContainerContext.existing [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
780
784
 
781
- The recommended means of checking for existing changed to the instantiateRuntime param in 2021, and the IContainerContext.existing member was formally deprecated in 2.0.0-internal.2.0.0. This member is now removed.
785
+ The recommended means of checking for existing changed to the instantiateRuntime param in 2021, and the IContainerContext.existing member was formally deprecated in 2.0.0-internal.2.0.0. This member is now removed.
782
786
 
783
- - `getRootDataStore` API is deprecated [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
787
+ - `getRootDataStore` API is deprecated [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
784
788
 
785
- The `getRootDataStore` API that is used to get aliased data store has been deprecated. It will be removed in a future release.
786
- Use `getAliasedDataStoreEntryPoint` API to get aliased data stores instead. It returns the data store's entry point which is its `IFluidHandle`. To use this API `initializeEntryPoint` must be provided when creating `FluidDataStoreRuntime` [here](https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/datastore/src/dataStoreRuntime.ts#L243). `getAliasedDataStoreEntryPoint` and `initializeEntryPoint` will become required in a future release.
789
+ The `getRootDataStore` API that is used to get aliased data store has been deprecated. It will be removed in a future release.
790
+ Use `getAliasedDataStoreEntryPoint` API to get aliased data stores instead. It returns the data store's entry point which is its `IFluidHandle`. To use this API `initializeEntryPoint` must be provided when creating `FluidDataStoreRuntime` [here](https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/datastore/src/dataStoreRuntime.ts#L243). `getAliasedDataStoreEntryPoint` and `initializeEntryPoint` will become required in a future release.
787
791
 
788
- - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
792
+ - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
789
793
 
790
- The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
794
+ The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
791
795
 
792
- - `IRuntime` and `ContainerRuntime`
793
- - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
794
- - `IFluidDataStoreChannel`
795
- - `MockFluidDataStoreRuntime`
796
- - `TestFluidObject`
796
+ - `IRuntime` and `ContainerRuntime`
797
+ - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
798
+ - `IFluidDataStoreChannel`
799
+ - `MockFluidDataStoreRuntime`
800
+ - `TestFluidObject`
797
801
 
798
- 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.
802
+ 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.
799
803
 
800
- 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).
804
+ 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).
801
805
 
802
- 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).
806
+ 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).
803
807
 
804
- - `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
808
+ - `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
805
809
 
806
- The optional `initializeEntryPoint` method has been added to a number of constructors. **This method argument will become required in an upcoming release** and a value will need to be provided to the following classes:
810
+ The optional `initializeEntryPoint` method has been added to a number of constructors. **This method argument will become required in an upcoming release** and a value will need to be provided to the following classes:
807
811
 
808
- - `BaseContainerRuntimeFactory`
809
- - `ContainerRuntimeFactoryWithDefaultDataStore`
810
- - `RuntimeFactory`
811
- - `ContainerRuntime` (constructor and `loadRuntime`)
812
- - `FluidDataStoreRuntime`
812
+ - `BaseContainerRuntimeFactory`
813
+ - `ContainerRuntimeFactoryWithDefaultDataStore`
814
+ - `RuntimeFactory`
815
+ - `ContainerRuntime` (constructor and `loadRuntime`)
816
+ - `FluidDataStoreRuntime`
813
817
 
814
- For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
818
+ For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
815
819
 
816
- This work will replace the request pattern. See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more info on this effort.
820
+ This work will replace the request pattern. See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more info on this effort.
817
821
 
818
- - New required method `getAliasedDataStoreEntryPoint` in ContainerRuntime [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
822
+ - New required method `getAliasedDataStoreEntryPoint` in ContainerRuntime [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
819
823
 
820
- `getAliasedDataStoreEntryPoint` API has been added to ContainerRuntime. This can be used to get the entry point to an aliased data stores. To use this API `initializeEntryPoint` must be provided when creating `FluidDataStoreRuntime` [here](https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/datastore/src/dataStoreRuntime.ts#L243). `getAliasedDataStoreEntryPoint` and `initializeEntryPoint` will become required in a future release.
824
+ `getAliasedDataStoreEntryPoint` API has been added to ContainerRuntime. This can be used to get the entry point to an aliased data stores. To use this API `initializeEntryPoint` must be provided when creating `FluidDataStoreRuntime` [here](https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/datastore/src/dataStoreRuntime.ts#L243). `getAliasedDataStoreEntryPoint` and `initializeEntryPoint` will become required in a future release.
821
825
 
822
- - `IRootSummaryTreeWithStats` removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
826
+ - `IRootSummaryTreeWithStats` removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
823
827
 
824
- `IRootSummaryTreeWithStats` was the return type of `summarize` method on `ContainerRuntime`. It was an internal interface used only in `ContainerRuntime` class to to access `gcStats` from a call site. `gcStats` is not needed in the call site anymore so this interface is removed.
828
+ `IRootSummaryTreeWithStats` was the return type of `summarize` method on `ContainerRuntime`. It was an internal interface used only in `ContainerRuntime` class to to access `gcStats` from a call site. `gcStats` is not needed in the call site anymore so this interface is removed.
825
829
 
826
- - getPendingLocalState and closeAndGetPendingLocalState are now async [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
830
+ - getPendingLocalState and closeAndGetPendingLocalState are now async [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
827
831
 
828
- getPendingLocalState and closeAndGetPendingLocalState are now async to allow uploading blobs to attach to a DDS (in closing scenario). There is a new parameter in those methods at the container/runtime layer "notifyImminentClosure" which is true only when closing and ensures uploading blobs fast resolve and get attached. Once we apply stashed ops to new container, blob will try to reupload and we will know where to place its references.
832
+ getPendingLocalState and closeAndGetPendingLocalState are now async to allow uploading blobs to attach to a DDS (in closing scenario). There is a new parameter in those methods at the container/runtime layer "notifyImminentClosure" which is true only when closing and ensures uploading blobs fast resolve and get attached. Once we apply stashed ops to new container, blob will try to reupload and we will know where to place its references.
829
833
 
830
- - Calling `ContainerRuntime.closeFn(...)` will no longer call `ContainerContext.disposeFn(...)` as well [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
834
+ - Calling `ContainerRuntime.closeFn(...)` will no longer call `ContainerContext.disposeFn(...)` as well [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
831
835
 
832
- This means the `ContainerRuntime` will no longer be disposed by calling this method.
836
+ This means the `ContainerRuntime` will no longer be disposed by calling this method.
833
837
 
834
- If you want to dispose the `ContainerRuntime`, use the `ContainerRuntime.disposeFn` method.
838
+ If you want to dispose the `ContainerRuntime`, use the `ContainerRuntime.disposeFn` method.
835
839
 
836
- For more information about close vs. dispose expectations, see the [Closure](https://github.com/microsoft/FluidFramework/blob/main/packages/loader/container-loader/README.md#closure) section of Loader README.md.
840
+ For more information about close vs. dispose expectations, see the [Closure](https://github.com/microsoft/FluidFramework/blob/main/packages/loader/container-loader/README.md#closure) section of Loader README.md.
837
841
 
838
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
842
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
839
843
 
840
- 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.
844
+ 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.
841
845
 
842
- - IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
846
+ - IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
843
847
 
844
- IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
848
+ IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
845
849
 
846
850
  ## 2.0.0-internal.5.4.0
847
851
 
848
852
  ### Minor Changes
849
853
 
850
- - ContainerRuntime.reSubmitFn is deprecated: ([#16276](https://github.com/microsoft/FluidFramework/issues/16276)) [46707372e8](https://github.com/microsoft/FluidFramework/commits/46707372e82a492f6e42b683d37d49c25e6be15b)
854
+ - ContainerRuntime.reSubmitFn is deprecated: ([#16276](https://github.com/microsoft/FluidFramework/issues/16276)) [46707372e8](https://github.com/microsoft/FluidFramework/commits/46707372e82a492f6e42b683d37d49c25e6be15b)
851
855
 
852
- ContainerRuntime.reSubmitFn is deprecatedsince this functionality needs not be exposed, and we are refactoring the
853
- signatures of related code internally.
856
+ ContainerRuntime.reSubmitFn is deprecatedsince this functionality needs not be exposed, and we are refactoring the
857
+ signatures of related code internally.
854
858
 
855
859
  ## 2.0.0-internal.5.3.0
856
860
 
@@ -860,17 +864,17 @@ Dependency updates only.
860
864
 
861
865
  ### Minor Changes
862
866
 
863
- - IContainerContext members deprecated ([#16180](https://github.com/microsoft/FluidFramework/issues/16180)) [bf6a26cfe6](https://github.com/microsoft/FluidFramework/commits/bf6a26cfe6ac58386f2c9af260603a15b03ba84f)
867
+ - IContainerContext members deprecated ([#16180](https://github.com/microsoft/FluidFramework/issues/16180)) [bf6a26cfe6](https://github.com/microsoft/FluidFramework/commits/bf6a26cfe6ac58386f2c9af260603a15b03ba84f)
864
868
 
865
- IContainerContext members disposed, dispose(), serviceConfiguration, and id have been deprecated and will be removed in an upcoming release.
869
+ IContainerContext members disposed, dispose(), serviceConfiguration, and id have been deprecated and will be removed in an upcoming release.
866
870
 
867
- disposed - The disposed state on the IContainerContext is not meaningful to the runtime.
871
+ disposed - The disposed state on the IContainerContext is not meaningful to the runtime.
868
872
 
869
- dispose() - The runtime is not permitted to dispose the IContainerContext, this results in an inconsistent system state.
873
+ dispose() - The runtime is not permitted to dispose the IContainerContext, this results in an inconsistent system state.
870
874
 
871
- serviceConfiguration - This property is redundant, and is unused by the runtime. The same information can be found via `deltaManager.serviceConfiguration` on this object if it is necessary.
875
+ serviceConfiguration - This property is redundant, and is unused by the runtime. The same information can be found via `deltaManager.serviceConfiguration` on this object if it is necessary.
872
876
 
873
- id - The docId is already logged by the IContainerContext.taggedLogger for telemetry purposes, so this is generally unnecessary for telemetry. If the id is needed for other purposes it should be passed to the consumer explicitly.
877
+ id - The docId is already logged by the IContainerContext.taggedLogger for telemetry purposes, so this is generally unnecessary for telemetry. If the id is needed for other purposes it should be passed to the consumer explicitly.
874
878
 
875
879
  ## 2.0.0-internal.5.1.0
876
880
 
@@ -880,42 +884,42 @@ Dependency updates only.
880
884
 
881
885
  ### Major Changes
882
886
 
883
- - The `@fluidframework/garbage-collector` package was deprecated in version 2.0.0-internal.4.1.0. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
884
- It has now been removed with the following functions, interfaces, and types in it.
887
+ - The `@fluidframework/garbage-collector` package was deprecated in version 2.0.0-internal.4.1.0. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
888
+ It has now been removed with the following functions, interfaces, and types in it.
885
889
 
886
- - `cloneGCData`
887
- - `concatGarbageCollectionData`
888
- - `concatGarbageCollectionStates`
889
- - `GCDataBuilder`
890
- - `getGCDataFromSnapshot`
891
- - `IGCResult`
892
- - `removeRouteFromAllNodes`
893
- - `runGarbageCollection`
894
- - `trimLeadingAndTrailingSlashes`
895
- - `trimLeadingSlashes`
896
- - `trimTrailingSlashes`
897
- - `unpackChildNodesGCDetails`
898
- - `unpackChildNodesUsedRoutes`
890
+ - `cloneGCData`
891
+ - `concatGarbageCollectionData`
892
+ - `concatGarbageCollectionStates`
893
+ - `GCDataBuilder`
894
+ - `getGCDataFromSnapshot`
895
+ - `IGCResult`
896
+ - `removeRouteFromAllNodes`
897
+ - `runGarbageCollection`
898
+ - `trimLeadingAndTrailingSlashes`
899
+ - `trimLeadingSlashes`
900
+ - `trimTrailingSlashes`
901
+ - `unpackChildNodesGCDetails`
902
+ - `unpackChildNodesUsedRoutes`
899
903
 
900
- - The following functions and classes were deprecated in previous releases and have been removed: [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
904
+ - The following functions and classes were deprecated in previous releases and have been removed: [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
901
905
 
902
- - `PureDataObject.getFluidObjectFromDirectory`
903
- - `IProvideContainerRuntime` and its `IContainerRuntime` member.
904
- - `ContainerRuntime`'s `IProvideContainerRuntime` has also been removed.
906
+ - `PureDataObject.getFluidObjectFromDirectory`
907
+ - `IProvideContainerRuntime` and its `IContainerRuntime` member.
908
+ - `ContainerRuntime`'s `IProvideContainerRuntime` has also been removed.
905
909
 
906
- - The 'flush' concepts in the PendingStateManager in @fluidframework/container-runtime have been removed. This is [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
907
- primarily an internal change that should not affect package consumers.
908
- - In @fluidframework/container-runtime, the `on("op")` and `off("op")` methods on `ISummarizerRuntime` are now required. These listener methods are needed to accurately run summary heuristics. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
909
- - Calling `IContainer.close(...)` will no longer dispose the container runtime, document service, or document storage service. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
910
+ - The 'flush' concepts in the PendingStateManager in @fluidframework/container-runtime have been removed. This is [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
911
+ primarily an internal change that should not affect package consumers.
912
+ - In @fluidframework/container-runtime, the `on("op")` and `off("op")` methods on `ISummarizerRuntime` are now required. These listener methods are needed to accurately run summary heuristics. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
913
+ - Calling `IContainer.close(...)` will no longer dispose the container runtime, document service, or document storage service. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
910
914
 
911
- If the container is not expected to be used after the `close(...)` call, replace it instead with a
912
- `IContainer.dispose(...)` call (this should be the most common case). Using `IContainer.dispose(...)` will no longer
913
- switch the container to "readonly" mode and relevant code should instead listen to the Container's "disposed" event.
915
+ If the container is not expected to be used after the `close(...)` call, replace it instead with a
916
+ `IContainer.dispose(...)` call (this should be the most common case). Using `IContainer.dispose(...)` will no longer
917
+ switch the container to "readonly" mode and relevant code should instead listen to the Container's "disposed" event.
914
918
 
915
- If you intend to pass your own critical error to the container, use `IContainer.close(...)`. Once you are done using the
916
- container, call `IContainer.dispose(...)`.
919
+ If you intend to pass your own critical error to the container, use `IContainer.close(...)`. Once you are done using the
920
+ container, call `IContainer.dispose(...)`.
917
921
 
918
- See the [Closure](packages/loader/container-loader/README.md#Closure) section of Loader README.md for more details.
922
+ See the [Closure](packages/loader/container-loader/README.md#Closure) section of Loader README.md for more details.
919
923
 
920
924
  ## 2.0.0-internal.4.4.0
921
925
 
@@ -925,55 +929,55 @@ Dependency updates only.
925
929
 
926
930
  ### Minor Changes
927
931
 
928
- - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
932
+ - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
929
933
 
930
- 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.
934
+ 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.
931
935
 
932
- - `IGarbageCollectionNodeData`
933
- - `IGarbageCollectionState`
934
- - `IGarbageCollectionSnapshotData`
935
- - `IGarbageCollectionSummaryDetailsLegacy`
936
+ - `IGarbageCollectionNodeData`
937
+ - `IGarbageCollectionState`
938
+ - `IGarbageCollectionSnapshotData`
939
+ - `IGarbageCollectionSummaryDetailsLegacy`
936
940
 
937
- - Ability to enable grouped batching ([#14512](https://github.com/microsoft/FluidFramework/pull-requests/14512)) [8e4dc47a38](https://github.com/microsoft/FluidFramework/commits/8e4dc47a3871bcaf1f7c1339c362d9c9d08551fc)
941
+ - Ability to enable grouped batching ([#14512](https://github.com/microsoft/FluidFramework/pull-requests/14512)) [8e4dc47a38](https://github.com/microsoft/FluidFramework/commits/8e4dc47a3871bcaf1f7c1339c362d9c9d08551fc)
938
942
 
939
- The `IContainerRuntimeOptions.enableGroupedBatching` option has been added to the container runtime layer and is off by default. This option will group all batch messages
940
- under a new "grouped" message to be sent to the service. Upon receiving this new "grouped" message, the batch messages will be extracted and given
941
- the sequence number of the parent "grouped" message.
943
+ The `IContainerRuntimeOptions.enableGroupedBatching` option has been added to the container runtime layer and is off by default. This option will group all batch messages
944
+ under a new "grouped" message to be sent to the service. Upon receiving this new "grouped" message, the batch messages will be extracted and given
945
+ the sequence number of the parent "grouped" message.
942
946
 
943
- Upon enabling this option, if any issues arise, use the `Fluid.ContainerRuntime.DisableGroupedBatching` feature flag to disable at runtime. This option should **ONLY** be enabled after observing that 99.9% of your application sessions contains these changes (version "2.0.0-internal.4.1.0" or later). This option is experimental and should not be enabled yet in production. Containers created with this option may not open in future versions of the framework.
947
+ Upon enabling this option, if any issues arise, use the `Fluid.ContainerRuntime.DisableGroupedBatching` feature flag to disable at runtime. This option should **ONLY** be enabled after observing that 99.9% of your application sessions contains these changes (version "2.0.0-internal.4.1.0" or later). This option is experimental and should not be enabled yet in production. Containers created with this option may not open in future versions of the framework.
944
948
 
945
- This option will change a couple of expectations around message structure and runtime layer expectations. Only enable this option after testing
946
- and verifying that the following expectation changes won't have any effects:
949
+ This option will change a couple of expectations around message structure and runtime layer expectations. Only enable this option after testing
950
+ and verifying that the following expectation changes won't have any effects:
947
951
 
948
- - batch messages observed at the runtime layer will not match messages seen at the loader layer
949
- - messages within the same batch will have the same sequence number
950
- - client sequence numbers on batch messages can only be used to order messages with the same sequenceNumber
951
- - requires all ops to be processed by runtime layer (version "2.0.0-internal.1.2.0" or later
952
- https://github.com/microsoft/FluidFramework/pull/11832)
952
+ - batch messages observed at the runtime layer will not match messages seen at the loader layer
953
+ - messages within the same batch will have the same sequence number
954
+ - client sequence numbers on batch messages can only be used to order messages with the same sequenceNumber
955
+ - requires all ops to be processed by runtime layer (version "2.0.0-internal.1.2.0" or later
956
+ https://github.com/microsoft/FluidFramework/pull/11832)
953
957
 
954
- - Op compression is enabled by default ([#14856](https://github.com/microsoft/FluidFramework/pull-requests/14856)) [439c21f31f](https://github.com/microsoft/FluidFramework/commits/439c21f31f4a3ea6515f01d2b2be7f35c04910ce)
958
+ - Op compression is enabled by default ([#14856](https://github.com/microsoft/FluidFramework/pull-requests/14856)) [439c21f31f](https://github.com/microsoft/FluidFramework/commits/439c21f31f4a3ea6515f01d2b2be7f35c04910ce)
955
959
 
956
- If the size of a batch is larger than 614kb, the ops will be compressed. After upgrading to this version, if batches exceed the size threshold, the runtime will produce a new type of op with the compression properties. To open a document which contains this type of op, the client's runtime version needs to be at least `client_v2.0.0-internal.2.3.0`. Older clients will close with assert `0x3ce` ("Runtime message of unknown type") and will not be able to open the documents until they upgrade. To minimize the risk, it is recommended to audit existing session and ensure that at least 99.9% of them are using a runtime version equal or greater than `client_v2.0.0-internal.2.3.0`, before upgrading to `2.0.0-internal.4.1.0`.
960
+ If the size of a batch is larger than 614kb, the ops will be compressed. After upgrading to this version, if batches exceed the size threshold, the runtime will produce a new type of op with the compression properties. To open a document which contains this type of op, the client's runtime version needs to be at least `client_v2.0.0-internal.2.3.0`. Older clients will close with assert `0x3ce` ("Runtime message of unknown type") and will not be able to open the documents until they upgrade. To minimize the risk, it is recommended to audit existing session and ensure that at least 99.9% of them are using a runtime version equal or greater than `client_v2.0.0-internal.2.3.0`, before upgrading to `2.0.0-internal.4.1.0`.
957
961
 
958
- More information about op compression can be found
959
- [here](./packages/runtime/container-runtime/src/opLifecycle/README.md).
962
+ More information about op compression can be found
963
+ [here](./packages/runtime/container-runtime/src/opLifecycle/README.md).
960
964
 
961
- - @fluidframework/garbage-collector deprecated ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
965
+ - @fluidframework/garbage-collector deprecated ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
962
966
 
963
- The `@fluidframework/garbage-collector` package is deprecated with the following functions, interfaces, and types in it.
964
- These are internal implementation details and have been deprecated for public use. They will be removed in an upcoming
965
- release.
967
+ The `@fluidframework/garbage-collector` package is deprecated with the following functions, interfaces, and types in it.
968
+ These are internal implementation details and have been deprecated for public use. They will be removed in an upcoming
969
+ release.
966
970
 
967
- - `cloneGCData`
968
- - `concatGarbageCollectionData`
969
- - `concatGarbageCollectionStates`
970
- - `GCDataBuilder`
971
- - `getGCDataFromSnapshot`
972
- - `IGCResult`
973
- - `removeRouteFromAllNodes`
974
- - `runGarbageCollection`
975
- - `trimLeadingAndTrailingSlashes`
976
- - `trimLeadingSlashes`
977
- - `trimTrailingSlashes`
978
- - `unpackChildNodesGCDetails`
979
- - `unpackChildNodesUsedRoutes`
971
+ - `cloneGCData`
972
+ - `concatGarbageCollectionData`
973
+ - `concatGarbageCollectionStates`
974
+ - `GCDataBuilder`
975
+ - `getGCDataFromSnapshot`
976
+ - `IGCResult`
977
+ - `removeRouteFromAllNodes`
978
+ - `runGarbageCollection`
979
+ - `trimLeadingAndTrailingSlashes`
980
+ - `trimLeadingSlashes`
981
+ - `trimTrailingSlashes`
982
+ - `unpackChildNodesGCDetails`
983
+ - `unpackChildNodesUsedRoutes`