@fluidframework/container-definitions 2.71.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 +1 -1
- package/CHANGELOG.md +9 -19
- package/package.json +7 -7
package/.eslintrc.cjs
CHANGED
|
@@ -21,7 +21,7 @@ module.exports = {
|
|
|
21
21
|
files: ["*.spec.ts", "src/test/**"],
|
|
22
22
|
rules: {
|
|
23
23
|
// Test files are run in node only so additional node libraries can be used.
|
|
24
|
-
"import/no-nodejs-modules": ["error", { allow: ["assert"] }],
|
|
24
|
+
"import-x/no-nodejs-modules": ["error", { allow: ["assert"] }],
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
27
|
],
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
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
|
+
|
|
3
12
|
## 2.71.0
|
|
4
13
|
|
|
5
14
|
Dependency updates only.
|
|
@@ -11,7 +20,6 @@ Dependency updates only.
|
|
|
11
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)
|
|
12
21
|
|
|
13
22
|
The following deprecated properties have been removed from `IRuntimeStorageService`:
|
|
14
|
-
|
|
15
23
|
- `createBlob`
|
|
16
24
|
- `dispose`
|
|
17
25
|
- `disposed`
|
|
@@ -23,7 +31,6 @@ Dependency updates only.
|
|
|
23
31
|
- `uploadSummaryWithContext`
|
|
24
32
|
|
|
25
33
|
The following deprecated properties have been removed from `IContainerStorageService`:
|
|
26
|
-
|
|
27
34
|
- `dispose`
|
|
28
35
|
- `disposed`
|
|
29
36
|
- `downloadSummary`
|
|
@@ -59,7 +66,6 @@ Dependency updates only.
|
|
|
59
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.
|
|
60
67
|
|
|
61
68
|
The following properties from `IContainerStorageService` are deprecated as they are not needed by the `DataStore` layer. These be removed in a future release:
|
|
62
|
-
|
|
63
69
|
- `policies` - The Runtime only needs `maximumCacheDurationMs` property from it which is added directly on `IContainerStorageService`.
|
|
64
70
|
- `downloadSummary`
|
|
65
71
|
- `disposed`
|
|
@@ -164,7 +170,6 @@ Dependency updates only.
|
|
|
164
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.
|
|
165
171
|
|
|
166
172
|
#### Alternatives
|
|
167
|
-
|
|
168
173
|
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
169
174
|
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
|
|
170
175
|
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
|
|
@@ -204,12 +209,10 @@ Dependency updates only.
|
|
|
204
209
|
- Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
205
210
|
|
|
206
211
|
Here are breaking changes in Audience behavior:
|
|
207
|
-
|
|
208
212
|
1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
|
|
209
213
|
2. IAudience interface implements getSelf() method and "selfChanged" event.
|
|
210
214
|
3. IContainerContext.audience is no longer optional
|
|
211
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.
|
|
212
|
-
|
|
213
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:
|
|
214
217
|
- "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
|
|
215
218
|
- "Fluid.Container.DisableJoinSignalWait"
|
|
@@ -220,7 +223,6 @@ Dependency updates only.
|
|
|
220
223
|
|
|
221
224
|
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
222
225
|
Marks the following types which were reachable from it as alpha:
|
|
223
|
-
|
|
224
226
|
- IConnectionDetails
|
|
225
227
|
- IDeltaSender
|
|
226
228
|
- IDeltaManagerEvents
|
|
@@ -248,7 +250,6 @@ Dependency updates only.
|
|
|
248
250
|
TypeScript types and implementation code.
|
|
249
251
|
|
|
250
252
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
251
|
-
|
|
252
253
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
253
254
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
254
255
|
|
|
@@ -277,7 +278,6 @@ Dependency updates only.
|
|
|
277
278
|
`IDeltaManager.inbound.resume()` get called.
|
|
278
279
|
|
|
279
280
|
### Alternatives
|
|
280
|
-
|
|
281
281
|
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
282
282
|
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect
|
|
283
283
|
use `IContainer.disconnect`.
|
|
@@ -330,7 +330,6 @@ Dependency updates only.
|
|
|
330
330
|
|
|
331
331
|
The following Fluid server dependencies have been updated to the latest version, 4.0.0.
|
|
332
332
|
[See the full changelog.](https://github.com/microsoft/FluidFramework/blob/main/server/routerlicious/RELEASE_NOTES/3.0.0.md)
|
|
333
|
-
|
|
334
333
|
- @fluidframework/gitresources
|
|
335
334
|
- @fluidframework/server-kafka-orderer
|
|
336
335
|
- @fluidframework/server-lambdas
|
|
@@ -359,7 +358,6 @@ Dependency updates only.
|
|
|
359
358
|
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
360
359
|
|
|
361
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)
|
|
362
|
-
|
|
363
361
|
- @fluidframework/gitresources
|
|
364
362
|
- @fluidframework/server-kafka-orderer
|
|
365
363
|
- @fluidframework/server-lambdas
|
|
@@ -414,7 +412,6 @@ Dependency updates only.
|
|
|
414
412
|
- container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
415
413
|
|
|
416
414
|
The `request(...)` method and `IFluidRouter` property have been removed from the following places:
|
|
417
|
-
|
|
418
415
|
- `ContainerRuntime`
|
|
419
416
|
- `IRuntime`
|
|
420
417
|
- `IContainerRuntimeBase`
|
|
@@ -473,7 +470,6 @@ Dependency updates only.
|
|
|
473
470
|
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
474
471
|
|
|
475
472
|
This included the following changes from the protocol-definitions release:
|
|
476
|
-
|
|
477
473
|
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
478
474
|
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
479
475
|
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
@@ -490,7 +486,6 @@ Dependency updates only.
|
|
|
490
486
|
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
491
487
|
|
|
492
488
|
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
493
|
-
|
|
494
489
|
- @fluidframework/gitresources: 2.0.1
|
|
495
490
|
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
496
491
|
- @fluidframework/server-lambdas: 2.0.1
|
|
@@ -515,7 +510,6 @@ Dependency updates only.
|
|
|
515
510
|
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
516
511
|
|
|
517
512
|
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
518
|
-
|
|
519
513
|
- `BaseContainerRuntimeFactory`
|
|
520
514
|
- `RuntimeFactory`
|
|
521
515
|
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
@@ -555,7 +549,6 @@ Dependency updates only.
|
|
|
555
549
|
|
|
556
550
|
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
557
551
|
imported from the **@fluidframework/core-interfaces** package:
|
|
558
|
-
|
|
559
552
|
- interface IDisposable
|
|
560
553
|
- interface IErrorEvent
|
|
561
554
|
- interface IErrorEvent
|
|
@@ -612,7 +605,6 @@ Dependency updates only.
|
|
|
612
605
|
- Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
613
606
|
|
|
614
607
|
The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
|
|
615
|
-
|
|
616
608
|
- `IRuntime` and `ContainerRuntime`
|
|
617
609
|
- `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
|
|
618
610
|
- `IFluidDataStoreChannel`
|
|
@@ -626,7 +618,6 @@ Dependency updates only.
|
|
|
626
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).
|
|
627
619
|
|
|
628
620
|
- IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
629
|
-
|
|
630
621
|
- The `request` function taking an arbitrary URL and headers is deprecated
|
|
631
622
|
- However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
|
|
632
623
|
from the request pattern to using entryPoint.
|
|
@@ -686,7 +677,6 @@ Dependency updates only.
|
|
|
686
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.
|
|
687
678
|
|
|
688
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:
|
|
689
|
-
|
|
690
680
|
- set `ILoaderProps.options.cache` to `true` when constructing a `Loader` object (see the `ILoaderOptions` interface)
|
|
691
681
|
- set `[LoaderHeader.cache]` header to `true` when requesting a container
|
|
692
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",
|