@fluidframework/core-interfaces 2.23.0 → 2.31.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 +19 -1
- package/CHANGELOG.md +162 -154
- package/api-extractor/api-extractor-lint-bundle.json +1 -1
- package/dist/exposedInternalUtilityTypes.d.ts +547 -0
- package/dist/exposedInternalUtilityTypes.d.ts.map +1 -0
- package/dist/exposedInternalUtilityTypes.js +11 -0
- package/dist/exposedInternalUtilityTypes.js.map +1 -0
- package/dist/exposedUtilityTypes.d.ts +10 -0
- package/dist/exposedUtilityTypes.d.ts.map +1 -0
- package/dist/exposedUtilityTypes.js +7 -0
- package/dist/exposedUtilityTypes.js.map +1 -0
- package/dist/internal.d.ts +34 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +23 -0
- package/dist/internal.js.map +1 -0
- package/dist/jsonDeserialized.d.ts +112 -0
- package/dist/jsonDeserialized.d.ts.map +1 -0
- package/dist/jsonDeserialized.js +7 -0
- package/dist/jsonDeserialized.js.map +1 -0
- package/dist/jsonSerializable.d.ts +126 -0
- package/dist/jsonSerializable.d.ts.map +1 -0
- package/dist/jsonSerializable.js +7 -0
- package/dist/jsonSerializable.js.map +1 -0
- package/dist/jsonSerializationErrors.d.ts +31 -0
- package/dist/jsonSerializationErrors.d.ts.map +1 -0
- package/dist/jsonSerializationErrors.js +7 -0
- package/dist/jsonSerializationErrors.js.map +1 -0
- package/dist/jsonType.d.ts +30 -0
- package/dist/jsonType.d.ts.map +1 -0
- package/dist/jsonType.js +7 -0
- package/dist/jsonType.js.map +1 -0
- package/dist/package.json +16 -1
- package/{prettier.config.cjs → internal/exposedUtilityTypes.d.ts} +1 -3
- package/internal.d.ts +1 -6
- package/lib/exposedInternalUtilityTypes.d.ts +547 -0
- package/lib/exposedInternalUtilityTypes.d.ts.map +1 -0
- package/lib/exposedInternalUtilityTypes.js +10 -0
- package/lib/exposedInternalUtilityTypes.js.map +1 -0
- package/lib/exposedUtilityTypes.d.ts +10 -0
- package/lib/exposedUtilityTypes.d.ts.map +1 -0
- package/lib/exposedUtilityTypes.js +6 -0
- package/lib/exposedUtilityTypes.js.map +1 -0
- package/lib/internal.d.ts +34 -0
- package/lib/internal.d.ts.map +1 -0
- package/lib/internal.js +7 -0
- package/lib/internal.js.map +1 -0
- package/lib/jsonDeserialized.d.ts +112 -0
- package/lib/jsonDeserialized.d.ts.map +1 -0
- package/lib/jsonDeserialized.js +6 -0
- package/lib/jsonDeserialized.js.map +1 -0
- package/lib/jsonSerializable.d.ts +126 -0
- package/lib/jsonSerializable.d.ts.map +1 -0
- package/lib/jsonSerializable.js +6 -0
- package/lib/jsonSerializable.js.map +1 -0
- package/lib/jsonSerializationErrors.d.ts +31 -0
- package/lib/jsonSerializationErrors.d.ts.map +1 -0
- package/lib/jsonSerializationErrors.js +6 -0
- package/lib/jsonSerializationErrors.js.map +1 -0
- package/lib/jsonType.d.ts +30 -0
- package/lib/jsonType.d.ts.map +1 -0
- package/lib/jsonType.js +6 -0
- package/lib/jsonType.js.map +1 -0
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +51 -13
- package/src/cjs/package.json +19 -0
- package/src/exposedInternalUtilityTypes.ts +1152 -0
- package/src/exposedUtilityTypes.ts +20 -0
- package/src/internal.ts +73 -0
- package/src/jsonDeserialized.ts +118 -0
- package/src/jsonSerializable.ts +133 -0
- package/src/jsonSerializationErrors.ts +34 -0
- package/src/jsonType.ts +37 -0
package/.eslintrc.cjs
CHANGED
|
@@ -6,10 +6,28 @@
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
extends: [require.resolve("@fluidframework/eslint-config-fluid/strict"), "prettier"],
|
|
8
8
|
parserOptions: {
|
|
9
|
-
project: [
|
|
9
|
+
project: [
|
|
10
|
+
"./tsconfig.json",
|
|
11
|
+
"./src/test/tsconfig.json",
|
|
12
|
+
"./src/test/tsconfig.no-exactOptionalPropertyTypes.json",
|
|
13
|
+
],
|
|
10
14
|
},
|
|
11
15
|
rules: {
|
|
12
16
|
// TODO: Enabling this may require breaking changes.
|
|
13
17
|
"@typescript-eslint/consistent-indexed-object-style": "off",
|
|
14
18
|
},
|
|
19
|
+
overrides: [
|
|
20
|
+
{
|
|
21
|
+
// Rules only for test files
|
|
22
|
+
files: ["*.spec.ts", "src/test/**"],
|
|
23
|
+
rules: {
|
|
24
|
+
"import/no-internal-modules": [
|
|
25
|
+
"error",
|
|
26
|
+
{
|
|
27
|
+
"allow": ["@fluidframework/*/internal{,/**}"],
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
],
|
|
15
33
|
};
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/core-interfaces
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.30.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
3
11
|
## 2.23.0
|
|
4
12
|
|
|
5
13
|
Dependency updates only.
|
|
@@ -28,12 +36,12 @@ Dependency updates only.
|
|
|
28
36
|
|
|
29
37
|
### Minor Changes
|
|
30
38
|
|
|
31
|
-
-
|
|
39
|
+
- The events library has been moved from the tree package ([#23141](https://github.com/microsoft/FluidFramework/pull/23141)) [cae07b5c8c](https://github.com/microsoft/FluidFramework/commit/cae07b5c8c7904184b5fbf8c677f302da19cc697)
|
|
32
40
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
In previous releases, the `@fluidframework/tree` package contained an internal events library. The events-related types and interfaces have been moved to
|
|
42
|
+
`@fluidframework/core-interfaces`, while the implementation has been relocated to `@fluid-internal/client-utils`. There are
|
|
43
|
+
no changes to how the events library is used; the relocation simply organizes the library into more appropriate
|
|
44
|
+
packages. This change should have no impact on developers using the Fluid Framework.
|
|
37
45
|
|
|
38
46
|
## 2.10.0
|
|
39
47
|
|
|
@@ -63,134 +71,134 @@ Dependency updates only.
|
|
|
63
71
|
|
|
64
72
|
### Minor Changes
|
|
65
73
|
|
|
66
|
-
-
|
|
74
|
+
- fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
|
|
67
75
|
|
|
68
|
-
|
|
76
|
+
A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
|
|
69
77
|
|
|
70
|
-
|
|
78
|
+
This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
|
|
71
79
|
|
|
72
|
-
|
|
80
|
+
This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
|
|
73
81
|
|
|
74
|
-
|
|
75
|
-
|
|
82
|
+
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.
|
|
83
|
+
The full list of such types is:
|
|
76
84
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
- `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
|
|
86
|
+
- `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
|
|
87
|
+
`ISharedObject`
|
|
88
|
+
- `IChannel`
|
|
89
|
+
- `IChannelAttributes`
|
|
90
|
+
- `IChannelFactory`
|
|
91
|
+
- `IExperimentalIncrementalSummaryContext`
|
|
92
|
+
- `IGarbageCollectionData`
|
|
93
|
+
- `ISummaryStats`
|
|
94
|
+
- `ISummaryTreeWithStats`
|
|
95
|
+
- `ITelemetryContext`
|
|
96
|
+
- `IDeltaManagerErased`
|
|
97
|
+
- `IFluidDataStoreRuntimeEvents`
|
|
98
|
+
- `IFluidHandleContext`
|
|
99
|
+
- `IProvideFluidHandleContext`
|
|
92
100
|
|
|
93
|
-
|
|
101
|
+
Removed APIs:
|
|
94
102
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
- `DataObjectClass`: Usages replaced with `SharedObjectKind`.
|
|
104
|
+
- `LoadableObjectClass`: Replaced with `SharedObjectKind`.
|
|
105
|
+
- `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
|
|
106
|
+
-
|
|
99
107
|
|
|
100
|
-
-
|
|
108
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
103
111
|
|
|
104
|
-
-
|
|
112
|
+
- core-interfaces, tree: Unify `IDisposable` interfaces ([#21184](https://github.com/microsoft/FluidFramework/pull/21184)) [cfcb827851](https://github.com/microsoft/FluidFramework/commit/cfcb827851ffc81486db6c718380150189fb95c5)
|
|
105
113
|
|
|
106
|
-
|
|
114
|
+
Public APIs in `@fluidframework/tree` now use `IDisposable` from `@fluidframework/core-interfaces` replacing `disposeSymbol` with "dispose".
|
|
107
115
|
|
|
108
|
-
|
|
116
|
+
`IDisposable` in `@fluidframework/core-interfaces` is now `@sealed` indicating that third parties should not implement it to reserve the ability for Fluid Framework to extend it to include `Symbol.dispose` as a future non-breaking change.
|
|
109
117
|
|
|
110
118
|
## 2.0.0-rc.4.0.0
|
|
111
119
|
|
|
112
120
|
### Minor Changes
|
|
113
121
|
|
|
114
|
-
-
|
|
122
|
+
- Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
115
123
|
|
|
116
|
-
|
|
117
|
-
|
|
124
|
+
Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
|
|
125
|
+
Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
|
|
118
126
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
127
|
+
External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
|
|
128
|
+
Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
|
|
129
|
+
Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
|
|
122
130
|
|
|
123
131
|
## 2.0.0-rc.3.0.0
|
|
124
132
|
|
|
125
133
|
### Major Changes
|
|
126
134
|
|
|
127
|
-
-
|
|
135
|
+
- core-interfaces: Code details and package API surface removed [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
128
136
|
|
|
129
|
-
|
|
137
|
+
The code details and package API surface was deprecated in @fluidframework/core-interfaces in 0.53 and has now been removed. Please import them from @fluidframework/container-definitions instead. These include:
|
|
130
138
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
- IFluidCodeDetails
|
|
140
|
+
- IFluidCodeDetailsComparer
|
|
141
|
+
- IFluidCodeDetailsConfig
|
|
142
|
+
- IFluidPackage
|
|
143
|
+
- IFluidPackageEnvironment
|
|
144
|
+
- IProvideFluidCodeDetailsComparer
|
|
145
|
+
- isFluidCodeDetails
|
|
146
|
+
- isFluidPackage
|
|
139
147
|
|
|
140
|
-
-
|
|
148
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
141
149
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
150
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
151
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
152
|
+
TypeScript types and implementation code.
|
|
145
153
|
|
|
146
|
-
|
|
154
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
147
155
|
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
157
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
150
158
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
159
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
160
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
161
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
162
|
+
regarding the module and moduleResolution options.
|
|
155
163
|
|
|
156
|
-
|
|
157
|
-
|
|
164
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
165
|
+
to distinguish stable APIs from those that are in development.**
|
|
158
166
|
|
|
159
167
|
## 2.0.0-rc.2.0.0
|
|
160
168
|
|
|
161
169
|
### Minor Changes
|
|
162
170
|
|
|
163
|
-
-
|
|
171
|
+
- core-interfaces: Removed ITelemetryProperties, TelemetryEventCategory, TelemetryEventPropertyType, and ITaggedTelemetryPropertyType ([#19752](https://github.com/microsoft/FluidFramework/issues/19752)) [615a7712e6](https://github.com/microsoft/FluidFramework/commits/615a7712e67885c6cda69ddd907cb5cc708eef18)
|
|
164
172
|
|
|
165
|
-
|
|
166
|
-
|
|
173
|
+
The `ITelemetryProperties` interface was deprecated and has been removed.
|
|
174
|
+
Use the identical `ITelemetryBaseProperties` instead.
|
|
167
175
|
|
|
168
|
-
|
|
169
|
-
|
|
176
|
+
The `TelemetryEventCategory` type was deprecated and has been removed from `@fluidframework/core-interfaces`, since
|
|
177
|
+
it had moved to `@fluidframework/telemetry-utils` in the past.
|
|
170
178
|
|
|
171
|
-
|
|
172
|
-
|
|
179
|
+
The `TelemetryEventPropertyType` type alias was deprecated and has been removed.
|
|
180
|
+
Use the identical `TelemetryBaseEventPropertyType` instead.
|
|
173
181
|
|
|
174
|
-
|
|
175
|
-
|
|
182
|
+
The `ITaggedTelemetryPropertyType` interface was deprecated and has been removed.
|
|
183
|
+
Use `Tagged<TelemetryBaseEventPropertyType>` instead.
|
|
176
184
|
|
|
177
|
-
-
|
|
185
|
+
- container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
178
186
|
|
|
179
|
-
|
|
187
|
+
Added `containerMetadata` prop on IContainer interface.
|
|
180
188
|
|
|
181
|
-
-
|
|
189
|
+
- runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
182
190
|
|
|
183
|
-
|
|
191
|
+
The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
|
|
184
192
|
|
|
185
|
-
-
|
|
193
|
+
- core-interfaces: Removed deprecated telemetry event types ([#19740](https://github.com/microsoft/FluidFramework/issues/19740)) [0ff130a50e](https://github.com/microsoft/FluidFramework/commits/0ff130a50e9bcccb119673ac985ea27fa38de463)
|
|
186
194
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
195
|
+
The deprecated `ITelemetryErrorEvent`, `ITelemetryGenericEvent`, and `ITelemetryPerformanceEvent` interfaces,
|
|
196
|
+
which represented different kinds of telemetry events, were not intended for consumers of Fluid Framework and have thus
|
|
197
|
+
been removed.
|
|
198
|
+
`ITelemetryBaseEvent` is the only telemetry event interface that should be used in/by consuming code.
|
|
191
199
|
|
|
192
|
-
|
|
193
|
-
|
|
200
|
+
`ITelemetryLogger` was not intended for consumers of Fluid Framework and has been removed.
|
|
201
|
+
Consumers should use the simpler `ITelemetryBaseLogger` instead.
|
|
194
202
|
|
|
195
203
|
## 2.0.0-rc.1.0.0
|
|
196
204
|
|
|
@@ -200,27 +208,27 @@ Dependency updates only.
|
|
|
200
208
|
|
|
201
209
|
### Major Changes
|
|
202
210
|
|
|
203
|
-
-
|
|
211
|
+
- container-runtime-definitions: Removed getRootDataStore [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
204
212
|
|
|
205
|
-
|
|
213
|
+
The `getRootDataStore` method has been removed from `IContainerRuntime` and `ContainerRuntime`. Please migrate all usage to the new `getAliasedDataStoreEntryPoint` method. This method returns the data store's entry point which is its `IFluidHandle`.
|
|
206
214
|
|
|
207
|
-
|
|
215
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
208
216
|
|
|
209
|
-
-
|
|
217
|
+
- core-interfaces: Removed IFluidRouter and IProvideFluidRouter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
210
218
|
|
|
211
|
-
|
|
219
|
+
The `IFluidRouter` and `IProvideFluidRouter` interfaces have been removed. Please migrate all usage to the new `entryPoint` pattern.
|
|
212
220
|
|
|
213
|
-
|
|
221
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
214
222
|
|
|
215
223
|
## 2.0.0-internal.7.4.0
|
|
216
224
|
|
|
217
225
|
### Minor Changes
|
|
218
226
|
|
|
219
|
-
-
|
|
227
|
+
- telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
|
|
220
228
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
229
|
+
The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
|
|
230
|
+
The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
|
|
231
|
+
@fluidframework/core-interfaces.
|
|
224
232
|
|
|
225
233
|
## 2.0.0-internal.7.3.0
|
|
226
234
|
|
|
@@ -238,31 +246,31 @@ Dependency updates only.
|
|
|
238
246
|
|
|
239
247
|
### Major Changes
|
|
240
248
|
|
|
241
|
-
-
|
|
249
|
+
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
242
250
|
|
|
243
|
-
|
|
251
|
+
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
244
252
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
253
|
+
- `BaseContainerRuntimeFactory`
|
|
254
|
+
- `RuntimeFactory`
|
|
255
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
256
|
+
- `FluidDataStoreRuntime`
|
|
249
257
|
|
|
250
|
-
|
|
251
|
-
|
|
258
|
+
See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
|
|
259
|
+
See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
|
|
252
260
|
|
|
253
|
-
|
|
261
|
+
Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
|
|
254
262
|
|
|
255
|
-
|
|
263
|
+
For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
256
264
|
|
|
257
|
-
-
|
|
265
|
+
- DEPRECATED: core-interfaces: IFluidRouter and IProvideFluidRouter deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
258
266
|
|
|
259
|
-
|
|
267
|
+
`IFluidRouter` and `IProvideFluidRouter` have been deprecated. Please remove all usages of these interfaces and migrate to the new `entryPoint` pattern.
|
|
260
268
|
|
|
261
|
-
|
|
269
|
+
See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
|
|
262
270
|
|
|
263
|
-
-
|
|
271
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
264
272
|
|
|
265
|
-
|
|
273
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
266
274
|
|
|
267
275
|
## 2.0.0-internal.6.4.0
|
|
268
276
|
|
|
@@ -272,60 +280,60 @@ Dependency updates only.
|
|
|
272
280
|
|
|
273
281
|
### Minor Changes
|
|
274
282
|
|
|
275
|
-
-
|
|
283
|
+
- Cleaning up duplicate or misnamed telemetry types ([#17149](https://github.com/microsoft/FluidFramework/issues/17149)) [f9236942fa](https://github.com/microsoft/FluidFramework/commits/f9236942faf03cde860bfcbc7c28f8fbd81d3868)
|
|
276
284
|
|
|
277
|
-
|
|
285
|
+
We have two sets of telemetry-related interfaces:
|
|
278
286
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
287
|
+
- The "Base" ones
|
|
288
|
+
- These have a very bare API surface
|
|
289
|
+
- They are used on public API surfaces to transmit logs across layers
|
|
290
|
+
- The internal ones
|
|
291
|
+
- These have a richer API surface (multiple log functions with different categories,
|
|
292
|
+
support for logging flat arrays and objects)
|
|
293
|
+
- They are used for instrumenting our code, and then normalize and pass off the logs via the Base interface
|
|
286
294
|
|
|
287
|
-
|
|
295
|
+
There are two problems with the given state of the world:
|
|
288
296
|
|
|
289
|
-
|
|
290
|
-
|
|
297
|
+
1. The "Base" ones were not named consistently, so the distinction was not as apparent as it could be
|
|
298
|
+
2. The internal ones were copied to `@fluidframework/telemetry-utils` and futher extended, but the original duplicates remain.
|
|
291
299
|
|
|
292
|
-
|
|
300
|
+
This change addresses these by adding "Base" to the name of each base type, and deprecating the old duplicate internal types.
|
|
293
301
|
|
|
294
|
-
|
|
302
|
+
Additionally, the following types were adjusted:
|
|
295
303
|
|
|
296
|
-
|
|
297
|
-
|
|
304
|
+
- `TelemetryEventCategory` is moving from `@fluidframework/core-interfaces` to `@fluidframework/telemetry-utils`
|
|
305
|
+
- Several types modeling "tagged" telemetry properties are deprecated in favor of a generic type `Tagged<V>`
|
|
298
306
|
|
|
299
307
|
## 2.0.0-internal.6.2.0
|
|
300
308
|
|
|
301
309
|
### Minor Changes
|
|
302
310
|
|
|
303
|
-
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
311
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
312
|
+
|
|
313
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
314
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
315
|
+
|
|
316
|
+
- interface IDisposable
|
|
317
|
+
- interface IErrorEvent
|
|
318
|
+
- interface IErrorEvent
|
|
319
|
+
- interface IEvent
|
|
320
|
+
- interface IEventProvider
|
|
321
|
+
- interface ILoggingError
|
|
322
|
+
- interface ITaggedTelemetryPropertyType
|
|
323
|
+
- interface ITelemetryBaseEvent
|
|
324
|
+
- interface ITelemetryBaseLogger
|
|
325
|
+
- interface ITelemetryErrorEvent
|
|
326
|
+
- interface ITelemetryGenericEvent
|
|
327
|
+
- interface ITelemetryLogger
|
|
328
|
+
- interface ITelemetryPerformanceEvent
|
|
329
|
+
- interface ITelemetryProperties
|
|
330
|
+
- type ExtendEventProvider
|
|
331
|
+
- type IEventThisPlaceHolder
|
|
332
|
+
- type IEventTransformer
|
|
333
|
+
- type ReplaceIEventThisPlaceHolder
|
|
334
|
+
- type ReplaceIEventThisPlaceHolder
|
|
335
|
+
- type TelemetryEventCategory
|
|
336
|
+
- type TelemetryEventPropertyType
|
|
329
337
|
|
|
330
338
|
## 2.0.0-internal.6.1.0
|
|
331
339
|
|
|
@@ -335,9 +343,9 @@ Dependency updates only.
|
|
|
335
343
|
|
|
336
344
|
### Major Changes
|
|
337
345
|
|
|
338
|
-
-
|
|
346
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
339
347
|
|
|
340
|
-
|
|
348
|
+
Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
|
|
341
349
|
|
|
342
350
|
## 2.0.0-internal.5.4.0
|
|
343
351
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
3
|
"extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.json",
|
|
4
|
-
"mainEntryPointFilePath": "<projectFolder>/lib/
|
|
4
|
+
"mainEntryPointFilePath": "<projectFolder>/lib/internal.d.ts"
|
|
5
5
|
}
|