@fluidframework/runtime-utils 2.23.0 → 2.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +196 -188
- package/dist/summaryUtils.d.ts +0 -3
- package/dist/summaryUtils.d.ts.map +1 -1
- package/dist/summaryUtils.js +0 -3
- package/dist/summaryUtils.js.map +1 -1
- package/dist/utils.d.ts +12 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +14 -9
- package/dist/utils.js.map +1 -1
- package/lib/summaryUtils.d.ts +0 -3
- package/lib/summaryUtils.d.ts.map +1 -1
- package/lib/summaryUtils.js +0 -3
- package/lib/summaryUtils.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/utils.d.ts +12 -3
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +13 -8
- package/lib/utils.js.map +1 -1
- package/package.json +15 -18
- package/src/summaryUtils.ts +0 -3
- package/src/utils.ts +16 -8
- package/prettier.config.cjs +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/runtime-utils
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.30.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
3
11
|
## 2.23.0
|
|
4
12
|
|
|
5
13
|
Dependency updates only.
|
|
@@ -32,23 +40,23 @@ Dependency updates only.
|
|
|
32
40
|
|
|
33
41
|
### Minor Changes
|
|
34
42
|
|
|
35
|
-
-
|
|
43
|
+
- New compareFluidHandle function for comparing FluidHandles ([#22997](https://github.com/microsoft/FluidFramework/pull/22997)) [8d470085fb](https://github.com/microsoft/FluidFramework/commit/8d470085fb41a84212a993a1ebbbf903fd4f16b6)
|
|
36
44
|
|
|
37
|
-
|
|
45
|
+
The new `compareFluidHandle` function has been added to allow comparing handles without having to inspect their internals.
|
|
38
46
|
|
|
39
|
-
-
|
|
47
|
+
- 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)
|
|
40
48
|
|
|
41
|
-
|
|
49
|
+
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`.
|
|
42
50
|
|
|
43
|
-
|
|
51
|
+
`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.
|
|
44
52
|
|
|
45
|
-
|
|
53
|
+
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.
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
#### Alternatives
|
|
48
56
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
58
|
+
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
|
|
59
|
+
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
|
|
52
60
|
|
|
53
61
|
## 2.5.0
|
|
54
62
|
|
|
@@ -66,13 +74,13 @@ Dependency updates only.
|
|
|
66
74
|
|
|
67
75
|
### Minor Changes
|
|
68
76
|
|
|
69
|
-
-
|
|
77
|
+
- New `isFluidHandle` type guard to check if an object is an `IFluidHandle` ([#22029](https://github.com/microsoft/FluidFramework/pull/22029)) [7827d1040a](https://github.com/microsoft/FluidFramework/commit/7827d1040a9ebc0bd11388dc31f15370ea9f68d3)
|
|
70
78
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
The `isFluidHandle` type guard function is now exported and can be used to detect which objects are `IFluidHandle`s.
|
|
80
|
+
Since `IFluidHandle` often needs special handling (for example when serializing since it's not JSON compatible),
|
|
81
|
+
having a dedicated detection function for it is useful.
|
|
82
|
+
Doing this detection was possible previously using the `tree` package's schema system via `Tree.is(value, new SchemaFactory("").handle)`,
|
|
83
|
+
but can now be done with just `isFluidHandle(value)`.
|
|
76
84
|
|
|
77
85
|
## 2.1.0
|
|
78
86
|
|
|
@@ -82,142 +90,142 @@ Dependency updates only.
|
|
|
82
90
|
|
|
83
91
|
### Minor Changes
|
|
84
92
|
|
|
85
|
-
-
|
|
93
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
86
94
|
|
|
87
|
-
|
|
95
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
88
96
|
|
|
89
97
|
## 2.0.0-rc.4.0.0
|
|
90
98
|
|
|
91
99
|
### Minor Changes
|
|
92
100
|
|
|
93
|
-
-
|
|
101
|
+
- Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
94
102
|
|
|
95
|
-
|
|
96
|
-
|
|
103
|
+
Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
|
|
104
|
+
Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
|
|
97
105
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
|
|
107
|
+
Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
|
|
108
|
+
Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
|
|
101
109
|
|
|
102
|
-
-
|
|
110
|
+
- Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
103
111
|
|
|
104
|
-
|
|
105
|
-
|
|
112
|
+
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
113
|
+
Marks the following types which were reachable from it as alpha:
|
|
106
114
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
115
|
+
- IConnectionDetails
|
|
116
|
+
- IDeltaSender
|
|
117
|
+
- IDeltaManagerEvents
|
|
118
|
+
- IDeltaManager
|
|
119
|
+
- IDeltaQueueEvents
|
|
120
|
+
- IDeltaQueue
|
|
121
|
+
- ReadOnlyInfo
|
|
114
122
|
|
|
115
|
-
|
|
123
|
+
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.
|
|
116
124
|
|
|
117
|
-
|
|
125
|
+
Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
|
|
118
126
|
|
|
119
127
|
## 2.0.0-rc.3.0.0
|
|
120
128
|
|
|
121
129
|
### Major Changes
|
|
122
130
|
|
|
123
|
-
-
|
|
131
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
124
132
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
133
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
134
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
135
|
+
TypeScript types and implementation code.
|
|
128
136
|
|
|
129
|
-
|
|
137
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
130
138
|
|
|
131
|
-
|
|
132
|
-
|
|
139
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
140
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
133
141
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
142
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
143
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
144
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
145
|
+
regarding the module and moduleResolution options.
|
|
138
146
|
|
|
139
|
-
|
|
140
|
-
|
|
147
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
148
|
+
to distinguish stable APIs from those that are in development.**
|
|
141
149
|
|
|
142
150
|
## 2.0.0-rc.2.0.0
|
|
143
151
|
|
|
144
152
|
### Minor Changes
|
|
145
153
|
|
|
146
|
-
-
|
|
154
|
+
- 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)
|
|
147
155
|
|
|
148
|
-
|
|
156
|
+
### Key changes
|
|
149
157
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
158
|
+
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.
|
|
159
|
+
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)
|
|
160
|
+
3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
|
|
153
161
|
|
|
154
|
-
|
|
162
|
+
### Implementation details
|
|
155
163
|
|
|
156
|
-
|
|
164
|
+
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).
|
|
157
165
|
|
|
158
|
-
|
|
166
|
+
### Breaking changes
|
|
159
167
|
|
|
160
|
-
|
|
168
|
+
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).
|
|
161
169
|
|
|
162
|
-
|
|
170
|
+
### Backward compatibility considerations
|
|
163
171
|
|
|
164
|
-
|
|
165
|
-
|
|
172
|
+
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.
|
|
173
|
+
2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
|
|
166
174
|
|
|
167
|
-
|
|
175
|
+
### Minor changes
|
|
168
176
|
|
|
169
|
-
|
|
170
|
-
|
|
177
|
+
1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
|
|
178
|
+
2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
|
|
171
179
|
|
|
172
180
|
## 2.0.0-rc.1.0.0
|
|
173
181
|
|
|
174
182
|
### Minor Changes
|
|
175
183
|
|
|
176
|
-
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
184
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
185
|
+
|
|
186
|
+
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)
|
|
187
|
+
|
|
188
|
+
- @fluidframework/gitresources
|
|
189
|
+
- @fluidframework/server-kafka-orderer
|
|
190
|
+
- @fluidframework/server-lambdas
|
|
191
|
+
- @fluidframework/server-lambdas-driver
|
|
192
|
+
- @fluidframework/server-local-server
|
|
193
|
+
- @fluidframework/server-memory-orderer
|
|
194
|
+
- @fluidframework/protocol-base
|
|
195
|
+
- @fluidframework/server-routerlicious
|
|
196
|
+
- @fluidframework/server-routerlicious-base
|
|
197
|
+
- @fluidframework/server-services
|
|
198
|
+
- @fluidframework/server-services-client
|
|
199
|
+
- @fluidframework/server-services-core
|
|
200
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
201
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
202
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
203
|
+
- @fluidframework/server-services-shared
|
|
204
|
+
- @fluidframework/server-services-telemetry
|
|
205
|
+
- @fluidframework/server-services-utils
|
|
206
|
+
- @fluidframework/server-test-utils
|
|
207
|
+
- tinylicious
|
|
208
|
+
|
|
209
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
210
|
+
|
|
211
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
212
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
205
213
|
|
|
206
214
|
## 2.0.0-internal.8.0.0
|
|
207
215
|
|
|
208
216
|
### Major Changes
|
|
209
217
|
|
|
210
|
-
-
|
|
218
|
+
- container-definitions: Fix ISnapshotTreeWithBlobContents and mark internal [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
211
219
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
220
|
+
`ISnapshotTreeWithBlobContents` is an internal type that should not be used externally. Additionally, the type didn't
|
|
221
|
+
match the usage, specifically in runtime-utils where an `any` cast was used to work around undefined blobContents. The
|
|
222
|
+
type has been updated to reflect that blobContents can be undefined.
|
|
215
223
|
|
|
216
|
-
-
|
|
224
|
+
- runtime-utils: Removed requestFluidObject [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
217
225
|
|
|
218
|
-
|
|
226
|
+
The `requestFluidObject` utility has been removed. Please migrate all usage of it to the new `entryPoint` pattern.
|
|
219
227
|
|
|
220
|
-
|
|
228
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
221
229
|
|
|
222
230
|
## 2.0.0-internal.7.4.0
|
|
223
231
|
|
|
@@ -239,57 +247,57 @@ Dependency updates only.
|
|
|
239
247
|
|
|
240
248
|
### Major Changes
|
|
241
249
|
|
|
242
|
-
-
|
|
250
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
243
251
|
|
|
244
|
-
|
|
252
|
+
This included the following changes from the protocol-definitions release:
|
|
245
253
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
254
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
255
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
256
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
257
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
258
|
+
ISignalMessageBase interface that contains common members.
|
|
259
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
252
260
|
|
|
253
|
-
-
|
|
261
|
+
- DEPRECATED: container-loader: Various request related APIs have been deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
254
262
|
|
|
255
|
-
|
|
263
|
+
Please remove all calls to the following functions and instead use the new `entryPoint` pattern:
|
|
256
264
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
265
|
+
- `requestFluidObject`
|
|
266
|
+
- `requestResolvedObjectFromContainer`
|
|
267
|
+
- `getDefaultObjectFromContainer`
|
|
268
|
+
- `getObjectWithIdFromContainer`
|
|
269
|
+
- `getObjectFromContainer`
|
|
262
270
|
|
|
263
|
-
|
|
271
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
264
272
|
|
|
265
|
-
-
|
|
273
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
266
274
|
|
|
267
|
-
|
|
275
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
268
276
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
277
|
+
- @fluidframework/gitresources: 2.0.1
|
|
278
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
279
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
280
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
281
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
282
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
283
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
284
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
285
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
286
|
+
- @fluidframework/server-services: 2.0.1
|
|
287
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
288
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
289
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
290
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
291
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
292
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
293
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
294
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
295
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
296
|
+
- tinylicious: 2.0.1
|
|
289
297
|
|
|
290
|
-
-
|
|
298
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
291
299
|
|
|
292
|
-
|
|
300
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
293
301
|
|
|
294
302
|
## 2.0.0-internal.6.4.0
|
|
295
303
|
|
|
@@ -311,13 +319,13 @@ Dependency updates only.
|
|
|
311
319
|
|
|
312
320
|
### Major Changes
|
|
313
321
|
|
|
314
|
-
-
|
|
322
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
315
323
|
|
|
316
|
-
|
|
324
|
+
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.
|
|
317
325
|
|
|
318
|
-
-
|
|
326
|
+
- Remove packagePathToTelemetryProperty Function [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
319
327
|
|
|
320
|
-
|
|
328
|
+
packagePathToTelemetryProperty was previously deprecated and is now removed. Use tagCodeArtifacts instead.
|
|
321
329
|
|
|
322
330
|
## 2.0.0-internal.5.4.0
|
|
323
331
|
|
|
@@ -339,22 +347,22 @@ Dependency updates only.
|
|
|
339
347
|
|
|
340
348
|
### Major Changes
|
|
341
349
|
|
|
342
|
-
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
350
|
+
- The `@fluidframework/garbage-collector` package was deprecated in version 2.0.0-internal.4.1.0. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
|
|
351
|
+
It has now been removed with the following functions, interfaces, and types in it.
|
|
352
|
+
|
|
353
|
+
- `cloneGCData`
|
|
354
|
+
- `concatGarbageCollectionData`
|
|
355
|
+
- `concatGarbageCollectionStates`
|
|
356
|
+
- `GCDataBuilder`
|
|
357
|
+
- `getGCDataFromSnapshot`
|
|
358
|
+
- `IGCResult`
|
|
359
|
+
- `removeRouteFromAllNodes`
|
|
360
|
+
- `runGarbageCollection`
|
|
361
|
+
- `trimLeadingAndTrailingSlashes`
|
|
362
|
+
- `trimLeadingSlashes`
|
|
363
|
+
- `trimTrailingSlashes`
|
|
364
|
+
- `unpackChildNodesGCDetails`
|
|
365
|
+
- `unpackChildNodesUsedRoutes`
|
|
358
366
|
|
|
359
367
|
## 2.0.0-internal.4.4.0
|
|
360
368
|
|
|
@@ -364,31 +372,31 @@ Dependency updates only.
|
|
|
364
372
|
|
|
365
373
|
### Minor Changes
|
|
366
374
|
|
|
367
|
-
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
375
|
+
- GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
|
|
376
|
+
|
|
377
|
+
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.
|
|
378
|
+
|
|
379
|
+
- `IGarbageCollectionNodeData`
|
|
380
|
+
- `IGarbageCollectionState`
|
|
381
|
+
- `IGarbageCollectionSnapshotData`
|
|
382
|
+
- `IGarbageCollectionSummaryDetailsLegacy`
|
|
383
|
+
|
|
384
|
+
- @fluidframework/garbage-collector deprecated ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
|
|
385
|
+
|
|
386
|
+
The `@fluidframework/garbage-collector` package is deprecated with the following functions, interfaces, and types in it.
|
|
387
|
+
These are internal implementation details and have been deprecated for public use. They will be removed in an upcoming
|
|
388
|
+
release.
|
|
389
|
+
|
|
390
|
+
- `cloneGCData`
|
|
391
|
+
- `concatGarbageCollectionData`
|
|
392
|
+
- `concatGarbageCollectionStates`
|
|
393
|
+
- `GCDataBuilder`
|
|
394
|
+
- `getGCDataFromSnapshot`
|
|
395
|
+
- `IGCResult`
|
|
396
|
+
- `removeRouteFromAllNodes`
|
|
397
|
+
- `runGarbageCollection`
|
|
398
|
+
- `trimLeadingAndTrailingSlashes`
|
|
399
|
+
- `trimLeadingSlashes`
|
|
400
|
+
- `trimTrailingSlashes`
|
|
401
|
+
- `unpackChildNodesGCDetails`
|
|
402
|
+
- `unpackChildNodesUsedRoutes`
|
package/dist/summaryUtils.d.ts
CHANGED
|
@@ -71,9 +71,6 @@ export declare class SummaryTreeBuilder implements ISummaryTreeWithStats {
|
|
|
71
71
|
/**
|
|
72
72
|
* Adds an {@link @fluidframework/driver-definitions#ISummaryHandle} that references a subtree, blob, or attachment in a previous summary.
|
|
73
73
|
*
|
|
74
|
-
* @remarks
|
|
75
|
-
* There are special limitations to both the key and handle parameters: We use encodeURIComponent and decodeURIComponent to encode and decode the key and handle parameters after they are added to the summary tree. This means that the key and handle parameters must be valid URI components. If they are not, the encoding and decoding will fail and the summary will not be generated correctly.
|
|
76
|
-
*
|
|
77
74
|
* @param key - The key to store the handle at in the current summary tree being generated. Should not contain any "/" characters.
|
|
78
75
|
* @param handleType - the type of {@link @fluidframework/driver-definitions#SummaryObject} besides a SummaryHandle, i.e. {@link @fluidframework/driver-definitions#SummaryType.Tree}, {@link @fluidframework/driver-definitions#SummaryType.Blob}, {@link @fluidframework/driver-definitions#SummaryType.Attachment}
|
|
79
76
|
* @param handle - The path pointing to the part of the previous summary being used to duplicate the data. Use {@link @fluidframework/driver-definitions#ISummaryHandle.handle} to help generate proper handle strings. Should not contain any "/" characters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryUtils.d.ts","sourceRoot":"","sources":["../src/summaryUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAyB,MAAM,6CAA6C,CAAC;AAM3F,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EAEpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAE9F;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,CAgBnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAelD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,MAAM,CAEpE;AAyBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAIpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,UAAU,GAC1B,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,qBAAqB,EAC9B,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,gBAAgB,GAC/B,IAAI,CAGN;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AACD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,qBAAqB;IAC/D,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAElC,IAAW,OAAO,IAAI,YAAY,CASjC;IAED,IAAW,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,CAE1C;gBAEW,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IACrE,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;OAIG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAe/D
|
|
1
|
+
{"version":3,"file":"summaryUtils.d.ts","sourceRoot":"","sources":["../src/summaryUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/summaryUtils.js
CHANGED
|
@@ -160,9 +160,6 @@ class SummaryTreeBuilder {
|
|
|
160
160
|
/**
|
|
161
161
|
* Adds an {@link @fluidframework/driver-definitions#ISummaryHandle} that references a subtree, blob, or attachment in a previous summary.
|
|
162
162
|
*
|
|
163
|
-
* @remarks
|
|
164
|
-
* There are special limitations to both the key and handle parameters: We use encodeURIComponent and decodeURIComponent to encode and decode the key and handle parameters after they are added to the summary tree. This means that the key and handle parameters must be valid URI components. If they are not, the encoding and decoding will fail and the summary will not be generated correctly.
|
|
165
|
-
*
|
|
166
163
|
* @param key - The key to store the handle at in the current summary tree being generated. Should not contain any "/" characters.
|
|
167
164
|
* @param handleType - the type of {@link @fluidframework/driver-definitions#SummaryObject} besides a SummaryHandle, i.e. {@link @fluidframework/driver-definitions#SummaryType.Tree}, {@link @fluidframework/driver-definitions#SummaryType.Blob}, {@link @fluidframework/driver-definitions#SummaryType.Attachment}
|
|
168
165
|
* @param handle - The path pointing to the part of the previous summary being used to duplicate the data. Use {@link @fluidframework/driver-definitions#ISummaryHandle.handle} to help generate proper handle strings. Should not contain any "/" characters.
|