@fluidframework/merge-tree 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 +407 -399
- package/api-report/merge-tree.legacy.alpha.api.md +1 -0
- package/dist/MergeTreeTextHelper.d.ts +9 -3
- package/dist/MergeTreeTextHelper.d.ts.map +1 -1
- package/dist/MergeTreeTextHelper.js +5 -5
- package/dist/MergeTreeTextHelper.js.map +1 -1
- package/dist/client.d.ts +7 -13
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +136 -110
- package/dist/client.js.map +1 -1
- package/dist/endOfTreeSegment.d.ts +12 -8
- package/dist/endOfTreeSegment.d.ts.map +1 -1
- package/dist/endOfTreeSegment.js +2 -4
- package/dist/endOfTreeSegment.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/mergeTree.d.ts +38 -22
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +408 -486
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeDeltaCallback.d.ts +4 -8
- package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
- package/dist/mergeTreeDeltaCallback.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +32 -10
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +43 -28
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/partialLengths.d.ts +2 -2
- package/dist/partialLengths.d.ts.map +1 -1
- package/dist/partialLengths.js +181 -109
- package/dist/partialLengths.js.map +1 -1
- package/dist/perspective.d.ts +84 -65
- package/dist/perspective.d.ts.map +1 -1
- package/dist/perspective.js +109 -108
- package/dist/perspective.js.map +1 -1
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +2 -2
- package/dist/revertibles.js.map +1 -1
- package/dist/segmentInfos.d.ts +20 -106
- package/dist/segmentInfos.d.ts.map +1 -1
- package/dist/segmentInfos.js +28 -42
- package/dist/segmentInfos.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +1 -14
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +3 -17
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/snapshotLoader.d.ts.map +1 -1
- package/dist/snapshotLoader.js +62 -19
- package/dist/snapshotLoader.js.map +1 -1
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +55 -24
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +6 -9
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/stamps.d.ts +90 -0
- package/dist/stamps.d.ts.map +1 -0
- package/dist/stamps.js +90 -0
- package/dist/stamps.js.map +1 -0
- package/dist/test/Insertion.perf.spec.js +6 -51
- package/dist/test/Insertion.perf.spec.js.map +1 -1
- package/dist/test/PartialLengths.perf.spec.js +18 -25
- package/dist/test/PartialLengths.perf.spec.js.map +1 -1
- package/dist/test/Removal.perf.spec.js +13 -41
- package/dist/test/Removal.perf.spec.js.map +1 -1
- package/dist/test/beastTest.spec.d.ts.map +1 -1
- package/dist/test/beastTest.spec.js +41 -66
- package/dist/test/beastTest.spec.js.map +1 -1
- package/dist/test/client.annotateMarker.spec.js +1 -11
- package/dist/test/client.annotateMarker.spec.js.map +1 -1
- package/dist/test/client.applyMsg.spec.js +14 -14
- package/dist/test/client.applyMsg.spec.js.map +1 -1
- package/dist/test/client.getPosition.spec.js +1 -1
- package/dist/test/client.getPosition.spec.js.map +1 -1
- package/dist/test/client.localReference.spec.js +1 -1
- package/dist/test/client.localReference.spec.js.map +1 -1
- package/dist/test/client.rollback.spec.js +49 -58
- package/dist/test/client.rollback.spec.js.map +1 -1
- package/dist/test/client.rollbackFarm.spec.js +1 -1
- package/dist/test/client.rollbackFarm.spec.js.map +1 -1
- package/dist/test/client.searchForMarker.spec.js +4 -21
- package/dist/test/client.searchForMarker.spec.js.map +1 -1
- package/dist/test/index.d.ts +2 -2
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -6
- package/dist/test/index.js.map +1 -1
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js +14 -59
- package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +47 -63
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/mergeTree.insert.deltaCallback.spec.js +9 -62
- package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.insertingWalk.spec.js +59 -125
- package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +12 -93
- package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
- package/dist/test/mergeTree.markRangeRemoved.spec.js +10 -7
- package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
- package/dist/test/mergeTree.walk.spec.js +2 -14
- package/dist/test/mergeTree.walk.spec.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.js +2 -2
- package/dist/test/mergeTreeOperationRunner.js.map +1 -1
- package/dist/test/obliterate.concurrent.spec.js +18 -23
- package/dist/test/obliterate.concurrent.spec.js.map +1 -1
- package/dist/test/obliterate.partialLength.spec.js +166 -136
- package/dist/test/obliterate.partialLength.spec.js.map +1 -1
- package/dist/test/obliterate.spec.js +16 -126
- package/dist/test/obliterate.spec.js.map +1 -1
- package/dist/test/partialLength.spec.js +28 -196
- package/dist/test/partialLength.spec.js.map +1 -1
- package/{prettier.config.cjs → dist/test/perspective.spec.d.ts} +2 -4
- package/dist/test/perspective.spec.d.ts.map +1 -0
- package/dist/test/perspective.spec.js +153 -0
- package/dist/test/perspective.spec.js.map +1 -0
- package/dist/test/propertyManager.spec.js +1 -1
- package/dist/test/propertyManager.spec.js.map +1 -1
- package/dist/test/resetPendingSegmentsToOp.spec.js +0 -2
- package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -1
- package/dist/test/segmentGroupCollection.spec.js +10 -4
- package/dist/test/segmentGroupCollection.spec.js.map +1 -1
- package/dist/test/stamps.spec.d.ts +6 -0
- package/dist/test/stamps.spec.d.ts.map +1 -0
- package/dist/test/stamps.spec.js +130 -0
- package/dist/test/stamps.spec.js.map +1 -0
- package/dist/test/testClient.d.ts +1 -0
- package/dist/test/testClient.d.ts.map +1 -1
- package/dist/test/testClient.js +16 -26
- package/dist/test/testClient.js.map +1 -1
- package/dist/test/testClientLogger.d.ts +9 -0
- package/dist/test/testClientLogger.d.ts.map +1 -1
- package/dist/test/testClientLogger.js +59 -47
- package/dist/test/testClientLogger.js.map +1 -1
- package/dist/test/testServer.d.ts +2 -1
- package/dist/test/testServer.d.ts.map +1 -1
- package/dist/test/testServer.js +7 -5
- package/dist/test/testServer.js.map +1 -1
- package/dist/test/testUtils.d.ts +36 -56
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +68 -77
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/text.d.ts +2 -2
- package/dist/test/text.d.ts.map +1 -1
- package/dist/test/text.js +5 -2
- package/dist/test/text.js.map +1 -1
- package/dist/textSegment.d.ts +0 -6
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js.map +1 -1
- package/dist/zamboni.d.ts.map +1 -1
- package/dist/zamboni.js +53 -26
- package/dist/zamboni.js.map +1 -1
- package/lib/MergeTreeTextHelper.d.ts +9 -3
- package/lib/MergeTreeTextHelper.d.ts.map +1 -1
- package/lib/MergeTreeTextHelper.js +5 -5
- package/lib/MergeTreeTextHelper.js.map +1 -1
- package/lib/client.d.ts +7 -13
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +117 -116
- package/lib/client.js.map +1 -1
- package/lib/endOfTreeSegment.d.ts +12 -8
- package/lib/endOfTreeSegment.d.ts.map +1 -1
- package/lib/endOfTreeSegment.js +2 -4
- package/lib/endOfTreeSegment.js.map +1 -1
- package/lib/index.d.ts +6 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/mergeTree.d.ts +38 -22
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +389 -491
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeDeltaCallback.d.ts +4 -8
- package/lib/mergeTreeDeltaCallback.d.ts.map +1 -1
- package/lib/mergeTreeDeltaCallback.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +32 -10
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +42 -29
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/partialLengths.d.ts +2 -2
- package/lib/partialLengths.d.ts.map +1 -1
- package/lib/partialLengths.js +160 -111
- package/lib/partialLengths.js.map +1 -1
- package/lib/perspective.d.ts +84 -65
- package/lib/perspective.d.ts.map +1 -1
- package/lib/perspective.js +82 -103
- package/lib/perspective.js.map +1 -1
- package/lib/revertibles.d.ts.map +1 -1
- package/lib/revertibles.js +2 -2
- package/lib/revertibles.js.map +1 -1
- package/lib/segmentInfos.d.ts +20 -106
- package/lib/segmentInfos.d.ts.map +1 -1
- package/lib/segmentInfos.js +26 -37
- package/lib/segmentInfos.js.map +1 -1
- package/lib/segmentPropertiesManager.d.ts +1 -14
- package/lib/segmentPropertiesManager.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +2 -16
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/snapshotLoader.d.ts.map +1 -1
- package/lib/snapshotLoader.js +39 -19
- package/lib/snapshotLoader.js.map +1 -1
- package/lib/snapshotV1.d.ts.map +1 -1
- package/lib/snapshotV1.js +34 -26
- package/lib/snapshotV1.js.map +1 -1
- package/lib/snapshotlegacy.d.ts.map +1 -1
- package/lib/snapshotlegacy.js +7 -10
- package/lib/snapshotlegacy.js.map +1 -1
- package/lib/stamps.d.ts +90 -0
- package/lib/stamps.d.ts.map +1 -0
- package/lib/stamps.js +77 -0
- package/lib/stamps.js.map +1 -0
- package/lib/test/Insertion.perf.spec.js +6 -51
- package/lib/test/Insertion.perf.spec.js.map +1 -1
- package/lib/test/PartialLengths.perf.spec.js +18 -25
- package/lib/test/PartialLengths.perf.spec.js.map +1 -1
- package/lib/test/Removal.perf.spec.js +13 -41
- package/lib/test/Removal.perf.spec.js.map +1 -1
- package/lib/test/beastTest.spec.d.ts.map +1 -1
- package/lib/test/beastTest.spec.js +42 -67
- package/lib/test/beastTest.spec.js.map +1 -1
- package/lib/test/client.annotateMarker.spec.js +1 -11
- package/lib/test/client.annotateMarker.spec.js.map +1 -1
- package/lib/test/client.applyMsg.spec.js +14 -14
- package/lib/test/client.applyMsg.spec.js.map +1 -1
- package/lib/test/client.getPosition.spec.js +1 -1
- package/lib/test/client.getPosition.spec.js.map +1 -1
- package/lib/test/client.localReference.spec.js +1 -1
- package/lib/test/client.localReference.spec.js.map +1 -1
- package/lib/test/client.rollback.spec.js +50 -59
- package/lib/test/client.rollback.spec.js.map +1 -1
- package/lib/test/client.rollbackFarm.spec.js +1 -1
- package/lib/test/client.rollbackFarm.spec.js.map +1 -1
- package/lib/test/client.searchForMarker.spec.js +4 -21
- package/lib/test/client.searchForMarker.spec.js.map +1 -1
- package/lib/test/index.d.ts +2 -2
- package/lib/test/index.d.ts.map +1 -1
- package/lib/test/index.js +1 -1
- package/lib/test/index.js.map +1 -1
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js +15 -60
- package/lib/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.annotate.spec.js +48 -64
- package/lib/test/mergeTree.annotate.spec.js.map +1 -1
- package/lib/test/mergeTree.insert.deltaCallback.spec.js +10 -63
- package/lib/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.insertingWalk.spec.js +61 -127
- package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -1
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +13 -94
- package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
- package/lib/test/mergeTree.markRangeRemoved.spec.js +10 -7
- package/lib/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
- package/lib/test/mergeTree.walk.spec.js +2 -14
- package/lib/test/mergeTree.walk.spec.js.map +1 -1
- package/lib/test/mergeTreeOperationRunner.js +3 -3
- package/lib/test/mergeTreeOperationRunner.js.map +1 -1
- package/lib/test/obliterate.concurrent.spec.js +18 -23
- package/lib/test/obliterate.concurrent.spec.js.map +1 -1
- package/lib/test/obliterate.partialLength.spec.js +167 -137
- package/lib/test/obliterate.partialLength.spec.js.map +1 -1
- package/lib/test/obliterate.spec.js +17 -127
- package/lib/test/obliterate.spec.js.map +1 -1
- package/lib/test/partialLength.spec.js +29 -197
- package/lib/test/partialLength.spec.js.map +1 -1
- package/lib/test/perspective.spec.d.ts +6 -0
- package/lib/test/perspective.spec.d.ts.map +1 -0
- package/lib/test/perspective.spec.js +151 -0
- package/lib/test/perspective.spec.js.map +1 -0
- package/lib/test/propertyManager.spec.js +2 -2
- package/lib/test/propertyManager.spec.js.map +1 -1
- package/lib/test/resetPendingSegmentsToOp.spec.js +0 -2
- package/lib/test/resetPendingSegmentsToOp.spec.js.map +1 -1
- package/lib/test/segmentGroupCollection.spec.js +10 -4
- package/lib/test/segmentGroupCollection.spec.js.map +1 -1
- package/lib/test/stamps.spec.d.ts +6 -0
- package/lib/test/stamps.spec.d.ts.map +1 -0
- package/lib/test/stamps.spec.js +105 -0
- package/lib/test/stamps.spec.js.map +1 -0
- package/lib/test/testClient.d.ts +1 -0
- package/lib/test/testClient.d.ts.map +1 -1
- package/lib/test/testClient.js +18 -28
- package/lib/test/testClient.js.map +1 -1
- package/lib/test/testClientLogger.d.ts +9 -0
- package/lib/test/testClientLogger.d.ts.map +1 -1
- package/lib/test/testClientLogger.js +60 -48
- package/lib/test/testClientLogger.js.map +1 -1
- package/lib/test/testServer.d.ts +2 -1
- package/lib/test/testServer.d.ts.map +1 -1
- package/lib/test/testServer.js +7 -5
- package/lib/test/testServer.js.map +1 -1
- package/lib/test/testUtils.d.ts +36 -56
- package/lib/test/testUtils.d.ts.map +1 -1
- package/lib/test/testUtils.js +66 -48
- package/lib/test/testUtils.js.map +1 -1
- package/lib/test/text.d.ts +2 -2
- package/lib/test/text.d.ts.map +1 -1
- package/lib/test/text.js +6 -3
- package/lib/test/text.js.map +1 -1
- package/lib/textSegment.d.ts +0 -6
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js.map +1 -1
- package/lib/tsdoc-metadata.json +1 -1
- package/lib/zamboni.d.ts.map +1 -1
- package/lib/zamboni.js +32 -28
- package/lib/zamboni.js.map +1 -1
- package/package.json +18 -21
- package/src/MergeTreeTextHelper.ts +17 -12
- package/src/client.ts +141 -197
- package/src/endOfTreeSegment.ts +11 -8
- package/src/index.ts +4 -3
- package/src/mergeTree.ts +501 -631
- package/src/mergeTreeDeltaCallback.ts +4 -8
- package/src/mergeTreeNodes.ts +66 -45
- package/src/partialLengths.ts +181 -137
- package/src/perspective.ts +127 -129
- package/src/revertibles.ts +2 -7
- package/src/segmentInfos.ts +48 -141
- package/src/segmentPropertiesManager.ts +2 -16
- package/src/snapshotLoader.ts +62 -30
- package/src/snapshotV1.ts +36 -28
- package/src/snapshotlegacy.ts +7 -16
- package/src/stamps.ts +164 -0
- package/src/textSegment.ts +0 -13
- package/src/zamboni.ts +38 -32
- package/tsconfig.json +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/merge-tree
|
|
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.
|
|
@@ -16,43 +24,43 @@ Dependency updates only.
|
|
|
16
24
|
|
|
17
25
|
### Minor Changes
|
|
18
26
|
|
|
19
|
-
-
|
|
27
|
+
- Previously deprecated Merge-Tree and SharedString ISegment members have been removed ([#23448](https://github.com/microsoft/FluidFramework/pull/23448)) [e98574fc62](https://github.com/microsoft/FluidFramework/commit/e98574fc625bea7ebce6d79284f32556aaec1c50)
|
|
20
28
|
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
The current `ISegment` interface over-exposes a number of properties which do not have an external use case, and any external usage could result in damage to the underlying merge-tree including data corruption.
|
|
30
|
+
[In Fluid Framework release 2.12.0 these properties and associated types were deprecated.](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-merge-tree-and-sharedstring-isegment-deprecations-23323)
|
|
23
31
|
|
|
24
|
-
|
|
32
|
+
The only use case that will continue to be supported is determining if a segment is removed. For this purpose we've added the free function `segmentIsRemoved(segment: ISegment): boolean`.
|
|
25
33
|
|
|
26
|
-
|
|
34
|
+
For example, checking if a segment is not removed would change as follows:
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
```diff
|
|
37
|
+
- if(segment.removedSeq === undefined){
|
|
38
|
+
+ if(!segmentIsRemoved(segment)){
|
|
39
|
+
```
|
|
32
40
|
|
|
33
|
-
|
|
41
|
+
The following properties are removed from `ISegment` and its implementations:
|
|
34
42
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
- clientId
|
|
44
|
+
- index
|
|
45
|
+
- localMovedSeq
|
|
46
|
+
- localRefs
|
|
47
|
+
- localRemovedSeq
|
|
48
|
+
- localSeq
|
|
49
|
+
- movedClientsIds
|
|
50
|
+
- movedSeq
|
|
51
|
+
- movedSeqs
|
|
52
|
+
- ordinal
|
|
53
|
+
- removedClientIds
|
|
54
|
+
- removedSeq
|
|
55
|
+
- seq
|
|
56
|
+
- wasMovedOnInsert
|
|
49
57
|
|
|
50
|
-
|
|
58
|
+
Additionally, the following types are also removed:
|
|
51
59
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
- IMergeNodeCommon
|
|
61
|
+
- IMoveInfo
|
|
62
|
+
- IRemovalInfo
|
|
63
|
+
- LocalReferenceCollection
|
|
56
64
|
|
|
57
65
|
## 2.13.0
|
|
58
66
|
|
|
@@ -62,42 +70,42 @@ Dependency updates only.
|
|
|
62
70
|
|
|
63
71
|
### Minor Changes
|
|
64
72
|
|
|
65
|
-
-
|
|
73
|
+
- Merge-Tree and SharedString ISegment Deprecations ([#23323](https://github.com/microsoft/FluidFramework/pull/23323)) [e8762e37cd](https://github.com/microsoft/FluidFramework/commit/e8762e37cd5edbad36b78b5a40d62a730522e18f)
|
|
66
74
|
|
|
67
|
-
|
|
75
|
+
The current ISegment interface over-exposes a number of properties which do not have an external use case, and any external usage could result in damage to the underlying merge-tree including data corruption.
|
|
68
76
|
|
|
69
|
-
|
|
77
|
+
The only use case that will continue to be supported is determining if a segment is removed. For this purpose we've added the free function `segmentIsRemoved(segment: ISegment): boolean`.
|
|
70
78
|
|
|
71
|
-
|
|
79
|
+
For example, checking if a segment is not removed would change as follows:
|
|
72
80
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
```diff
|
|
82
|
+
- if(segment.removedSeq === undefined){
|
|
83
|
+
+ if(!segmentIsRemoved(segment)){
|
|
84
|
+
```
|
|
77
85
|
|
|
78
|
-
|
|
86
|
+
The following properties are deprecated on ISegment and its implementations:
|
|
79
87
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
- clientId
|
|
89
|
+
- index
|
|
90
|
+
- localMovedSeq
|
|
91
|
+
- localRefs
|
|
92
|
+
- localRemovedSeq
|
|
93
|
+
- localSeq
|
|
94
|
+
- movedClientsIds
|
|
95
|
+
- movedSeq
|
|
96
|
+
- movedSeqs
|
|
97
|
+
- ordinal
|
|
98
|
+
- removedClientIds
|
|
99
|
+
- removedSeq
|
|
100
|
+
- seq
|
|
101
|
+
- wasMovedOnInsert
|
|
94
102
|
|
|
95
|
-
|
|
103
|
+
Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
|
|
96
104
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
- IMergeNodeCommon
|
|
106
|
+
- IMoveInfo
|
|
107
|
+
- IRemovalInfo
|
|
108
|
+
- LocalReferenceCollection
|
|
101
109
|
|
|
102
110
|
## 2.11.0
|
|
103
111
|
|
|
@@ -107,133 +115,133 @@ Dependency updates only.
|
|
|
107
115
|
|
|
108
116
|
### Minor Changes
|
|
109
117
|
|
|
110
|
-
-
|
|
118
|
+
- Unsupported merge-tree types and related exposed internals have been removed ([#22696](https://github.com/microsoft/FluidFramework/pull/22696)) [7a032533a6](https://github.com/microsoft/FluidFramework/commit/7a032533a6ee6a6f76fe154ef65dfa33f87e5a7b)
|
|
111
119
|
|
|
112
|
-
|
|
120
|
+
As part of ongoing improvements, several internal types and related APIs have been removed. These types are unnecessary for any supported scenarios and could lead to errors if used. Since directly using these types would likely result in errors, these changes are not likely to impact any Fluid Framework consumers.
|
|
113
121
|
|
|
114
|
-
|
|
122
|
+
Removed types:
|
|
115
123
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
- IMergeTreeTextHelper
|
|
125
|
+
- MergeNode
|
|
126
|
+
- ObliterateInfo
|
|
127
|
+
- PropertiesManager
|
|
128
|
+
- PropertiesRollback
|
|
129
|
+
- SegmentGroup
|
|
130
|
+
- SegmentGroupCollection
|
|
123
131
|
|
|
124
|
-
|
|
132
|
+
In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
|
|
125
133
|
|
|
126
|
-
|
|
134
|
+
Removed functions:
|
|
127
135
|
|
|
128
|
-
|
|
129
|
-
|
|
136
|
+
- addProperties
|
|
137
|
+
- ack
|
|
130
138
|
|
|
131
|
-
|
|
139
|
+
Removed properties:
|
|
132
140
|
|
|
133
|
-
|
|
134
|
-
|
|
141
|
+
- propertyManager
|
|
142
|
+
- segmentGroups
|
|
135
143
|
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
|
|
145
|
+
[Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
|
|
138
146
|
|
|
139
|
-
-
|
|
147
|
+
- SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
|
|
140
148
|
|
|
141
|
-
|
|
149
|
+
This update introduces a new feature to the `SharedString` DDS, allowing for the adjustment of properties over a specified range. The `annotateAdjustRange` method enables users to apply adjustments to properties within a given range, providing more flexibility and control over property modifications.
|
|
142
150
|
|
|
143
|
-
|
|
151
|
+
An adjustment is a modification applied to a property value within a specified range. Adjustments can be used to increment or decrement property values dynamically. They are particularly useful in scenarios where property values need to be updated based on user interactions or other events. For example, in a rich text editor, adjustments can be used for modifying indentation levels or font sizes, where multiple users could apply differing numerical adjustments.
|
|
144
152
|
|
|
145
|
-
|
|
153
|
+
### Key Features and Use Cases:
|
|
146
154
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
155
|
+
- **Adjustments with Constraints**: Adjustments can include optional minimum and maximum constraints to ensure the final value falls within specified bounds. This is particularly useful for maintaining consistent formatting in rich text editors.
|
|
156
|
+
- **Consistent Property Changes**: The feature ensures that property changes are consistent, managing both local and remote changes effectively. This is essential for collaborative rich text editing where multiple users may be making adjustments simultaneously.
|
|
157
|
+
- **Rich Text Formatting**: Adjustments can be used to modify text properties such as font size, indentation, or other formatting attributes dynamically based on user actions.
|
|
150
158
|
|
|
151
|
-
|
|
159
|
+
### Configuration and Compatibility Requirements:
|
|
152
160
|
|
|
153
|
-
|
|
161
|
+
This feature is only available when the configuration `Fluid.Sequence.mergeTreeEnableAnnotateAdjust` is set to `true`. Additionally, all collaborating clients must have this feature enabled to use it. If any client does not have this feature enabled, it will lead to the client exiting collaboration. A future major version of Fluid will enable this feature by default.
|
|
154
162
|
|
|
155
|
-
|
|
163
|
+
### Usage Example:
|
|
156
164
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
165
|
+
```typescript
|
|
166
|
+
sharedString.annotateAdjustRange(start, end, {
|
|
167
|
+
key: { value: 5, min: 0, max: 10 },
|
|
168
|
+
});
|
|
169
|
+
```
|
|
162
170
|
|
|
163
|
-
-
|
|
171
|
+
- MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
|
|
164
172
|
|
|
165
|
-
|
|
173
|
+
The `Client` class in the merge-tree package has been removed. Types that directly or indirectly expose the merge-tree `Client` class have also been removed.
|
|
166
174
|
|
|
167
|
-
|
|
175
|
+
The removed types were not meant to be used directly, and direct usage was not supported:
|
|
168
176
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
177
|
+
- AttributionPolicy
|
|
178
|
+
- IClientEvents
|
|
179
|
+
- IMergeTreeAttributionOptions
|
|
180
|
+
- SharedSegmentSequence
|
|
181
|
+
- SharedStringClass
|
|
174
182
|
|
|
175
|
-
|
|
183
|
+
Some classes that referenced the `Client` class have been transitioned to interfaces. Direct instantiation of these classes was not supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:
|
|
176
184
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
185
|
+
- SequenceInterval
|
|
186
|
+
- SequenceEvent
|
|
187
|
+
- SequenceDeltaEvent
|
|
188
|
+
- SequenceMaintenanceEvent
|
|
181
189
|
|
|
182
|
-
|
|
183
|
-
|
|
190
|
+
The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
|
|
191
|
+
[Several MergeTree Client Legacy APIs are now deprecated](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.4.0.md#several-mergetree-client-legacy-apis-are-now-deprecated-22629)
|
|
184
192
|
|
|
185
193
|
## 2.5.0
|
|
186
194
|
|
|
187
195
|
### Minor Changes
|
|
188
196
|
|
|
189
|
-
-
|
|
197
|
+
- Compilation no longer fails when building with TypeScript's libCheck option ([#22923](https://github.com/microsoft/FluidFramework/pull/22923)) [a1b4cdd45e](https://github.com/microsoft/FluidFramework/commit/a1b4cdd45ee9812e2598ab8d2854333d26a06eb4)
|
|
190
198
|
|
|
191
|
-
|
|
199
|
+
When compiling code using Fluid Framework with TypeScript's `libCheck` (meaning without [skipLibCheck](https://www.typescriptlang.org/tsconfig/#skipLibCheck)), two compile errors can be encountered:
|
|
192
200
|
|
|
193
|
-
|
|
194
|
-
|
|
201
|
+
```
|
|
202
|
+
> tsc
|
|
195
203
|
|
|
196
|
-
|
|
204
|
+
node_modules/@fluidframework/merge-tree/lib/client.d.ts:124:18 - error TS2368: Type parameter name cannot be 'undefined'.
|
|
197
205
|
|
|
198
|
-
|
|
199
|
-
|
|
206
|
+
124 walkSegments<undefined>(handler: ISegmentAction<undefined>, start?: number, end?: number, accum?: undefined, splitRange?: boolean): void;
|
|
207
|
+
~~~~~~~~~
|
|
200
208
|
|
|
201
|
-
|
|
202
|
-
|
|
209
|
+
node_modules/@fluidframework/tree/lib/util/utils.d.ts:5:29 - error TS7016: Could not find a declaration file for module '@ungap/structured-clone'. 'node_modules/@ungap/structured-clone/esm/index.js' implicitly has an 'any' type.
|
|
210
|
+
Try `npm i --save-dev @types/ungap__structured-clone` if it exists or add a new declaration (.d.ts) file containing `declare module '@ungap/structured-clone';`
|
|
203
211
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
212
|
+
5 import structuredClone from "@ungap/structured-clone";
|
|
213
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
214
|
+
```
|
|
207
215
|
|
|
208
|
-
|
|
209
|
-
|
|
216
|
+
The first error impacts projects using TypeScript 5.5 or greater and either of the `fluid-framework` or `@fluidframework/merge-tree` packages.
|
|
217
|
+
The second error impacts projects using the `noImplicitAny` tsconfig setting and the `fluid-framework` or `@fluidframework/tree` packages.
|
|
210
218
|
|
|
211
|
-
|
|
219
|
+
Both errors have been fixed.
|
|
212
220
|
|
|
213
|
-
|
|
221
|
+
This should allow `libCheck` to be reenabled in any impacted projects.
|
|
214
222
|
|
|
215
223
|
## 2.4.0
|
|
216
224
|
|
|
217
225
|
### Minor Changes
|
|
218
226
|
|
|
219
|
-
-
|
|
227
|
+
- Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783)
|
|
220
228
|
|
|
221
|
-
|
|
229
|
+
To reduce exposure of the `Client` class in the merge-tree package, several types have been deprecated. These types directly or indirectly expose the merge-tree `Client` class.
|
|
222
230
|
|
|
223
|
-
|
|
231
|
+
Most of these types are not meant to be used directly, and direct use is not supported:
|
|
224
232
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
233
|
+
- AttributionPolicy
|
|
234
|
+
- IClientEvents
|
|
235
|
+
- IMergeTreeAttributionOptions
|
|
236
|
+
- SharedSegmentSequence
|
|
237
|
+
- SharedStringClass
|
|
230
238
|
|
|
231
|
-
|
|
239
|
+
Some of the deprecations are class constructors. In those cases, we plan to replace the class with an interface which has an equivalent API. Direct instantiation of these classes is not currently supported or necessary for any supported scenario, so the change to an interface should not impact usage. This applies to the following types:
|
|
232
240
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
241
|
+
- SequenceInterval
|
|
242
|
+
- SequenceEvent
|
|
243
|
+
- SequenceDeltaEvent
|
|
244
|
+
- SequenceMaintenanceEvent
|
|
237
245
|
|
|
238
246
|
## 2.3.0
|
|
239
247
|
|
|
@@ -243,46 +251,46 @@ Dependency updates only.
|
|
|
243
251
|
|
|
244
252
|
### Minor Changes
|
|
245
253
|
|
|
246
|
-
-
|
|
254
|
+
- The PropertyManager class and related functions and properties are deprecated ([#22183](https://github.com/microsoft/FluidFramework/pull/22183)) [cbba69554f](https://github.com/microsoft/FluidFramework/commit/cbba69554fc5026f562f44683a902474fabd6e81)
|
|
247
255
|
|
|
248
|
-
|
|
249
|
-
|
|
256
|
+
The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
|
|
257
|
+
These elements will be removed in a future release for the following reasons:
|
|
250
258
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
259
|
+
- There are no scenarios where they need to be used directly.
|
|
260
|
+
- Using them directly will cause eventual consistency problems.
|
|
261
|
+
- Upcoming features will require modifications to these mechanisms.
|
|
254
262
|
|
|
255
|
-
-
|
|
263
|
+
- Deprecate segmentGroups and ack on ISegment ([#22212](https://github.com/microsoft/FluidFramework/pull/22212)) [2b0199dae3](https://github.com/microsoft/FluidFramework/commit/2b0199dae3d73cc7d4fab0f4848614b42e212220)
|
|
256
264
|
|
|
257
|
-
|
|
258
|
-
|
|
265
|
+
The `SegmentGroupCollection` class, along with the `segmentGroups` property and `ack` function on segments, are not intended for external use.
|
|
266
|
+
These elements will be removed in a future release for the following reasons:
|
|
259
267
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
268
|
+
- There are no scenarios where they need to be used directly.
|
|
269
|
+
- Using them directly will cause eventual consistency problems.
|
|
270
|
+
- Upcoming features will require modifications to these mechanisms.
|
|
263
271
|
|
|
264
272
|
## 2.1.0
|
|
265
273
|
|
|
266
274
|
### Minor Changes
|
|
267
275
|
|
|
268
|
-
-
|
|
276
|
+
- The Marker.fromJSONObject and TextSegment.fromJSONObject argument types have been corrected ([#21684](https://github.com/microsoft/FluidFramework/pull/21684)) [d2d472bd88](https://github.com/microsoft/FluidFramework/commit/d2d472bd88d8360bb77303079eebef16d5a69131)
|
|
269
277
|
|
|
270
|
-
|
|
271
|
-
|
|
278
|
+
Previously, the arguments of `Marker.fromJSONObject` and `TextSegment.fromJSONObject` were of type `any`. However, at
|
|
279
|
+
runtime only certain types were expected and using other types would cause errors.
|
|
272
280
|
|
|
273
|
-
|
|
274
|
-
|
|
281
|
+
Now, the argument for the Marker implementation is of type `IJSONSegment` and the argument for the TextSegment
|
|
282
|
+
implementation is of type `string | IJSONSegment`. This reflects actual runtime support.
|
|
275
283
|
|
|
276
|
-
|
|
277
|
-
|
|
284
|
+
This change should have no impact on existing code unless the code is using incorrect types. Such code already does not
|
|
285
|
+
function and should be corrected.
|
|
278
286
|
|
|
279
287
|
## 2.0.0-rc.5.0.0
|
|
280
288
|
|
|
281
289
|
### Minor Changes
|
|
282
290
|
|
|
283
|
-
-
|
|
291
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
284
292
|
|
|
285
|
-
|
|
293
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
286
294
|
|
|
287
295
|
## 2.0.0-rc.4.0.0
|
|
288
296
|
|
|
@@ -292,24 +300,24 @@ Dependency updates only.
|
|
|
292
300
|
|
|
293
301
|
### Major Changes
|
|
294
302
|
|
|
295
|
-
-
|
|
303
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
296
304
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
305
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
306
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
307
|
+
TypeScript types and implementation code.
|
|
300
308
|
|
|
301
|
-
|
|
309
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
302
310
|
|
|
303
|
-
|
|
304
|
-
|
|
311
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
312
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
305
313
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
314
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
315
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
316
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
317
|
+
regarding the module and moduleResolution options.
|
|
310
318
|
|
|
311
|
-
|
|
312
|
-
|
|
319
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
320
|
+
to distinguish stable APIs from those that are in development.**
|
|
313
321
|
|
|
314
322
|
## 2.0.0-rc.2.0.0
|
|
315
323
|
|
|
@@ -319,169 +327,169 @@ Dependency updates only.
|
|
|
319
327
|
|
|
320
328
|
### Minor Changes
|
|
321
329
|
|
|
322
|
-
-
|
|
330
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
323
331
|
|
|
324
|
-
|
|
332
|
+
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)
|
|
325
333
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
334
|
+
- @fluidframework/gitresources
|
|
335
|
+
- @fluidframework/server-kafka-orderer
|
|
336
|
+
- @fluidframework/server-lambdas
|
|
337
|
+
- @fluidframework/server-lambdas-driver
|
|
338
|
+
- @fluidframework/server-local-server
|
|
339
|
+
- @fluidframework/server-memory-orderer
|
|
340
|
+
- @fluidframework/protocol-base
|
|
341
|
+
- @fluidframework/server-routerlicious
|
|
342
|
+
- @fluidframework/server-routerlicious-base
|
|
343
|
+
- @fluidframework/server-services
|
|
344
|
+
- @fluidframework/server-services-client
|
|
345
|
+
- @fluidframework/server-services-core
|
|
346
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
347
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
348
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
349
|
+
- @fluidframework/server-services-shared
|
|
350
|
+
- @fluidframework/server-services-telemetry
|
|
351
|
+
- @fluidframework/server-services-utils
|
|
352
|
+
- @fluidframework/server-test-utils
|
|
353
|
+
- tinylicious
|
|
346
354
|
|
|
347
|
-
-
|
|
355
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
348
356
|
|
|
349
|
-
|
|
350
|
-
|
|
357
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
358
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
351
359
|
|
|
352
|
-
-
|
|
360
|
+
- sequence: Remove the findTile API ([#18908](https://github.com/microsoft/FluidFramework/issues/18908)) [29b093e55c](https://github.com/microsoft/FluidFramework/commits/29b093e55cb2a7e98c9445b735783f463acfb3bb)
|
|
353
361
|
|
|
354
|
-
|
|
362
|
+
The `findTile` API that was previously deprecated is now being removed. The new `searchForMarker` function provides similar functionality, and can be called with the start position, the client ID, the desired marker label to find, and the search direction, where a value of `true` indicates a forward search.
|
|
355
363
|
|
|
356
364
|
## 2.0.0-internal.8.0.0
|
|
357
365
|
|
|
358
366
|
### Major Changes
|
|
359
367
|
|
|
360
|
-
-
|
|
368
|
+
- sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
361
369
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
370
|
+
The return types of some functions have changed from `any` to `void` because the projects are now being compiled with
|
|
371
|
+
the `noImplicitAny` TypeScript compilation option. This does not represent a logic change and only serves to make the
|
|
372
|
+
typing of these functions more accurate.
|
|
365
373
|
|
|
366
|
-
-
|
|
374
|
+
- sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
367
375
|
|
|
368
|
-
|
|
369
|
-
|
|
376
|
+
This change adds experimental support for _obliterate_, a form of _remove_ that deletes concurrently inserted segments.
|
|
377
|
+
To use, enable the `mergeTreeEnableObliterate` feature flag and call the new `obliterateRange` functions.
|
|
370
378
|
|
|
371
|
-
|
|
372
|
-
|
|
379
|
+
Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in
|
|
380
|
+
current handlers, their current implementation is sound.
|
|
373
381
|
|
|
374
|
-
-
|
|
382
|
+
- sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
375
383
|
|
|
376
|
-
|
|
377
|
-
|
|
384
|
+
`Marker.hasSimpleType` was unused. Sequence operations now no longer return IMergeTree\*Msg types.
|
|
385
|
+
These types are redundant with the input.
|
|
378
386
|
|
|
379
|
-
-
|
|
387
|
+
- sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
380
388
|
|
|
381
|
-
|
|
382
|
-
|
|
389
|
+
The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
|
|
390
|
+
intended for public export.
|
|
383
391
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
392
|
+
- `BaseSegment.ack`
|
|
393
|
+
- `Client`
|
|
394
|
+
- `CollaborationWindow`
|
|
395
|
+
- `compareNumbers`
|
|
396
|
+
- `compareStrings`
|
|
397
|
+
- `createAnnotateMarkerOp`
|
|
398
|
+
- `createAnnotateRangeOp`
|
|
399
|
+
- `createGroupOp`
|
|
400
|
+
- `createInsertOp`
|
|
401
|
+
- `createInsertSegmentOp`
|
|
402
|
+
- `createRemoveRangeOp`
|
|
403
|
+
- `IConsensusInfo`
|
|
404
|
+
- `IConsensusValue`
|
|
405
|
+
- `IMarkerModifiedAction`
|
|
406
|
+
- `IMergeTreeTextHelper`
|
|
407
|
+
- `LocalClientId`
|
|
408
|
+
- `MergeTreeDeltaCallback`
|
|
409
|
+
- `MergeTreeMaintenanceCallback`
|
|
410
|
+
- `NonCollabClient`
|
|
411
|
+
- `SegmentAccumulator`
|
|
412
|
+
- `SegmentGroup`
|
|
413
|
+
- `SegmentGroupCollection.enqueue`
|
|
414
|
+
- `SegmentGroupCollection.dequeue`
|
|
415
|
+
- `SegmentGroupCollection.pop`
|
|
416
|
+
- `SortedSegmentSet`
|
|
417
|
+
- `SortedSegmentSetItem`
|
|
418
|
+
- `SortedSet`
|
|
419
|
+
- `toRemovalInfo`
|
|
420
|
+
- `TreeMaintenanceSequenceNumber`
|
|
421
|
+
- `UniversalSequenceNumber`
|
|
422
|
+
- `SharedSegmentSequence.submitSequenceMessage`
|
|
415
423
|
|
|
416
|
-
-
|
|
424
|
+
- merge-tree: Remove `IIntegerRange` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
417
425
|
|
|
418
|
-
|
|
426
|
+
This interface is deprecated and was not intended for public export.
|
|
419
427
|
|
|
420
|
-
-
|
|
428
|
+
- sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
421
429
|
|
|
422
|
-
|
|
430
|
+
In sequence, removed the following APIs:
|
|
423
431
|
|
|
424
|
-
|
|
425
|
-
|
|
432
|
+
- the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
|
|
433
|
+
- the function `SharedString.annotateMarkerNotifyConsensus`
|
|
426
434
|
|
|
427
|
-
|
|
435
|
+
In merge-tree, removed the following APIs:
|
|
428
436
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
437
|
+
- `ICombiningOp`
|
|
438
|
+
- the `combiningOp` field from `IMergeTreeAnnotateMsg`
|
|
439
|
+
- the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
|
|
440
|
+
- the enum variant `PropertiesRollback.Rewrite`.
|
|
433
441
|
|
|
434
|
-
|
|
442
|
+
This functionality was largely unused and had no test coverage.
|
|
435
443
|
|
|
436
|
-
-
|
|
444
|
+
- sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
437
445
|
|
|
438
|
-
|
|
446
|
+
The following APIs have been removed:
|
|
439
447
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
448
|
+
- `Client.getStackContext`
|
|
449
|
+
- `SharedSegmentSequence.getStackContext`
|
|
450
|
+
- `IntervalType.Nest`
|
|
451
|
+
- `ReferenceType.NestBegin`
|
|
452
|
+
- `ReferenceType.NestEnd`
|
|
453
|
+
- `internedSpaces`
|
|
454
|
+
- `RangeStackMap`
|
|
455
|
+
- `refGetRangeLabels`
|
|
456
|
+
- `refHasRangeLabel`
|
|
457
|
+
- `refHasRangeLabels`
|
|
450
458
|
|
|
451
|
-
|
|
459
|
+
This functionality is deprecated, has low test coverage, and is largely unused.
|
|
452
460
|
|
|
453
|
-
-
|
|
461
|
+
- merge-tree: Remove several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
454
462
|
|
|
455
|
-
|
|
463
|
+
Removed the following APIs:
|
|
456
464
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
465
|
+
- `Stack`
|
|
466
|
+
- `clone`
|
|
467
|
+
- `combine`
|
|
468
|
+
- `createMap`
|
|
469
|
+
- `extend`
|
|
470
|
+
- `extendIfUndefined`
|
|
471
|
+
- `matchProperties`
|
|
464
472
|
|
|
465
|
-
|
|
473
|
+
This functionality is deprecated and was not intended for public export.
|
|
466
474
|
|
|
467
475
|
## 2.0.0-internal.7.4.0
|
|
468
476
|
|
|
469
477
|
### Minor Changes
|
|
470
478
|
|
|
471
|
-
-
|
|
479
|
+
- sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus ([#18318](https://github.com/microsoft/FluidFramework/issues/18318)) [e67c2cac5f](https://github.com/microsoft/FluidFramework/commits/e67c2cac5f275fc5c875c0bc044bbb72aaf76648)
|
|
472
480
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
481
|
+
The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
|
|
482
|
+
`SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
|
|
483
|
+
has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
|
|
484
|
+
largely unused.
|
|
477
485
|
|
|
478
486
|
## 2.0.0-internal.7.3.0
|
|
479
487
|
|
|
480
488
|
### Minor Changes
|
|
481
489
|
|
|
482
|
-
-
|
|
490
|
+
- Deprecate BaseSegment.ack, Client, CollaborationWindow, compareNumbers, compareStrings, createAnnotateMarkerOp, createAnnotateRangeOp, createInsertOp, createInsertSegmentOp, createRemoveRangeOp, IConsensusInfo, IConsensusValue, IMarkerModifiedAction, IMergeTreeTextHelper, ISegment.ack, LocalClientId, MergeTreeDeltaCallback, MergeTreeMaintenanceCallback, NonCollabClient, SegmentAccumulator, SegmentGroup, SegmentGroupCollection.dequeue, SegmentGroupCollection.enqueue, SegmentGroupCollection.pop, SortedSegmentSet, SortedSegmentSetItem, SortedSet, toRemovalInfo, TreeMaintenanceSequenceNumber, UnassignedSequenceNumber, UniversalSequenceNumber ([#17952](https://github.com/microsoft/FluidFramework/issues/17952)) [b762798c48](https://github.com/microsoft/FluidFramework/commits/b762798c48ec581202fb5335e907637b8482edcc)
|
|
483
491
|
|
|
484
|
-
|
|
492
|
+
This functionality was not intended for export and will be removed in a future release.
|
|
485
493
|
|
|
486
494
|
## 2.0.0-internal.7.2.0
|
|
487
495
|
|
|
@@ -491,82 +499,82 @@ Dependency updates only.
|
|
|
491
499
|
|
|
492
500
|
### Minor Changes
|
|
493
501
|
|
|
494
|
-
-
|
|
502
|
+
- merge-tree: Deprecate Stack, clone, combine, createMap, extend, extendIfUndefined, and matchProperties ([#17650](https://github.com/microsoft/FluidFramework/issues/17650)) [2b12bc7e59](https://github.com/microsoft/FluidFramework/commits/2b12bc7e59f7825a222ad33b7faff17477d0fa66)
|
|
495
503
|
|
|
496
|
-
|
|
497
|
-
|
|
504
|
+
The following classes and functions have been deprecated. They were not intended for public export and will be removed
|
|
505
|
+
in a future release.
|
|
498
506
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
507
|
+
- Stack
|
|
508
|
+
- clone
|
|
509
|
+
- combine
|
|
510
|
+
- createMap
|
|
511
|
+
- extend
|
|
512
|
+
- extendIfUndefined
|
|
513
|
+
- matchProperties
|
|
506
514
|
|
|
507
|
-
-
|
|
515
|
+
- merge-tree: Deprecate IntervalType.Nest, internedSpaces, RangeStackMap, refGetRangeLabels, refHasRangeLabel, and refHasRangeLabels ([#17555](https://github.com/microsoft/FluidFramework/issues/17555)) [e4c11874ef](https://github.com/microsoft/FluidFramework/commits/e4c11874ef7c62b7cde7c282bc7997519d35fbbc)
|
|
508
516
|
|
|
509
|
-
|
|
510
|
-
|
|
517
|
+
The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
|
|
518
|
+
unused. They will be removed in a future release.
|
|
511
519
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
520
|
+
- IntervalType.Nest
|
|
521
|
+
- internedSpaces
|
|
522
|
+
- RangeStackMap
|
|
523
|
+
- refGetRangeLabels
|
|
524
|
+
- refHasRangeLabel
|
|
525
|
+
- refHasRangeLabels
|
|
518
526
|
|
|
519
527
|
## 2.0.0-internal.7.0.0
|
|
520
528
|
|
|
521
529
|
### Major Changes
|
|
522
530
|
|
|
523
|
-
-
|
|
531
|
+
- sequence: New API for specifying spatial positioning of intervals [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
524
532
|
|
|
525
|
-
|
|
533
|
+
Previously intervals were specified with only an index. Now the model is a bit more nuanced in that you can specify positions that lie before or after a given index. This makes it more clear how interval endpoints should interact with changes to the sequence. See the docs for SequencePlace for additional context.
|
|
526
534
|
|
|
527
|
-
-
|
|
535
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
528
536
|
|
|
529
|
-
|
|
537
|
+
This included the following changes from the protocol-definitions release:
|
|
530
538
|
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
539
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
540
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
541
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
542
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
543
|
+
ISignalMessageBase interface that contains common members.
|
|
544
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
537
545
|
|
|
538
|
-
-
|
|
546
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
539
547
|
|
|
540
|
-
|
|
548
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
541
549
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
550
|
+
- @fluidframework/gitresources: 2.0.1
|
|
551
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
552
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
553
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
554
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
555
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
556
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
557
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
558
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
559
|
+
- @fluidframework/server-services: 2.0.1
|
|
560
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
561
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
562
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
563
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
564
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
565
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
566
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
567
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
568
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
569
|
+
- tinylicious: 2.0.1
|
|
562
570
|
|
|
563
|
-
-
|
|
571
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
564
572
|
|
|
565
|
-
|
|
573
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
566
574
|
|
|
567
|
-
-
|
|
575
|
+
- sequence: Remove the mergeTreeUseNewLengthCalculations flag [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
568
576
|
|
|
569
|
-
|
|
577
|
+
The `mergeTreeUseNewLengthCalculations` flag has been removed, because the feature was enabled by default in 2.0.0-internal.6.0.0.
|
|
570
578
|
|
|
571
579
|
## 2.0.0-internal.6.4.0
|
|
572
580
|
|
|
@@ -580,41 +588,41 @@ Dependency updates only.
|
|
|
580
588
|
|
|
581
589
|
### Minor Changes
|
|
582
590
|
|
|
583
|
-
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
-
|
|
616
|
-
|
|
617
|
-
|
|
591
|
+
- Deprecate getStackContext and associated NestBegin/End ([#16877](https://github.com/microsoft/FluidFramework/issues/16877)) [8e743fe1dd](https://github.com/microsoft/FluidFramework/commits/8e743fe1dde9adb3a1240971987d3abd51ab2fbe)
|
|
592
|
+
|
|
593
|
+
Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use).
|
|
594
|
+
This functionality is unused, poorly tested, and incurs performance overhead.
|
|
595
|
+
|
|
596
|
+
- Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
|
|
597
|
+
|
|
598
|
+
The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
|
|
599
|
+
imported from the **@fluidframework/core-interfaces** package:
|
|
600
|
+
|
|
601
|
+
- interface IDisposable
|
|
602
|
+
- interface IErrorEvent
|
|
603
|
+
- interface IErrorEvent
|
|
604
|
+
- interface IEvent
|
|
605
|
+
- interface IEventProvider
|
|
606
|
+
- interface ILoggingError
|
|
607
|
+
- interface ITaggedTelemetryPropertyType
|
|
608
|
+
- interface ITelemetryBaseEvent
|
|
609
|
+
- interface ITelemetryBaseLogger
|
|
610
|
+
- interface ITelemetryErrorEvent
|
|
611
|
+
- interface ITelemetryGenericEvent
|
|
612
|
+
- interface ITelemetryLogger
|
|
613
|
+
- interface ITelemetryPerformanceEvent
|
|
614
|
+
- interface ITelemetryProperties
|
|
615
|
+
- type ExtendEventProvider
|
|
616
|
+
- type IEventThisPlaceHolder
|
|
617
|
+
- type IEventTransformer
|
|
618
|
+
- type ReplaceIEventThisPlaceHolder
|
|
619
|
+
- type ReplaceIEventThisPlaceHolder
|
|
620
|
+
- type TelemetryEventCategory
|
|
621
|
+
- type TelemetryEventPropertyType
|
|
622
|
+
|
|
623
|
+
- Deprecation of findTile in favor of searchForMarker, which uses depthFirstNodeWalk to locate the nearest marker. ([#16517](https://github.com/microsoft/FluidFramework/issues/16517)) [e928b1f185](https://github.com/microsoft/FluidFramework/commits/e928b1f185ca32123eff9d4bfc5bce28ba1b95c1)
|
|
624
|
+
|
|
625
|
+
findTile has a decent amount of buggy behavior, which leads partners who want to use it to implement workarounds for the odd behavior. searchForMarker is being introduced as a replacement. It performs the same basic functionality of searching for the nearest marker to a given start position in the indicated direction. However, it includes the start position as one of the nodes to search, so markers at the start position will be returned as the nearest marker to that position. Notably, positions 0 and length-1 will be included in the search as well, so searching forwards from position 0 or backwards from position length-1 would allow the entire string to be searched.
|
|
618
626
|
|
|
619
627
|
## 2.0.0-internal.6.1.0
|
|
620
628
|
|
|
@@ -624,36 +632,36 @@ Dependency updates only.
|
|
|
624
632
|
|
|
625
633
|
### Major Changes
|
|
626
634
|
|
|
627
|
-
-
|
|
635
|
+
- Client.getSlideToSegment removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
628
636
|
|
|
629
|
-
|
|
637
|
+
Client.getSlideToSegment was deprecated in 2.0.0-internal.5.3.0 and has been removed. Use getSlideToSegoff function instead.
|
|
630
638
|
|
|
631
|
-
-
|
|
639
|
+
- Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
632
640
|
|
|
633
|
-
|
|
641
|
+
This change removed the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
|
|
634
642
|
|
|
635
|
-
|
|
643
|
+
There are some circumstances where a consumer may wish to know if a segment is still in the underlying tree and were using the parent property to determine that.
|
|
636
644
|
|
|
637
|
-
|
|
645
|
+
Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
|
|
638
646
|
|
|
639
|
-
-
|
|
647
|
+
- merge-tree now has new length calculations by default [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
640
648
|
|
|
641
|
-
|
|
642
|
-
|
|
649
|
+
The merge-tree now enables new length calculations by default and resolves some related performance bugs by making cached segment length
|
|
650
|
+
nullable.
|
|
643
651
|
|
|
644
|
-
|
|
652
|
+
Hierarchy cached segment length is `undefined` if the length of all child nodes is `undefined`.
|
|
645
653
|
|
|
646
|
-
-
|
|
654
|
+
- Segments Property Removed from TrackingGroup [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
647
655
|
|
|
648
|
-
|
|
656
|
+
Tracking groups can contain more than just segments, so the deprecated segments property has been removed. Use the tracked property instead to see all tracked objects.
|
|
649
657
|
|
|
650
|
-
-
|
|
658
|
+
- Remove unnecessary exports [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
651
659
|
|
|
652
|
-
|
|
660
|
+
This change removes a number of interfaces in the merge tree package that are not used in the exported apis surface and therefore should not be used.
|
|
653
661
|
|
|
654
|
-
-
|
|
662
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
655
663
|
|
|
656
|
-
|
|
664
|
+
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.
|
|
657
665
|
|
|
658
666
|
## 2.0.0-internal.5.4.0
|
|
659
667
|
|
|
@@ -667,25 +675,25 @@ Dependency updates only.
|
|
|
667
675
|
|
|
668
676
|
### Minor Changes
|
|
669
677
|
|
|
670
|
-
-
|
|
678
|
+
- Deprecate unnecessary exports ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
|
|
671
679
|
|
|
672
|
-
|
|
680
|
+
This change deprecates a number of interfaces in the merge tree package that are not used in the exported apis surface and therefore should not be used.
|
|
673
681
|
|
|
674
|
-
-
|
|
682
|
+
- Deprecate ISegment.parent ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
|
|
675
683
|
|
|
676
|
-
|
|
684
|
+
This change deprecates the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
|
|
677
685
|
|
|
678
|
-
|
|
686
|
+
There are some circumstances where a consumer may wish to know if a segment is still in the underlying tree and were using the parent property to determine that.
|
|
679
687
|
|
|
680
|
-
|
|
688
|
+
Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
|
|
681
689
|
|
|
682
690
|
## 2.0.0-internal.5.1.0
|
|
683
691
|
|
|
684
692
|
### Minor Changes
|
|
685
693
|
|
|
686
|
-
-
|
|
694
|
+
- New APIs for interval querying by range ([#15837](https://github.com/microsoft/FluidFramework/issues/15837)) [2a4242e1b5](https://github.com/microsoft/FluidFramework/commits/2a4242e1b5f15442b13ae413124ec76315a4cc52)
|
|
687
695
|
|
|
688
|
-
|
|
696
|
+
SharedString now supports querying intervals whose start/end-points fall in a specified range.
|
|
689
697
|
|
|
690
698
|
## 2.0.0-internal.5.0.0
|
|
691
699
|
|
|
@@ -695,7 +703,7 @@ Dependency updates only.
|
|
|
695
703
|
|
|
696
704
|
### Minor Changes
|
|
697
705
|
|
|
698
|
-
-
|
|
706
|
+
- New feature: Revertibles for SharedString and Interval provide undo-redo functionality. This includes all direct interval edits as well as string edits that indirectly affect intervals, wrapping merge-tree revertibles. ([#15778](https://github.com/microsoft/FluidFramework/pull/15778)) [6433cb2937](https://github.com/microsoft/FluidFramework/commits/6433cb2937d9a6bc39ac93b0eca2c073e6d5be52)
|
|
699
707
|
|
|
700
708
|
## 2.0.0-internal.4.1.0
|
|
701
709
|
|