@fluidframework/container-definitions 2.70.0 → 2.72.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/.eslintrc.cjs +4 -1
- package/CHANGELOG.md +13 -19
- package/package.json +10 -17
package/.eslintrc.cjs
CHANGED
|
@@ -11,6 +11,9 @@ module.exports = {
|
|
|
11
11
|
rules: {
|
|
12
12
|
// TODO: Enabling this may require breaking changes.
|
|
13
13
|
"@typescript-eslint/consistent-indexed-object-style": "off",
|
|
14
|
+
|
|
15
|
+
// Disabled because the rule is crashing on this package - AB#51780
|
|
16
|
+
"@typescript-eslint/unbound-method": "off",
|
|
14
17
|
},
|
|
15
18
|
overrides: [
|
|
16
19
|
{
|
|
@@ -18,7 +21,7 @@ module.exports = {
|
|
|
18
21
|
files: ["*.spec.ts", "src/test/**"],
|
|
19
22
|
rules: {
|
|
20
23
|
// Test files are run in node only so additional node libraries can be used.
|
|
21
|
-
"import/no-nodejs-modules": ["error", { allow: ["assert"] }],
|
|
24
|
+
"import-x/no-nodejs-modules": ["error", { allow: ["assert"] }],
|
|
22
25
|
},
|
|
23
26
|
},
|
|
24
27
|
],
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @fluidframework/container-definitions
|
|
2
2
|
|
|
3
|
+
## 2.72.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added a new Fluid error type layerIncompatibilityError ([#25784](https://github.com/microsoft/FluidFramework/pull/25784)) [01d568b4bc](https://github.com/microsoft/FluidFramework/commit/01d568b4bcbff38a0ee4b614bad1dfb0c400a360)
|
|
8
|
+
|
|
9
|
+
A new Fluid error type `layerIncompatibilityError` is added to `FluidErrorTypesAlpha` as @legacy @alpha. This will be moved to `FluidErrorTypes` as @legacy @beta in a future legacy breaking release.
|
|
10
|
+
It will also be added to `ContainerErrorTypes` since it extends `FluidErrorTypes`.
|
|
11
|
+
|
|
12
|
+
## 2.71.0
|
|
13
|
+
|
|
14
|
+
Dependency updates only.
|
|
15
|
+
|
|
3
16
|
## 2.70.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
|
@@ -7,7 +20,6 @@
|
|
|
7
20
|
- Deprecated properties have been removed from IRuntimeStorageService and IContainerStorageService ([#25708](https://github.com/microsoft/FluidFramework/pull/25708)) [82c936ed28](https://github.com/microsoft/FluidFramework/commit/82c936ed285c7e450d5e907a531ce71178f57819)
|
|
8
21
|
|
|
9
22
|
The following deprecated properties have been removed from `IRuntimeStorageService`:
|
|
10
|
-
|
|
11
23
|
- `createBlob`
|
|
12
24
|
- `dispose`
|
|
13
25
|
- `disposed`
|
|
@@ -19,7 +31,6 @@
|
|
|
19
31
|
- `uploadSummaryWithContext`
|
|
20
32
|
|
|
21
33
|
The following deprecated properties have been removed from `IContainerStorageService`:
|
|
22
|
-
|
|
23
34
|
- `dispose`
|
|
24
35
|
- `disposed`
|
|
25
36
|
- `downloadSummary`
|
|
@@ -55,7 +66,6 @@ Dependency updates only.
|
|
|
55
66
|
Added an interface `IContainerStorageService` which will replace `IDocumentStorageService` in the `Runtime` layer. This is exposed by the `Loader` layer to the `Runtime` layer via `ContainerContext`. This will help remove `Runtime` layer's dependency on the `Driver` layer and replace it with the `Loader` layer that it already maintains. This new interface will only contain properties that are needed and used by the `Runtime` layer.
|
|
56
67
|
|
|
57
68
|
The following properties from `IContainerStorageService` are deprecated as they are not needed by the `DataStore` layer. These be removed in a future release:
|
|
58
|
-
|
|
59
69
|
- `policies` - The Runtime only needs `maximumCacheDurationMs` property from it which is added directly on `IContainerStorageService`.
|
|
60
70
|
- `downloadSummary`
|
|
61
71
|
- `disposed`
|
|
@@ -160,7 +170,6 @@ Dependency updates only.
|
|
|
160
170
|
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.
|
|
161
171
|
|
|
162
172
|
#### Alternatives
|
|
163
|
-
|
|
164
173
|
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
165
174
|
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
|
|
166
175
|
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
|
|
@@ -200,12 +209,10 @@ Dependency updates only.
|
|
|
200
209
|
- Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
201
210
|
|
|
202
211
|
Here are breaking changes in Audience behavior:
|
|
203
|
-
|
|
204
212
|
1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
|
|
205
213
|
2. IAudience interface implements getSelf() method and "selfChanged" event.
|
|
206
214
|
3. IContainerContext.audience is no longer optional
|
|
207
215
|
4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
|
|
208
|
-
|
|
209
216
|
- If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
|
|
210
217
|
- "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
|
|
211
218
|
- "Fluid.Container.DisableJoinSignalWait"
|
|
@@ -216,7 +223,6 @@ Dependency updates only.
|
|
|
216
223
|
|
|
217
224
|
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
218
225
|
Marks the following types which were reachable from it as alpha:
|
|
219
|
-
|
|
220
226
|
- IConnectionDetails
|
|
221
227
|
- IDeltaSender
|
|
222
228
|
- IDeltaManagerEvents
|
|
@@ -244,7 +250,6 @@ Dependency updates only.
|
|
|
244
250
|
TypeScript types and implementation code.
|
|
245
251
|
|
|
246
252
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
247
|
-
|
|
248
253
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
249
254
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
250
255
|
|
|
@@ -273,7 +278,6 @@ Dependency updates only.
|
|
|
273
278
|
`IDeltaManager.inbound.resume()` get called.
|
|
274
279
|
|
|
275
280
|
### Alternatives
|
|
276
|
-
|
|
277
281
|
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
278
282
|
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect
|
|
279
283
|
use `IContainer.disconnect`.
|
|
@@ -326,7 +330,6 @@ Dependency updates only.
|
|
|
326
330
|
|
|
327
331
|
The following Fluid server dependencies have been updated to the latest version, 4.0.0.
|
|
328
332
|
[See the full changelog.](https://github.com/microsoft/FluidFramework/blob/main/server/routerlicious/RELEASE_NOTES/3.0.0.md)
|
|
329
|
-
|
|
330
333
|
- @fluidframework/gitresources
|
|
331
334
|
- @fluidframework/server-kafka-orderer
|
|
332
335
|
- @fluidframework/server-lambdas
|
|
@@ -355,7 +358,6 @@ Dependency updates only.
|
|
|
355
358
|
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
356
359
|
|
|
357
360
|
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)
|
|
358
|
-
|
|
359
361
|
- @fluidframework/gitresources
|
|
360
362
|
- @fluidframework/server-kafka-orderer
|
|
361
363
|
- @fluidframework/server-lambdas
|
|
@@ -410,7 +412,6 @@ Dependency updates only.
|
|
|
410
412
|
- container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
411
413
|
|
|
412
414
|
The `request(...)` method and `IFluidRouter` property have been removed from the following places:
|
|
413
|
-
|
|
414
415
|
- `ContainerRuntime`
|
|
415
416
|
- `IRuntime`
|
|
416
417
|
- `IContainerRuntimeBase`
|
|
@@ -469,7 +470,6 @@ Dependency updates only.
|
|
|
469
470
|
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
470
471
|
|
|
471
472
|
This included the following changes from the protocol-definitions release:
|
|
472
|
-
|
|
473
473
|
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
474
474
|
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
475
475
|
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
@@ -486,7 +486,6 @@ Dependency updates only.
|
|
|
486
486
|
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
487
487
|
|
|
488
488
|
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
489
|
-
|
|
490
489
|
- @fluidframework/gitresources: 2.0.1
|
|
491
490
|
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
492
491
|
- @fluidframework/server-lambdas: 2.0.1
|
|
@@ -511,7 +510,6 @@ Dependency updates only.
|
|
|
511
510
|
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
512
511
|
|
|
513
512
|
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
514
|
-
|
|
515
513
|
- `BaseContainerRuntimeFactory`
|
|
516
514
|
- `RuntimeFactory`
|
|
517
515
|
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
@@ -551,7 +549,6 @@ Dependency updates only.
|
|
|
551
549
|
|
|
552
550
|
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
553
551
|
imported from the **@fluidframework/core-interfaces** package:
|
|
554
|
-
|
|
555
552
|
- interface IDisposable
|
|
556
553
|
- interface IErrorEvent
|
|
557
554
|
- interface IErrorEvent
|
|
@@ -608,7 +605,6 @@ Dependency updates only.
|
|
|
608
605
|
- Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
609
606
|
|
|
610
607
|
The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
|
|
611
|
-
|
|
612
608
|
- `IRuntime` and `ContainerRuntime`
|
|
613
609
|
- `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
|
|
614
610
|
- `IFluidDataStoreChannel`
|
|
@@ -622,7 +618,6 @@ Dependency updates only.
|
|
|
622
618
|
More information of the migration off the request pattern, and current status of its removal, is documented in [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md).
|
|
623
619
|
|
|
624
620
|
- IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
625
|
-
|
|
626
621
|
- The `request` function taking an arbitrary URL and headers is deprecated
|
|
627
622
|
- However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
|
|
628
623
|
from the request pattern to using entryPoint.
|
|
@@ -682,7 +677,6 @@ Dependency updates only.
|
|
|
682
677
|
Loader container caching will now be off by default and the ability to control it is deprecated. Loader caching is deprecated and will be removed in a future release, as well as all caching functionality of containers. Please try not to rely on caching and inform us if you cannot do so.
|
|
683
678
|
|
|
684
679
|
If you run into trouble with this behavior, please report it ASAP to the FluidFramework team and use the following options (available in this release only) to unblock you:
|
|
685
|
-
|
|
686
680
|
- set `ILoaderProps.options.cache` to `true` when constructing a `Loader` object (see the `ILoaderOptions` interface)
|
|
687
681
|
- set `[LoaderHeader.cache]` header to `true` when requesting a container
|
|
688
682
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-definitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.72.0",
|
|
4
4
|
"description": "Fluid container definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -47,17 +47,17 @@
|
|
|
47
47
|
"main": "lib/index.js",
|
|
48
48
|
"types": "lib/public.d.ts",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@fluidframework/core-interfaces": "~2.
|
|
51
|
-
"@fluidframework/driver-definitions": "~2.
|
|
50
|
+
"@fluidframework/core-interfaces": "~2.72.0",
|
|
51
|
+
"@fluidframework/driver-definitions": "~2.72.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
55
55
|
"@biomejs/biome": "~1.9.3",
|
|
56
|
-
"@fluid-tools/build-cli": "^0.
|
|
56
|
+
"@fluid-tools/build-cli": "^0.60.0",
|
|
57
57
|
"@fluidframework/build-common": "^2.0.3",
|
|
58
|
-
"@fluidframework/build-tools": "^0.
|
|
59
|
-
"@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@2.
|
|
60
|
-
"@fluidframework/eslint-config-fluid": "
|
|
58
|
+
"@fluidframework/build-tools": "^0.60.0",
|
|
59
|
+
"@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@2.71.0",
|
|
60
|
+
"@fluidframework/eslint-config-fluid": "~2.72.0",
|
|
61
61
|
"@microsoft/api-extractor": "7.52.11",
|
|
62
62
|
"concurrently": "^8.2.1",
|
|
63
63
|
"copyfiles": "^2.4.1",
|
|
@@ -66,14 +66,7 @@
|
|
|
66
66
|
"typescript": "~5.4.5"
|
|
67
67
|
},
|
|
68
68
|
"typeValidation": {
|
|
69
|
-
"broken": {
|
|
70
|
-
"Interface_IContainerContext": {
|
|
71
|
-
"backCompat": false
|
|
72
|
-
},
|
|
73
|
-
"Interface_IContainerStorageService": {
|
|
74
|
-
"backCompat": false
|
|
75
|
-
}
|
|
76
|
-
},
|
|
69
|
+
"broken": {},
|
|
77
70
|
"entrypoint": "legacy"
|
|
78
71
|
},
|
|
79
72
|
"scripts": {
|
|
@@ -108,8 +101,8 @@
|
|
|
108
101
|
"ci:test": "echo No test for this package",
|
|
109
102
|
"ci:test:coverage": "echo No test for this package",
|
|
110
103
|
"clean": "rimraf --glob dist lib {alpha,beta,internal,legacy}.d.ts \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
111
|
-
"eslint": "eslint --format stylish src",
|
|
112
|
-
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
104
|
+
"eslint": "eslint --quiet --format stylish src",
|
|
105
|
+
"eslint:fix": "eslint --quiet --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
113
106
|
"format": "npm run format:biome",
|
|
114
107
|
"format:biome": "biome check . --write",
|
|
115
108
|
"lint": "fluid-build . --task lint",
|