@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 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.71.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.71.0",
51
- "@fluidframework/driver-definitions": "~2.71.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.70.0",
60
- "@fluidframework/eslint-config-fluid": "^7.0.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",