@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.
Files changed (323) hide show
  1. package/CHANGELOG.md +407 -399
  2. package/api-report/merge-tree.legacy.alpha.api.md +1 -0
  3. package/dist/MergeTreeTextHelper.d.ts +9 -3
  4. package/dist/MergeTreeTextHelper.d.ts.map +1 -1
  5. package/dist/MergeTreeTextHelper.js +5 -5
  6. package/dist/MergeTreeTextHelper.js.map +1 -1
  7. package/dist/client.d.ts +7 -13
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +136 -110
  10. package/dist/client.js.map +1 -1
  11. package/dist/endOfTreeSegment.d.ts +12 -8
  12. package/dist/endOfTreeSegment.d.ts.map +1 -1
  13. package/dist/endOfTreeSegment.js +2 -4
  14. package/dist/endOfTreeSegment.js.map +1 -1
  15. package/dist/index.d.ts +6 -3
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/mergeTree.d.ts +38 -22
  20. package/dist/mergeTree.d.ts.map +1 -1
  21. package/dist/mergeTree.js +408 -486
  22. package/dist/mergeTree.js.map +1 -1
  23. package/dist/mergeTreeDeltaCallback.d.ts +4 -8
  24. package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
  25. package/dist/mergeTreeDeltaCallback.js.map +1 -1
  26. package/dist/mergeTreeNodes.d.ts +32 -10
  27. package/dist/mergeTreeNodes.d.ts.map +1 -1
  28. package/dist/mergeTreeNodes.js +43 -28
  29. package/dist/mergeTreeNodes.js.map +1 -1
  30. package/dist/partialLengths.d.ts +2 -2
  31. package/dist/partialLengths.d.ts.map +1 -1
  32. package/dist/partialLengths.js +181 -109
  33. package/dist/partialLengths.js.map +1 -1
  34. package/dist/perspective.d.ts +84 -65
  35. package/dist/perspective.d.ts.map +1 -1
  36. package/dist/perspective.js +109 -108
  37. package/dist/perspective.js.map +1 -1
  38. package/dist/revertibles.d.ts.map +1 -1
  39. package/dist/revertibles.js +2 -2
  40. package/dist/revertibles.js.map +1 -1
  41. package/dist/segmentInfos.d.ts +20 -106
  42. package/dist/segmentInfos.d.ts.map +1 -1
  43. package/dist/segmentInfos.js +28 -42
  44. package/dist/segmentInfos.js.map +1 -1
  45. package/dist/segmentPropertiesManager.d.ts +1 -14
  46. package/dist/segmentPropertiesManager.d.ts.map +1 -1
  47. package/dist/segmentPropertiesManager.js +3 -17
  48. package/dist/segmentPropertiesManager.js.map +1 -1
  49. package/dist/snapshotLoader.d.ts.map +1 -1
  50. package/dist/snapshotLoader.js +62 -19
  51. package/dist/snapshotLoader.js.map +1 -1
  52. package/dist/snapshotV1.d.ts.map +1 -1
  53. package/dist/snapshotV1.js +55 -24
  54. package/dist/snapshotV1.js.map +1 -1
  55. package/dist/snapshotlegacy.d.ts.map +1 -1
  56. package/dist/snapshotlegacy.js +6 -9
  57. package/dist/snapshotlegacy.js.map +1 -1
  58. package/dist/stamps.d.ts +90 -0
  59. package/dist/stamps.d.ts.map +1 -0
  60. package/dist/stamps.js +90 -0
  61. package/dist/stamps.js.map +1 -0
  62. package/dist/test/Insertion.perf.spec.js +6 -51
  63. package/dist/test/Insertion.perf.spec.js.map +1 -1
  64. package/dist/test/PartialLengths.perf.spec.js +18 -25
  65. package/dist/test/PartialLengths.perf.spec.js.map +1 -1
  66. package/dist/test/Removal.perf.spec.js +13 -41
  67. package/dist/test/Removal.perf.spec.js.map +1 -1
  68. package/dist/test/beastTest.spec.d.ts.map +1 -1
  69. package/dist/test/beastTest.spec.js +41 -66
  70. package/dist/test/beastTest.spec.js.map +1 -1
  71. package/dist/test/client.annotateMarker.spec.js +1 -11
  72. package/dist/test/client.annotateMarker.spec.js.map +1 -1
  73. package/dist/test/client.applyMsg.spec.js +14 -14
  74. package/dist/test/client.applyMsg.spec.js.map +1 -1
  75. package/dist/test/client.getPosition.spec.js +1 -1
  76. package/dist/test/client.getPosition.spec.js.map +1 -1
  77. package/dist/test/client.localReference.spec.js +1 -1
  78. package/dist/test/client.localReference.spec.js.map +1 -1
  79. package/dist/test/client.rollback.spec.js +49 -58
  80. package/dist/test/client.rollback.spec.js.map +1 -1
  81. package/dist/test/client.rollbackFarm.spec.js +1 -1
  82. package/dist/test/client.rollbackFarm.spec.js.map +1 -1
  83. package/dist/test/client.searchForMarker.spec.js +4 -21
  84. package/dist/test/client.searchForMarker.spec.js.map +1 -1
  85. package/dist/test/index.d.ts +2 -2
  86. package/dist/test/index.d.ts.map +1 -1
  87. package/dist/test/index.js +2 -6
  88. package/dist/test/index.js.map +1 -1
  89. package/dist/test/mergeTree.annotate.deltaCallback.spec.js +14 -59
  90. package/dist/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
  91. package/dist/test/mergeTree.annotate.spec.js +47 -63
  92. package/dist/test/mergeTree.annotate.spec.js.map +1 -1
  93. package/dist/test/mergeTree.insert.deltaCallback.spec.js +9 -62
  94. package/dist/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
  95. package/dist/test/mergeTree.insertingWalk.spec.js +59 -125
  96. package/dist/test/mergeTree.insertingWalk.spec.js.map +1 -1
  97. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +12 -93
  98. package/dist/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
  99. package/dist/test/mergeTree.markRangeRemoved.spec.js +10 -7
  100. package/dist/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
  101. package/dist/test/mergeTree.walk.spec.js +2 -14
  102. package/dist/test/mergeTree.walk.spec.js.map +1 -1
  103. package/dist/test/mergeTreeOperationRunner.js +2 -2
  104. package/dist/test/mergeTreeOperationRunner.js.map +1 -1
  105. package/dist/test/obliterate.concurrent.spec.js +18 -23
  106. package/dist/test/obliterate.concurrent.spec.js.map +1 -1
  107. package/dist/test/obliterate.partialLength.spec.js +166 -136
  108. package/dist/test/obliterate.partialLength.spec.js.map +1 -1
  109. package/dist/test/obliterate.spec.js +16 -126
  110. package/dist/test/obliterate.spec.js.map +1 -1
  111. package/dist/test/partialLength.spec.js +28 -196
  112. package/dist/test/partialLength.spec.js.map +1 -1
  113. package/{prettier.config.cjs → dist/test/perspective.spec.d.ts} +2 -4
  114. package/dist/test/perspective.spec.d.ts.map +1 -0
  115. package/dist/test/perspective.spec.js +153 -0
  116. package/dist/test/perspective.spec.js.map +1 -0
  117. package/dist/test/propertyManager.spec.js +1 -1
  118. package/dist/test/propertyManager.spec.js.map +1 -1
  119. package/dist/test/resetPendingSegmentsToOp.spec.js +0 -2
  120. package/dist/test/resetPendingSegmentsToOp.spec.js.map +1 -1
  121. package/dist/test/segmentGroupCollection.spec.js +10 -4
  122. package/dist/test/segmentGroupCollection.spec.js.map +1 -1
  123. package/dist/test/stamps.spec.d.ts +6 -0
  124. package/dist/test/stamps.spec.d.ts.map +1 -0
  125. package/dist/test/stamps.spec.js +130 -0
  126. package/dist/test/stamps.spec.js.map +1 -0
  127. package/dist/test/testClient.d.ts +1 -0
  128. package/dist/test/testClient.d.ts.map +1 -1
  129. package/dist/test/testClient.js +16 -26
  130. package/dist/test/testClient.js.map +1 -1
  131. package/dist/test/testClientLogger.d.ts +9 -0
  132. package/dist/test/testClientLogger.d.ts.map +1 -1
  133. package/dist/test/testClientLogger.js +59 -47
  134. package/dist/test/testClientLogger.js.map +1 -1
  135. package/dist/test/testServer.d.ts +2 -1
  136. package/dist/test/testServer.d.ts.map +1 -1
  137. package/dist/test/testServer.js +7 -5
  138. package/dist/test/testServer.js.map +1 -1
  139. package/dist/test/testUtils.d.ts +36 -56
  140. package/dist/test/testUtils.d.ts.map +1 -1
  141. package/dist/test/testUtils.js +68 -77
  142. package/dist/test/testUtils.js.map +1 -1
  143. package/dist/test/text.d.ts +2 -2
  144. package/dist/test/text.d.ts.map +1 -1
  145. package/dist/test/text.js +5 -2
  146. package/dist/test/text.js.map +1 -1
  147. package/dist/textSegment.d.ts +0 -6
  148. package/dist/textSegment.d.ts.map +1 -1
  149. package/dist/textSegment.js.map +1 -1
  150. package/dist/zamboni.d.ts.map +1 -1
  151. package/dist/zamboni.js +53 -26
  152. package/dist/zamboni.js.map +1 -1
  153. package/lib/MergeTreeTextHelper.d.ts +9 -3
  154. package/lib/MergeTreeTextHelper.d.ts.map +1 -1
  155. package/lib/MergeTreeTextHelper.js +5 -5
  156. package/lib/MergeTreeTextHelper.js.map +1 -1
  157. package/lib/client.d.ts +7 -13
  158. package/lib/client.d.ts.map +1 -1
  159. package/lib/client.js +117 -116
  160. package/lib/client.js.map +1 -1
  161. package/lib/endOfTreeSegment.d.ts +12 -8
  162. package/lib/endOfTreeSegment.d.ts.map +1 -1
  163. package/lib/endOfTreeSegment.js +2 -4
  164. package/lib/endOfTreeSegment.js.map +1 -1
  165. package/lib/index.d.ts +6 -3
  166. package/lib/index.d.ts.map +1 -1
  167. package/lib/index.js +1 -1
  168. package/lib/index.js.map +1 -1
  169. package/lib/mergeTree.d.ts +38 -22
  170. package/lib/mergeTree.d.ts.map +1 -1
  171. package/lib/mergeTree.js +389 -491
  172. package/lib/mergeTree.js.map +1 -1
  173. package/lib/mergeTreeDeltaCallback.d.ts +4 -8
  174. package/lib/mergeTreeDeltaCallback.d.ts.map +1 -1
  175. package/lib/mergeTreeDeltaCallback.js.map +1 -1
  176. package/lib/mergeTreeNodes.d.ts +32 -10
  177. package/lib/mergeTreeNodes.d.ts.map +1 -1
  178. package/lib/mergeTreeNodes.js +42 -29
  179. package/lib/mergeTreeNodes.js.map +1 -1
  180. package/lib/partialLengths.d.ts +2 -2
  181. package/lib/partialLengths.d.ts.map +1 -1
  182. package/lib/partialLengths.js +160 -111
  183. package/lib/partialLengths.js.map +1 -1
  184. package/lib/perspective.d.ts +84 -65
  185. package/lib/perspective.d.ts.map +1 -1
  186. package/lib/perspective.js +82 -103
  187. package/lib/perspective.js.map +1 -1
  188. package/lib/revertibles.d.ts.map +1 -1
  189. package/lib/revertibles.js +2 -2
  190. package/lib/revertibles.js.map +1 -1
  191. package/lib/segmentInfos.d.ts +20 -106
  192. package/lib/segmentInfos.d.ts.map +1 -1
  193. package/lib/segmentInfos.js +26 -37
  194. package/lib/segmentInfos.js.map +1 -1
  195. package/lib/segmentPropertiesManager.d.ts +1 -14
  196. package/lib/segmentPropertiesManager.d.ts.map +1 -1
  197. package/lib/segmentPropertiesManager.js +2 -16
  198. package/lib/segmentPropertiesManager.js.map +1 -1
  199. package/lib/snapshotLoader.d.ts.map +1 -1
  200. package/lib/snapshotLoader.js +39 -19
  201. package/lib/snapshotLoader.js.map +1 -1
  202. package/lib/snapshotV1.d.ts.map +1 -1
  203. package/lib/snapshotV1.js +34 -26
  204. package/lib/snapshotV1.js.map +1 -1
  205. package/lib/snapshotlegacy.d.ts.map +1 -1
  206. package/lib/snapshotlegacy.js +7 -10
  207. package/lib/snapshotlegacy.js.map +1 -1
  208. package/lib/stamps.d.ts +90 -0
  209. package/lib/stamps.d.ts.map +1 -0
  210. package/lib/stamps.js +77 -0
  211. package/lib/stamps.js.map +1 -0
  212. package/lib/test/Insertion.perf.spec.js +6 -51
  213. package/lib/test/Insertion.perf.spec.js.map +1 -1
  214. package/lib/test/PartialLengths.perf.spec.js +18 -25
  215. package/lib/test/PartialLengths.perf.spec.js.map +1 -1
  216. package/lib/test/Removal.perf.spec.js +13 -41
  217. package/lib/test/Removal.perf.spec.js.map +1 -1
  218. package/lib/test/beastTest.spec.d.ts.map +1 -1
  219. package/lib/test/beastTest.spec.js +42 -67
  220. package/lib/test/beastTest.spec.js.map +1 -1
  221. package/lib/test/client.annotateMarker.spec.js +1 -11
  222. package/lib/test/client.annotateMarker.spec.js.map +1 -1
  223. package/lib/test/client.applyMsg.spec.js +14 -14
  224. package/lib/test/client.applyMsg.spec.js.map +1 -1
  225. package/lib/test/client.getPosition.spec.js +1 -1
  226. package/lib/test/client.getPosition.spec.js.map +1 -1
  227. package/lib/test/client.localReference.spec.js +1 -1
  228. package/lib/test/client.localReference.spec.js.map +1 -1
  229. package/lib/test/client.rollback.spec.js +50 -59
  230. package/lib/test/client.rollback.spec.js.map +1 -1
  231. package/lib/test/client.rollbackFarm.spec.js +1 -1
  232. package/lib/test/client.rollbackFarm.spec.js.map +1 -1
  233. package/lib/test/client.searchForMarker.spec.js +4 -21
  234. package/lib/test/client.searchForMarker.spec.js.map +1 -1
  235. package/lib/test/index.d.ts +2 -2
  236. package/lib/test/index.d.ts.map +1 -1
  237. package/lib/test/index.js +1 -1
  238. package/lib/test/index.js.map +1 -1
  239. package/lib/test/mergeTree.annotate.deltaCallback.spec.js +15 -60
  240. package/lib/test/mergeTree.annotate.deltaCallback.spec.js.map +1 -1
  241. package/lib/test/mergeTree.annotate.spec.js +48 -64
  242. package/lib/test/mergeTree.annotate.spec.js.map +1 -1
  243. package/lib/test/mergeTree.insert.deltaCallback.spec.js +10 -63
  244. package/lib/test/mergeTree.insert.deltaCallback.spec.js.map +1 -1
  245. package/lib/test/mergeTree.insertingWalk.spec.js +61 -127
  246. package/lib/test/mergeTree.insertingWalk.spec.js.map +1 -1
  247. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js +13 -94
  248. package/lib/test/mergeTree.markRangeRemoved.deltaCallback.spec.js.map +1 -1
  249. package/lib/test/mergeTree.markRangeRemoved.spec.js +10 -7
  250. package/lib/test/mergeTree.markRangeRemoved.spec.js.map +1 -1
  251. package/lib/test/mergeTree.walk.spec.js +2 -14
  252. package/lib/test/mergeTree.walk.spec.js.map +1 -1
  253. package/lib/test/mergeTreeOperationRunner.js +3 -3
  254. package/lib/test/mergeTreeOperationRunner.js.map +1 -1
  255. package/lib/test/obliterate.concurrent.spec.js +18 -23
  256. package/lib/test/obliterate.concurrent.spec.js.map +1 -1
  257. package/lib/test/obliterate.partialLength.spec.js +167 -137
  258. package/lib/test/obliterate.partialLength.spec.js.map +1 -1
  259. package/lib/test/obliterate.spec.js +17 -127
  260. package/lib/test/obliterate.spec.js.map +1 -1
  261. package/lib/test/partialLength.spec.js +29 -197
  262. package/lib/test/partialLength.spec.js.map +1 -1
  263. package/lib/test/perspective.spec.d.ts +6 -0
  264. package/lib/test/perspective.spec.d.ts.map +1 -0
  265. package/lib/test/perspective.spec.js +151 -0
  266. package/lib/test/perspective.spec.js.map +1 -0
  267. package/lib/test/propertyManager.spec.js +2 -2
  268. package/lib/test/propertyManager.spec.js.map +1 -1
  269. package/lib/test/resetPendingSegmentsToOp.spec.js +0 -2
  270. package/lib/test/resetPendingSegmentsToOp.spec.js.map +1 -1
  271. package/lib/test/segmentGroupCollection.spec.js +10 -4
  272. package/lib/test/segmentGroupCollection.spec.js.map +1 -1
  273. package/lib/test/stamps.spec.d.ts +6 -0
  274. package/lib/test/stamps.spec.d.ts.map +1 -0
  275. package/lib/test/stamps.spec.js +105 -0
  276. package/lib/test/stamps.spec.js.map +1 -0
  277. package/lib/test/testClient.d.ts +1 -0
  278. package/lib/test/testClient.d.ts.map +1 -1
  279. package/lib/test/testClient.js +18 -28
  280. package/lib/test/testClient.js.map +1 -1
  281. package/lib/test/testClientLogger.d.ts +9 -0
  282. package/lib/test/testClientLogger.d.ts.map +1 -1
  283. package/lib/test/testClientLogger.js +60 -48
  284. package/lib/test/testClientLogger.js.map +1 -1
  285. package/lib/test/testServer.d.ts +2 -1
  286. package/lib/test/testServer.d.ts.map +1 -1
  287. package/lib/test/testServer.js +7 -5
  288. package/lib/test/testServer.js.map +1 -1
  289. package/lib/test/testUtils.d.ts +36 -56
  290. package/lib/test/testUtils.d.ts.map +1 -1
  291. package/lib/test/testUtils.js +66 -48
  292. package/lib/test/testUtils.js.map +1 -1
  293. package/lib/test/text.d.ts +2 -2
  294. package/lib/test/text.d.ts.map +1 -1
  295. package/lib/test/text.js +6 -3
  296. package/lib/test/text.js.map +1 -1
  297. package/lib/textSegment.d.ts +0 -6
  298. package/lib/textSegment.d.ts.map +1 -1
  299. package/lib/textSegment.js.map +1 -1
  300. package/lib/tsdoc-metadata.json +1 -1
  301. package/lib/zamboni.d.ts.map +1 -1
  302. package/lib/zamboni.js +32 -28
  303. package/lib/zamboni.js.map +1 -1
  304. package/package.json +18 -21
  305. package/src/MergeTreeTextHelper.ts +17 -12
  306. package/src/client.ts +141 -197
  307. package/src/endOfTreeSegment.ts +11 -8
  308. package/src/index.ts +4 -3
  309. package/src/mergeTree.ts +501 -631
  310. package/src/mergeTreeDeltaCallback.ts +4 -8
  311. package/src/mergeTreeNodes.ts +66 -45
  312. package/src/partialLengths.ts +181 -137
  313. package/src/perspective.ts +127 -129
  314. package/src/revertibles.ts +2 -7
  315. package/src/segmentInfos.ts +48 -141
  316. package/src/segmentPropertiesManager.ts +2 -16
  317. package/src/snapshotLoader.ts +62 -30
  318. package/src/snapshotV1.ts +36 -28
  319. package/src/snapshotlegacy.ts +7 -16
  320. package/src/stamps.ts +164 -0
  321. package/src/textSegment.ts +0 -13
  322. package/src/zamboni.ts +38 -32
  323. 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
- - 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)
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
- 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.
22
- [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)
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
- 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`.
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
- For example, checking if a segment is not removed would change as follows:
34
+ For example, checking if a segment is not removed would change as follows:
27
35
 
28
- ```diff
29
- - if(segment.removedSeq === undefined){
30
- + if(!segmentIsRemoved(segment)){
31
- ```
36
+ ```diff
37
+ - if(segment.removedSeq === undefined){
38
+ + if(!segmentIsRemoved(segment)){
39
+ ```
32
40
 
33
- The following properties are removed from `ISegment` and its implementations:
41
+ The following properties are removed from `ISegment` and its implementations:
34
42
 
35
- - clientId
36
- - index
37
- - localMovedSeq
38
- - localRefs
39
- - localRemovedSeq
40
- - localSeq
41
- - movedClientsIds
42
- - movedSeq
43
- - movedSeqs
44
- - ordinal
45
- - removedClientIds
46
- - removedSeq
47
- - seq
48
- - wasMovedOnInsert
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
- Additionally, the following types are also removed:
58
+ Additionally, the following types are also removed:
51
59
 
52
- - IMergeNodeCommon
53
- - IMoveInfo
54
- - IRemovalInfo
55
- - LocalReferenceCollection
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
- - Merge-Tree and SharedString ISegment Deprecations ([#23323](https://github.com/microsoft/FluidFramework/pull/23323)) [e8762e37cd](https://github.com/microsoft/FluidFramework/commit/e8762e37cd5edbad36b78b5a40d62a730522e18f)
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
- 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.
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
- 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`.
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
- For example, checking if a segment is not removed would change as follows:
79
+ For example, checking if a segment is not removed would change as follows:
72
80
 
73
- ```diff
74
- - if(segment.removedSeq === undefined){
75
- + if(!segmentIsRemoved(segment)){
76
- ```
81
+ ```diff
82
+ - if(segment.removedSeq === undefined){
83
+ + if(!segmentIsRemoved(segment)){
84
+ ```
77
85
 
78
- The following properties are deprecated on ISegment and its implementations:
86
+ The following properties are deprecated on ISegment and its implementations:
79
87
 
80
- - clientId
81
- - index
82
- - localMovedSeq
83
- - localRefs
84
- - localRemovedSeq
85
- - localSeq
86
- - movedClientsIds
87
- - movedSeq
88
- - movedSeqs
89
- - ordinal
90
- - removedClientIds
91
- - removedSeq
92
- - seq
93
- - wasMovedOnInsert
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
- Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
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
- - IMergeNodeCommon
98
- - IMoveInfo
99
- - IRemovalInfo
100
- - LocalReferenceCollection
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
- - 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)
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
- 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.
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
- Removed types:
122
+ Removed types:
115
123
 
116
- - IMergeTreeTextHelper
117
- - MergeNode
118
- - ObliterateInfo
119
- - PropertiesManager
120
- - PropertiesRollback
121
- - SegmentGroup
122
- - SegmentGroupCollection
124
+ - IMergeTreeTextHelper
125
+ - MergeNode
126
+ - ObliterateInfo
127
+ - PropertiesManager
128
+ - PropertiesRollback
129
+ - SegmentGroup
130
+ - SegmentGroupCollection
123
131
 
124
- In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
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
- Removed functions:
134
+ Removed functions:
127
135
 
128
- - addProperties
129
- - ack
136
+ - addProperties
137
+ - ack
130
138
 
131
- Removed properties:
139
+ Removed properties:
132
140
 
133
- - propertyManager
134
- - segmentGroups
141
+ - propertyManager
142
+ - segmentGroups
135
143
 
136
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
137
- [Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
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
- - SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
147
+ - SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
140
148
 
141
- 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.
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
- 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.
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
- ### Key Features and Use Cases:
153
+ ### Key Features and Use Cases:
146
154
 
147
- - **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.
148
- - **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.
149
- - **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.
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
- ### Configuration and Compatibility Requirements:
159
+ ### Configuration and Compatibility Requirements:
152
160
 
153
- 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.
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
- ### Usage Example:
163
+ ### Usage Example:
156
164
 
157
- ```typescript
158
- sharedString.annotateAdjustRange(start, end, {
159
- key: { value: 5, min: 0, max: 10 },
160
- });
161
- ```
165
+ ```typescript
166
+ sharedString.annotateAdjustRange(start, end, {
167
+ key: { value: 5, min: 0, max: 10 },
168
+ });
169
+ ```
162
170
 
163
- - MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
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
- 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.
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
- The removed types were not meant to be used directly, and direct usage was not supported:
175
+ The removed types were not meant to be used directly, and direct usage was not supported:
168
176
 
169
- - AttributionPolicy
170
- - IClientEvents
171
- - IMergeTreeAttributionOptions
172
- - SharedSegmentSequence
173
- - SharedStringClass
177
+ - AttributionPolicy
178
+ - IClientEvents
179
+ - IMergeTreeAttributionOptions
180
+ - SharedSegmentSequence
181
+ - SharedStringClass
174
182
 
175
- 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:
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
- - SequenceInterval
178
- - SequenceEvent
179
- - SequenceDeltaEvent
180
- - SequenceMaintenanceEvent
185
+ - SequenceInterval
186
+ - SequenceEvent
187
+ - SequenceDeltaEvent
188
+ - SequenceMaintenanceEvent
181
189
 
182
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
183
- [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)
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
- - 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)
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
- 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:
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
- > tsc
201
+ ```
202
+ > tsc
195
203
 
196
- node_modules/@fluidframework/merge-tree/lib/client.d.ts:124:18 - error TS2368: Type parameter name cannot be 'undefined'.
204
+ node_modules/@fluidframework/merge-tree/lib/client.d.ts:124:18 - error TS2368: Type parameter name cannot be 'undefined'.
197
205
 
198
- 124 walkSegments<undefined>(handler: ISegmentAction<undefined>, start?: number, end?: number, accum?: undefined, splitRange?: boolean): void;
199
- ~~~~~~~~~
206
+ 124 walkSegments<undefined>(handler: ISegmentAction<undefined>, start?: number, end?: number, accum?: undefined, splitRange?: boolean): void;
207
+ ~~~~~~~~~
200
208
 
201
- 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.
202
- 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';`
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
- 5 import structuredClone from "@ungap/structured-clone";
205
- ~~~~~~~~~~~~~~~~~~~~~~~~~
206
- ```
212
+ 5 import structuredClone from "@ungap/structured-clone";
213
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
214
+ ```
207
215
 
208
- The first error impacts projects using TypeScript 5.5 or greater and either of the `fluid-framework` or `@fluidframework/merge-tree` packages.
209
- The second error impacts projects using the `noImplicitAny` tsconfig setting and the `fluid-framework` or `@fluidframework/tree` packages.
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
- Both errors have been fixed.
219
+ Both errors have been fixed.
212
220
 
213
- This should allow `libCheck` to be reenabled in any impacted projects.
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
- - Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783)
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
- 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.
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
- Most of these types are not meant to be used directly, and direct use is not supported:
231
+ Most of these types are not meant to be used directly, and direct use is not supported:
224
232
 
225
- - AttributionPolicy
226
- - IClientEvents
227
- - IMergeTreeAttributionOptions
228
- - SharedSegmentSequence
229
- - SharedStringClass
233
+ - AttributionPolicy
234
+ - IClientEvents
235
+ - IMergeTreeAttributionOptions
236
+ - SharedSegmentSequence
237
+ - SharedStringClass
230
238
 
231
- 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:
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
- - SequenceInterval
234
- - SequenceEvent
235
- - SequenceDeltaEvent
236
- - SequenceMaintenanceEvent
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
- - 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)
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
- The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
249
- These elements will be removed in a future release for the following reasons:
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
- - There are no scenarios where they need to be used directly.
252
- - Using them directly will cause eventual consistency problems.
253
- - Upcoming features will require modifications to these mechanisms.
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
- - Deprecate segmentGroups and ack on ISegment ([#22212](https://github.com/microsoft/FluidFramework/pull/22212)) [2b0199dae3](https://github.com/microsoft/FluidFramework/commit/2b0199dae3d73cc7d4fab0f4848614b42e212220)
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
- The `SegmentGroupCollection` class, along with the `segmentGroups` property and `ack` function on segments, are not intended for external use.
258
- These elements will be removed in a future release for the following reasons:
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
- - There are no scenarios where they need to be used directly.
261
- - Using them directly will cause eventual consistency problems.
262
- - Upcoming features will require modifications to these mechanisms.
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
- - 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)
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
- Previously, the arguments of `Marker.fromJSONObject` and `TextSegment.fromJSONObject` were of type `any`. However, at
271
- runtime only certain types were expected and using other types would cause errors.
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
- Now, the argument for the Marker implementation is of type `IJSONSegment` and the argument for the TextSegment
274
- implementation is of type `string | IJSONSegment`. This reflects actual runtime support.
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
- This change should have no impact on existing code unless the code is using incorrect types. Such code already does not
277
- function and should be corrected.
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
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
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
- Update package implementations to use TypeScript 5.4.5.
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
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
303
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
296
304
 
297
- Fluid Framework packages have been updated to use the [package.json "exports"
298
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
299
- TypeScript types and implementation code.
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
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
309
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
302
310
 
303
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
304
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
311
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
312
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
305
313
 
306
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
307
- for use with modern versions of Node.js _and_ Bundlers.
308
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
309
- regarding the module and moduleResolution options.
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
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
312
- to distinguish stable APIs from those that are in development.**
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
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
330
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
323
331
 
324
- 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)
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
- - @fluidframework/gitresources
327
- - @fluidframework/server-kafka-orderer
328
- - @fluidframework/server-lambdas
329
- - @fluidframework/server-lambdas-driver
330
- - @fluidframework/server-local-server
331
- - @fluidframework/server-memory-orderer
332
- - @fluidframework/protocol-base
333
- - @fluidframework/server-routerlicious
334
- - @fluidframework/server-routerlicious-base
335
- - @fluidframework/server-services
336
- - @fluidframework/server-services-client
337
- - @fluidframework/server-services-core
338
- - @fluidframework/server-services-ordering-kafkanode
339
- - @fluidframework/server-services-ordering-rdkafka
340
- - @fluidframework/server-services-ordering-zookeeper
341
- - @fluidframework/server-services-shared
342
- - @fluidframework/server-services-telemetry
343
- - @fluidframework/server-services-utils
344
- - @fluidframework/server-test-utils
345
- - tinylicious
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
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
355
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
348
356
 
349
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
350
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
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
- - sequence: Remove the findTile API ([#18908](https://github.com/microsoft/FluidFramework/issues/18908)) [29b093e55c](https://github.com/microsoft/FluidFramework/commits/29b093e55cb2a7e98c9445b735783f463acfb3bb)
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
- 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.
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
- - sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
368
+ - sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
361
369
 
362
- The return types of some functions have changed from `any` to `void` because the projects are now being compiled with
363
- the `noImplicitAny` TypeScript compilation option. This does not represent a logic change and only serves to make the
364
- typing of these functions more accurate.
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
- - sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
374
+ - sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
367
375
 
368
- This change adds experimental support for _obliterate_, a form of _remove_ that deletes concurrently inserted segments.
369
- To use, enable the `mergeTreeEnableObliterate` feature flag and call the new `obliterateRange` functions.
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
- Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in
372
- current handlers, their current implementation is sound.
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
- - sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
382
+ - sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
375
383
 
376
- `Marker.hasSimpleType` was unused. Sequence operations now no longer return IMergeTree\*Msg types.
377
- These types are redundant with the input.
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
- - sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
387
+ - sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
380
388
 
381
- The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
382
- intended for public export.
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
- - `BaseSegment.ack`
385
- - `Client`
386
- - `CollaborationWindow`
387
- - `compareNumbers`
388
- - `compareStrings`
389
- - `createAnnotateMarkerOp`
390
- - `createAnnotateRangeOp`
391
- - `createGroupOp`
392
- - `createInsertOp`
393
- - `createInsertSegmentOp`
394
- - `createRemoveRangeOp`
395
- - `IConsensusInfo`
396
- - `IConsensusValue`
397
- - `IMarkerModifiedAction`
398
- - `IMergeTreeTextHelper`
399
- - `LocalClientId`
400
- - `MergeTreeDeltaCallback`
401
- - `MergeTreeMaintenanceCallback`
402
- - `NonCollabClient`
403
- - `SegmentAccumulator`
404
- - `SegmentGroup`
405
- - `SegmentGroupCollection.enqueue`
406
- - `SegmentGroupCollection.dequeue`
407
- - `SegmentGroupCollection.pop`
408
- - `SortedSegmentSet`
409
- - `SortedSegmentSetItem`
410
- - `SortedSet`
411
- - `toRemovalInfo`
412
- - `TreeMaintenanceSequenceNumber`
413
- - `UniversalSequenceNumber`
414
- - `SharedSegmentSequence.submitSequenceMessage`
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
- - merge-tree: Remove `IIntegerRange` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
424
+ - merge-tree: Remove `IIntegerRange` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
417
425
 
418
- This interface is deprecated and was not intended for public export.
426
+ This interface is deprecated and was not intended for public export.
419
427
 
420
- - sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
428
+ - sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
421
429
 
422
- In sequence, removed the following APIs:
430
+ In sequence, removed the following APIs:
423
431
 
424
- - the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
425
- - the function `SharedString.annotateMarkerNotifyConsensus`
432
+ - the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
433
+ - the function `SharedString.annotateMarkerNotifyConsensus`
426
434
 
427
- In merge-tree, removed the following APIs:
435
+ In merge-tree, removed the following APIs:
428
436
 
429
- - `ICombiningOp`
430
- - the `combiningOp` field from `IMergeTreeAnnotateMsg`
431
- - the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
432
- - the enum variant `PropertiesRollback.Rewrite`.
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
- This functionality was largely unused and had no test coverage.
442
+ This functionality was largely unused and had no test coverage.
435
443
 
436
- - sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
444
+ - sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
437
445
 
438
- The following APIs have been removed:
446
+ The following APIs have been removed:
439
447
 
440
- - `Client.getStackContext`
441
- - `SharedSegmentSequence.getStackContext`
442
- - `IntervalType.Nest`
443
- - `ReferenceType.NestBegin`
444
- - `ReferenceType.NestEnd`
445
- - `internedSpaces`
446
- - `RangeStackMap`
447
- - `refGetRangeLabels`
448
- - `refHasRangeLabel`
449
- - `refHasRangeLabels`
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
- This functionality is deprecated, has low test coverage, and is largely unused.
459
+ This functionality is deprecated, has low test coverage, and is largely unused.
452
460
 
453
- - merge-tree: Remove several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
461
+ - merge-tree: Remove several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
454
462
 
455
- Removed the following APIs:
463
+ Removed the following APIs:
456
464
 
457
- - `Stack`
458
- - `clone`
459
- - `combine`
460
- - `createMap`
461
- - `extend`
462
- - `extendIfUndefined`
463
- - `matchProperties`
465
+ - `Stack`
466
+ - `clone`
467
+ - `combine`
468
+ - `createMap`
469
+ - `extend`
470
+ - `extendIfUndefined`
471
+ - `matchProperties`
464
472
 
465
- This functionality is deprecated and was not intended for public export.
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
- - sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus ([#18318](https://github.com/microsoft/FluidFramework/issues/18318)) [e67c2cac5f](https://github.com/microsoft/FluidFramework/commits/e67c2cac5f275fc5c875c0bc044bbb72aaf76648)
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
- The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
474
- `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
475
- has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
476
- largely unused.
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
- - 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)
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
- This functionality was not intended for export and will be removed in a future release.
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
- - 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)
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
- The following classes and functions have been deprecated. They were not intended for public export and will be removed
497
- in a future release.
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
- - Stack
500
- - clone
501
- - combine
502
- - createMap
503
- - extend
504
- - extendIfUndefined
505
- - matchProperties
507
+ - Stack
508
+ - clone
509
+ - combine
510
+ - createMap
511
+ - extend
512
+ - extendIfUndefined
513
+ - matchProperties
506
514
 
507
- - 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)
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
- The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
510
- unused. They will be removed in a future release.
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
- - IntervalType.Nest
513
- - internedSpaces
514
- - RangeStackMap
515
- - refGetRangeLabels
516
- - refHasRangeLabel
517
- - refHasRangeLabels
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
- - sequence: New API for specifying spatial positioning of intervals [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
531
+ - sequence: New API for specifying spatial positioning of intervals [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
524
532
 
525
- 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.
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
- - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
535
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
528
536
 
529
- This included the following changes from the protocol-definitions release:
537
+ This included the following changes from the protocol-definitions release:
530
538
 
531
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
532
- submitted by clients to the server and the resulting signals sent from the server to clients.
533
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
534
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
535
- ISignalMessageBase interface that contains common members.
536
- - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
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
- - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
546
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
539
547
 
540
- Dependencies on the following Fluid server package have been updated to version 2.0.1:
548
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
541
549
 
542
- - @fluidframework/gitresources: 2.0.1
543
- - @fluidframework/server-kafka-orderer: 2.0.1
544
- - @fluidframework/server-lambdas: 2.0.1
545
- - @fluidframework/server-lambdas-driver: 2.0.1
546
- - @fluidframework/server-local-server: 2.0.1
547
- - @fluidframework/server-memory-orderer: 2.0.1
548
- - @fluidframework/protocol-base: 2.0.1
549
- - @fluidframework/server-routerlicious: 2.0.1
550
- - @fluidframework/server-routerlicious-base: 2.0.1
551
- - @fluidframework/server-services: 2.0.1
552
- - @fluidframework/server-services-client: 2.0.1
553
- - @fluidframework/server-services-core: 2.0.1
554
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
555
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
556
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
557
- - @fluidframework/server-services-shared: 2.0.1
558
- - @fluidframework/server-services-telemetry: 2.0.1
559
- - @fluidframework/server-services-utils: 2.0.1
560
- - @fluidframework/server-test-utils: 2.0.1
561
- - tinylicious: 2.0.1
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
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
571
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
564
572
 
565
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
573
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
566
574
 
567
- - sequence: Remove the mergeTreeUseNewLengthCalculations flag [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
575
+ - sequence: Remove the mergeTreeUseNewLengthCalculations flag [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
568
576
 
569
- The `mergeTreeUseNewLengthCalculations` flag has been removed, because the feature was enabled by default in 2.0.0-internal.6.0.0.
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
- - Deprecate getStackContext and associated NestBegin/End ([#16877](https://github.com/microsoft/FluidFramework/issues/16877)) [8e743fe1dd](https://github.com/microsoft/FluidFramework/commits/8e743fe1dde9adb3a1240971987d3abd51ab2fbe)
584
-
585
- Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use).
586
- This functionality is unused, poorly tested, and incurs performance overhead.
587
-
588
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
589
-
590
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
591
- imported from the **@fluidframework/core-interfaces** package:
592
-
593
- - interface IDisposable
594
- - interface IErrorEvent
595
- - interface IErrorEvent
596
- - interface IEvent
597
- - interface IEventProvider
598
- - interface ILoggingError
599
- - interface ITaggedTelemetryPropertyType
600
- - interface ITelemetryBaseEvent
601
- - interface ITelemetryBaseLogger
602
- - interface ITelemetryErrorEvent
603
- - interface ITelemetryGenericEvent
604
- - interface ITelemetryLogger
605
- - interface ITelemetryPerformanceEvent
606
- - interface ITelemetryProperties
607
- - type ExtendEventProvider
608
- - type IEventThisPlaceHolder
609
- - type IEventTransformer
610
- - type ReplaceIEventThisPlaceHolder
611
- - type ReplaceIEventThisPlaceHolder
612
- - type TelemetryEventCategory
613
- - type TelemetryEventPropertyType
614
-
615
- - 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)
616
-
617
- 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.
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
- - Client.getSlideToSegment removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
635
+ - Client.getSlideToSegment removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
628
636
 
629
- Client.getSlideToSegment was deprecated in 2.0.0-internal.5.3.0 and has been removed. Use getSlideToSegoff function instead.
637
+ Client.getSlideToSegment was deprecated in 2.0.0-internal.5.3.0 and has been removed. Use getSlideToSegoff function instead.
630
638
 
631
- - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
639
+ - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
632
640
 
633
- This change removed the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
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
- 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.
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
- Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
645
+ Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
638
646
 
639
- - merge-tree now has new length calculations by default [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
647
+ - merge-tree now has new length calculations by default [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
640
648
 
641
- The merge-tree now enables new length calculations by default and resolves some related performance bugs by making cached segment length
642
- nullable.
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
- Hierarchy cached segment length is `undefined` if the length of all child nodes is `undefined`.
652
+ Hierarchy cached segment length is `undefined` if the length of all child nodes is `undefined`.
645
653
 
646
- - Segments Property Removed from TrackingGroup [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
654
+ - Segments Property Removed from TrackingGroup [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
647
655
 
648
- 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.
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
- - Remove unnecessary exports [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
658
+ - Remove unnecessary exports [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
651
659
 
652
- 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.
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
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
662
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
655
663
 
656
- 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.
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
- - Deprecate unnecessary exports ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
678
+ - Deprecate unnecessary exports ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
671
679
 
672
- 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.
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
- - Deprecate ISegment.parent ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
682
+ - Deprecate ISegment.parent ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
675
683
 
676
- This change deprecates the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
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
- 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.
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
- Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
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
- - New APIs for interval querying by range ([#15837](https://github.com/microsoft/FluidFramework/issues/15837)) [2a4242e1b5](https://github.com/microsoft/FluidFramework/commits/2a4242e1b5f15442b13ae413124ec76315a4cc52)
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
- SharedString now supports querying intervals whose start/end-points fall in a specified range.
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
- - 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)
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