@fluidframework/runtime-definitions 2.71.0 → 2.73.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 +8 -32
- package/api-report/runtime-definitions.legacy.alpha.api.md +1 -1
- package/api-report/runtime-definitions.legacy.beta.api.md +1 -1
- package/dist/compatibilityDefinitions.d.ts +21 -1
- package/dist/compatibilityDefinitions.d.ts.map +1 -1
- package/dist/compatibilityDefinitions.js.map +1 -1
- package/lib/compatibilityDefinitions.d.ts +21 -1
- package/lib/compatibilityDefinitions.d.ts.map +1 -1
- package/lib/compatibilityDefinitions.js.map +1 -1
- package/package.json +11 -11
- package/src/compatibilityDefinitions.ts +21 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/runtime-definitions
|
|
2
2
|
|
|
3
|
+
## 2.73.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.72.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
3
11
|
## 2.71.0
|
|
4
12
|
|
|
5
13
|
Dependency updates only.
|
|
@@ -11,7 +19,6 @@ Dependency updates only.
|
|
|
11
19
|
- 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
20
|
|
|
13
21
|
The following deprecated properties have been removed from `IRuntimeStorageService`:
|
|
14
|
-
|
|
15
22
|
- `createBlob`
|
|
16
23
|
- `dispose`
|
|
17
24
|
- `disposed`
|
|
@@ -23,7 +30,6 @@ Dependency updates only.
|
|
|
23
30
|
- `uploadSummaryWithContext`
|
|
24
31
|
|
|
25
32
|
The following deprecated properties have been removed from `IContainerStorageService`:
|
|
26
|
-
|
|
27
33
|
- `dispose`
|
|
28
34
|
- `disposed`
|
|
29
35
|
- `downloadSummary`
|
|
@@ -49,7 +55,6 @@ Dependency updates only.
|
|
|
49
55
|
DDSes may optionally consume this value and use it to determine which sets of feature flags should be enabled.
|
|
50
56
|
|
|
51
57
|
#### Public type changes
|
|
52
|
-
|
|
53
58
|
- **@fluidframework/datastore: `FluidDataStoreRuntime`** - Exposes `minVersionForCollab`.
|
|
54
59
|
- **@fluidframework/runtime-definitions: `IFluidDataStoreContext`** - Exposes optional member `minVersionForCollab`.
|
|
55
60
|
See `FluidDataStoreContext` for an example implementation.
|
|
@@ -76,7 +81,6 @@ Dependency updates only.
|
|
|
76
81
|
Added an interface `IRuntimeStorageService` which will replace `IDocumentStorageService` in the `DataStore` layer. This is exposed by the `Runtime` layer to the `DataStore` layer. This new interface will only contain properties that are needed and used by the `DataStore` layer.
|
|
77
82
|
|
|
78
83
|
The following properties from `IRuntimeStorageService` are deprecated as they are not needed by the `DataStore` layer. These be removed in a future release:
|
|
79
|
-
|
|
80
84
|
- `disposed`
|
|
81
85
|
- `dispose`
|
|
82
86
|
- `policies`
|
|
@@ -130,7 +134,6 @@ Dependency updates only.
|
|
|
130
134
|
- The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
|
|
131
135
|
|
|
132
136
|
`process` has been replaced by `processMessages` from the following:
|
|
133
|
-
|
|
134
137
|
- `FluidDataStoreRuntime`
|
|
135
138
|
- `IDeltaHandler`
|
|
136
139
|
- `IFluidDataStoreChannel`
|
|
@@ -166,7 +169,6 @@ Dependency updates only.
|
|
|
166
169
|
parameter.
|
|
167
170
|
|
|
168
171
|
These changes were originally announced in version 0.25.0. See the following issues for more details:
|
|
169
|
-
|
|
170
172
|
- [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
|
|
171
173
|
- [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
|
|
172
174
|
|
|
@@ -197,7 +199,6 @@ Dependency updates only.
|
|
|
197
199
|
Synchronous creation relies on both the factory and the datastore to support it. This means that asynchronous operations, such as resolving handles, some browser API calls, consensus-based operations, or other asynchronous tasks, cannot be performed during the creation flow. Therefore, synchronous child datastore creation is best limited to scenarios where the existing asynchronous process cannot be used, such as when a new datastore must be created in direct response to synchronous user input.
|
|
198
200
|
|
|
199
201
|
#### Key Benefits
|
|
200
|
-
|
|
201
202
|
- **Synchronous Creation**: Allows for the immediate creation of child datastores without waiting for asynchronous operations.
|
|
202
203
|
- **Strong Typing**: Ensures type safety and better developer experience by leveraging TypeScript's type system.
|
|
203
204
|
|
|
@@ -249,7 +250,6 @@ Dependency updates only.
|
|
|
249
250
|
The 'batchBegin'/'batchEnd' events on ContainerRuntime indicate when a batch is beginning or finishing being processed. The `contents` property on the event argument `op` is not useful or relevant when reasoning over incoming changes at the batch level. Accordingly, it has been removed from the `op` event argument.
|
|
250
251
|
|
|
251
252
|
- "Remove `IFluidParentContext.ensureNoDataModelChanges` and its implementations ([#22842](https://github.com/microsoft/FluidFramework/pull/22842)) [3aff19a462](https://github.com/microsoft/FluidFramework/commit/3aff19a4622a242e906286c14dfcfa6523175132)
|
|
252
|
-
|
|
253
253
|
- `IFluidParentContext.ensureNoDataModelChanges` has been removed. [prior deprecation commit](https://github.com/microsoft/FluidFramework/commit/c9d156264bdfa211a3075bdf29cde442ecea234c)
|
|
254
254
|
- `MockFluidDataStoreContext.ensureNoDataModelChanges` has also been removed.
|
|
255
255
|
|
|
@@ -262,7 +262,6 @@ Dependency updates only.
|
|
|
262
262
|
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.
|
|
263
263
|
|
|
264
264
|
#### Alternatives
|
|
265
|
-
|
|
266
265
|
- Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
|
|
267
266
|
- Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
|
|
268
267
|
- Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
|
|
@@ -309,12 +308,10 @@ Dependency updates only.
|
|
|
309
308
|
disabled or controlled:
|
|
310
309
|
|
|
311
310
|
GC runtime options removed:
|
|
312
|
-
|
|
313
311
|
- `gcDisableThrowOnTombstoneLoad`
|
|
314
312
|
- `disableDataStoreSweep`
|
|
315
313
|
|
|
316
314
|
GC configs removed:
|
|
317
|
-
|
|
318
315
|
- `"Fluid.GarbageCollection.DisableTombstone"`
|
|
319
316
|
- `"Fluid.GarbageCollection.ThrowOnTombstoneUsage"`
|
|
320
317
|
- `"Fluid.GarbageCollection.DisableDataStoreSweep"`
|
|
@@ -337,7 +334,6 @@ Dependency updates only.
|
|
|
337
334
|
|
|
338
335
|
Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
|
|
339
336
|
The full list of such types is:
|
|
340
|
-
|
|
341
337
|
- `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
|
|
342
338
|
- `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
|
|
343
339
|
`ISharedObject`
|
|
@@ -355,7 +351,6 @@ Dependency updates only.
|
|
|
355
351
|
- `IProvideFluidHandleContext`
|
|
356
352
|
|
|
357
353
|
Removed APIs:
|
|
358
|
-
|
|
359
354
|
- `DataObjectClass`: Usages replaced with `SharedObjectKind`.
|
|
360
355
|
- `LoadableObjectClass`: Replaced with `SharedObjectKind`.
|
|
361
356
|
- `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
|
|
@@ -408,7 +403,6 @@ Dependency updates only.
|
|
|
408
403
|
TypeScript types and implementation code.
|
|
409
404
|
|
|
410
405
|
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
411
|
-
|
|
412
406
|
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
413
407
|
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
414
408
|
|
|
@@ -434,7 +428,6 @@ Dependency updates only.
|
|
|
434
428
|
|
|
435
429
|
There is no replacement given in terms of immediate programmatic access to this data.
|
|
436
430
|
The expected use pattern is something like this:
|
|
437
|
-
|
|
438
431
|
- Some code creates a concrete implementation of `ITelemetryContext` and passes it around
|
|
439
432
|
- Callers use the "write" functions on the interface to build up the context
|
|
440
433
|
- The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
|
|
@@ -444,26 +437,21 @@ Dependency updates only.
|
|
|
444
437
|
- container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
|
|
445
438
|
|
|
446
439
|
### Key changes
|
|
447
|
-
|
|
448
440
|
1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
|
|
449
441
|
2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
|
|
450
442
|
3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
|
|
451
443
|
|
|
452
444
|
### Implementation details
|
|
453
|
-
|
|
454
445
|
1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
|
|
455
446
|
|
|
456
447
|
### Breaking changes
|
|
457
|
-
|
|
458
448
|
1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
|
|
459
449
|
|
|
460
450
|
### Backward compatibility considerations
|
|
461
|
-
|
|
462
451
|
1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
|
|
463
452
|
2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
|
|
464
453
|
|
|
465
454
|
### Minor changes
|
|
466
|
-
|
|
467
455
|
1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
|
|
468
456
|
2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
|
|
469
457
|
|
|
@@ -502,7 +490,6 @@ Dependency updates only.
|
|
|
502
490
|
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
503
491
|
|
|
504
492
|
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)
|
|
505
|
-
|
|
506
493
|
- @fluidframework/gitresources
|
|
507
494
|
- @fluidframework/server-kafka-orderer
|
|
508
495
|
- @fluidframework/server-lambdas
|
|
@@ -555,7 +542,6 @@ Dependency updates only.
|
|
|
555
542
|
- container-runtime: Removed request pattern from ContainerRuntime, IRuntime, and IContainerRuntimeBase [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
556
543
|
|
|
557
544
|
The `request(...)` method and `IFluidRouter` property have been removed from the following places:
|
|
558
|
-
|
|
559
545
|
- `ContainerRuntime`
|
|
560
546
|
- `IRuntime`
|
|
561
547
|
- `IContainerRuntimeBase`
|
|
@@ -610,7 +596,6 @@ Dependency updates only.
|
|
|
610
596
|
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
611
597
|
|
|
612
598
|
This included the following changes from the protocol-definitions release:
|
|
613
|
-
|
|
614
599
|
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
615
600
|
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
616
601
|
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
@@ -626,7 +611,6 @@ Dependency updates only.
|
|
|
626
611
|
- DEPRECATED: resolveHandle and IFluidHandleContext deprecated on IContainerRuntime [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
627
612
|
|
|
628
613
|
The `resolveHandle(...)` and `get IFluidHandleContext()` methods have been deprecated on the following interfaces:
|
|
629
|
-
|
|
630
614
|
- `IContainerRuntime`
|
|
631
615
|
- `IContainerRuntimeBase`
|
|
632
616
|
|
|
@@ -643,7 +627,6 @@ Dependency updates only.
|
|
|
643
627
|
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
644
628
|
|
|
645
629
|
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
646
|
-
|
|
647
630
|
- @fluidframework/gitresources: 2.0.1
|
|
648
631
|
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
649
632
|
- @fluidframework/server-lambdas: 2.0.1
|
|
@@ -668,7 +651,6 @@ Dependency updates only.
|
|
|
668
651
|
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
669
652
|
|
|
670
653
|
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
671
|
-
|
|
672
654
|
- `BaseContainerRuntimeFactory`
|
|
673
655
|
- `RuntimeFactory`
|
|
674
656
|
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
@@ -690,7 +672,6 @@ Dependency updates only.
|
|
|
690
672
|
### Minor Changes
|
|
691
673
|
|
|
692
674
|
- Upcoming: The type of the logger property/param in various APIs will be changing ([#17350](https://github.com/microsoft/FluidFramework/issues/17350)) [27284bcda3](https://github.com/microsoft/FluidFramework/commits/27284bcda3d63cc4306cf76806f8a075db0db60f)
|
|
693
|
-
|
|
694
675
|
- @fluidframework/runtime-definitions
|
|
695
676
|
- `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
|
|
696
677
|
- @fluidframework/odsp-driver
|
|
@@ -711,7 +692,6 @@ Dependency updates only.
|
|
|
711
692
|
|
|
712
693
|
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
713
694
|
imported from the **@fluidframework/core-interfaces** package:
|
|
714
|
-
|
|
715
695
|
- interface IDisposable
|
|
716
696
|
- interface IErrorEvent
|
|
717
697
|
- interface IErrorEvent
|
|
@@ -745,7 +725,6 @@ Dependency updates only.
|
|
|
745
725
|
- Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
746
726
|
|
|
747
727
|
The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
|
|
748
|
-
|
|
749
728
|
- `IRuntime` and `ContainerRuntime`
|
|
750
729
|
- `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
|
|
751
730
|
- `IFluidDataStoreChannel`
|
|
@@ -759,7 +738,6 @@ Dependency updates only.
|
|
|
759
738
|
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).
|
|
760
739
|
|
|
761
740
|
- IContainer's and IDataStore's IFluidRouter capabilities are deprecated. [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
762
|
-
|
|
763
741
|
- The `request` function taking an arbitrary URL and headers is deprecated
|
|
764
742
|
- However, an overload taking only `{ url: "/" }` is not, for back-compat purposes during the migration
|
|
765
743
|
from the request pattern to using entryPoint.
|
|
@@ -845,7 +823,6 @@ Dependency updates only.
|
|
|
845
823
|
- GC interfaces removed from runtime-definitions [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
|
|
846
824
|
|
|
847
825
|
The following interfaces available in `@fluidframework/runtime-definitions` were deprecated in 2.0.0-internal.4.1.0 and are now removed.
|
|
848
|
-
|
|
849
826
|
- `IGarbageCollectionNodeData`
|
|
850
827
|
- `IGarbageCollectionState`
|
|
851
828
|
- `IGarbageCollectionSnapshotData`
|
|
@@ -862,7 +839,6 @@ Dependency updates only.
|
|
|
862
839
|
- GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
|
|
863
840
|
|
|
864
841
|
The following interfaces available in `@fluidframework/runtime-definitions` are internal implementation details and have been deprecated for public use. They will be removed in an upcoming release.
|
|
865
|
-
|
|
866
842
|
- `IGarbageCollectionNodeData`
|
|
867
843
|
- `IGarbageCollectionState`
|
|
868
844
|
- `IGarbageCollectionSnapshotData`
|
|
@@ -397,7 +397,7 @@ export interface LocalAttributionKey {
|
|
|
397
397
|
type: "local";
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
-
// @beta @legacy
|
|
400
|
+
// @beta @legacy @input
|
|
401
401
|
export type MinimumVersionForCollab = `${1 | 2}.${bigint}.${bigint}` | `${1 | 2}.${bigint}.${bigint}-${string}`;
|
|
402
402
|
|
|
403
403
|
// @beta @legacy
|
|
@@ -388,7 +388,7 @@ export interface LocalAttributionKey {
|
|
|
388
388
|
type: "local";
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
-
// @beta @legacy
|
|
391
|
+
// @beta @legacy @input
|
|
392
392
|
export type MinimumVersionForCollab = `${1 | 2}.${bigint}.${bigint}` | `${1 | 2}.${bigint}.${bigint}-${string}`;
|
|
393
393
|
|
|
394
394
|
// @beta @legacy
|
|
@@ -3,8 +3,28 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Oldest version of Fluid Framework client packages to support collaborating with.
|
|
7
|
+
* @remarks
|
|
8
|
+
* String in a SemVer format indicating a specific version of the Fluid Framework client package, or the special case of {@link @fluidframework/runtime-utils#defaultMinVersionForCollab}.
|
|
7
9
|
*
|
|
10
|
+
* When specifying a given `MinimumVersionForCollab`, any client with a version that is greater than or equal to the specified version will be considered compatible.
|
|
11
|
+
*
|
|
12
|
+
* Must be at least {@link @fluidframework/runtime-utils#lowestMinVersionForCollab} and cannot exceed the current version.
|
|
13
|
+
*
|
|
14
|
+
* {@link @fluidframework/runtime-utils#validateMinimumVersionForCollab} can be used to check these invariants at runtime.
|
|
15
|
+
* Since TypeScript cannot enforce them all for literals in code,
|
|
16
|
+
* it may be useful to use `validateMinimumVersionForCollab` values which may come from constants in the codebase typed as a `MinimumVersionForCollab`.
|
|
17
|
+
*
|
|
18
|
+
* @privateRemarks
|
|
19
|
+
* Since this uses the semver notion of "greater" (which might not actually mean a later release, or supporting more features), care must be taken with how this is used.
|
|
20
|
+
* See remarks for {@link @fluidframework/runtime-utils#MinimumMinorSemanticVersion} for more details.
|
|
21
|
+
*
|
|
22
|
+
* Since this type is marked with `@input`, it can be generalized to allow more cases in the future as a non-breaking change.
|
|
23
|
+
*
|
|
24
|
+
* TODO: before stabilizing this further, some restrictions should be considered (since once stabilized, this can be relaxed, but not more constrained).
|
|
25
|
+
* For example it might make sense to constrain this to something like `"1.4.0" | typeof defaultMinVersionForCollab | 2.${bigint}.0"`.
|
|
26
|
+
*
|
|
27
|
+
* @input
|
|
8
28
|
* @legacy @beta
|
|
9
29
|
*/
|
|
10
30
|
export type MinimumVersionForCollab = `${1 | 2}.${bigint}.${bigint}` | `${1 | 2}.${bigint}.${bigint}-${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityDefinitions.d.ts","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"compatibilityDefinitions.d.ts","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,uBAAuB,GAChC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,GAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityDefinitions.js","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * String in a
|
|
1
|
+
{"version":3,"file":"compatibilityDefinitions.js","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Oldest version of Fluid Framework client packages to support collaborating with.\n * @remarks\n * String in a SemVer format indicating a specific version of the Fluid Framework client package, or the special case of {@link @fluidframework/runtime-utils#defaultMinVersionForCollab}.\n *\n * When specifying a given `MinimumVersionForCollab`, any client with a version that is greater than or equal to the specified version will be considered compatible.\n *\n * Must be at least {@link @fluidframework/runtime-utils#lowestMinVersionForCollab} and cannot exceed the current version.\n *\n * {@link @fluidframework/runtime-utils#validateMinimumVersionForCollab} can be used to check these invariants at runtime.\n * Since TypeScript cannot enforce them all for literals in code,\n * it may be useful to use `validateMinimumVersionForCollab` values which may come from constants in the codebase typed as a `MinimumVersionForCollab`.\n *\n * @privateRemarks\n * Since this uses the semver notion of \"greater\" (which might not actually mean a later release, or supporting more features), care must be taken with how this is used.\n * See remarks for {@link @fluidframework/runtime-utils#MinimumMinorSemanticVersion} for more details.\n *\n * Since this type is marked with `@input`, it can be generalized to allow more cases in the future as a non-breaking change.\n *\n * TODO: before stabilizing this further, some restrictions should be considered (since once stabilized, this can be relaxed, but not more constrained).\n * For example it might make sense to constrain this to something like `\"1.4.0\" | typeof defaultMinVersionForCollab | 2.${bigint}.0\"`.\n *\n * @input\n * @legacy @beta\n */\nexport type MinimumVersionForCollab =\n\t| `${1 | 2}.${bigint}.${bigint}`\n\t| `${1 | 2}.${bigint}.${bigint}-${string}`;\n"]}
|
|
@@ -3,8 +3,28 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Oldest version of Fluid Framework client packages to support collaborating with.
|
|
7
|
+
* @remarks
|
|
8
|
+
* String in a SemVer format indicating a specific version of the Fluid Framework client package, or the special case of {@link @fluidframework/runtime-utils#defaultMinVersionForCollab}.
|
|
7
9
|
*
|
|
10
|
+
* When specifying a given `MinimumVersionForCollab`, any client with a version that is greater than or equal to the specified version will be considered compatible.
|
|
11
|
+
*
|
|
12
|
+
* Must be at least {@link @fluidframework/runtime-utils#lowestMinVersionForCollab} and cannot exceed the current version.
|
|
13
|
+
*
|
|
14
|
+
* {@link @fluidframework/runtime-utils#validateMinimumVersionForCollab} can be used to check these invariants at runtime.
|
|
15
|
+
* Since TypeScript cannot enforce them all for literals in code,
|
|
16
|
+
* it may be useful to use `validateMinimumVersionForCollab` values which may come from constants in the codebase typed as a `MinimumVersionForCollab`.
|
|
17
|
+
*
|
|
18
|
+
* @privateRemarks
|
|
19
|
+
* Since this uses the semver notion of "greater" (which might not actually mean a later release, or supporting more features), care must be taken with how this is used.
|
|
20
|
+
* See remarks for {@link @fluidframework/runtime-utils#MinimumMinorSemanticVersion} for more details.
|
|
21
|
+
*
|
|
22
|
+
* Since this type is marked with `@input`, it can be generalized to allow more cases in the future as a non-breaking change.
|
|
23
|
+
*
|
|
24
|
+
* TODO: before stabilizing this further, some restrictions should be considered (since once stabilized, this can be relaxed, but not more constrained).
|
|
25
|
+
* For example it might make sense to constrain this to something like `"1.4.0" | typeof defaultMinVersionForCollab | 2.${bigint}.0"`.
|
|
26
|
+
*
|
|
27
|
+
* @input
|
|
8
28
|
* @legacy @beta
|
|
9
29
|
*/
|
|
10
30
|
export type MinimumVersionForCollab = `${1 | 2}.${bigint}.${bigint}` | `${1 | 2}.${bigint}.${bigint}-${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityDefinitions.d.ts","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"compatibilityDefinitions.d.ts","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,uBAAuB,GAChC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,GAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibilityDefinitions.js","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * String in a
|
|
1
|
+
{"version":3,"file":"compatibilityDefinitions.js","sourceRoot":"","sources":["../src/compatibilityDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Oldest version of Fluid Framework client packages to support collaborating with.\n * @remarks\n * String in a SemVer format indicating a specific version of the Fluid Framework client package, or the special case of {@link @fluidframework/runtime-utils#defaultMinVersionForCollab}.\n *\n * When specifying a given `MinimumVersionForCollab`, any client with a version that is greater than or equal to the specified version will be considered compatible.\n *\n * Must be at least {@link @fluidframework/runtime-utils#lowestMinVersionForCollab} and cannot exceed the current version.\n *\n * {@link @fluidframework/runtime-utils#validateMinimumVersionForCollab} can be used to check these invariants at runtime.\n * Since TypeScript cannot enforce them all for literals in code,\n * it may be useful to use `validateMinimumVersionForCollab` values which may come from constants in the codebase typed as a `MinimumVersionForCollab`.\n *\n * @privateRemarks\n * Since this uses the semver notion of \"greater\" (which might not actually mean a later release, or supporting more features), care must be taken with how this is used.\n * See remarks for {@link @fluidframework/runtime-utils#MinimumMinorSemanticVersion} for more details.\n *\n * Since this type is marked with `@input`, it can be generalized to allow more cases in the future as a non-breaking change.\n *\n * TODO: before stabilizing this further, some restrictions should be considered (since once stabilized, this can be relaxed, but not more constrained).\n * For example it might make sense to constrain this to something like `\"1.4.0\" | typeof defaultMinVersionForCollab | 2.${bigint}.0\"`.\n *\n * @input\n * @legacy @beta\n */\nexport type MinimumVersionForCollab =\n\t| `${1 | 2}.${bigint}.${bigint}`\n\t| `${1 | 2}.${bigint}.${bigint}-${string}`;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/runtime-definitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.73.0",
|
|
4
4
|
"description": "Fluid Runtime definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -57,21 +57,21 @@
|
|
|
57
57
|
"main": "lib/index.js",
|
|
58
58
|
"types": "lib/public.d.ts",
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@fluid-internal/client-utils": "~2.
|
|
61
|
-
"@fluidframework/container-definitions": "~2.
|
|
62
|
-
"@fluidframework/core-interfaces": "~2.
|
|
63
|
-
"@fluidframework/driver-definitions": "~2.
|
|
64
|
-
"@fluidframework/id-compressor": "~2.
|
|
65
|
-
"@fluidframework/telemetry-utils": "~2.
|
|
60
|
+
"@fluid-internal/client-utils": "~2.73.0",
|
|
61
|
+
"@fluidframework/container-definitions": "~2.73.0",
|
|
62
|
+
"@fluidframework/core-interfaces": "~2.73.0",
|
|
63
|
+
"@fluidframework/driver-definitions": "~2.73.0",
|
|
64
|
+
"@fluidframework/id-compressor": "~2.73.0",
|
|
65
|
+
"@fluidframework/telemetry-utils": "~2.73.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
69
69
|
"@biomejs/biome": "~1.9.3",
|
|
70
|
-
"@fluid-tools/build-cli": "^0.
|
|
70
|
+
"@fluid-tools/build-cli": "^0.60.0",
|
|
71
71
|
"@fluidframework/build-common": "^2.0.3",
|
|
72
|
-
"@fluidframework/build-tools": "^0.
|
|
73
|
-
"@fluidframework/eslint-config-fluid": "
|
|
74
|
-
"@fluidframework/runtime-definitions-previous": "npm:@fluidframework/runtime-definitions@2.
|
|
72
|
+
"@fluidframework/build-tools": "^0.60.0",
|
|
73
|
+
"@fluidframework/eslint-config-fluid": "~2.73.0",
|
|
74
|
+
"@fluidframework/runtime-definitions-previous": "npm:@fluidframework/runtime-definitions@2.71.0",
|
|
75
75
|
"@microsoft/api-extractor": "7.52.11",
|
|
76
76
|
"concurrently": "^8.2.1",
|
|
77
77
|
"copyfiles": "^2.4.1",
|
|
@@ -4,8 +4,28 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Oldest version of Fluid Framework client packages to support collaborating with.
|
|
8
|
+
* @remarks
|
|
9
|
+
* String in a SemVer format indicating a specific version of the Fluid Framework client package, or the special case of {@link @fluidframework/runtime-utils#defaultMinVersionForCollab}.
|
|
8
10
|
*
|
|
11
|
+
* When specifying a given `MinimumVersionForCollab`, any client with a version that is greater than or equal to the specified version will be considered compatible.
|
|
12
|
+
*
|
|
13
|
+
* Must be at least {@link @fluidframework/runtime-utils#lowestMinVersionForCollab} and cannot exceed the current version.
|
|
14
|
+
*
|
|
15
|
+
* {@link @fluidframework/runtime-utils#validateMinimumVersionForCollab} can be used to check these invariants at runtime.
|
|
16
|
+
* Since TypeScript cannot enforce them all for literals in code,
|
|
17
|
+
* it may be useful to use `validateMinimumVersionForCollab` values which may come from constants in the codebase typed as a `MinimumVersionForCollab`.
|
|
18
|
+
*
|
|
19
|
+
* @privateRemarks
|
|
20
|
+
* Since this uses the semver notion of "greater" (which might not actually mean a later release, or supporting more features), care must be taken with how this is used.
|
|
21
|
+
* See remarks for {@link @fluidframework/runtime-utils#MinimumMinorSemanticVersion} for more details.
|
|
22
|
+
*
|
|
23
|
+
* Since this type is marked with `@input`, it can be generalized to allow more cases in the future as a non-breaking change.
|
|
24
|
+
*
|
|
25
|
+
* TODO: before stabilizing this further, some restrictions should be considered (since once stabilized, this can be relaxed, but not more constrained).
|
|
26
|
+
* For example it might make sense to constrain this to something like `"1.4.0" | typeof defaultMinVersionForCollab | 2.${bigint}.0"`.
|
|
27
|
+
*
|
|
28
|
+
* @input
|
|
9
29
|
* @legacy @beta
|
|
10
30
|
*/
|
|
11
31
|
export type MinimumVersionForCollab =
|