fluid-framework 3.0.1 → 3.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 CHANGED
@@ -1,5 +1,27 @@
1
1
  # fluid-framework
2
2
 
3
+ ## 3.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Fix an infinite loop bug in revertTo ([#28219](https://github.com/microsoft/FluidFramework/pull/28219)) [8c8ca60891d](https://github.com/microsoft/FluidFramework/commit/8c8ca60891da0286a5f4382323a3379369bd3847)
8
+
9
+ Fixes a bug in [`UntypedTreeViewAlpha.revertTo`](https://fluidframework.com/docs/api/tree/untypedtreeviewalpha-interface#revertto-methodsignature) which could trigger an infinite loop when called.
10
+ This bug is not known to cause document corruption.
11
+
12
+ - Fix a bug in revertTo ([#28202](https://github.com/microsoft/FluidFramework/pull/28202)) [acaed12e86d](https://github.com/microsoft/FluidFramework/commit/acaed12e86dd650cc6274beeb43e15faf8c59cf6)
13
+
14
+ Fixes a bug in [`UntypedTreeViewAlpha.revertTo`](https://fluidframework.com/docs/api/tree/untypedtreeviewalpha-interface#revertto-methodsignature) which could trigger assert codes `0x7ce`, `0x8a1`, `0x695`, and possibly others.
15
+ This bug is not known to cause document corruption.
16
+
17
+ - Support flexible indexers when creating tree indexes ([#28210](https://github.com/microsoft/FluidFramework/pull/28210)) [3920a9a6665](https://github.com/microsoft/FluidFramework/commit/3920a9a66656594a07d8e985d98732028010d90b)
18
+
19
+ [`createTreeIndex`](https://fluidframework.com/docs/api/tree/#createtreeindex-function) now accepts the new `TreeIndexKeyFieldSelector` type: either a pure callback or an object with a `get` method. This simplifies the factory to two overloads while continuing to support `Map` and `ReadonlyMap` values.
20
+
21
+ - Fields defined with `SchemaFactoryAlpha.identifier()` now generate identifiers when omitted ([#28178](https://github.com/microsoft/FluidFramework/pull/28178)) [cf51fdd7e09](https://github.com/microsoft/FluidFramework/commit/cf51fdd7e09bceaf3ce671aa0c47715dea827e3c)
22
+
23
+ Fields defined with [`SchemaFactoryAlpha.identifier()`](https://fluidframework.com/docs/api/tree/schemafactoryalpha-class#identifier-property) now correctly generate identifiers when omitted.
24
+
3
25
  ## 3.0.0
4
26
 
5
27
  ### Minor Changes
package/README.md CHANGED
@@ -10,8 +10,7 @@ There are some packages there are not included as part of this `fluid-framework`
10
10
  - `@fluidframework/app-insights-logger`: to route Fluid telemetry to Azure App Insights.
11
11
  - `@fluidframework/react (ALPHA)`: to help integrate Fluid content (mainly SharedTree) into [React](https://react.dev/) applications.
12
12
 
13
- <!-- AUTO-GENERATED-CONTENT:START (LIBRARY_README_HEADER) -->
14
-
13
+ <!-- markdown-magic:begin {"transform":"library-readme-header","headingLevel":2} -->
15
14
  <!-- prettier-ignore-start -->
16
15
  <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
17
16
 
@@ -49,8 +48,7 @@ Import the `legacy` APIs from `fluid-framework/legacy`.
49
48
  Read the **fluid-framework** API documentation at <https://fluidframework.com/docs/apis/fluid-framework>.
50
49
 
51
50
  <!-- prettier-ignore-end -->
52
-
53
- <!-- AUTO-GENERATED-CONTENT:END -->
51
+ <!-- markdown-magic:end -->
54
52
 
55
53
  ## Contents
56
54
 
@@ -74,8 +72,7 @@ The `fluid-framework` package offers the following data structures:
74
72
 
75
73
  Check out the [Hello World tutorial](https://fluidframework.com/docs/start/tutorial/) using `fluid-framework`.
76
74
 
77
- <!-- AUTO-GENERATED-CONTENT:START (README_FOOTER) -->
78
-
75
+ <!-- markdown-magic:begin {"transform":"readme-footer","headingLevel":2} -->
79
76
  <!-- prettier-ignore-start -->
80
77
  <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
81
78
 
@@ -92,29 +89,29 @@ To request support for a configuration that is not listed, file an issue.
92
89
  The product team will evaluate your request.
93
90
  In the issue, specify the current status of the configuration:
94
91
 
95
- - The configuration works but needs official support.
96
- - The configuration does not work and requires changes.
92
+ - The configuration works but needs official support.
93
+ - The configuration does not work and requires changes.
97
94
 
98
95
  ### Supported Runtimes
99
96
 
100
- - Fluid Framework supports Node.js versions 22 and 24 while they receive [upstream support](https://nodejs.org/en/about/previous-releases).
101
- - Fluid Framework will stop support for version 22 [when upstream support ends on 2027-04-30](https://github.com/nodejs/release#release-schedule).
102
- - Fluid Framework does not support Node.js with the `--no-experimental-fetch` flag.
103
- - Fluid Framework supports modern browsers that support the ES2022 standard library.
97
+ - Fluid Framework supports Node.js versions 22 and 24 while they receive [upstream support](https://nodejs.org/en/about/previous-releases).
98
+ - Fluid Framework will stop support for version 22 [when upstream support ends on 2027-04-30](https://github.com/nodejs/release#release-schedule).
99
+ - Fluid Framework does not support Node.js with the `--no-experimental-fetch` flag.
100
+ - Fluid Framework supports modern browsers that support the ES2022 standard library.
104
101
 
105
102
  ### Supported Tools
106
103
 
107
- - [TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0):
108
- - Fluid Framework supports all [`strict`](https://www.typescriptlang.org/tsconfig) options.
109
- - Set the build targets (`lib`, `target`) to `ES2022` or later.
110
- - Enable [`strictNullChecks`](https://www.typescriptlang.org/tsconfig).
111
- - Fluid Framework does not support [configuration options deprecated in TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0#breaking-changes-and-deprecations-in-typescript-6-0).
112
- - Fluid Framework does not fully support `exactOptionalPropertyTypes`.
113
- If you enable this option, do not use `in`, `Reflect.has`, `Object.hasOwn`, or `Object.prototype.hasOwnProperty` to narrow members of Fluid Framework types.
114
- These methods can incorrectly exclude `undefined` from the possible values.
115
- - [webpack](https://webpack.js.org/) 5
116
- - We do not require a specific bundler.
117
- Other bundlers that handle ES Modules can work, but we actively test only webpack.
104
+ - [TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0):
105
+ - Fluid Framework supports all [`strict`](https://www.typescriptlang.org/tsconfig) options.
106
+ - Set the build targets (`lib`, `target`) to `ES2022` or later.
107
+ - Enable [`strictNullChecks`](https://www.typescriptlang.org/tsconfig).
108
+ - Fluid Framework does not support [configuration options deprecated in TypeScript 6.0](https://typescriptdocs.com/release-notes/TypeScript%206.0#breaking-changes-and-deprecations-in-typescript-6-0).
109
+ - Fluid Framework does not fully support `exactOptionalPropertyTypes`.
110
+ If you enable this option, do not use `in`, `Reflect.has`, `Object.hasOwn`, or `Object.prototype.hasOwnProperty` to narrow members of Fluid Framework types.
111
+ These methods can incorrectly exclude `undefined` from the possible values.
112
+ - [webpack](https://webpack.js.org/) 5
113
+ - We do not require a specific bundler.
114
+ Other bundlers that handle ES Modules can work, but we actively test only webpack.
118
115
 
119
116
  ### Module Resolution
120
117
 
@@ -125,25 +122,25 @@ Do not use `Node10` module resolution.
125
122
 
126
123
  ### Module Formats
127
124
 
128
- - ES Modules:
129
- Use ES Modules to consume Fluid Framework client packages, including in Node.js.
130
- - CommonJS:
131
- Fluid Framework does not officially support CommonJS in version 3.0 or later.
125
+ - ES Modules:
126
+ Use ES Modules to consume Fluid Framework client packages, including in Node.js.
127
+ - CommonJS:
128
+ Fluid Framework does not officially support CommonJS in version 3.0 or later.
132
129
 
133
130
  ## Contribution Guidelines
134
131
 
135
132
  You can [contribute](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md) to Fluid Framework in these ways:
136
133
 
137
- - Answer questions in [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
138
- - [Submit bug reports](https://github.com/microsoft/FluidFramework/issues) and help verify fixes.
139
- - Review [source code changes](https://github.com/microsoft/FluidFramework/pulls).
140
- - [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
134
+ - Answer questions in [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
135
+ - [Submit bug reports](https://github.com/microsoft/FluidFramework/issues) and help verify fixes.
136
+ - Review [source code changes](https://github.com/microsoft/FluidFramework/pulls).
137
+ - [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
141
138
 
142
139
  For detailed instructions, read the [repo documentation](https://github.com/microsoft/FluidFramework/blob/main/docs/content/Home.md).
143
140
 
144
141
  This project follows the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
145
142
  For more information, read the [Code of Conduct frequently asked questions](https://opensource.microsoft.com/codeofconduct/faq/).
146
- For questions or comments, contact [opencode@microsoft.com](mailto:opencode@microsoft.com).
143
+ For questions or comments, contact <opencode@microsoft.com>.
147
144
 
148
145
  This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
149
146
  Use of these trademarks or logos must follow Microsoft’s [Trademark & Brand Guidelines](https://www.microsoft.com/trademarks).
@@ -164,8 +161,7 @@ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guid
164
161
  Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
165
162
 
166
163
  <!-- prettier-ignore-end -->
167
-
168
- <!-- AUTO-GENERATED-CONTENT:END -->
164
+ <!-- markdown-magic:end -->
169
165
 
170
166
  <!-- Links -->
171
167
 
@@ -341,16 +341,10 @@ export function createIndependentTreeView<const TSchema extends ImplicitFieldSch
341
341
  export function createIndependentTreeViewAlpha<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: IndependentViewOptions): TreeViewAlpha<TSchema>;
342
342
 
343
343
  // @beta
344
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: (schema: TreeNodeSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
344
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
345
345
 
346
346
  // @beta
347
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: (schema: TSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
348
-
349
- // @beta
350
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
351
-
352
- // @beta
353
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
347
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
354
348
 
355
349
  // @alpha @sealed
356
350
  export interface CustomMetadataTree {
@@ -2662,6 +2656,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
2662
2656
  // @beta
2663
2657
  export type TreeIndexKey = TreeLeafValue;
2664
2658
 
2659
+ // @beta
2660
+ export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
2661
+ get(schema: TSchema): string | undefined;
2662
+ };
2663
+
2665
2664
  // @beta
2666
2665
  export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
2667
2666
 
@@ -197,16 +197,10 @@ export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSch
197
197
  export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
198
198
 
199
199
  // @beta
200
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: (schema: TreeNodeSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
200
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
201
201
 
202
202
  // @beta
203
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: (schema: TSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
204
-
205
- // @beta
206
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
207
-
208
- // @beta
209
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
203
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
210
204
 
211
205
  // @public @sealed @system
212
206
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
@@ -1562,6 +1556,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
1562
1556
  // @beta
1563
1557
  export type TreeIndexKey = TreeLeafValue;
1564
1558
 
1559
+ // @beta
1560
+ export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
1561
+ get(schema: TSchema): string | undefined;
1562
+ };
1563
+
1565
1564
  // @beta
1566
1565
  export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
1567
1566
 
@@ -197,16 +197,10 @@ export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSch
197
197
  export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
198
198
 
199
199
  // @beta
200
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: (schema: TreeNodeSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
200
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
201
201
 
202
202
  // @beta
203
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: (schema: TSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
204
-
205
- // @beta
206
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
207
-
208
- // @beta
209
- export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, indexer: Map<TreeNodeSchema, string>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
203
+ export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue, TSchema extends TreeNodeSchema>(view: TreeView<TFieldSchema>, keyFieldSelector: TreeIndexKeyFieldSelector<TSchema>, getValue: (nodes: TreeIndexNodes<NodeFromSchema<TSchema>>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey, indexableSchema: readonly TSchema[]): TreeIndex<TKey, TValue>;
210
204
 
211
205
  // @public @sealed @system
212
206
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
@@ -1932,6 +1926,11 @@ export interface TreeIndex<TKey, TValue> extends FluidReadonlyMap<TKey, TValue>
1932
1926
  // @beta
1933
1927
  export type TreeIndexKey = TreeLeafValue;
1934
1928
 
1929
+ // @beta
1930
+ export type TreeIndexKeyFieldSelector<TSchema extends TreeNodeSchema = TreeNodeSchema> = ((schema: TSchema) => string | undefined) | {
1931
+ get(schema: TSchema): string | undefined;
1932
+ };
1933
+
1935
1934
  // @beta
1936
1935
  export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
1937
1936
 
package/dist/alpha.d.ts CHANGED
@@ -210,6 +210,7 @@ export {
210
210
  TreeEncodingOptions,
211
211
  TreeIndex,
212
212
  TreeIndexKey,
213
+ TreeIndexKeyFieldSelector,
213
214
  TreeIndexNodes,
214
215
  TreeRecordNode,
215
216
  TreeRecordNodeUnsafe,
package/dist/beta.d.ts CHANGED
@@ -210,6 +210,7 @@ export {
210
210
  TreeEncodingOptions,
211
211
  TreeIndex,
212
212
  TreeIndexKey,
213
+ TreeIndexKeyFieldSelector,
213
214
  TreeIndexNodes,
214
215
  TreeRecordNode,
215
216
  TreeRecordNodeUnsafe,
package/dist/legacy.d.ts CHANGED
@@ -217,6 +217,7 @@ export {
217
217
  TreeEncodingOptions,
218
218
  TreeIndex,
219
219
  TreeIndexKey,
220
+ TreeIndexKeyFieldSelector,
220
221
  TreeIndexNodes,
221
222
  TreeRecordNode,
222
223
  TreeRecordNodeUnsafe,
package/lib/alpha.d.ts CHANGED
@@ -210,6 +210,7 @@ export {
210
210
  TreeEncodingOptions,
211
211
  TreeIndex,
212
212
  TreeIndexKey,
213
+ TreeIndexKeyFieldSelector,
213
214
  TreeIndexNodes,
214
215
  TreeRecordNode,
215
216
  TreeRecordNodeUnsafe,
package/lib/beta.d.ts CHANGED
@@ -210,6 +210,7 @@ export {
210
210
  TreeEncodingOptions,
211
211
  TreeIndex,
212
212
  TreeIndexKey,
213
+ TreeIndexKeyFieldSelector,
213
214
  TreeIndexNodes,
214
215
  TreeRecordNode,
215
216
  TreeRecordNodeUnsafe,
package/lib/legacy.d.ts CHANGED
@@ -217,6 +217,7 @@ export {
217
217
  TreeEncodingOptions,
218
218
  TreeIndex,
219
219
  TreeIndexKey,
220
+ TreeIndexKeyFieldSelector,
220
221
  TreeIndexNodes,
221
222
  TreeRecordNode,
222
223
  TreeRecordNodeUnsafe,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluid-framework",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "The main entry point into Fluid Framework public packages",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -43,17 +43,17 @@
43
43
  }
44
44
  },
45
45
  "dependencies": {
46
- "@fluidframework/container-definitions": "~3.0.1",
47
- "@fluidframework/container-loader": "~3.0.1",
48
- "@fluidframework/core-interfaces": "~3.0.1",
49
- "@fluidframework/core-utils": "~3.0.1",
50
- "@fluidframework/driver-definitions": "~3.0.1",
51
- "@fluidframework/fluid-static": "~3.0.1",
52
- "@fluidframework/map": "~3.0.1",
53
- "@fluidframework/runtime-utils": "~3.0.1",
54
- "@fluidframework/sequence": "~3.0.1",
55
- "@fluidframework/shared-object-base": "~3.0.1",
56
- "@fluidframework/tree": "~3.0.1"
46
+ "@fluidframework/container-definitions": "~3.1.0",
47
+ "@fluidframework/container-loader": "~3.1.0",
48
+ "@fluidframework/core-interfaces": "~3.1.0",
49
+ "@fluidframework/core-utils": "~3.1.0",
50
+ "@fluidframework/driver-definitions": "~3.1.0",
51
+ "@fluidframework/fluid-static": "~3.1.0",
52
+ "@fluidframework/map": "~3.1.0",
53
+ "@fluidframework/runtime-utils": "~3.1.0",
54
+ "@fluidframework/sequence": "~3.1.0",
55
+ "@fluidframework/shared-object-base": "~3.1.0",
56
+ "@fluidframework/tree": "~3.1.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@arethetypeswrong/cli": "^0.18.5",