Skip to content

Commit 117a4d6

Browse files
authored
build(client): Clean up changesets for 2.23 release (#23895)
1 parent dd71612 commit 117a4d6

6 files changed

+26
-11
lines changed

.changeset/afraid-snails-speak.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
"section": feature
66
---
77

8-
Events added for local value changes
8+
Local value changes in presence now raise events
9+
10+
The [presence value managers](https://fluidframework.com/docs/build/presence#value-managers) now raise events for local
11+
value changes. The new events are as follows:
912

1013
- LatestValueManager
1114
- `localUpdated` raised when `local` is assigned

.changeset/blue-plants-act.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
"section": tree
77
---
88

9-
Faster creation of large transactions and faster processing of inbound changes
9+
Creating large transactions and processing inbound changes is now faster
1010

1111
SharedTree sometimes composes several sequential changes into a single change.
1212
It does so whenever a transaction is created and when processing inbound changes.
13-
[This PR](https://github.com/microsoft/FluidFramework/pull/23902) makes this composition process asymptotically faster.
13+
14+
Version 2.3.0 makes this composition process asymptotically faster.
1415
For example, creating a transaction that performs 1000 edits on a single array now takes 170ms instead of 1.5s (an 89% improvement).
16+
17+
See [Change #23902](https://github.com/microsoft/FluidFramework/pull/23902) for more details.

.changeset/large-heads-jog.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88

99
Faster processing of events for large transactions
1010

11-
[This PR](https://github.com/microsoft/FluidFramework/pull/23908) avoids the event processing time scaling quadratically with the change count when processing a batch of changes.
11+
In versions prior to 2.3.0, event processing time could scale quadratically (`O(N^2)`) with the change count when
12+
processing a batch of changes.
13+
14+
This performance characteristic has been corrected. See change
15+
[#23908](https://github.com/microsoft/FluidFramework/pull/23908) for more details.

.changeset/purple-ideas-switch.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@
66
"section": tree
77
---
88

9-
Op bunching Performance enhancements in Shared Tree
9+
Op bunching performance enhancements
10+
11+
`SharedTree` now takes advantage of a new feature called "op bunching" where contiguous ops in a grouped batch are
12+
bunched and processed together. This improves the performance of processing ops asymptotically; as
13+
the number of local ops and incoming ops increase, the processing time will reduce.
14+
15+
For example, with 10 local ops + 10 incoming ops, the performance increases by 70%; with 100 local ops + 100 incoming ops, the performance increases by 94%.
1016

11-
A new feature called "Op bunching" is added to Shared Tree where contiguous ops in a grouped batch are
12-
bunched and processed together. This improves the performance of processing ops asymptotically - with the increase in
13-
the number of local ops and incoming ops, the processing time will reduce. For example, with 10 local ops + 10 incoming
14-
ops, the performance increases by 70%; with 100 local ops + 100 incoming ops, the performance increases by 94%.
1517
This will help improve performance in the following scenarios:
18+
1619
- A client makes a large number of changes in a single JS turn. For example, copy pasting large data like a table.
1720
- A client has a large number of local changes. For example, slow clients whose changes are slow to ack or clients with
1821
a local branch with large number of changes.

.changeset/real-doodles-draw.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"section": tree
77
---
88

9-
Invalid schema base classes in `Tree.is` now throw an error instead of returning `false`
9+
Invalid schema base classes in Tree.is now throw an error instead of returning false
10+
1011
As documented in [`TreeNodeSchemaClass`](https://fluidframework.com/docs/api/fluid-framework/treenodeschemaclass-typealias#treenodeschemaclass-remarks), there are specific rules around sub-classing schema, mainly that only a single most derived class can be used.
1112
One place where it was easy to accidentally violate this rule and get hard-to-debug results was [`Tree.is`](https://fluidframework.com/docs/data-structures/tree/nodes#treeis).
1213
This has been mitigated by adding a check in `Tree.is` which detects this mistake (which used to result in `false` being returned) and instead throws a `UsageError` explaining the situation.

.changeset/tender-rabbits-speak.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77

88
The FluidDataStoreRuntime.process function is now deprecated
99

10-
A new function `processMessages` has been added in its place which will be called to process multiple messages instead of a single one on the data store runtime. 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.
10+
A new function `processMessages` has been added in place of `process`. The new function will be called to process multiple messages instead of a single one on the data store runtime. 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.
11+
1112
Note that `process` may still be called in scenarios where this data store runtime (Datastore layer) is running with an older version of data store context (Runtime layer) in the same client. This is to support Fluid layer compatibility.

0 commit comments

Comments
 (0)