@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.
Files changed (3) hide show
  1. package/.eslintrc.cjs +4 -1
  2. package/CHANGELOG.md +13 -19
  3. 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.70.0",
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.70.0",
51
- "@fluidframework/driver-definitions": "~2.70.0"
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.58.3",
56
+ "@fluid-tools/build-cli": "^0.60.0",
57
57
  "@fluidframework/build-common": "^2.0.3",
58
- "@fluidframework/build-tools": "^0.58.3",
59
- "@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@2.63.0",
60
- "@fluidframework/eslint-config-fluid": "^6.1.0",
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",