@fluidframework/aqueduct 2.30.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 +221 -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 +20 -21
- 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,9 @@
|
|
|
1
1
|
# @fluidframework/aqueduct
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
3
7
|
## 2.30.0
|
|
4
8
|
|
|
5
9
|
Dependency updates only.
|
|
@@ -20,27 +24,27 @@ Dependency updates only.
|
|
|
20
24
|
|
|
21
25
|
### Minor Changes
|
|
22
26
|
|
|
23
|
-
-
|
|
27
|
+
- The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
|
|
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`.
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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.
|
|
31
35
|
|
|
32
|
-
-
|
|
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)
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
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.
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
Replace uses of these APIs with `PureDataObjectFactory.createInstanceWithDataStore` and pass in props via the `initialState`
|
|
42
|
+
parameter.
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
These changes were originally announced in version 0.25.0. See the following issues for more details:
|
|
41
45
|
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
- [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
|
|
47
|
+
- [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
|
|
44
48
|
|
|
45
49
|
## 2.13.0
|
|
46
50
|
|
|
@@ -50,22 +54,22 @@ Dependency updates only.
|
|
|
50
54
|
|
|
51
55
|
### Minor Changes
|
|
52
56
|
|
|
53
|
-
-
|
|
57
|
+
- The ContainerRuntime class is now deprecated ([#23331](https://github.com/microsoft/FluidFramework/pull/23331)) [dc48446d7c](https://github.com/microsoft/FluidFramework/commit/dc48446d7c4914aca2a76095205975824aac1ba5)
|
|
54
58
|
|
|
55
|
-
|
|
59
|
+
The class `ContainerRuntime` is deprecated and will no longer be exported starting in version 2.20.0.
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
There are two possible migration paths to stop using `ContainerRuntime`:
|
|
58
62
|
|
|
59
|
-
|
|
60
|
-
|
|
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`.
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
`BaseContainerRuntimeFactory` has some changes as well, since it exposed `ContainerRuntime` in several function signatures:
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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`
|
|
67
71
|
|
|
68
|
-
|
|
72
|
+
These functions should never be called directly anyway - use `BaseContainerRuntimeFactory.instantiateRuntime` instead.
|
|
69
73
|
|
|
70
74
|
## 2.11.0
|
|
71
75
|
|
|
@@ -75,19 +79,19 @@ Dependency updates only.
|
|
|
75
79
|
|
|
76
80
|
### Minor Changes
|
|
77
81
|
|
|
78
|
-
-
|
|
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)
|
|
79
83
|
|
|
80
|
-
|
|
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`.
|
|
81
85
|
|
|
82
|
-
|
|
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.
|
|
83
87
|
|
|
84
|
-
|
|
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.
|
|
85
89
|
|
|
86
|
-
|
|
90
|
+
#### Alternatives
|
|
87
91
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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`.
|
|
91
95
|
|
|
92
96
|
## 2.5.0
|
|
93
97
|
|
|
@@ -113,9 +117,9 @@ Dependency updates only.
|
|
|
113
117
|
|
|
114
118
|
### Minor Changes
|
|
115
119
|
|
|
116
|
-
-
|
|
120
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
117
121
|
|
|
118
|
-
|
|
122
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
119
123
|
|
|
120
124
|
## 2.0.0-rc.4.0.0
|
|
121
125
|
|
|
@@ -125,54 +129,54 @@ Dependency updates only.
|
|
|
125
129
|
|
|
126
130
|
### Major Changes
|
|
127
131
|
|
|
128
|
-
-
|
|
132
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
129
133
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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.
|
|
133
137
|
|
|
134
|
-
|
|
138
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
135
139
|
|
|
136
|
-
|
|
137
|
-
|
|
140
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
141
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
138
142
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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.
|
|
143
147
|
|
|
144
|
-
|
|
145
|
-
|
|
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.**
|
|
146
150
|
|
|
147
151
|
## 2.0.0-rc.2.0.0
|
|
148
152
|
|
|
149
153
|
### Minor Changes
|
|
150
154
|
|
|
151
|
-
-
|
|
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)
|
|
152
156
|
|
|
153
|
-
|
|
157
|
+
### Deprecated: PureDataObjectFactory.createRootInstance
|
|
154
158
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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.
|
|
162
166
|
|
|
163
|
-
|
|
167
|
+
For a replacement api see `PureDataObjectFactory.createInstanceWithDataStore`.
|
|
164
168
|
|
|
165
|
-
|
|
169
|
+
### New method PureDataObjectFactory.createInstanceWithDataStore
|
|
166
170
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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.
|
|
171
175
|
|
|
172
|
-
-
|
|
176
|
+
- aqueduct: PureDataObjectFactory.instantiateDataStore now returns IFluidDataStoreChannel ([#19353](https://github.com/microsoft/FluidFramework/issues/19353)) [3aad53da1e](https://github.com/microsoft/FluidFramework/commits/3aad53da1ee8c4079d4f3b4a096361d23e0725ab)
|
|
173
177
|
|
|
174
|
-
|
|
175
|
-
|
|
178
|
+
The return type of `PureDataObjectFactory.instantiateDataStore` was changed from `FluidDataStoreRuntime` to
|
|
179
|
+
`IFluidDataStoreChannel`.
|
|
176
180
|
|
|
177
181
|
## 2.0.0-rc.1.0.0
|
|
178
182
|
|
|
@@ -182,57 +186,57 @@ Dependency updates only.
|
|
|
182
186
|
|
|
183
187
|
### Major Changes
|
|
184
188
|
|
|
185
|
-
-
|
|
189
|
+
- aqueduct: Removed getDefaultObjectFromContainer, getObjectWithIdFromContainer and getObjectFromContainer [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
186
190
|
|
|
187
|
-
|
|
191
|
+
The `getDefaultObjectFromContainer`, `getObjectWithIdFromContainer` and `getObjectFromContainer` helper methods have been removed from @fluidframework/aqueduct. Please move all code usage to the new `entryPoint` pattern.
|
|
188
192
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
193
|
+
See
|
|
194
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
195
|
+
for more details.
|
|
192
196
|
|
|
193
|
-
-
|
|
197
|
+
- data-object-base: Removed IFluidRouter from DataObject interfaces and classes [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
194
198
|
|
|
195
|
-
|
|
199
|
+
The `IFluidRouter` property has been removed from a number of DataObject related classes:
|
|
196
200
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
201
|
+
- `PureDataObject`
|
|
202
|
+
- `LazyLoadedDataObject`
|
|
203
|
+
- `TestFluidObject`
|
|
200
204
|
|
|
201
|
-
|
|
205
|
+
Please migrate to the new `entryPoint` pattern or use the relevant `request` method as necessary.
|
|
202
206
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
207
|
+
See
|
|
208
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
209
|
+
for more details.
|
|
206
210
|
|
|
207
|
-
-
|
|
211
|
+
- aqueduct: Removed IRootDataObjectFactory [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
208
212
|
|
|
209
|
-
|
|
213
|
+
The `IRootDataObjectFactory` interface has been removed. Please remove all usage of it.
|
|
210
214
|
|
|
211
|
-
-
|
|
215
|
+
- aqueduct: Removed requestHandler utilities [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
212
216
|
|
|
213
|
-
|
|
217
|
+
The following `requestHandler` utilities have been removed:
|
|
214
218
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
219
|
+
- `makeModelRequestHandler`
|
|
220
|
+
- `defaultFluidObjectRequestHandler`
|
|
221
|
+
- `defaultRouteRequestHandler`
|
|
222
|
+
- `mountableViewRequestHandler`
|
|
223
|
+
- `createFluidObjectResponse`
|
|
224
|
+
- `rootDataStoreRequestHandler`
|
|
225
|
+
- `handleFromLegacyUri`
|
|
226
|
+
- `RuntimeRequestHandlerBuilder`
|
|
223
227
|
|
|
224
|
-
|
|
228
|
+
Please migrate all usage to the new `entryPoint` pattern.
|
|
225
229
|
|
|
226
|
-
|
|
230
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
227
231
|
|
|
228
232
|
## 2.0.0-internal.7.4.0
|
|
229
233
|
|
|
230
234
|
### Minor Changes
|
|
231
235
|
|
|
232
|
-
-
|
|
236
|
+
- aqueduct: Deprecated IRootDataObjectFactory ([#18565](https://github.com/microsoft/FluidFramework/issues/18565)) [030ab7adf9](https://github.com/microsoft/FluidFramework/commits/030ab7adf991d2d983437544600a191ac15ca5a5)
|
|
233
237
|
|
|
234
|
-
|
|
235
|
-
|
|
238
|
+
The `IRootDataObjectFactory` interface has been deprecated and will be removed in a future major release. Please remove
|
|
239
|
+
all usage of it.
|
|
236
240
|
|
|
237
241
|
## 2.0.0-internal.7.3.0
|
|
238
242
|
|
|
@@ -250,97 +254,97 @@ Dependency updates only.
|
|
|
250
254
|
|
|
251
255
|
### Major Changes
|
|
252
256
|
|
|
253
|
-
-
|
|
257
|
+
- aqueduct: ContainerRuntimeFactory constructors have changed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
254
258
|
|
|
255
|
-
|
|
259
|
+
The following class constructors have been changed to allow for better flexible in arguments passed:
|
|
256
260
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
261
|
+
- `BaseContainerRuntimeFactory`
|
|
262
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
263
|
+
- `RuntimeFactory`
|
|
260
264
|
|
|
261
|
-
|
|
265
|
+
They now use a single object for constructor params. Example change to be made:
|
|
262
266
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
267
|
+
```ts
|
|
268
|
+
// Old
|
|
269
|
+
new BaseContainerRuntimeFactory(
|
|
270
|
+
myRegistryEntries,
|
|
271
|
+
myDependencyContainer,
|
|
272
|
+
myRequestHandlers,
|
|
273
|
+
myRuntimeOptions,
|
|
274
|
+
myProvideEntryPoint,
|
|
275
|
+
);
|
|
272
276
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
277
|
+
// New
|
|
278
|
+
new BaseContainerRuntimeFactory({
|
|
279
|
+
registryEntries: myRegistryEntries,
|
|
280
|
+
dependencyContainer: myDependencyContainer,
|
|
281
|
+
requestHandlers: myRequestHandlers,
|
|
282
|
+
runtimeOptions: myRuntimeOptions,
|
|
283
|
+
provideEntryPoint: myProvideEntryPoint,
|
|
284
|
+
});
|
|
285
|
+
```
|
|
282
286
|
|
|
283
|
-
-
|
|
287
|
+
- DEPRECATED: container-runtime: requestHandlers are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
284
288
|
|
|
285
|
-
|
|
289
|
+
The concept of `requestHandlers` has been deprecated. Please migrate all usage of the following APIs to the new `entryPoint` pattern:
|
|
286
290
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
291
|
+
- `requestHandler` property in `ContainerRuntime.loadRuntime(...)`
|
|
292
|
+
- `RuntimeRequestHandler`
|
|
293
|
+
- `RuntimeRequestHandlerBuilder`
|
|
294
|
+
- `defaultFluidObjectRequestHandler(...)`
|
|
295
|
+
- `defaultRouteRequestHandler(...)`
|
|
296
|
+
- `mountableViewRequestHandler(...)`
|
|
297
|
+
- `buildRuntimeRequestHandler(...)`
|
|
298
|
+
- `createFluidObjectResponse(...)`
|
|
299
|
+
- `handleFromLegacyUri(...)`
|
|
300
|
+
- `rootDataStoreRequestHandler(...)`
|
|
297
301
|
|
|
298
|
-
|
|
302
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
299
303
|
|
|
300
|
-
-
|
|
304
|
+
- DEPRECATED: container-loader: Various request related APIs have been deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
301
305
|
|
|
302
|
-
|
|
306
|
+
Please remove all calls to the following functions and instead use the new `entryPoint` pattern:
|
|
303
307
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
308
|
+
- `requestFluidObject`
|
|
309
|
+
- `requestResolvedObjectFromContainer`
|
|
310
|
+
- `getDefaultObjectFromContainer`
|
|
311
|
+
- `getObjectWithIdFromContainer`
|
|
312
|
+
- `getObjectFromContainer`
|
|
309
313
|
|
|
310
|
-
|
|
314
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
311
315
|
|
|
312
|
-
-
|
|
316
|
+
- container-definitions: IContainer's and IDataStore's IFluidRouter capabilities are deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
313
317
|
|
|
314
|
-
|
|
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.
|
|
315
319
|
|
|
316
|
-
|
|
320
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
317
321
|
|
|
318
|
-
-
|
|
322
|
+
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
319
323
|
|
|
320
|
-
|
|
324
|
+
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
321
325
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
+
- `BaseContainerRuntimeFactory`
|
|
327
|
+
- `RuntimeFactory`
|
|
328
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
329
|
+
- `FluidDataStoreRuntime`
|
|
326
330
|
|
|
327
|
-
|
|
328
|
-
|
|
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.
|
|
329
333
|
|
|
330
|
-
|
|
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.
|
|
331
335
|
|
|
332
|
-
|
|
336
|
+
For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
333
337
|
|
|
334
|
-
-
|
|
338
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
335
339
|
|
|
336
|
-
|
|
340
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
337
341
|
|
|
338
|
-
-
|
|
342
|
+
- aqueduct: EventForwarder and IDisposable members removed from PureDataObject [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
339
343
|
|
|
340
|
-
|
|
344
|
+
The `EventForwarder` and `IDisposable` members of `PureDataObject` were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
341
345
|
|
|
342
|
-
|
|
343
|
-
|
|
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.
|
|
344
348
|
|
|
345
349
|
## 2.0.0-internal.6.4.0
|
|
346
350
|
|
|
@@ -354,43 +358,43 @@ Dependency updates only.
|
|
|
354
358
|
|
|
355
359
|
### Minor Changes
|
|
356
360
|
|
|
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
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
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
|
|
394
398
|
|
|
395
399
|
## 2.0.0-internal.6.1.0
|
|
396
400
|
|
|
@@ -400,27 +404,27 @@ Dependency updates only.
|
|
|
400
404
|
|
|
401
405
|
### Major Changes
|
|
402
406
|
|
|
403
|
-
-
|
|
407
|
+
- `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
404
408
|
|
|
405
|
-
|
|
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:
|
|
406
410
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
411
|
+
- `BaseContainerRuntimeFactory`
|
|
412
|
+
- `ContainerRuntimeFactoryWithDefaultDataStore`
|
|
413
|
+
- `RuntimeFactory`
|
|
414
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
415
|
+
- `FluidDataStoreRuntime`
|
|
412
416
|
|
|
413
|
-
|
|
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).
|
|
414
418
|
|
|
415
|
-
|
|
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.
|
|
416
420
|
|
|
417
|
-
-
|
|
421
|
+
- EventForwarder and IDisposable members removed from PureDataObject [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
418
422
|
|
|
419
|
-
|
|
423
|
+
The EventForwarder and IDisposable members of PureDataObject were deprecated in 2.0.0-internal.5.2.0 and have now been removed.
|
|
420
424
|
|
|
421
|
-
-
|
|
425
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
422
426
|
|
|
423
|
-
|
|
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.
|
|
424
428
|
|
|
425
429
|
## 2.0.0-internal.5.4.0
|
|
426
430
|
|
|
@@ -434,9 +438,9 @@ Dependency updates only.
|
|
|
434
438
|
|
|
435
439
|
### Minor Changes
|
|
436
440
|
|
|
437
|
-
-
|
|
441
|
+
- EventForwarder and IDisposable members deprecated from PureDataObject ([#16201](https://github.com/microsoft/FluidFramework/issues/16201)) [0e838fdb3e](https://github.com/microsoft/FluidFramework/commits/0e838fdb3e8187481f41c4116a67458c2a1658d5)
|
|
438
442
|
|
|
439
|
-
|
|
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.
|
|
440
444
|
|
|
441
445
|
## 2.0.0-internal.5.1.0
|
|
442
446
|
|
|
@@ -446,17 +450,17 @@ Dependency updates only.
|
|
|
446
450
|
|
|
447
451
|
### Major Changes
|
|
448
452
|
|
|
449
|
-
-
|
|
453
|
+
- The following functions and classes were deprecated in previous releases and have been removed: [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
|
|
450
454
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
455
|
+
- `PureDataObject.getFluidObjectFromDirectory`
|
|
456
|
+
- `IProvideContainerRuntime` and its `IContainerRuntime` member.
|
|
457
|
+
- `ContainerRuntime`'s `IProvideContainerRuntime` has also been removed.
|
|
454
458
|
|
|
455
459
|
## 2.0.0-internal.4.4.0
|
|
456
460
|
|
|
457
461
|
### Minor Changes
|
|
458
462
|
|
|
459
|
-
-
|
|
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)
|
|
460
464
|
|
|
461
465
|
## 2.0.0-internal.4.1.0
|
|
462
466
|
|