@fluidframework/aqueduct 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 +225 -217
- package/dist/data-objects/createDataObjectKind.d.ts +13 -0
- package/dist/data-objects/createDataObjectKind.d.ts.map +1 -0
- package/dist/data-objects/createDataObjectKind.js +17 -0
- package/dist/data-objects/createDataObjectKind.js.map +1 -0
- package/dist/data-objects/dataObject.d.ts +1 -8
- package/dist/data-objects/dataObject.d.ts.map +1 -1
- package/dist/data-objects/dataObject.js +1 -10
- package/dist/data-objects/dataObject.js.map +1 -1
- package/dist/data-objects/index.d.ts +3 -1
- package/dist/data-objects/index.d.ts.map +1 -1
- package/dist/data-objects/index.js +5 -2
- package/dist/data-objects/index.js.map +1 -1
- package/dist/data-objects/treeDataObject.d.ts +49 -0
- package/dist/data-objects/treeDataObject.d.ts.map +1 -0
- package/dist/data-objects/treeDataObject.js +99 -0
- package/dist/data-objects/treeDataObject.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/lib/data-objects/createDataObjectKind.d.ts +13 -0
- package/lib/data-objects/createDataObjectKind.d.ts.map +1 -0
- package/lib/data-objects/createDataObjectKind.js +13 -0
- package/lib/data-objects/createDataObjectKind.js.map +1 -0
- package/lib/data-objects/dataObject.d.ts +1 -8
- package/lib/data-objects/dataObject.d.ts.map +1 -1
- package/lib/data-objects/dataObject.js +0 -8
- package/lib/data-objects/dataObject.js.map +1 -1
- package/lib/data-objects/index.d.ts +3 -1
- package/lib/data-objects/index.d.ts.map +1 -1
- package/lib/data-objects/index.js +3 -1
- package/lib/data-objects/index.js.map +1 -1
- package/lib/data-objects/treeDataObject.d.ts +49 -0
- package/lib/data-objects/treeDataObject.d.ts.map +1 -0
- package/lib/data-objects/treeDataObject.js +95 -0
- package/lib/data-objects/treeDataObject.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +21 -22
- package/src/data-objects/createDataObjectKind.ts +19 -0
- package/src/data-objects/dataObject.ts +1 -13
- package/src/data-objects/index.ts +3 -1
- package/src/data-objects/treeDataObject.ts +98 -0
- package/src/index.ts +5 -1
- package/prettier.config.cjs +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/aqueduct
|
|
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.
|
|
@@ -16,27 +24,27 @@ Dependency updates only.
|
|
|
16
24
|
|
|
17
25
|
### Minor Changes
|
|
18
26
|
|
|
19
|
-
-
|
|
27
|
+
- The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
|
|
20
28
|
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
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.
|
|
30
|
+
Use `IContainerRuntime` to replace type usages and use the free function `loadContainerRuntime` to replace usages of the static method `ContainerRuntime.loadRuntime`.
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
See the [deprecation
|
|
33
|
+
announcement](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331)
|
|
34
|
+
for more details about how to update existing code.
|
|
27
35
|
|
|
28
|
-
-
|
|
36
|
+
- 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)
|
|
29
37
|
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
`ContainerRuntime.createDataStoreWithProps` and `IContainerRuntimeBase.createDataStoreWithProps`
|
|
39
|
+
were [deprecated in version 0.25.0](https://github.com/microsoft/FluidFramework/blob/main/BREAKING.md#icontainerruntimebase_createdatastorewithprops-is-removed) and have been removed.
|
|
32
40
|
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
|
|
42
|
+
parameter.
|
|
35
43
|
|
|
36
|
-
|
|
44
|
+
These changes were originally announced in version 0.25.0. See the following issues for more details:
|
|
37
45
|
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
- [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
|
|
47
|
+
- [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
|
|
40
48
|
|
|
41
49
|
## 2.13.0
|
|
42
50
|
|
|
@@ -46,22 +54,22 @@ Dependency updates only.
|
|
|
46
54
|
|
|
47
55
|
### Minor Changes
|
|
48
56
|
|
|
49
|
-
-
|
|
57
|
+
- The ContainerRuntime class is now deprecated ([#23331](https://github.com/microsoft/FluidFramework/pull/23331)) [dc48446d7c](https://github.com/microsoft/FluidFramework/commit/dc48446d7c4914aca2a76095205975824aac1ba5)
|
|
50
58
|
|
|
51
|
-
|
|
59
|
+
The class `ContainerRuntime` is deprecated and will no longer be exported starting in version 2.20.0.
|
|
52
60
|
|
|
53
|
-
|
|
61
|
+
There are two possible migration paths to stop using `ContainerRuntime`:
|
|
54
62
|
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
- When using it as a type, replace it with an interface like `IContainerRuntime`
|
|
64
|
+
- When using the static function `ContainerRuntime.loadRuntime` replace it with the free function `loadContainerRuntime`.
|
|
57
65
|
|
|
58
|
-
|
|
66
|
+
`BaseContainerRuntimeFactory` has some changes as well, since it exposed `ContainerRuntime` in several function signatures:
|
|
59
67
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
- `instantiateFirstTime` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
|
|
69
|
+
- `instantiateFromExisting` - Takes the wider type `IContainerRuntime` instead of `ContainerRuntime`
|
|
70
|
+
- `preInitialize` - deprecated as well, since it returns `ContainerRuntime`
|
|
63
71
|
|
|
64
|
-
|
|
72
|
+
These functions should never be called directly anyway - use `BaseContainerRuntimeFactory.instantiateRuntime` instead.
|
|
65
73
|
|
|
66
74
|
## 2.11.0
|
|
67
75
|
|
|
@@ -71,19 +79,19 @@ Dependency updates only.
|
|
|
71
79
|
|
|
72
80
|
### Minor Changes
|
|
73
81
|
|
|
74
|
-
-
|
|
82
|
+
- 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)
|
|
75
83
|
|
|
76
|
-
|
|
84
|
+
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`.
|
|
77
85
|
|
|
78
|
-
|
|
86
|
+
`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.
|
|
79
87
|
|
|
80
|
-
|
|
88
|
+
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.
|
|
81
89
|
|
|
82
|
-
|
|
90
|
+
#### Alternatives
|
|
83
91
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
92
|
+
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
93
|
+
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
|
|
94
|
+
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
|
|
87
95
|
|
|
88
96
|
## 2.5.0
|
|
89
97
|
|
|
@@ -109,9 +117,9 @@ Dependency updates only.
|
|
|
109
117
|
|
|
110
118
|
### Minor Changes
|
|
111
119
|
|
|
112
|
-
-
|
|
120
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
113
121
|
|
|
114
|
-
|
|
122
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
115
123
|
|
|
116
124
|
## 2.0.0-rc.4.0.0
|
|
117
125
|
|
|
@@ -121,54 +129,54 @@ Dependency updates only.
|
|
|
121
129
|
|
|
122
130
|
### Major Changes
|
|
123
131
|
|
|
124
|
-
-
|
|
132
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
125
133
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
134
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
135
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
136
|
+
TypeScript types and implementation code.
|
|
129
137
|
|
|
130
|
-
|
|
138
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
131
139
|
|
|
132
|
-
|
|
133
|
-
|
|
140
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
141
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
134
142
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
143
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
144
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
145
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
146
|
+
regarding the module and moduleResolution options.
|
|
139
147
|
|
|
140
|
-
|
|
141
|
-
|
|
148
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
149
|
+
to distinguish stable APIs from those that are in development.**
|
|
142
150
|
|
|
143
151
|
## 2.0.0-rc.2.0.0
|
|
144
152
|
|
|
145
153
|
### Minor Changes
|
|
146
154
|
|
|
147
|
-
-
|
|
155
|
+
- aqueduct: Deprecated PureDataObjectFactory.createRootInstance and replaced with PureDataObjectFactory.createInstanceWithDataStore ([#19471](https://github.com/microsoft/FluidFramework/issues/19471)) [0a79375ccb](https://github.com/microsoft/FluidFramework/commits/0a79375ccb523658a2565b8796fa06ec45a69394)
|
|
148
156
|
|
|
149
|
-
|
|
157
|
+
### Deprecated: PureDataObjectFactory.createRootInstance
|
|
150
158
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
159
|
+
This was deprecated because `PureDataObjectFactory.createRootInstance` has an issue at scale.
|
|
160
|
+
`PureDataObjectFactory.createRootInstance` used the old method of creating `PureDataObject`s with names. The issue was
|
|
161
|
+
that simultaneous creations could happen, and the old api had no good way of dealing with those types of collisions.
|
|
162
|
+
This version slightly improved it by resolving those collisions by assuming whatever datastore was created with the
|
|
163
|
+
alias or `rootDataStoreId` would just return that datastore. This will work for developers who expect the same type of
|
|
164
|
+
`PureDataObject` to be returned from the `createRootInstance` api, but if a potentially different `PureDataObject`
|
|
165
|
+
would be returned, then this api would give you the wrong typing.
|
|
158
166
|
|
|
159
|
-
|
|
167
|
+
For a replacement api see `PureDataObjectFactory.createInstanceWithDataStore`.
|
|
160
168
|
|
|
161
|
-
|
|
169
|
+
### New method PureDataObjectFactory.createInstanceWithDataStore
|
|
162
170
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
171
|
+
This was done as a replacement of `PureDataObjectFactory.createRootInstance`. This exposes the `IDataStore` interface
|
|
172
|
+
in the form of `[PureDataObject, IDataStore]`. `IDataStore` provides the opportunity for developers to use the
|
|
173
|
+
`IDataStore.trySetAlias` method. This can return 3 different scenarios `Success`, `Conflict`, or `AlreadyAliased`.
|
|
174
|
+
These scenarios can allow the developer to handle conflicts as they wish.
|
|
167
175
|
|
|
168
|
-
-
|
|
176
|
+
- aqueduct: PureDataObjectFactory.instantiateDataStore now returns IFluidDataStoreChannel ([#19353](https://github.com/microsoft/FluidFramework/issues/19353)) [3aad53da1e](https://github.com/microsoft/FluidFramework/commits/3aad53da1ee8c4079d4f3b4a096361d23e0725ab)
|
|
169
177
|
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
The return type of `PureDataObjectFactory.instantiateDataStore` was changed from `FluidDataStoreRuntime` to
|
|
179
|
+
`IFluidDataStoreChannel`.
|
|
172
180
|
|
|
173
181
|
## 2.0.0-rc.1.0.0
|
|
174
182
|
|
|
@@ -178,57 +186,57 @@ Dependency updates only.
|
|
|
178
186
|
|
|
179
187
|
### Major Changes
|
|
180
188
|
|
|
181
|
-
-
|
|
189
|
+
- aqueduct: Removed getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
182
190
|
|
|
183
|
-
|
|
191
|
+
The `getDefaultObjectFromContainer`, `getObjectWithIdFromContainer` and `getObjectFromContainer` helper methods have been removed from @fluidframework/aqueduct. Please move all code usage to the new `entryPoint` pattern.
|
|
184
192
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
193
|
+
See
|
|
194
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
195
|
+
for more details.
|
|
188
196
|
|
|
189
|
-
-
|
|
197
|
+
- data-object-base: Removed IFluidRouter from DataObject interfaces and classes [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
190
198
|
|
|
191
|
-
|
|
199
|
+
The `IFluidRouter` property has been removed from a number of DataObject related classes:
|
|
192
200
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
201
|
+
- `PureDataObject`
|
|
202
|
+
- `LazyLoadedDataObject`
|
|
203
|
+
- `TestFluidObject`
|
|
196
204
|
|
|
197
|
-
|
|
205
|
+
Please migrate to the new `entryPoint` pattern or use the relevant `request` method as necessary.
|
|
198
206
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
207
|
+
See
|
|
208
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
209
|
+
for more details.
|
|
202
210
|
|
|
203
|
-
-
|
|
211
|
+
- aqueduct: Removed IRootDataObjectFactory [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
204
212
|
|
|
205
|
-
|
|
213
|
+
The `IRootDataObjectFactory` interface has been removed. Please remove all usage of it.
|
|
206
214
|
|
|
207
|
-
-
|
|
215
|
+
- aqueduct: Removed requestHandler utilities [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
208
216
|
|
|
209
|
-
|
|
217
|
+
The following `requestHandler` utilities have been removed:
|
|
210
218
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
+
- `makeModelRequestHandler`
|
|
220
|
+
- `defaultFluidObjectRequestHandler`
|
|
221
|
+
- `defaultRouteRequestHandler`
|
|
222
|
+
- `mountableViewRequestHandler`
|
|
223
|
+
- `createFluidObjectResponse`
|
|
224
|
+
- `rootDataStoreRequestHandler`
|
|
225
|
+
- `handleFromLegacyUri`
|
|
226
|
+
- `RuntimeRequestHandlerBuilder`
|
|
219
227
|
|
|
220
|
-
|
|
228
|
+
Please migrate all usage to the new `entryPoint` pattern.
|
|
221
229
|
|
|
222
|
-
|
|
230
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
223
231
|
|
|
224
232
|
## 2.0.0-internal.7.4.0
|
|
225
233
|
|
|
226
234
|
### Minor Changes
|
|
227
235
|
|
|
228
|
-
-
|
|
236
|
+
- aqueduct: Deprecated IRootDataObjectFactory ([#18565](https://github.com/microsoft/FluidFramework/issues/18565)) [030ab7adf9](https://github.com/microsoft/FluidFramework/commits/030ab7adf991d2d983437544600a191ac15ca5a5)
|
|
229
237
|
|
|
230
|
-
|
|
231
|
-
|
|
238
|
+
The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove
|
|
239
|
+
all usage of it.
|
|
232
240
|
|
|
233
241
|
## 2.0.0-internal.7.3.0
|
|
234
242
|
|
|
@@ -246,97 +254,97 @@ Dependency updates only.
|
|
|
246
254
|
|
|
247
255
|
### Major Changes
|
|
248
256
|
|
|
249
|
-
-
|
|
257
|
+
- aqueduct: ContainerRuntimeFactory constructors have changed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
250
258
|
|
|
251
|
-
|
|
259
|
+
The following class constructors have been changed to allow for better flexible in arguments passed:
|
|
252
260
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
261
|
+
- `BaseContainerRuntimeFactory`
|
|
262
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
263
|
+
- `RuntimeFactory`
|
|
256
264
|
|
|
257
|
-
|
|
265
|
+
They now use a single object for constructor params. Example change to be made:
|
|
258
266
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
```ts
|
|
268
|
+
// Old
|
|
269
|
+
new BaseContainerRuntimeFactory(
|
|
270
|
+
myRegistryEntries,
|
|
271
|
+
myDependencyContainer,
|
|
272
|
+
myRequestHandlers,
|
|
273
|
+
myRuntimeOptions,
|
|
274
|
+
myProvideEntryPoint,
|
|
275
|
+
);
|
|
268
276
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
277
|
+
// New
|
|
278
|
+
new BaseContainerRuntimeFactory({
|
|
279
|
+
registryEntries: myRegistryEntries,
|
|
280
|
+
dependencyContainer: myDependencyContainer,
|
|
281
|
+
requestHandlers: myRequestHandlers,
|
|
282
|
+
runtimeOptions: myRuntimeOptions,
|
|
283
|
+
provideEntryPoint: myProvideEntryPoint,
|
|
284
|
+
});
|
|
285
|
+
```
|
|
278
286
|
|
|
279
|
-
-
|
|
287
|
+
- DEPRECATED: container-runtime: requestHandlers are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
280
288
|
|
|
281
|
-
|
|
289
|
+
The concept of `requestHandlers` has been deprecated. Please migrate all usage of the following APIs to the new `entryPoint` pattern:
|
|
282
290
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
291
|
+
- `requestHandler` property in `ContainerRuntime.loadRuntime(...)`
|
|
292
|
+
- `RuntimeRequestHandler`
|
|
293
|
+
- `RuntimeRequestHandlerBuilder`
|
|
294
|
+
- `defaultFluidObjectRequestHandler(...)`
|
|
295
|
+
- `defaultRouteRequestHandler(...)`
|
|
296
|
+
- `mountableViewRequestHandler(...)`
|
|
297
|
+
- `buildRuntimeRequestHandler(...)`
|
|
298
|
+
- `createFluidObjectResponse(...)`
|
|
299
|
+
- `handleFromLegacyUri(...)`
|
|
300
|
+
- `rootDataStoreRequestHandler(...)`
|
|
293
301
|
|
|
294
|
-
|
|
302
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
295
303
|
|
|
296
|
-
-
|
|
304
|
+
- DEPRECATED: container-loader: Various request related APIs have been deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
297
305
|
|
|
298
|
-
|
|
306
|
+
Please remove all calls to the following functions and instead use the new `entryPoint` pattern:
|
|
299
307
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
308
|
+
- `requestFluidObject`
|
|
309
|
+
- `requestResolvedObjectFromContainer`
|
|
310
|
+
- `getDefaultObjectFromContainer`
|
|
311
|
+
- `getObjectWithIdFromContainer`
|
|
312
|
+
- `getObjectFromContainer`
|
|
305
313
|
|
|
306
|
-
|
|
314
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
307
315
|
|
|
308
|
-
-
|
|
316
|
+
- container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
309
317
|
|
|
310
|
-
|
|
318
|
+
`IFluidRouter` and `request({ url: "/" })` on `IContainer` and `IDataStore` are deprecated and will be removed in a future major release. Please migrate all usage to the appropriate `getEntryPoint()` or `entryPoint` APIs.
|
|
311
319
|
|
|
312
|
-
|
|
320
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
313
321
|
|
|
314
|
-
-
|
|
322
|
+
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
315
323
|
|
|
316
|
-
|
|
324
|
+
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
317
325
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
326
|
+
- `BaseContainerRuntimeFactory`
|
|
327
|
+
- `RuntimeFactory`
|
|
328
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
329
|
+
- `FluidDataStoreRuntime`
|
|
322
330
|
|
|
323
|
-
|
|
324
|
-
|
|
331
|
+
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.
|
|
332
|
+
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.
|
|
325
333
|
|
|
326
|
-
|
|
334
|
+
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.
|
|
327
335
|
|
|
328
|
-
|
|
336
|
+
For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
329
337
|
|
|
330
|
-
-
|
|
338
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
331
339
|
|
|
332
|
-
|
|
340
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
333
341
|
|
|
334
|
-
-
|
|
342
|
+
- aqueduct: EventForwarder and IDisposable members removed from PureDataObject [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
335
343
|
|
|
336
|
-
|
|
344
|
+
The `EventForwarder` and `IDisposable` members of `PureDataObject` were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
337
345
|
|
|
338
|
-
|
|
339
|
-
|
|
346
|
+
If your code was overriding any methods/properties from `EventForwarder` and or `IDisposable` on a class that inherits
|
|
347
|
+
(directly or transitively) from `PureDataObject`, you'll have to remove the `override` keyword.
|
|
340
348
|
|
|
341
349
|
## 2.0.0-internal.6.4.0
|
|
342
350
|
|
|
@@ -350,43 +358,43 @@ Dependency updates only.
|
|
|
350
358
|
|
|
351
359
|
### Minor Changes
|
|
352
360
|
|
|
353
|
-
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
361
|
+
- PureDataObject temporarily extends EventForwarder and implements IDisposable again ([#16846](https://github.com/microsoft/FluidFramework/issues/16846)) [9825a692dd](https://github.com/microsoft/FluidFramework/commits/9825a692dd27eded214e3978a7fd6028b05e6fab)
|
|
362
|
+
|
|
363
|
+
`PureDataObject` extends `EventForwarder` and implements `IDìsposable` again to ease the transition to `2.0.0-internal.6.x`.
|
|
364
|
+
These interfaces will no longer be implemented on `PureDataObject` in version `2.0.0-internal.7.0.0`.
|
|
365
|
+
|
|
366
|
+
The original deprecation announcement for these members can be found [here](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.0.0-internal.5.2.0).
|
|
367
|
+
|
|
368
|
+
Once the change is re-applied in `2.0.0-internal.7.0.0`, if your code was overriding any methods/properties from
|
|
369
|
+
`EventForwarder` and or `IDisposable` on a class that inherits (directly or transitively) from `PureDataObject`,
|
|
370
|
+
you'll have to remove the `override` keyword.
|
|
371
|
+
|
|
372
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
373
|
+
|
|
374
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
375
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
376
|
+
|
|
377
|
+
- interface IDisposable
|
|
378
|
+
- interface IErrorEvent
|
|
379
|
+
- interface IErrorEvent
|
|
380
|
+
- interface IEvent
|
|
381
|
+
- interface IEventProvider
|
|
382
|
+
- interface ILoggingError
|
|
383
|
+
- interface ITaggedTelemetryPropertyType
|
|
384
|
+
- interface ITelemetryBaseEvent
|
|
385
|
+
- interface ITelemetryBaseLogger
|
|
386
|
+
- interface ITelemetryErrorEvent
|
|
387
|
+
- interface ITelemetryGenericEvent
|
|
388
|
+
- interface ITelemetryLogger
|
|
389
|
+
- interface ITelemetryPerformanceEvent
|
|
390
|
+
- interface ITelemetryProperties
|
|
391
|
+
- type ExtendEventProvider
|
|
392
|
+
- type IEventThisPlaceHolder
|
|
393
|
+
- type IEventTransformer
|
|
394
|
+
- type ReplaceIEventThisPlaceHolder
|
|
395
|
+
- type ReplaceIEventThisPlaceHolder
|
|
396
|
+
- type TelemetryEventCategory
|
|
397
|
+
- type TelemetryEventPropertyType
|
|
390
398
|
|
|
391
399
|
## 2.0.0-internal.6.1.0
|
|
392
400
|
|
|
@@ -396,27 +404,27 @@ Dependency updates only.
|
|
|
396
404
|
|
|
397
405
|
### Major Changes
|
|
398
406
|
|
|
399
|
-
-
|
|
407
|
+
- `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
400
408
|
|
|
401
|
-
|
|
409
|
+
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:
|
|
402
410
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
411
|
+
- `BaseContainerRuntimeFactory`
|
|
412
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
413
|
+
- `RuntimeFactory`
|
|
414
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
415
|
+
- `FluidDataStoreRuntime`
|
|
408
416
|
|
|
409
|
-
|
|
417
|
+
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).
|
|
410
418
|
|
|
411
|
-
|
|
419
|
+
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.
|
|
412
420
|
|
|
413
|
-
-
|
|
421
|
+
- EventForwarder and IDisposable members removed from PureDataObject [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
414
422
|
|
|
415
|
-
|
|
423
|
+
The EventForwarder and IDisposable members of PureDataObject were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
416
424
|
|
|
417
|
-
-
|
|
425
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
418
426
|
|
|
419
|
-
|
|
427
|
+
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.
|
|
420
428
|
|
|
421
429
|
## 2.0.0-internal.5.4.0
|
|
422
430
|
|
|
@@ -430,9 +438,9 @@ Dependency updates only.
|
|
|
430
438
|
|
|
431
439
|
### Minor Changes
|
|
432
440
|
|
|
433
|
-
-
|
|
441
|
+
- EventForwarder and IDisposable members deprecated from PureDataObject ([#16201](https://github.com/microsoft/FluidFramework/issues/16201)) [0e838fdb3e](https://github.com/microsoft/FluidFramework/commits/0e838fdb3e8187481f41c4116a67458c2a1658d5)
|
|
434
442
|
|
|
435
|
-
|
|
443
|
+
The EventForwarder and IDisposable members have been deprecated from PureDataObject and will be removed in an upcoming release. The EventForwarder pattern was mostly unused by the current implementation, and is also recommended against generally (instead, register and forward events explicitly). The disposal implementation was incomplete and likely to cause poor behavior as the disposal was not observable by default. Inheritors of the PureDataObject can of course still implement their own disposal logic.
|
|
436
444
|
|
|
437
445
|
## 2.0.0-internal.5.1.0
|
|
438
446
|
|
|
@@ -442,17 +450,17 @@ Dependency updates only.
|
|
|
442
450
|
|
|
443
451
|
### Major Changes
|
|
444
452
|
|
|
445
|
-
-
|
|
453
|
+
- The following functions and classes were deprecated in previous releases and have been removed: [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
|
|
446
454
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
455
|
+
- `PureDataObject.getFluidObjectFromDirectory`
|
|
456
|
+
- `IProvideContainerRuntime` and its `IContainerRuntime` member.
|
|
457
|
+
- `ContainerRuntime`'s `IProvideContainerRuntime` has also been removed.
|
|
450
458
|
|
|
451
459
|
## 2.0.0-internal.4.4.0
|
|
452
460
|
|
|
453
461
|
### Minor Changes
|
|
454
462
|
|
|
455
|
-
-
|
|
463
|
+
- `PureDataObject.getFluidObjectFromDirectory` has been deprecated and will be removed in an upcoming release. Instead prefer to interface directly with the directory and handles. [9238304c77](https://github.com/microsoft/FluidFramework/commits/9238304c772d447225f6f86417033ca8004c0edd)
|
|
456
464
|
|
|
457
465
|
## 2.0.0-internal.4.1.0
|
|
458
466
|
|