@fluidframework/datastore-definitions 2.30.0 → 2.31.1
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 +228 -224
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +9 -17
- package/prettier.config.cjs +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
# @fluidframework/datastore-definitions
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
3
7
|
## 2.30.0
|
|
4
8
|
|
|
5
9
|
### Minor Changes
|
|
6
10
|
|
|
7
|
-
-
|
|
11
|
+
- The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
`process` has been replaced by `processMessages` from the following:
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
- `FluidDataStoreRuntime`
|
|
16
|
+
- `IDeltaHandler`
|
|
17
|
+
- `IFluidDataStoreChannel`
|
|
18
|
+
- `MockFluidDataStoreRuntime`
|
|
19
|
+
- `MockDeltaConnection`
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
`processDocumentSchemaOp` has been replaced by `processDocumentSchemaMessages` from `DocumentsSchemaController`.
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
See the [deprecation release note](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.5.0#user-content-the-process-function-on-ifluiddatastorechannel-ideltahandler-mockfluiddatastoreruntime-and-mockdeltaconnection-is-now-deprecated-22840) for more details.
|
|
20
24
|
|
|
21
25
|
## 2.23.0
|
|
22
26
|
|
|
@@ -54,19 +58,19 @@ Dependency updates only.
|
|
|
54
58
|
|
|
55
59
|
### Minor Changes
|
|
56
60
|
|
|
57
|
-
-
|
|
61
|
+
- The op event on IFluidDataStoreRuntimeEvents and IContainerRuntimeBaseEvents is emitted at a different time ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
Previously, in versions 2.4 and below, the `op` event was emitted immediately after an op was processed and before the next op was processed.
|
|
60
64
|
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
In versions 2.5.0 and beyond, the `op` event will be emitted after an op is processed, but it may not be immediate. In addition, other ops in a
|
|
66
|
+
batch may be processed before the op event is emitted for a particular op.
|
|
63
67
|
|
|
64
|
-
-
|
|
68
|
+
- The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now deprecated ([#22840](https://github.com/microsoft/FluidFramework/pull/22840)) [2e5b969d3a](https://github.com/microsoft/FluidFramework/commit/2e5b969d3a28b05da1502d521b725cee66e36a15)
|
|
65
69
|
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
The process function on IFluidDataStoreChannel, IDeltaHandler, MockFluidDataStoreRuntime and MockDeltaConnection is now
|
|
71
|
+
deprecated. It has been replaced with a new function `processMessages`, which will be called to process multiple messages instead of a single one on the channel. This is part of a feature called "Op bunching", where contiguous ops of a given type and to a given data store / DDS are bunched and sent together for processing.
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
Implementations of `IFluidDataStoreChannel` and `IDeltaHandler` must now also implement `processMessages`. For reference implementations, see `FluidDataStoreRuntime::processMessages` and `SharedObjectCore::attachDeltaHandler`.
|
|
70
74
|
|
|
71
75
|
## 2.4.0
|
|
72
76
|
|
|
@@ -88,195 +92,195 @@ Dependency updates only.
|
|
|
88
92
|
|
|
89
93
|
### Minor Changes
|
|
90
94
|
|
|
91
|
-
-
|
|
95
|
+
- fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
|
|
92
96
|
|
|
93
|
-
|
|
97
|
+
A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
|
|
94
98
|
|
|
95
|
-
|
|
99
|
+
This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
|
|
96
100
|
|
|
97
|
-
|
|
101
|
+
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".
|
|
98
102
|
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
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.
|
|
104
|
+
The full list of such types is:
|
|
101
105
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
- `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
|
|
107
|
+
- `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
|
|
108
|
+
`ISharedObject`
|
|
109
|
+
- `IChannel`
|
|
110
|
+
- `IChannelAttributes`
|
|
111
|
+
- `IChannelFactory`
|
|
112
|
+
- `IExperimentalIncrementalSummaryContext`
|
|
113
|
+
- `IGarbageCollectionData`
|
|
114
|
+
- `ISummaryStats`
|
|
115
|
+
- `ISummaryTreeWithStats`
|
|
116
|
+
- `ITelemetryContext`
|
|
117
|
+
- `IDeltaManagerErased`
|
|
118
|
+
- `IFluidDataStoreRuntimeEvents`
|
|
119
|
+
- `IFluidHandleContext`
|
|
120
|
+
- `IProvideFluidHandleContext`
|
|
117
121
|
|
|
118
|
-
|
|
122
|
+
Removed APIs:
|
|
119
123
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
- `DataObjectClass`: Usages replaced with `SharedObjectKind`.
|
|
125
|
+
- `LoadableObjectClass`: Replaced with `SharedObjectKind`.
|
|
126
|
+
- `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
|
|
127
|
+
-
|
|
124
128
|
|
|
125
|
-
-
|
|
129
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
126
130
|
|
|
127
|
-
|
|
131
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
128
132
|
|
|
129
|
-
-
|
|
133
|
+
- fluid-framework: Remove several types from `@public` scope ([#21142](https://github.com/microsoft/FluidFramework/pull/21142)) [983e9f09f7](https://github.com/microsoft/FluidFramework/commit/983e9f09f7b10fef9ffa1e9af86166f0ccda7e14)
|
|
130
134
|
|
|
131
|
-
|
|
135
|
+
The following types have been moved from `@public` to `@alpha`:
|
|
132
136
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
- `IFluidSerializer`
|
|
138
|
+
- `ISharedObjectEvents`
|
|
139
|
+
- `IChannelServices`
|
|
140
|
+
- `IChannelStorageService`
|
|
141
|
+
- `IDeltaConnection`
|
|
142
|
+
- `IDeltaHandler`
|
|
139
143
|
|
|
140
|
-
|
|
144
|
+
These should not be needed by users of the declarative API, which is what `@public` is targeting.
|
|
141
145
|
|
|
142
146
|
## 2.0.0-rc.4.0.0
|
|
143
147
|
|
|
144
148
|
### Minor Changes
|
|
145
149
|
|
|
146
|
-
-
|
|
150
|
+
- Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
147
151
|
|
|
148
|
-
|
|
149
|
-
|
|
152
|
+
Make IFluidDataStoreRuntime.deltaManager have an opaque type.
|
|
153
|
+
Marks the following types which were reachable from it as alpha:
|
|
150
154
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
- IConnectionDetails
|
|
156
|
+
- IDeltaSender
|
|
157
|
+
- IDeltaManagerEvents
|
|
158
|
+
- IDeltaManager
|
|
159
|
+
- IDeltaQueueEvents
|
|
160
|
+
- IDeltaQueue
|
|
161
|
+
- ReadOnlyInfo
|
|
158
162
|
|
|
159
|
-
|
|
163
|
+
As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
|
|
160
164
|
|
|
161
|
-
|
|
165
|
+
Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
|
|
162
166
|
|
|
163
167
|
## 2.0.0-rc.3.0.0
|
|
164
168
|
|
|
165
169
|
### Major Changes
|
|
166
170
|
|
|
167
|
-
-
|
|
171
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
168
172
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
173
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
174
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
175
|
+
TypeScript types and implementation code.
|
|
172
176
|
|
|
173
|
-
|
|
177
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
174
178
|
|
|
175
|
-
|
|
176
|
-
|
|
179
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
180
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
177
181
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
183
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
184
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
185
|
+
regarding the module and moduleResolution options.
|
|
182
186
|
|
|
183
|
-
|
|
184
|
-
|
|
187
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
188
|
+
to distinguish stable APIs from those that are in development.**
|
|
185
189
|
|
|
186
190
|
## 2.0.0-rc.2.0.0
|
|
187
191
|
|
|
188
192
|
### Minor Changes
|
|
189
193
|
|
|
190
|
-
-
|
|
194
|
+
- datastore-definitions: Add TChannel type parameter to IChannelFactory. ([#19961](https://github.com/microsoft/FluidFramework/issues/19961)) [e2317bdbd2](https://github.com/microsoft/FluidFramework/commits/e2317bdbd29c40c7888bba2ed657a40a8dd6f45b)
|
|
191
195
|
|
|
192
|
-
|
|
196
|
+
Add `TChannel` type parameter (which defaults to `IFluidLoadable`) to `IChannelFactory`. When left at its default this preserves the old behavior, however packages exporting `IChannelFactory` will now reference `IFluidLoadable` if not providing a different parameter and thus will implicitly depend on @fluidframework/core-interfaces.
|
|
193
197
|
|
|
194
|
-
-
|
|
198
|
+
- datastore-definitions: IFluidDataStoreRuntime.logger is now an ITelemetryBaseLogger ([#19585](https://github.com/microsoft/FluidFramework/issues/19585)) [56f23e1b89](https://github.com/microsoft/FluidFramework/commits/56f23e1b895c59f8ba5a50c707484bfdcdeedd67)
|
|
195
199
|
|
|
196
|
-
|
|
200
|
+
`IFluidDataStoreRuntime.logger` is now an `ITelemetryBaseLogger` instead of the deprecated `ITelemetryLogger`. The `sendTelemetryEvent()`, `sendErrorEvent()`, or `sendPerformanceEvent()` methods were not intended for users of `IFluidDataStoreRuntime`. You can keep using the logger's `send()` method to generate telemetry.
|
|
197
201
|
|
|
198
|
-
-
|
|
202
|
+
- container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
|
|
199
203
|
|
|
200
|
-
|
|
204
|
+
ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
|
|
201
205
|
|
|
202
206
|
## 2.0.0-rc.1.0.0
|
|
203
207
|
|
|
204
208
|
### Minor Changes
|
|
205
209
|
|
|
206
|
-
-
|
|
210
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
207
211
|
|
|
208
|
-
|
|
212
|
+
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)
|
|
209
213
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
214
|
+
- @fluidframework/gitresources
|
|
215
|
+
- @fluidframework/server-kafka-orderer
|
|
216
|
+
- @fluidframework/server-lambdas
|
|
217
|
+
- @fluidframework/server-lambdas-driver
|
|
218
|
+
- @fluidframework/server-local-server
|
|
219
|
+
- @fluidframework/server-memory-orderer
|
|
220
|
+
- @fluidframework/protocol-base
|
|
221
|
+
- @fluidframework/server-routerlicious
|
|
222
|
+
- @fluidframework/server-routerlicious-base
|
|
223
|
+
- @fluidframework/server-services
|
|
224
|
+
- @fluidframework/server-services-client
|
|
225
|
+
- @fluidframework/server-services-core
|
|
226
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
227
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
228
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
229
|
+
- @fluidframework/server-services-shared
|
|
230
|
+
- @fluidframework/server-services-telemetry
|
|
231
|
+
- @fluidframework/server-services-utils
|
|
232
|
+
- @fluidframework/server-test-utils
|
|
233
|
+
- tinylicious
|
|
230
234
|
|
|
231
|
-
-
|
|
235
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
232
236
|
|
|
233
|
-
|
|
234
|
-
|
|
237
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
238
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
235
239
|
|
|
236
|
-
-
|
|
240
|
+
- datastore-definitions: Remove unused IFluidDataStoreRegistry from IFluidDataStoreRuntime ([#18803](https://github.com/microsoft/FluidFramework/issues/18803)) [396b8e9738](https://github.com/microsoft/FluidFramework/commits/396b8e9738156ff88b62424a0076f09fb5028a32)
|
|
237
241
|
|
|
238
|
-
|
|
242
|
+
`IFluidDataStoreRuntime` optionally extended `IFluidDataStoreRegistry`. This is never used, so is removed. As with all provider interfaces, consumers can continue to extend the interface if they have a use, and use `FluidObject` to inspect for it existing.
|
|
239
243
|
|
|
240
|
-
-
|
|
244
|
+
- garbage collection: Deprecate addedGCOutboundReference ([#18456](https://github.com/microsoft/FluidFramework/issues/18456)) [0619cf8a41](https://github.com/microsoft/FluidFramework/commits/0619cf8a4197bee6d5ac56cac05db92008939817)
|
|
241
245
|
|
|
242
|
-
|
|
243
|
-
|
|
246
|
+
The `addedGCOutboundReference` property on IDeltaConnection, IFluidDataStoreContext, and MockFluidDataStoreRuntime is
|
|
247
|
+
now deprecated.
|
|
244
248
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
+
The responsibility of adding outbound references (for Garbage Collection tracking) is moving up to the ContainerRuntime.
|
|
250
|
+
Previously, DDSes themselves were responsible to detect and report added outbound references (via a handle being stored),
|
|
251
|
+
so these interfaces (and corresponding mock) needed to plumb that information up to the ContainerRuntime layer where GC sits.
|
|
252
|
+
This is no longer necessary so they're being removed in an upcoming release.
|
|
249
253
|
|
|
250
254
|
## 2.0.0-internal.8.0.0
|
|
251
255
|
|
|
252
256
|
### Major Changes
|
|
253
257
|
|
|
254
|
-
-
|
|
258
|
+
- datastore-definitions: Removed request and IFluidRouter from IFluidDataStoreRuntime [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
255
259
|
|
|
256
|
-
|
|
257
|
-
|
|
260
|
+
The `request` method and `IFluidRouter` property have been removed from `IFluidDataStoreRuntime`. Please migrate all
|
|
261
|
+
usage to the `IFluidDataStoreRuntime.entryPoint` API.
|
|
258
262
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
263
|
+
See
|
|
264
|
+
[Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
265
|
+
for more details.
|
|
262
266
|
|
|
263
|
-
-
|
|
267
|
+
- datastore-definitions: Jsonable and Serializable now require a generic parameter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
264
268
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
269
|
+
The `Jsonable` and `Serializable` types from @fluidframework/datastore-definitions now require a generic parameter and
|
|
270
|
+
if that type is `any` or `unknown`will return a new result `JsonableTypeWith<>` that more accurately represents the
|
|
271
|
+
limitation of serialization.
|
|
268
272
|
|
|
269
|
-
|
|
273
|
+
Additional modifications:
|
|
270
274
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
+
- `Jsonable`'s `TReplacement` parameter default has also been changed from `void` to `never`, which now disallows
|
|
276
|
+
`void`.
|
|
277
|
+
- Unrecognized primitive types like `symbol` are now filtered to `never` instead of `{}`.
|
|
278
|
+
- Recursive types with arrays (`[]`) are now supported.
|
|
275
279
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
+
`Serializable` is commonly used for DDS values and now requires more precision when using them. For example SharedMatrix
|
|
281
|
+
(unqualified) has an `any` default that meant values were `Serializable<any>` (i.e. `any`), but now `Serializable<any>`
|
|
282
|
+
is `JsonableTypeWith<IFluidHandle>` which may be problematic for reading or writing. Preferred correction is to specify
|
|
283
|
+
the value type but casting through `any` may provide a quick fix.
|
|
280
284
|
|
|
281
285
|
## 2.0.0-internal.7.4.0
|
|
282
286
|
|
|
@@ -298,61 +302,61 @@ Dependency updates only.
|
|
|
298
302
|
|
|
299
303
|
### Major Changes
|
|
300
304
|
|
|
301
|
-
-
|
|
305
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
302
306
|
|
|
303
|
-
|
|
307
|
+
This included the following changes from the protocol-definitions release:
|
|
304
308
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
309
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
310
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
311
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
312
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
313
|
+
ISignalMessageBase interface that contains common members.
|
|
314
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
311
315
|
|
|
312
|
-
-
|
|
316
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
313
317
|
|
|
314
|
-
|
|
318
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
315
319
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
320
|
+
- @fluidframework/gitresources: 2.0.1
|
|
321
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
322
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
323
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
324
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
325
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
326
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
327
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
328
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
329
|
+
- @fluidframework/server-services: 2.0.1
|
|
330
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
331
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
332
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
333
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
334
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
335
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
336
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
337
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
338
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
339
|
+
- tinylicious: 2.0.1
|
|
336
340
|
|
|
337
|
-
-
|
|
341
|
+
- test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
338
342
|
|
|
339
|
-
|
|
343
|
+
The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
|
|
340
344
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
+
- `BaseContainerRuntimeFactory`
|
|
346
|
+
- `RuntimeFactory`
|
|
347
|
+
- `ContainerRuntime` (constructor and `loadRuntime`)
|
|
348
|
+
- `FluidDataStoreRuntime`
|
|
345
349
|
|
|
346
|
-
|
|
347
|
-
|
|
350
|
+
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.
|
|
351
|
+
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.
|
|
348
352
|
|
|
349
|
-
|
|
353
|
+
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.
|
|
350
354
|
|
|
351
|
-
|
|
355
|
+
For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
|
|
352
356
|
|
|
353
|
-
-
|
|
357
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
354
358
|
|
|
355
|
-
|
|
359
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
356
360
|
|
|
357
361
|
## 2.0.0-internal.6.4.0
|
|
358
362
|
|
|
@@ -366,32 +370,32 @@ Dependency updates only.
|
|
|
366
370
|
|
|
367
371
|
### Minor Changes
|
|
368
372
|
|
|
369
|
-
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
373
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
374
|
+
|
|
375
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
376
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
377
|
+
|
|
378
|
+
- interface IDisposable
|
|
379
|
+
- interface IErrorEvent
|
|
380
|
+
- interface IErrorEvent
|
|
381
|
+
- interface IEvent
|
|
382
|
+
- interface IEventProvider
|
|
383
|
+
- interface ILoggingError
|
|
384
|
+
- interface ITaggedTelemetryPropertyType
|
|
385
|
+
- interface ITelemetryBaseEvent
|
|
386
|
+
- interface ITelemetryBaseLogger
|
|
387
|
+
- interface ITelemetryErrorEvent
|
|
388
|
+
- interface ITelemetryGenericEvent
|
|
389
|
+
- interface ITelemetryLogger
|
|
390
|
+
- interface ITelemetryPerformanceEvent
|
|
391
|
+
- interface ITelemetryProperties
|
|
392
|
+
- type ExtendEventProvider
|
|
393
|
+
- type IEventThisPlaceHolder
|
|
394
|
+
- type IEventTransformer
|
|
395
|
+
- type ReplaceIEventThisPlaceHolder
|
|
396
|
+
- type ReplaceIEventThisPlaceHolder
|
|
397
|
+
- type TelemetryEventCategory
|
|
398
|
+
- type TelemetryEventPropertyType
|
|
395
399
|
|
|
396
400
|
## 2.0.0-internal.6.1.0
|
|
397
401
|
|
|
@@ -401,33 +405,33 @@ Dependency updates only.
|
|
|
401
405
|
|
|
402
406
|
### Major Changes
|
|
403
407
|
|
|
404
|
-
-
|
|
408
|
+
- Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
405
409
|
|
|
406
|
-
|
|
410
|
+
The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
|
|
407
411
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
412
|
+
- `IRuntime` and `ContainerRuntime`
|
|
413
|
+
- `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
|
|
414
|
+
- `IFluidDataStoreChannel`
|
|
415
|
+
- `MockFluidDataStoreRuntime`
|
|
416
|
+
- `TestFluidObject`
|
|
413
417
|
|
|
414
|
-
|
|
418
|
+
Please migrate usage to the corresponding `entryPoint` or `getEntryPoint()` of the object. The value for these "entryPoint" related APIs is determined from factories (for `IRuntime` and `IFluidDataStoreRuntime`) via the `initializeEntryPoint` method. If no method is passed to the factory, the corresponding `entryPoint` and `getEntryPoint()` will be undefined.
|
|
415
419
|
|
|
416
|
-
|
|
420
|
+
For an example implementation of `initializeEntryPoint`, see [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/blob/next/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L84).
|
|
417
421
|
|
|
418
|
-
|
|
422
|
+
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).
|
|
419
423
|
|
|
420
|
-
-
|
|
424
|
+
- IChannel.owner removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
421
425
|
|
|
422
|
-
|
|
426
|
+
The owner property on IChannel was deprecated in 2.0.0-internal.5.1.0 and has now been removed.
|
|
423
427
|
|
|
424
|
-
-
|
|
428
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
425
429
|
|
|
426
|
-
|
|
430
|
+
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.
|
|
427
431
|
|
|
428
|
-
-
|
|
432
|
+
- IDeltaManager members disposed and dispose() removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
429
433
|
|
|
430
|
-
|
|
434
|
+
IDeltaManager members disposed and dispose() were deprecated in 2.0.0-internal.5.3.0 and have now been removed.
|
|
431
435
|
|
|
432
436
|
## 2.0.0-internal.5.4.0
|
|
433
437
|
|
|
@@ -445,9 +449,9 @@ Dependency updates only.
|
|
|
445
449
|
|
|
446
450
|
### Minor Changes
|
|
447
451
|
|
|
448
|
-
-
|
|
452
|
+
- IChannel.owner deprecated ([#16024](https://github.com/microsoft/FluidFramework/issues/16024)) [92997468e7](https://github.com/microsoft/FluidFramework/commits/92997468e72c48ff39afb9e15fcdca4e87ac8dca)
|
|
449
453
|
|
|
450
|
-
|
|
454
|
+
The owner property on IChannel has been deprecated and will be removed in an upcoming release. This property does nothing.
|
|
451
455
|
|
|
452
456
|
## 2.0.0-internal.5.0.0
|
|
453
457
|
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/datastore-definitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.31.1",
|
|
4
4
|
"description": "Fluid data store definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"main": "",
|
|
42
42
|
"types": "lib/public.d.ts",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@fluidframework/container-definitions": "~2.
|
|
45
|
-
"@fluidframework/core-interfaces": "~2.
|
|
46
|
-
"@fluidframework/driver-definitions": "~2.
|
|
47
|
-
"@fluidframework/id-compressor": "~2.
|
|
48
|
-
"@fluidframework/runtime-definitions": "~2.
|
|
44
|
+
"@fluidframework/container-definitions": "~2.31.1",
|
|
45
|
+
"@fluidframework/core-interfaces": "~2.31.1",
|
|
46
|
+
"@fluidframework/driver-definitions": "~2.31.1",
|
|
47
|
+
"@fluidframework/id-compressor": "~2.31.1",
|
|
48
|
+
"@fluidframework/runtime-definitions": "~2.31.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
@@ -53,23 +53,17 @@
|
|
|
53
53
|
"@fluid-tools/build-cli": "^0.54.0",
|
|
54
54
|
"@fluidframework/build-common": "^2.0.3",
|
|
55
55
|
"@fluidframework/build-tools": "^0.54.0",
|
|
56
|
-
"@fluidframework/datastore-definitions-previous": "npm:@fluidframework/datastore-definitions@2.
|
|
56
|
+
"@fluidframework/datastore-definitions-previous": "npm:@fluidframework/datastore-definitions@2.31.0",
|
|
57
57
|
"@fluidframework/eslint-config-fluid": "^5.7.3",
|
|
58
|
-
"@microsoft/api-extractor": "7.
|
|
58
|
+
"@microsoft/api-extractor": "7.50.1",
|
|
59
59
|
"concurrently": "^8.2.1",
|
|
60
60
|
"copyfiles": "^2.4.1",
|
|
61
61
|
"eslint": "~8.55.0",
|
|
62
|
-
"prettier": "~3.0.3",
|
|
63
62
|
"rimraf": "^4.4.0",
|
|
64
63
|
"typescript": "~5.4.5"
|
|
65
64
|
},
|
|
66
65
|
"typeValidation": {
|
|
67
|
-
"broken": {
|
|
68
|
-
"Interface_IDeltaHandler": {
|
|
69
|
-
"forwardCompat": false,
|
|
70
|
-
"backCompat": false
|
|
71
|
-
}
|
|
72
|
-
},
|
|
66
|
+
"broken": {},
|
|
73
67
|
"entrypoint": "legacy"
|
|
74
68
|
},
|
|
75
69
|
"scripts": {
|
|
@@ -95,7 +89,6 @@
|
|
|
95
89
|
"check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
|
|
96
90
|
"check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
|
|
97
91
|
"check:format": "npm run check:biome",
|
|
98
|
-
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
99
92
|
"ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
|
|
100
93
|
"ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
|
|
101
94
|
"ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
|
|
@@ -105,7 +98,6 @@
|
|
|
105
98
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
106
99
|
"format": "npm run format:biome",
|
|
107
100
|
"format:biome": "biome check . --write",
|
|
108
|
-
"format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
109
101
|
"lint": "fluid-build . --task lint",
|
|
110
102
|
"lint:fix": "fluid-build . --task eslint:fix --task format",
|
|
111
103
|
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
|