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