fluid-framework 2.1.0-281041 → 2.1.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 +47 -0
- package/README.md +4 -4
- package/api-report/fluid-framework.beta.api.md +1 -1
- package/api-report/fluid-framework.legacy.alpha.api.md +1 -1
- package/api-report/fluid-framework.legacy.public.api.md +1 -1
- package/api-report/fluid-framework.public.api.md +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# fluid-framework
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Detect arrayNode iterator invalidation ([#21760](https://github.com/microsoft/FluidFramework/pull/21760)) [6fd320c385](https://github.com/microsoft/FluidFramework/commit/6fd320c38561e272a1acaf4248f47fc386c650e4)
|
|
8
|
+
|
|
9
|
+
When `arrayNode`s are edited concurrently during iteration, an error will be thrown.
|
|
10
|
+
|
|
11
|
+
- Some SharedDirectory/SharedMap-related APIs have been sealed ([#21836](https://github.com/microsoft/FluidFramework/pull/21836)) [b1d0427eab](https://github.com/microsoft/FluidFramework/commit/b1d0427eab3fcd55588dd80996967133db66f1b8)
|
|
12
|
+
|
|
13
|
+
Note that this is a _documentation only change._ There is no runtime or type-level impact.
|
|
14
|
+
|
|
15
|
+
Some top-level APIs within `@fluidframework/map` and `fluid-framework` have been updated to reflect their
|
|
16
|
+
sealed/readonly nature. That is, they are not to be implemented externally to Fluid Framework and not changed. This was
|
|
17
|
+
already the case, but the documentation was not clear.
|
|
18
|
+
|
|
19
|
+
Updated APIs:
|
|
20
|
+
|
|
21
|
+
- [IDirectory](https://fluidframework.com/docs/api/v2/fluid-framework/idirectory-interface) sealed
|
|
22
|
+
- [IDirectoryEvents](https://fluidframework.com/docs/api/v2/fluid-framework/idirectoryevents-interface) sealed
|
|
23
|
+
- [IDirectoryValueChanged](https://fluidframework.com/docs/api/v2/fluid-framework/idirectoryvaluechanged-interface) sealed and path property is readonly
|
|
24
|
+
- [ISharedDirectory](https://fluidframework.com/docs/api/v2/fluid-framework/ishareddirectory-interface) sealed
|
|
25
|
+
- [ISharedDirectoryEvents](https://fluidframework.com/docs/api/v2/fluid-framework/ishareddirectoryevents-interface) sealed
|
|
26
|
+
- [IValueChanged](https://fluidframework.com/docs/api/v2/fluid-framework/ivaluechanged-interface) sealed
|
|
27
|
+
|
|
28
|
+
- tree: Improved performance for accessing identifiers in shortId API ([#21944](https://github.com/microsoft/FluidFramework/pull/21944)) [6b4cf26d9c](https://github.com/microsoft/FluidFramework/commit/6b4cf26d9cc14c1a36cf07fd7408f1d1227e373a)
|
|
29
|
+
|
|
30
|
+
Users should see improved performance when calling the `Tree.shortId` API. Identifier field keys are now cached in the schema for faster access.
|
|
31
|
+
|
|
32
|
+
- ✨ New! Debug visualizers for TreeNodes in NodeJS and browsers ([#21895](https://github.com/microsoft/FluidFramework/pull/21895)) [0d197fefec](https://github.com/microsoft/FluidFramework/commit/0d197fefec852df2911151217ac1b71cde528a70)
|
|
33
|
+
|
|
34
|
+
TreeNodes now have custom debug visualizers to improve the debug experience in NodeJS and in browsers. Note that custom formatters must be enabled in the browser developer tools for that visualizer to be used.
|
|
35
|
+
|
|
36
|
+
- Using "delete" on tree fields now throws an error instead of not working correctly ([#21609](https://github.com/microsoft/FluidFramework/pull/21609)) [416849b1fd](https://github.com/microsoft/FluidFramework/commit/416849b1fda029870ee1c1742100de4f8dde45b7)
|
|
37
|
+
|
|
38
|
+
TypeScript allows `delete` on object node optional fields if the `exactOptionalPropertyTypes` tsconfig setting is not
|
|
39
|
+
enabled. This does not work correctly at runtime and now produces an informative error.
|
|
40
|
+
|
|
41
|
+
- Improved error reporting ([#21940](https://github.com/microsoft/FluidFramework/pull/21940)) [3b8a366dd1](https://github.com/microsoft/FluidFramework/commit/3b8a366dd15660f9c916832040faf772534c0755)
|
|
42
|
+
|
|
43
|
+
Several cases of invalid usage patterns for tree APIs have gained improved error reporting, as well as improved documentation on the APIs detailing what usage is supported.
|
|
44
|
+
These improvements include:
|
|
45
|
+
|
|
46
|
+
- Unsupported usages of schema classes: using more than one schema class derived from a single SchemaFactory generated base class. This used to hit internal asserts, but now has a descriptive user-facing UsageError. Most of this work was done in [9fb3dcf](https://github.com/microsoft/FluidFramework/commit/9fb3dcf491a7f0d66f4abbdc64ab97ccabef4707).
|
|
47
|
+
- Improved detection of when prior exception may have left SharedTree in an invalid state.
|
|
48
|
+
These cases now report a UsageError including a reference to the prior exception. This was mainly done in [9fb3dcf](https://github.com/microsoft/FluidFramework/commit/9fb3dcf491a7f0d66f4abbdc64ab97ccabef4707) and [b77d530](https://github.com/microsoft/FluidFramework/commit/b77d530b9252201c40a90d1a2a6315f76f1a4a4b).
|
|
49
|
+
|
|
3
50
|
## 2.0.0-rc.5.0.0
|
|
4
51
|
|
|
5
52
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -39,6 +39,10 @@ To access the `public` ([SemVer](https://semver.org/)) APIs, import via `fluid-f
|
|
|
39
39
|
|
|
40
40
|
To access the `legacy` APIs, import via `fluid-framework/legacy`.
|
|
41
41
|
|
|
42
|
+
## API Documentation
|
|
43
|
+
|
|
44
|
+
API documentation for **fluid-framework** is available at <https://fluidframework.com/docs/apis/fluid-framework>.
|
|
45
|
+
|
|
42
46
|
<!-- prettier-ignore-end -->
|
|
43
47
|
|
|
44
48
|
<!-- AUTO-GENERATED-CONTENT:END -->
|
|
@@ -70,10 +74,6 @@ Check out the [Hello World tutorial](https://fluidframework.com/docs/start/tutor
|
|
|
70
74
|
<!-- prettier-ignore-start -->
|
|
71
75
|
<!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
|
|
72
76
|
|
|
73
|
-
## API Documentation
|
|
74
|
-
|
|
75
|
-
API documentation for **fluid-framework** is available at <https://fluidframework.com/docs/apis/fluid-framework>.
|
|
76
|
-
|
|
77
77
|
## Minimum Client Requirements
|
|
78
78
|
|
|
79
79
|
These are the platform requirements for the current version of Fluid Framework Client Packages.
|
|
@@ -796,7 +796,7 @@ export interface TreeNodeApi {
|
|
|
796
796
|
parent(node: TreeNode): TreeNode | undefined;
|
|
797
797
|
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
798
798
|
shortId(node: TreeNode): number | string | undefined;
|
|
799
|
-
|
|
799
|
+
status(node: TreeNode): TreeStatus;
|
|
800
800
|
}
|
|
801
801
|
|
|
802
802
|
// @public
|
|
@@ -1206,7 +1206,7 @@ export interface TreeNodeApi {
|
|
|
1206
1206
|
parent(node: TreeNode): TreeNode | undefined;
|
|
1207
1207
|
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
1208
1208
|
shortId(node: TreeNode): number | string | undefined;
|
|
1209
|
-
|
|
1209
|
+
status(node: TreeNode): TreeStatus;
|
|
1210
1210
|
}
|
|
1211
1211
|
|
|
1212
1212
|
// @public
|
|
@@ -830,7 +830,7 @@ export interface TreeNodeApi {
|
|
|
830
830
|
parent(node: TreeNode): TreeNode | undefined;
|
|
831
831
|
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
832
832
|
shortId(node: TreeNode): number | string | undefined;
|
|
833
|
-
|
|
833
|
+
status(node: TreeNode): TreeStatus;
|
|
834
834
|
}
|
|
835
835
|
|
|
836
836
|
// @public
|
|
@@ -796,7 +796,7 @@ export interface TreeNodeApi {
|
|
|
796
796
|
parent(node: TreeNode): TreeNode | undefined;
|
|
797
797
|
schema<T extends TreeNode | TreeLeafValue>(node: T): TreeNodeSchema<string, NodeKind, unknown, T>;
|
|
798
798
|
shortId(node: TreeNode): number | string | undefined;
|
|
799
|
-
|
|
799
|
+
status(node: TreeNode): TreeStatus;
|
|
800
800
|
}
|
|
801
801
|
|
|
802
802
|
// @public
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fluid-framework",
|
|
3
|
-
"version": "2.1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "The main entry point into Fluid Framework public packages",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -37,22 +37,22 @@
|
|
|
37
37
|
"main": "lib/index.js",
|
|
38
38
|
"types": "lib/public.d.ts",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@fluidframework/container-definitions": "2.1.0
|
|
41
|
-
"@fluidframework/container-loader": "2.1.0
|
|
42
|
-
"@fluidframework/core-interfaces": "2.1.0
|
|
43
|
-
"@fluidframework/driver-definitions": "2.1.0
|
|
44
|
-
"@fluidframework/fluid-static": "2.1.0
|
|
45
|
-
"@fluidframework/map": "2.1.0
|
|
46
|
-
"@fluidframework/sequence": "2.1.0
|
|
47
|
-
"@fluidframework/shared-object-base": "2.1.0
|
|
48
|
-
"@fluidframework/tree": "2.1.0
|
|
40
|
+
"@fluidframework/container-definitions": "~2.1.0",
|
|
41
|
+
"@fluidframework/container-loader": "~2.1.0",
|
|
42
|
+
"@fluidframework/core-interfaces": "~2.1.0",
|
|
43
|
+
"@fluidframework/driver-definitions": "~2.1.0",
|
|
44
|
+
"@fluidframework/fluid-static": "~2.1.0",
|
|
45
|
+
"@fluidframework/map": "~2.1.0",
|
|
46
|
+
"@fluidframework/sequence": "~2.1.0",
|
|
47
|
+
"@fluidframework/shared-object-base": "~2.1.0",
|
|
48
|
+
"@fluidframework/tree": "~2.1.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@arethetypeswrong/cli": "^0.15.2",
|
|
52
52
|
"@biomejs/biome": "~1.8.3",
|
|
53
|
-
"@fluid-tools/build-cli": "^0.
|
|
53
|
+
"@fluid-tools/build-cli": "^0.41.0",
|
|
54
54
|
"@fluidframework/build-common": "^2.0.3",
|
|
55
|
-
"@fluidframework/build-tools": "^0.
|
|
55
|
+
"@fluidframework/build-tools": "^0.41.0",
|
|
56
56
|
"@fluidframework/eslint-config-fluid": "^5.3.0",
|
|
57
57
|
"@microsoft/api-extractor": "^7.45.1",
|
|
58
58
|
"@types/node": "^18.19.0",
|