@fluidframework/shared-object-base 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 +224 -220
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +17 -20
- package/src/packageVersion.ts +1 -1
- package/prettier.config.cjs +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @fluidframework/shared-object-base
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
3
7
|
## 2.30.0
|
|
4
8
|
|
|
5
9
|
Dependency updates only.
|
|
@@ -12,19 +16,19 @@ Dependency updates only.
|
|
|
12
16
|
|
|
13
17
|
### Minor Changes
|
|
14
18
|
|
|
15
|
-
-
|
|
19
|
+
- Change when the `pre-op` and `op` events on `ISharedObjectEvents` are emitted ([#23836](https://github.com/microsoft/FluidFramework/pull/23836)) [5eb19a0fc6](https://github.com/microsoft/FluidFramework/commit/5eb19a0fc6f00ba47ddc338a1a5932e683a6039c)
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
Previous behavior - `pre-op` was emitted immediately before an op was processed. Then the op was processed and `op` was emitted immediately after that.
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
New behavior - `pre-op` will still be emitted before an op is processed and `op` will still be emitted after an op is processed. However, these won't be immediate and other ops in a batch for the shared object may be processed in between.
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
Note that these events are for internal use only as mentioned in the @remarks section of their definition.
|
|
22
26
|
|
|
23
|
-
-
|
|
27
|
+
- Deprecate `processCore` on `SharedObject` and `SharedObjectCore` in favor of `processMessagesCore` ([#23836](https://github.com/microsoft/FluidFramework/pull/23836)) [5eb19a0fc6](https://github.com/microsoft/FluidFramework/commit/5eb19a0fc6f00ba47ddc338a1a5932e683a6039c)
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
A new function `processMessagesCore` has been added in place of `processCore`, 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 in a grouped batch are bunched and processed together by the shared object.
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
Implementations of `SharedObject` and `SharedObjectCore` must now also implement `processMessagesCore`. A basic implementation could be to iterate over the messages' content and process them one by one as it happens now. Note that some DDS may be able to optimize processing by processing the messages together.
|
|
28
32
|
|
|
29
33
|
## 2.21.0
|
|
30
34
|
|
|
@@ -34,55 +38,55 @@ Dependency updates only.
|
|
|
34
38
|
|
|
35
39
|
### Minor Changes
|
|
36
40
|
|
|
37
|
-
-
|
|
41
|
+
- Replace 'any' in return type for several APIs ([#23238](https://github.com/microsoft/FluidFramework/pull/23238)) [0783a31731](https://github.com/microsoft/FluidFramework/commit/0783a317317647e8881ec717a6f85c531cdbc956)
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
To improve type safety of the Fluid Framework legacy+alpha API surface,
|
|
44
|
+
we're moving away from using the `any` type in favor of `unknown`.
|
|
41
45
|
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
We expect that any changes required in consumers of these APIs will be limited to having to provide explicit types
|
|
47
|
+
when calling any of the APIs whose return value changed to `unknown`, like `IFluidSerializer.parse()`.
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
In summary, code that looked like this:
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
```typescript
|
|
52
|
+
// 'myVariable' ended up typed as 'any' here and TypeScript would not do any type-safety checks on it.
|
|
53
|
+
const myVariable = this.serializer.parse(stringHeader);
|
|
54
|
+
```
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
Will now have to look like this:
|
|
53
57
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
```typescript
|
|
59
|
+
// Do this if you know the type of the object you expect to get back.
|
|
60
|
+
const myVariable = this.serializer.parse(stringHeader) as MyType;
|
|
57
61
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
// Alternatively, this will maintain current behavior but also means no type-safety checks will be done by TS.
|
|
63
|
+
// const myVariable = this.serializer.parse(stringHeader) as any;
|
|
64
|
+
```
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
The appropriate type will depend on what the calling code is doing and the objects it expects to be dealing with.
|
|
63
67
|
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
We further encourage consumers of any of these APIs to add runtime checks
|
|
69
|
+
to validate that the returned object actually matches the expected type.
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
The list of affected APIs is as follows:
|
|
68
72
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
- `IFluidSerializer.encode(...)` now takes `value: unknown` instead of `value: any` and returns `unknown` instead of `any`.
|
|
74
|
+
- `IFluidSerializer.decode(...)` now takes `input: unknown` instead of `input: any` and returns `unknown` instead of `any`.
|
|
75
|
+
- `IFluidSerializer.stringify(...)` now takes `value: unknown` instead of `value: any`.
|
|
76
|
+
- `IFluidSerializer.parse(...)` now returns `unknown` instead of `any`.
|
|
77
|
+
- `SharedObjectCore.applyStashedOps(...)` now takes `content: unknown` instead of `content: any`.
|
|
78
|
+
- `SharedObjectCore.rollback(...)` now takes `content: unknown` instead of `content: any`.
|
|
79
|
+
- `SharedObjectCore.submitLocalMessage(...)` now takes `content: unknown` instead of `content: any`.
|
|
80
|
+
- `SharedObjectCore.reSubmitCore(...)` now takes `content: unknown` instead of `content: any`.
|
|
81
|
+
- In `SharedObjectCore.newAckBasedPromise<T>(...)` the `executor` parameter now takes `reject: (reason?: unknown)`
|
|
82
|
+
instead of `reject: (reason?: any)`.
|
|
83
|
+
- `makeHandlesSerializable(...)` now returns `unknown` instead of `any`.
|
|
84
|
+
- `parseHandles(...)` now returns `unknown` instead of `any`.
|
|
81
85
|
|
|
82
|
-
|
|
86
|
+
Additionally, the following APIs were never designed to return a value and have thus been updated to return `void` instead of `any`:
|
|
83
87
|
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
- `SharedObjectCore.processCore(...)`.
|
|
89
|
+
- `SharedObjectCore.onDisconnect(...)`
|
|
86
90
|
|
|
87
91
|
## 2.13.0
|
|
88
92
|
|
|
@@ -120,174 +124,174 @@ Dependency updates only.
|
|
|
120
124
|
|
|
121
125
|
### Minor Changes
|
|
122
126
|
|
|
123
|
-
-
|
|
127
|
+
- Type guards for DDS types ([#21850](https://github.com/microsoft/FluidFramework/pull/21850)) [6bdec1ac07](https://github.com/microsoft/FluidFramework/commit/6bdec1ac07d6f95ef2fbcbd66c12bf0dc53de1ad)
|
|
124
128
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
129
|
+
In the 2.0 release of Fluid, the concrete class implementations for DDSes were hidden from Fluid's API surface.
|
|
130
|
+
This made `instanceof` checks fail to work correctly.
|
|
131
|
+
There were ways to work around this in application code, but they involved boilerplate which required more understanding of Fluid internals than should be necessary.
|
|
128
132
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
There is now a drop-in replacement to `instanceof`: the static `.is()` method to `SharedObjectKind`, which is available
|
|
134
|
+
on all DDSes.
|
|
135
|
+
For example:
|
|
132
136
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
```typescript
|
|
138
|
+
// Works in Fluid Framework 1.0 but not in the initial release of Fluid Framework 2.0:
|
|
139
|
+
if (myObject instanceof SharedString) {
|
|
140
|
+
// do something
|
|
141
|
+
}
|
|
138
142
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
// In Fluid Framework 2.0 and beyond, that code can now be written like so:
|
|
144
|
+
if (SharedString.is(myObject)) {
|
|
145
|
+
// do something
|
|
146
|
+
}
|
|
147
|
+
```
|
|
144
148
|
|
|
145
149
|
## 2.0.0-rc.5.0.0
|
|
146
150
|
|
|
147
151
|
### Minor Changes
|
|
148
152
|
|
|
149
|
-
-
|
|
153
|
+
- fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
|
|
150
154
|
|
|
151
|
-
|
|
155
|
+
A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
|
|
152
156
|
|
|
153
|
-
|
|
157
|
+
This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
|
|
154
158
|
|
|
155
|
-
|
|
159
|
+
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".
|
|
156
160
|
|
|
157
|
-
|
|
158
|
-
|
|
161
|
+
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.
|
|
162
|
+
The full list of such types is:
|
|
159
163
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
164
|
+
- `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
|
|
165
|
+
- `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
|
|
166
|
+
`ISharedObject`
|
|
167
|
+
- `IChannel`
|
|
168
|
+
- `IChannelAttributes`
|
|
169
|
+
- `IChannelFactory`
|
|
170
|
+
- `IExperimentalIncrementalSummaryContext`
|
|
171
|
+
- `IGarbageCollectionData`
|
|
172
|
+
- `ISummaryStats`
|
|
173
|
+
- `ISummaryTreeWithStats`
|
|
174
|
+
- `ITelemetryContext`
|
|
175
|
+
- `IDeltaManagerErased`
|
|
176
|
+
- `IFluidDataStoreRuntimeEvents`
|
|
177
|
+
- `IFluidHandleContext`
|
|
178
|
+
- `IProvideFluidHandleContext`
|
|
175
179
|
|
|
176
|
-
|
|
180
|
+
Removed APIs:
|
|
177
181
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
+
- `DataObjectClass`: Usages replaced with `SharedObjectKind`.
|
|
183
|
+
- `LoadableObjectClass`: Replaced with `SharedObjectKind`.
|
|
184
|
+
- `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
|
|
185
|
+
-
|
|
182
186
|
|
|
183
|
-
-
|
|
187
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
184
188
|
|
|
185
|
-
|
|
189
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
186
190
|
|
|
187
|
-
-
|
|
191
|
+
- fluid-framework: Remove several types from `@public` scope ([#21142](https://github.com/microsoft/FluidFramework/pull/21142)) [983e9f09f7](https://github.com/microsoft/FluidFramework/commit/983e9f09f7b10fef9ffa1e9af86166f0ccda7e14)
|
|
188
192
|
|
|
189
|
-
|
|
193
|
+
The following types have been moved from `@public` to `@alpha`:
|
|
190
194
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
- `IFluidSerializer`
|
|
196
|
+
- `ISharedObjectEvents`
|
|
197
|
+
- `IChannelServices`
|
|
198
|
+
- `IChannelStorageService`
|
|
199
|
+
- `IDeltaConnection`
|
|
200
|
+
- `IDeltaHandler`
|
|
197
201
|
|
|
198
|
-
|
|
202
|
+
These should not be needed by users of the declarative API, which is what `@public` is targeting.
|
|
199
203
|
|
|
200
204
|
## 2.0.0-rc.4.0.0
|
|
201
205
|
|
|
202
206
|
### Minor Changes
|
|
203
207
|
|
|
204
|
-
-
|
|
208
|
+
- Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
|
|
205
209
|
|
|
206
|
-
|
|
207
|
-
|
|
210
|
+
Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
|
|
211
|
+
Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
|
|
208
212
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
213
|
+
External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
|
|
214
|
+
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.
|
|
215
|
+
Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
|
|
212
216
|
|
|
213
217
|
## 2.0.0-rc.3.0.0
|
|
214
218
|
|
|
215
219
|
### Major Changes
|
|
216
220
|
|
|
217
|
-
-
|
|
221
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
218
222
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
223
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
224
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
225
|
+
TypeScript types and implementation code.
|
|
222
226
|
|
|
223
|
-
|
|
227
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
224
228
|
|
|
225
|
-
|
|
226
|
-
|
|
229
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
230
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
227
231
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
233
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
234
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
235
|
+
regarding the module and moduleResolution options.
|
|
232
236
|
|
|
233
|
-
|
|
234
|
-
|
|
237
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
238
|
+
to distinguish stable APIs from those that are in development.**
|
|
235
239
|
|
|
236
240
|
### Minor Changes
|
|
237
241
|
|
|
238
|
-
-
|
|
242
|
+
- fluid-framework: Replace SharedObjectClass with new ISharedObjectKind type. [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
239
243
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
244
|
+
The static objects used as SharedObjectClass now explicitly implement the new ISharedObjectKind type.
|
|
245
|
+
SharedObjectClass has been removed as ISharedObjectKind now fills that role.
|
|
246
|
+
LoadableObjectCtor has been inlined as it only had one use: an external user of it can replace it with `(new (...args: any[]) => T)`.
|
|
243
247
|
|
|
244
248
|
## 2.0.0-rc.2.0.0
|
|
245
249
|
|
|
246
250
|
### Minor Changes
|
|
247
251
|
|
|
248
|
-
-
|
|
252
|
+
- fluid-framework: SharedObject classes are no longer exported as public ([#19717](https://github.com/microsoft/FluidFramework/issues/19717)) [ae1d0be26d](https://github.com/microsoft/FluidFramework/commits/ae1d0be26d61453cff316b3f622a9f3647149167)
|
|
249
253
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
254
|
+
`SharedObject` and `SharedObjectCore` are intended for authoring DDSes, and thus are only intended for use within the Fluid Framework client packages.
|
|
255
|
+
They is no longer publicly exported: any users should fine their own solution or be upstreamed.
|
|
256
|
+
`SharedObject` and `SharedObjectCore` are available for now as `@alpha` to make this migration less disrupting for any existing users.
|
|
253
257
|
|
|
254
258
|
## 2.0.0-rc.1.0.0
|
|
255
259
|
|
|
256
260
|
### Minor Changes
|
|
257
261
|
|
|
258
|
-
-
|
|
262
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
259
263
|
|
|
260
|
-
|
|
264
|
+
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)
|
|
261
265
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
266
|
+
- @fluidframework/gitresources
|
|
267
|
+
- @fluidframework/server-kafka-orderer
|
|
268
|
+
- @fluidframework/server-lambdas
|
|
269
|
+
- @fluidframework/server-lambdas-driver
|
|
270
|
+
- @fluidframework/server-local-server
|
|
271
|
+
- @fluidframework/server-memory-orderer
|
|
272
|
+
- @fluidframework/protocol-base
|
|
273
|
+
- @fluidframework/server-routerlicious
|
|
274
|
+
- @fluidframework/server-routerlicious-base
|
|
275
|
+
- @fluidframework/server-services
|
|
276
|
+
- @fluidframework/server-services-client
|
|
277
|
+
- @fluidframework/server-services-core
|
|
278
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
279
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
280
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
281
|
+
- @fluidframework/server-services-shared
|
|
282
|
+
- @fluidframework/server-services-telemetry
|
|
283
|
+
- @fluidframework/server-services-utils
|
|
284
|
+
- @fluidframework/server-test-utils
|
|
285
|
+
- tinylicious
|
|
282
286
|
|
|
283
|
-
-
|
|
287
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
284
288
|
|
|
285
|
-
|
|
286
|
-
|
|
289
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
290
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
287
291
|
|
|
288
|
-
-
|
|
292
|
+
- shared-object-base: SharedObject processGCDataCore now takes IFluidSerializer rather than SummarySerializer ([#18803](https://github.com/microsoft/FluidFramework/issues/18803)) [396b8e9738](https://github.com/microsoft/FluidFramework/commits/396b8e9738156ff88b62424a0076f09fb5028a32)
|
|
289
293
|
|
|
290
|
-
|
|
294
|
+
This change should be a no-op for consumers, and `SummarySerializer` and `IFluidSerializer` expose the same consumer facing APIs. This change just makes our APIs more consistent by only using interfaces, rather than a mix of interfaces and concrete implementations.
|
|
291
295
|
|
|
292
296
|
## 2.0.0-internal.8.0.0
|
|
293
297
|
|
|
@@ -313,53 +317,53 @@ Dependency updates only.
|
|
|
313
317
|
|
|
314
318
|
### Major Changes
|
|
315
319
|
|
|
316
|
-
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
-
|
|
353
|
-
|
|
354
|
-
|
|
320
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
321
|
+
|
|
322
|
+
This included the following changes from the protocol-definitions release:
|
|
323
|
+
|
|
324
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
325
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
326
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
327
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
328
|
+
ISignalMessageBase interface that contains common members.
|
|
329
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
330
|
+
|
|
331
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
332
|
+
|
|
333
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
334
|
+
|
|
335
|
+
- @fluidframework/gitresources: 2.0.1
|
|
336
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
337
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
338
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
339
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
340
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
341
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
342
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
343
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
344
|
+
- @fluidframework/server-services: 2.0.1
|
|
345
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
346
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
347
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
348
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
349
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
350
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
351
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
352
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
353
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
354
|
+
- tinylicious: 2.0.1
|
|
355
|
+
|
|
356
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
357
|
+
|
|
358
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
355
359
|
|
|
356
360
|
## 2.0.0-internal.6.4.0
|
|
357
361
|
|
|
358
362
|
### Minor Changes
|
|
359
363
|
|
|
360
|
-
-
|
|
364
|
+
- Some stack traces are improved ([#17380](https://github.com/microsoft/FluidFramework/issues/17380)) [34f2808ee9](https://github.com/microsoft/FluidFramework/commits/34f2808ee9764aef21b990f8b48860d9e3ce27a5)
|
|
361
365
|
|
|
362
|
-
|
|
366
|
+
Some stack traces have been improved and might now include frames for async functions that weren't previously included.
|
|
363
367
|
|
|
364
368
|
## 2.0.0-internal.6.3.0
|
|
365
369
|
|
|
@@ -369,32 +373,32 @@ Dependency updates only.
|
|
|
369
373
|
|
|
370
374
|
### Minor Changes
|
|
371
375
|
|
|
372
|
-
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
376
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
377
|
+
|
|
378
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
379
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
380
|
+
|
|
381
|
+
- interface IDisposable
|
|
382
|
+
- interface IErrorEvent
|
|
383
|
+
- interface IErrorEvent
|
|
384
|
+
- interface IEvent
|
|
385
|
+
- interface IEventProvider
|
|
386
|
+
- interface ILoggingError
|
|
387
|
+
- interface ITaggedTelemetryPropertyType
|
|
388
|
+
- interface ITelemetryBaseEvent
|
|
389
|
+
- interface ITelemetryBaseLogger
|
|
390
|
+
- interface ITelemetryErrorEvent
|
|
391
|
+
- interface ITelemetryGenericEvent
|
|
392
|
+
- interface ITelemetryLogger
|
|
393
|
+
- interface ITelemetryPerformanceEvent
|
|
394
|
+
- interface ITelemetryProperties
|
|
395
|
+
- type ExtendEventProvider
|
|
396
|
+
- type IEventThisPlaceHolder
|
|
397
|
+
- type IEventTransformer
|
|
398
|
+
- type ReplaceIEventThisPlaceHolder
|
|
399
|
+
- type ReplaceIEventThisPlaceHolder
|
|
400
|
+
- type TelemetryEventCategory
|
|
401
|
+
- type TelemetryEventPropertyType
|
|
398
402
|
|
|
399
403
|
## 2.0.0-internal.6.1.0
|
|
400
404
|
|
|
@@ -404,9 +408,9 @@ Dependency updates only.
|
|
|
404
408
|
|
|
405
409
|
### Major Changes
|
|
406
410
|
|
|
407
|
-
-
|
|
411
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
408
412
|
|
|
409
|
-
|
|
413
|
+
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.
|
|
410
414
|
|
|
411
415
|
## 2.0.0-internal.5.4.0
|
|
412
416
|
|
package/dist/packageVersion.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
|
|
6
6
|
*/
|
|
7
7
|
export declare const pkgName = "@fluidframework/shared-object-base";
|
|
8
|
-
export declare const pkgVersion = "2.
|
|
8
|
+
export declare const pkgVersion = "2.31.1";
|
|
9
9
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/dist/packageVersion.js
CHANGED
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.pkgVersion = exports.pkgName = void 0;
|
|
10
10
|
exports.pkgName = "@fluidframework/shared-object-base";
|
|
11
|
-
exports.pkgVersion = "2.
|
|
11
|
+
exports.pkgVersion = "2.31.1";
|
|
12
12
|
//# sourceMappingURL=packageVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,oCAAoC,CAAC;AAC/C,QAAA,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/shared-object-base\";\nexport const pkgVersion = \"2.
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,oCAAoC,CAAC;AAC/C,QAAA,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/shared-object-base\";\nexport const pkgVersion = \"2.31.1\";\n"]}
|
package/lib/packageVersion.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
|
|
6
6
|
*/
|
|
7
7
|
export declare const pkgName = "@fluidframework/shared-object-base";
|
|
8
|
-
export declare const pkgVersion = "2.
|
|
8
|
+
export declare const pkgVersion = "2.31.1";
|
|
9
9
|
//# sourceMappingURL=packageVersion.d.ts.map
|
package/lib/packageVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/shared-object-base\";\nexport const pkgVersion = \"2.
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/shared-object-base\";\nexport const pkgVersion = \"2.31.1\";\n"]}
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/shared-object-base",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.31.1",
|
|
4
4
|
"description": "Fluid base class for shared distributed data structures",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -69,31 +69,31 @@
|
|
|
69
69
|
"temp-directory": "nyc/.nyc_output"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@fluid-internal/client-utils": "~2.
|
|
73
|
-
"@fluidframework/container-definitions": "~2.
|
|
74
|
-
"@fluidframework/container-runtime": "~2.
|
|
75
|
-
"@fluidframework/core-interfaces": "~2.
|
|
76
|
-
"@fluidframework/core-utils": "~2.
|
|
77
|
-
"@fluidframework/datastore": "~2.
|
|
78
|
-
"@fluidframework/datastore-definitions": "~2.
|
|
79
|
-
"@fluidframework/driver-definitions": "~2.
|
|
80
|
-
"@fluidframework/runtime-definitions": "~2.
|
|
81
|
-
"@fluidframework/runtime-utils": "~2.
|
|
82
|
-
"@fluidframework/telemetry-utils": "~2.
|
|
72
|
+
"@fluid-internal/client-utils": "~2.31.1",
|
|
73
|
+
"@fluidframework/container-definitions": "~2.31.1",
|
|
74
|
+
"@fluidframework/container-runtime": "~2.31.1",
|
|
75
|
+
"@fluidframework/core-interfaces": "~2.31.1",
|
|
76
|
+
"@fluidframework/core-utils": "~2.31.1",
|
|
77
|
+
"@fluidframework/datastore": "~2.31.1",
|
|
78
|
+
"@fluidframework/datastore-definitions": "~2.31.1",
|
|
79
|
+
"@fluidframework/driver-definitions": "~2.31.1",
|
|
80
|
+
"@fluidframework/runtime-definitions": "~2.31.1",
|
|
81
|
+
"@fluidframework/runtime-utils": "~2.31.1",
|
|
82
|
+
"@fluidframework/telemetry-utils": "~2.31.1",
|
|
83
83
|
"uuid": "^9.0.0"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
87
87
|
"@biomejs/biome": "~1.9.3",
|
|
88
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
89
|
-
"@fluid-private/test-pairwise-generator": "~2.
|
|
88
|
+
"@fluid-internal/mocha-test-setup": "~2.31.1",
|
|
89
|
+
"@fluid-private/test-pairwise-generator": "~2.31.1",
|
|
90
90
|
"@fluid-tools/build-cli": "^0.54.0",
|
|
91
91
|
"@fluidframework/build-common": "^2.0.3",
|
|
92
92
|
"@fluidframework/build-tools": "^0.54.0",
|
|
93
93
|
"@fluidframework/eslint-config-fluid": "^5.7.3",
|
|
94
|
-
"@fluidframework/shared-object-base-previous": "npm:@fluidframework/shared-object-base@2.
|
|
95
|
-
"@fluidframework/test-runtime-utils": "~2.
|
|
96
|
-
"@microsoft/api-extractor": "7.
|
|
94
|
+
"@fluidframework/shared-object-base-previous": "npm:@fluidframework/shared-object-base@2.31.0",
|
|
95
|
+
"@fluidframework/test-runtime-utils": "~2.31.1",
|
|
96
|
+
"@microsoft/api-extractor": "7.50.1",
|
|
97
97
|
"@types/benchmark": "^2.1.0",
|
|
98
98
|
"@types/mocha": "^10.0.10",
|
|
99
99
|
"@types/node": "^18.19.0",
|
|
@@ -107,7 +107,6 @@
|
|
|
107
107
|
"mocha": "^10.8.2",
|
|
108
108
|
"mocha-multi-reporters": "^1.5.1",
|
|
109
109
|
"moment": "^2.21.0",
|
|
110
|
-
"prettier": "~3.0.3",
|
|
111
110
|
"replace-in-file": "^6.3.5",
|
|
112
111
|
"rimraf": "^4.4.0",
|
|
113
112
|
"ts-node": "^10.9.1",
|
|
@@ -143,7 +142,6 @@
|
|
|
143
142
|
"check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
|
|
144
143
|
"check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
|
|
145
144
|
"check:format": "npm run check:biome",
|
|
146
|
-
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
147
145
|
"ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
|
|
148
146
|
"ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
|
|
149
147
|
"ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
|
|
@@ -153,7 +151,6 @@
|
|
|
153
151
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
154
152
|
"format": "npm run format:biome",
|
|
155
153
|
"format:biome": "biome check . --write",
|
|
156
|
-
"format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
157
154
|
"lint": "fluid-build . --task lint",
|
|
158
155
|
"lint:fix": "fluid-build . --task eslint:fix --task format",
|
|
159
156
|
"test": "npm run test:mocha",
|
package/src/packageVersion.ts
CHANGED