@fluidframework/sequence 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 (189) hide show
  1. package/CHANGELOG.md +510 -495
  2. package/api-report/sequence.legacy.alpha.api.md +67 -5
  3. package/dist/IntervalCollectionValues.d.ts +3 -51
  4. package/dist/IntervalCollectionValues.d.ts.map +1 -1
  5. package/dist/IntervalCollectionValues.js +6 -49
  6. package/dist/IntervalCollectionValues.js.map +1 -1
  7. package/dist/index.d.ts +4 -4
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -8
  10. package/dist/index.js.map +1 -1
  11. package/dist/intervalCollection.d.ts +292 -63
  12. package/dist/intervalCollection.d.ts.map +1 -1
  13. package/dist/intervalCollection.js +111 -193
  14. package/dist/intervalCollection.js.map +1 -1
  15. package/dist/intervalCollectionMap.d.ts +11 -32
  16. package/dist/intervalCollectionMap.d.ts.map +1 -1
  17. package/dist/intervalCollectionMap.js +37 -90
  18. package/dist/intervalCollectionMap.js.map +1 -1
  19. package/dist/intervalCollectionMapInterfaces.d.ts +10 -83
  20. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
  21. package/dist/intervalCollectionMapInterfaces.js.map +1 -1
  22. package/dist/intervalIndex/endpointInRangeIndex.d.ts +10 -11
  23. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  24. package/dist/intervalIndex/endpointInRangeIndex.js +4 -5
  25. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  26. package/dist/intervalIndex/endpointIndex.d.ts +12 -13
  27. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  28. package/dist/intervalIndex/endpointIndex.js +4 -5
  29. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  30. package/dist/intervalIndex/idIntervalIndex.d.ts +6 -12
  31. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  32. package/dist/intervalIndex/idIntervalIndex.js +0 -3
  33. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  34. package/dist/intervalIndex/index.d.ts +2 -2
  35. package/dist/intervalIndex/index.d.ts.map +1 -1
  36. package/dist/intervalIndex/index.js.map +1 -1
  37. package/dist/intervalIndex/intervalIndex.d.ts +28 -1
  38. package/dist/intervalIndex/intervalIndex.d.ts.map +1 -1
  39. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  40. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +30 -13
  41. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  42. package/dist/intervalIndex/overlappingIntervalsIndex.js +4 -5
  43. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  44. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  45. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  46. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  47. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  48. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  49. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  50. package/dist/intervalIndex/startpointInRangeIndex.d.ts +10 -11
  51. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  52. package/dist/intervalIndex/startpointInRangeIndex.js +4 -5
  53. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  54. package/dist/intervals/index.d.ts +2 -3
  55. package/dist/intervals/index.d.ts.map +1 -1
  56. package/dist/intervals/index.js +1 -6
  57. package/dist/intervals/index.js.map +1 -1
  58. package/dist/intervals/intervalUtils.d.ts +3 -25
  59. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  60. package/dist/intervals/intervalUtils.js.map +1 -1
  61. package/dist/intervals/sequenceInterval.d.ts +3 -8
  62. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  63. package/dist/intervals/sequenceInterval.js +1 -9
  64. package/dist/intervals/sequenceInterval.js.map +1 -1
  65. package/dist/legacy.d.ts +4 -0
  66. package/dist/packageVersion.d.ts +1 -1
  67. package/dist/packageVersion.js +1 -1
  68. package/dist/packageVersion.js.map +1 -1
  69. package/dist/sequence.d.ts +4 -6
  70. package/dist/sequence.d.ts.map +1 -1
  71. package/dist/sequence.js +3 -5
  72. package/dist/sequence.js.map +1 -1
  73. package/dist/sharedIntervalCollection.d.ts +2 -63
  74. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  75. package/dist/sharedIntervalCollection.js +0 -113
  76. package/dist/sharedIntervalCollection.js.map +1 -1
  77. package/dist/sharedString.d.ts.map +1 -1
  78. package/dist/sharedString.js +6 -6
  79. package/dist/sharedString.js.map +1 -1
  80. package/lib/IntervalCollectionValues.d.ts +3 -51
  81. package/lib/IntervalCollectionValues.d.ts.map +1 -1
  82. package/lib/IntervalCollectionValues.js +5 -47
  83. package/lib/IntervalCollectionValues.js.map +1 -1
  84. package/lib/index.d.ts +4 -4
  85. package/lib/index.d.ts.map +1 -1
  86. package/lib/index.js +2 -3
  87. package/lib/index.js.map +1 -1
  88. package/lib/intervalCollection.d.ts +292 -63
  89. package/lib/intervalCollection.d.ts.map +1 -1
  90. package/lib/intervalCollection.js +113 -191
  91. package/lib/intervalCollection.js.map +1 -1
  92. package/lib/intervalCollectionMap.d.ts +11 -32
  93. package/lib/intervalCollectionMap.d.ts.map +1 -1
  94. package/lib/intervalCollectionMap.js +39 -92
  95. package/lib/intervalCollectionMap.js.map +1 -1
  96. package/lib/intervalCollectionMapInterfaces.d.ts +10 -83
  97. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
  98. package/lib/intervalCollectionMapInterfaces.js.map +1 -1
  99. package/lib/intervalIndex/endpointInRangeIndex.d.ts +10 -11
  100. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  101. package/lib/intervalIndex/endpointInRangeIndex.js +5 -6
  102. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  103. package/lib/intervalIndex/endpointIndex.d.ts +12 -13
  104. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -1
  105. package/lib/intervalIndex/endpointIndex.js +5 -6
  106. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  107. package/lib/intervalIndex/idIntervalIndex.d.ts +6 -12
  108. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  109. package/lib/intervalIndex/idIntervalIndex.js +0 -3
  110. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  111. package/lib/intervalIndex/index.d.ts +2 -2
  112. package/lib/intervalIndex/index.d.ts.map +1 -1
  113. package/lib/intervalIndex/index.js.map +1 -1
  114. package/lib/intervalIndex/intervalIndex.d.ts +28 -1
  115. package/lib/intervalIndex/intervalIndex.d.ts.map +1 -1
  116. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  117. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +30 -13
  118. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  119. package/lib/intervalIndex/overlappingIntervalsIndex.js +5 -6
  120. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  121. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  122. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +2 -2
  123. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  124. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  125. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  126. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  127. package/lib/intervalIndex/startpointInRangeIndex.d.ts +10 -11
  128. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  129. package/lib/intervalIndex/startpointInRangeIndex.js +5 -6
  130. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  131. package/lib/intervals/index.d.ts +2 -3
  132. package/lib/intervals/index.d.ts.map +1 -1
  133. package/lib/intervals/index.js +1 -2
  134. package/lib/intervals/index.js.map +1 -1
  135. package/lib/intervals/intervalUtils.d.ts +3 -25
  136. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  137. package/lib/intervals/intervalUtils.js.map +1 -1
  138. package/lib/intervals/sequenceInterval.d.ts +3 -8
  139. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  140. package/lib/intervals/sequenceInterval.js +0 -8
  141. package/lib/intervals/sequenceInterval.js.map +1 -1
  142. package/lib/legacy.d.ts +4 -0
  143. package/lib/packageVersion.d.ts +1 -1
  144. package/lib/packageVersion.js +1 -1
  145. package/lib/packageVersion.js.map +1 -1
  146. package/lib/sequence.d.ts +4 -6
  147. package/lib/sequence.d.ts.map +1 -1
  148. package/lib/sequence.js +3 -5
  149. package/lib/sequence.js.map +1 -1
  150. package/lib/sharedIntervalCollection.d.ts +2 -63
  151. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  152. package/lib/sharedIntervalCollection.js +1 -110
  153. package/lib/sharedIntervalCollection.js.map +1 -1
  154. package/lib/sharedString.d.ts.map +1 -1
  155. package/lib/sharedString.js +6 -6
  156. package/lib/sharedString.js.map +1 -1
  157. package/lib/tsdoc-metadata.json +1 -1
  158. package/package.json +20 -23
  159. package/src/IntervalCollectionValues.ts +10 -93
  160. package/src/index.ts +6 -17
  161. package/src/intervalCollection.ts +524 -343
  162. package/src/intervalCollectionMap.ts +72 -140
  163. package/src/intervalCollectionMapInterfaces.ts +13 -104
  164. package/src/intervalIndex/endpointInRangeIndex.ts +17 -29
  165. package/src/intervalIndex/endpointIndex.ts +19 -31
  166. package/src/intervalIndex/idIntervalIndex.ts +15 -25
  167. package/src/intervalIndex/index.ts +2 -1
  168. package/src/intervalIndex/intervalIndex.ts +30 -1
  169. package/src/intervalIndex/overlappingIntervalsIndex.ts +50 -27
  170. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +2 -3
  171. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
  172. package/src/intervalIndex/startpointInRangeIndex.ts +17 -29
  173. package/src/intervals/index.ts +0 -3
  174. package/src/intervals/intervalUtils.ts +3 -38
  175. package/src/intervals/sequenceInterval.ts +2 -12
  176. package/src/packageVersion.ts +1 -1
  177. package/src/sequence.ts +8 -20
  178. package/src/sharedIntervalCollection.ts +5 -183
  179. package/src/sharedString.ts +6 -24
  180. package/dist/intervals/interval.d.ts +0 -76
  181. package/dist/intervals/interval.d.ts.map +0 -1
  182. package/dist/intervals/interval.js +0 -167
  183. package/dist/intervals/interval.js.map +0 -1
  184. package/lib/intervals/interval.d.ts +0 -76
  185. package/lib/intervals/interval.d.ts.map +0 -1
  186. package/lib/intervals/interval.js +0 -162
  187. package/lib/intervals/interval.js.map +0 -1
  188. package/prettier.config.cjs +0 -8
  189. package/src/intervals/interval.ts +0 -226
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @fluidframework/sequence
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.
@@ -12,57 +20,57 @@ Dependency updates only.
12
20
 
13
21
  ### Minor Changes
14
22
 
15
- - SharedMap, SharedIntervalCollection and AttributableMap now throw an error when they encounter unrecognized Ops ([#23659](https://github.com/microsoft/FluidFramework/pull/23659)) [3dd4208dd3](https://github.com/microsoft/FluidFramework/commit/3dd4208dd329a9200c4405f07e302b0ab1ff6159)
23
+ - SharedMap, SharedIntervalCollection and AttributableMap now throw an error when they encounter unrecognized Ops ([#23659](https://github.com/microsoft/FluidFramework/pull/23659)) [3dd4208dd3](https://github.com/microsoft/FluidFramework/commit/3dd4208dd329a9200c4405f07e302b0ab1ff6159)
16
24
 
17
- To avoid future versions of DDSes with new Op types causing silent data corruption and de-sync between clients,
18
- DDSes should error when unable to apply an Op.
19
- This prevents data loss and corruption scenarios like a summary client using old code discarding all Ops from newer clients.
25
+ To avoid future versions of DDSes with new Op types causing silent data corruption and de-sync between clients,
26
+ DDSes should error when unable to apply an Op.
27
+ This prevents data loss and corruption scenarios like a summary client using old code discarding all Ops from newer clients.
20
28
 
21
- If updating applications using SharedMap, SharedIntervalCollection and AttributableMap use a newer version which adds Ops types in the future,
22
- old clients which are old enough to be from before this fix will ignore the new ops instead of erroring.
23
- Therefore it may be useful to ensure this update is deployed as widely as possible before migrating any to newer versions which add new op formats to these DDSes.
29
+ If updating applications using SharedMap, SharedIntervalCollection and AttributableMap use a newer version which adds Ops types in the future,
30
+ old clients which are old enough to be from before this fix will ignore the new ops instead of erroring.
31
+ Therefore it may be useful to ensure this update is deployed as widely as possible before migrating any to newer versions which add new op formats to these DDSes.
24
32
 
25
33
  ## 2.20.0
26
34
 
27
35
  ### Minor Changes
28
36
 
29
- - 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)
37
+ - 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)
30
38
 
31
- 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.
32
- [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)
39
+ 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.
40
+ [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)
33
41
 
34
- 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`.
42
+ 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`.
35
43
 
36
- For example, checking if a segment is not removed would change as follows:
44
+ For example, checking if a segment is not removed would change as follows:
37
45
 
38
- ```diff
39
- - if(segment.removedSeq === undefined){
40
- + if(!segmentIsRemoved(segment)){
41
- ```
46
+ ```diff
47
+ - if(segment.removedSeq === undefined){
48
+ + if(!segmentIsRemoved(segment)){
49
+ ```
50
+
51
+ The following properties are removed from `ISegment` and its implementations:
42
52
 
43
- The following properties are removed from `ISegment` and its implementations:
44
-
45
- - clientId
46
- - index
47
- - localMovedSeq
48
- - localRefs
49
- - localRemovedSeq
50
- - localSeq
51
- - movedClientsIds
52
- - movedSeq
53
- - movedSeqs
54
- - ordinal
55
- - removedClientIds
56
- - removedSeq
57
- - seq
58
- - wasMovedOnInsert
59
-
60
- Additionally, the following types are also removed:
61
-
62
- - IMergeNodeCommon
63
- - IMoveInfo
64
- - IRemovalInfo
65
- - LocalReferenceCollection
53
+ - clientId
54
+ - index
55
+ - localMovedSeq
56
+ - localRefs
57
+ - localRemovedSeq
58
+ - localSeq
59
+ - movedClientsIds
60
+ - movedSeq
61
+ - movedSeqs
62
+ - ordinal
63
+ - removedClientIds
64
+ - removedSeq
65
+ - seq
66
+ - wasMovedOnInsert
67
+
68
+ Additionally, the following types are also removed:
69
+
70
+ - IMergeNodeCommon
71
+ - IMoveInfo
72
+ - IRemovalInfo
73
+ - LocalReferenceCollection
66
74
 
67
75
  ## 2.13.0
68
76
 
@@ -72,42 +80,42 @@ Dependency updates only.
72
80
 
73
81
  ### Minor Changes
74
82
 
75
- - Merge-Tree and SharedString ISegment Deprecations ([#23323](https://github.com/microsoft/FluidFramework/pull/23323)) [e8762e37cd](https://github.com/microsoft/FluidFramework/commit/e8762e37cd5edbad36b78b5a40d62a730522e18f)
83
+ - Merge-Tree and SharedString ISegment Deprecations ([#23323](https://github.com/microsoft/FluidFramework/pull/23323)) [e8762e37cd](https://github.com/microsoft/FluidFramework/commit/e8762e37cd5edbad36b78b5a40d62a730522e18f)
76
84
 
77
- 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.
85
+ 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.
78
86
 
79
- 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`.
87
+ 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`.
80
88
 
81
- For example, checking if a segment is not removed would change as follows:
89
+ For example, checking if a segment is not removed would change as follows:
82
90
 
83
- ```diff
84
- - if(segment.removedSeq === undefined){
85
- + if(!segmentIsRemoved(segment)){
86
- ```
91
+ ```diff
92
+ - if(segment.removedSeq === undefined){
93
+ + if(!segmentIsRemoved(segment)){
94
+ ```
95
+
96
+ The following properties are deprecated on ISegment and its implementations:
87
97
 
88
- The following properties are deprecated on ISegment and its implementations:
89
-
90
- - clientId
91
- - index
92
- - localMovedSeq
93
- - localRefs
94
- - localRemovedSeq
95
- - localSeq
96
- - movedClientsIds
97
- - movedSeq
98
- - movedSeqs
99
- - ordinal
100
- - removedClientIds
101
- - removedSeq
102
- - seq
103
- - wasMovedOnInsert
104
-
105
- Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
106
-
107
- - IMergeNodeCommon
108
- - IMoveInfo
109
- - IRemovalInfo
110
- - LocalReferenceCollection
98
+ - clientId
99
+ - index
100
+ - localMovedSeq
101
+ - localRefs
102
+ - localRemovedSeq
103
+ - localSeq
104
+ - movedClientsIds
105
+ - movedSeq
106
+ - movedSeqs
107
+ - ordinal
108
+ - removedClientIds
109
+ - removedSeq
110
+ - seq
111
+ - wasMovedOnInsert
112
+
113
+ Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
114
+
115
+ - IMergeNodeCommon
116
+ - IMoveInfo
117
+ - IRemovalInfo
118
+ - LocalReferenceCollection
111
119
 
112
120
  ## 2.11.0
113
121
 
@@ -117,80 +125,80 @@ Dependency updates only.
117
125
 
118
126
  ### Minor Changes
119
127
 
120
- - 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)
128
+ - 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)
121
129
 
122
- 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.
130
+ 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.
123
131
 
124
- Removed types:
132
+ Removed types:
125
133
 
126
- - IMergeTreeTextHelper
127
- - MergeNode
128
- - ObliterateInfo
129
- - PropertiesManager
130
- - PropertiesRollback
131
- - SegmentGroup
132
- - SegmentGroupCollection
134
+ - IMergeTreeTextHelper
135
+ - MergeNode
136
+ - ObliterateInfo
137
+ - PropertiesManager
138
+ - PropertiesRollback
139
+ - SegmentGroup
140
+ - SegmentGroupCollection
133
141
 
134
- In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
142
+ In addition to removing the above types, they are no longer exposed through the following interfaces and their implementations: `ISegment`, `ReferencePosition`, and `ISerializableInterval`.
135
143
 
136
- Removed functions:
144
+ Removed functions:
137
145
 
138
- - addProperties
139
- - ack
146
+ - addProperties
147
+ - ack
140
148
 
141
- Removed properties:
149
+ Removed properties:
142
150
 
143
- - propertyManager
144
- - segmentGroups
151
+ - propertyManager
152
+ - segmentGroups
145
153
 
146
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
147
- [Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
154
+ The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
155
+ [Fluid Framework v2.2.0](https://github.com/microsoft/FluidFramework/blob/main/RELEASE_NOTES/2.2.0.md)
148
156
 
149
- - SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
157
+ - SharedString DDS annotateAdjustRange ([#22751](https://github.com/microsoft/FluidFramework/pull/22751)) [d54b9dde14](https://github.com/microsoft/FluidFramework/commit/d54b9dde14e9e0e5eb7999db8ebf6da98fdfb526)
150
158
 
151
- 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.
159
+ 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.
152
160
 
153
- 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.
161
+ 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.
154
162
 
155
- ### Key Features and Use Cases:
163
+ ### Key Features and Use Cases:
156
164
 
157
- - **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.
158
- - **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.
159
- - **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.
165
+ - **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.
166
+ - **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.
167
+ - **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.
160
168
 
161
- ### Configuration and Compatibility Requirements:
169
+ ### Configuration and Compatibility Requirements:
162
170
 
163
- 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.
171
+ 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.
164
172
 
165
- ### Usage Example:
173
+ ### Usage Example:
166
174
 
167
- ```typescript
168
- sharedString.annotateAdjustRange(start, end, {
169
- key: { value: 5, min: 0, max: 10 },
170
- });
171
- ```
175
+ ```typescript
176
+ sharedString.annotateAdjustRange(start, end, {
177
+ key: { value: 5, min: 0, max: 10 },
178
+ });
179
+ ```
172
180
 
173
- - MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
181
+ - MergeTree `Client` Legacy API Removed ([#22697](https://github.com/microsoft/FluidFramework/pull/22697)) [2aa0b5e794](https://github.com/microsoft/FluidFramework/commit/2aa0b5e7941efe52386782595f96ff847c786fc3)
174
182
 
175
- 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.
183
+ 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.
176
184
 
177
- The removed types were not meant to be used directly, and direct usage was not supported:
185
+ The removed types were not meant to be used directly, and direct usage was not supported:
178
186
 
179
- - AttributionPolicy
180
- - IClientEvents
181
- - IMergeTreeAttributionOptions
182
- - SharedSegmentSequence
183
- - SharedStringClass
187
+ - AttributionPolicy
188
+ - IClientEvents
189
+ - IMergeTreeAttributionOptions
190
+ - SharedSegmentSequence
191
+ - SharedStringClass
184
192
 
185
- 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:
193
+ 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:
186
194
 
187
- - SequenceInterval
188
- - SequenceEvent
189
- - SequenceDeltaEvent
190
- - SequenceMaintenanceEvent
195
+ - SequenceInterval
196
+ - SequenceEvent
197
+ - SequenceDeltaEvent
198
+ - SequenceMaintenanceEvent
191
199
 
192
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
193
- [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)
200
+ The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
201
+ [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)
194
202
 
195
203
  ## 2.5.0
196
204
 
@@ -200,24 +208,24 @@ Dependency updates only.
200
208
 
201
209
  ### Minor Changes
202
210
 
203
- - Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783)
211
+ - Several MergeTree `Client` Legacy APIs are now deprecated ([#22629](https://github.com/microsoft/FluidFramework/pull/22629)) [0b59ae89e0](https://github.com/microsoft/FluidFramework/commit/0b59ae89e0aefefad0ccef198adf99929bc4d783)
204
212
 
205
- 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.
213
+ 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.
206
214
 
207
- Most of these types are not meant to be used directly, and direct use is not supported:
215
+ Most of these types are not meant to be used directly, and direct use is not supported:
208
216
 
209
- - AttributionPolicy
210
- - IClientEvents
211
- - IMergeTreeAttributionOptions
212
- - SharedSegmentSequence
213
- - SharedStringClass
217
+ - AttributionPolicy
218
+ - IClientEvents
219
+ - IMergeTreeAttributionOptions
220
+ - SharedSegmentSequence
221
+ - SharedStringClass
214
222
 
215
- 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:
223
+ 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:
216
224
 
217
- - SequenceInterval
218
- - SequenceEvent
219
- - SequenceDeltaEvent
220
- - SequenceMaintenanceEvent
225
+ - SequenceInterval
226
+ - SequenceEvent
227
+ - SequenceDeltaEvent
228
+ - SequenceMaintenanceEvent
221
229
 
222
230
  ## 2.3.0
223
231
 
@@ -227,14 +235,14 @@ Dependency updates only.
227
235
 
228
236
  ### Minor Changes
229
237
 
230
- - 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)
238
+ - 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)
231
239
 
232
- The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
233
- These elements will be removed in a future release for the following reasons:
240
+ The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
241
+ These elements will be removed in a future release for the following reasons:
234
242
 
235
- - There are no scenarios where they need to be used directly.
236
- - Using them directly will cause eventual consistency problems.
237
- - Upcoming features will require modifications to these mechanisms.
243
+ - There are no scenarios where they need to be used directly.
244
+ - Using them directly will cause eventual consistency problems.
245
+ - Upcoming features will require modifications to these mechanisms.
238
246
 
239
247
  ## 2.1.0
240
248
 
@@ -244,286 +252,287 @@ Dependency updates only.
244
252
 
245
253
  ### Minor Changes
246
254
 
247
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
255
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
248
256
 
249
- Update package implementations to use TypeScript 5.4.5.
257
+ Update package implementations to use TypeScript 5.4.5.
250
258
 
251
- - sequence: Stop ISharedString extending SharedObject ([#21067](https://github.com/microsoft/FluidFramework/pull/21067)) [47465f4b12](https://github.com/microsoft/FluidFramework/commit/47465f4b12056810112df30a6dad89282afc7a2d)
259
+ - sequence: Stop ISharedString extending SharedObject ([#21067](https://github.com/microsoft/FluidFramework/pull/21067)) [47465f4b12](https://github.com/microsoft/FluidFramework/commit/47465f4b12056810112df30a6dad89282afc7a2d)
252
260
 
253
- ISharedString no longer extends SharedSegmentSequence and instead extends the new ISharedSegmentSequence, which may be missing some APIs.
261
+ ISharedString no longer extends SharedSegmentSequence and instead extends the new ISharedSegmentSequence, which may be missing some APIs.
254
262
 
255
- Attempt to migrate off the missing APIs, but if that is not practical, request they be added to ISharedSegmentSequence and cast to SharedSegmentSequence as a workaround temporally.
263
+ Attempt to migrate off the missing APIs, but if that is not practical, request they be added to ISharedSegmentSequence and cast to SharedSegmentSequence as a workaround temporally.
256
264
 
257
265
  ## 2.0.0-rc.4.0.0
258
266
 
259
267
  ### Minor Changes
260
268
 
261
- - SharedString now uses ISharedObjectKind and does not export the factory [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
269
+ - SharedString now uses ISharedObjectKind and does not export the factory [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
262
270
 
263
- Most users of `SharedString` should be unaffected as long as they stick to the factory patterns supported by ISharedObjectKind.
264
- If the actual class type is needed it can be found as `SharedStringClass`.
271
+ Most users of `SharedString` should be unaffected as long as they stick to the factory patterns supported by ISharedObjectKind.
272
+ If the actual class type is needed it can be found as `SharedStringClass`.
265
273
 
266
- - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
274
+ - Deprecated members of IFluidHandle are split off into new IFluidHandleInternal interface [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
267
275
 
268
- Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
269
- Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
276
+ Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
277
+ Code depending on the previously deprecated members of IFluidHandle can access them by using `toFluidHandleInternal` from `@fluidframework/runtime-utils/legacy`.
270
278
 
271
- External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
272
- Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
273
- Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
279
+ External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
280
+ Any existing and previously working, and now broken, external implementations of `IFluidHandle` should still work at runtime, but will need some unsafe type casts to compile.
281
+ Such handle implementation may break in the future and thus should be replaced with use of handles produced by the Fluid Framework client packages.
274
282
 
275
283
  ## 2.0.0-rc.3.0.0
276
284
 
277
285
  ### Major Changes
278
286
 
279
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
287
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
280
288
 
281
- Fluid Framework packages have been updated to use the [package.json "exports"
282
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
283
- TypeScript types and implementation code.
289
+ Fluid Framework packages have been updated to use the [package.json "exports"
290
+ field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
291
+ TypeScript types and implementation code.
284
292
 
285
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
293
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
286
294
 
287
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
288
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
295
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
296
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
289
297
 
290
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
291
- for use with modern versions of Node.js _and_ Bundlers.
292
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
293
- regarding the module and moduleResolution options.
298
+ We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
299
+ for use with modern versions of Node.js _and_ Bundlers.
300
+ [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
301
+ regarding the module and moduleResolution options.
294
302
 
295
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
296
- to distinguish stable APIs from those that are in development.**
303
+ **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
304
+ to distinguish stable APIs from those that are in development.**
297
305
 
298
306
  ## 2.0.0-rc.2.0.0
299
307
 
300
308
  ### Minor Changes
301
309
 
302
- - container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
310
+ - container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
303
311
 
304
- ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
312
+ ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
305
313
 
306
314
  ## 2.0.0-rc.1.0.0
307
315
 
308
316
  ### Minor Changes
309
317
 
310
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
318
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
311
319
 
312
- 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)
320
+ 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)
313
321
 
314
- - @fluidframework/gitresources
315
- - @fluidframework/server-kafka-orderer
316
- - @fluidframework/server-lambdas
317
- - @fluidframework/server-lambdas-driver
318
- - @fluidframework/server-local-server
319
- - @fluidframework/server-memory-orderer
320
- - @fluidframework/protocol-base
321
- - @fluidframework/server-routerlicious
322
- - @fluidframework/server-routerlicious-base
323
- - @fluidframework/server-services
324
- - @fluidframework/server-services-client
325
- - @fluidframework/server-services-core
326
- - @fluidframework/server-services-ordering-kafkanode
327
- - @fluidframework/server-services-ordering-rdkafka
328
- - @fluidframework/server-services-ordering-zookeeper
329
- - @fluidframework/server-services-shared
330
- - @fluidframework/server-services-telemetry
331
- - @fluidframework/server-services-utils
332
- - @fluidframework/server-test-utils
333
- - tinylicious
322
+ - @fluidframework/gitresources
323
+ - @fluidframework/server-kafka-orderer
324
+ - @fluidframework/server-lambdas
325
+ - @fluidframework/server-lambdas-driver
326
+ - @fluidframework/server-local-server
327
+ - @fluidframework/server-memory-orderer
328
+ - @fluidframework/protocol-base
329
+ - @fluidframework/server-routerlicious
330
+ - @fluidframework/server-routerlicious-base
331
+ - @fluidframework/server-services
332
+ - @fluidframework/server-services-client
333
+ - @fluidframework/server-services-core
334
+ - @fluidframework/server-services-ordering-kafkanode
335
+ - @fluidframework/server-services-ordering-rdkafka
336
+ - @fluidframework/server-services-ordering-zookeeper
337
+ - @fluidframework/server-services-shared
338
+ - @fluidframework/server-services-telemetry
339
+ - @fluidframework/server-services-utils
340
+ - @fluidframework/server-test-utils
341
+ - tinylicious
334
342
 
335
- - sequence: Remove the signature of IntervalCollection.add that takes a type parameter ([#18916](https://github.com/microsoft/FluidFramework/issues/18916)) [e5b463cc8b](https://github.com/microsoft/FluidFramework/commits/e5b463cc8b24a411581c3e48f62ce1eea68dd639)
343
+ - sequence: Remove the signature of IntervalCollection.add that takes a type parameter ([#18916](https://github.com/microsoft/FluidFramework/issues/18916)) [e5b463cc8b](https://github.com/microsoft/FluidFramework/commits/e5b463cc8b24a411581c3e48f62ce1eea68dd639)
336
344
 
337
- The previously deprecated signature of `IntervalCollection.add` that takes an `IntervalType` as a parameter is now being
338
- removed. The new signature is called without the type parameter and takes the `start`, `end`, and `properties`
339
- parameters as a single object.
345
+ The previously deprecated signature of `IntervalCollection.add` that takes an `IntervalType` as a parameter is now being
346
+ removed. The new signature is called without the type parameter and takes the `start`, `end`, and `properties`
347
+ parameters as a single object.
340
348
 
341
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
349
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
342
350
 
343
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
344
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
351
+ The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
352
+ changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
345
353
 
346
- - sequence: Remove the findTile API ([#18908](https://github.com/microsoft/FluidFramework/issues/18908)) [29b093e55c](https://github.com/microsoft/FluidFramework/commits/29b093e55cb2a7e98c9445b735783f463acfb3bb)
354
+ - sequence: Remove the findTile API ([#18908](https://github.com/microsoft/FluidFramework/issues/18908)) [29b093e55c](https://github.com/microsoft/FluidFramework/commits/29b093e55cb2a7e98c9445b735783f463acfb3bb)
347
355
 
348
- 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.
356
+ 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.
349
357
 
350
- - sequence: Unify the change and changeProperties methods ([#18981](https://github.com/microsoft/FluidFramework/issues/18981)) [31ce11010a](https://github.com/microsoft/FluidFramework/commits/31ce11010a9bd2be95e805544d84df9e21b6c9a7)
358
+ - sequence: Unify the change and changeProperties methods ([#18981](https://github.com/microsoft/FluidFramework/issues/18981)) [31ce11010a](https://github.com/microsoft/FluidFramework/commits/31ce11010a9bd2be95e805544d84df9e21b6c9a7)
351
359
 
352
- Instead of having two separate APIs to modify an interval's endpoints and properties, combine both into the same method, IntervalCollection.change. Change is called with a string id value as the first parameter, and an object containing the start value, the end value, and/or the properties, depending on the desired modifications to the interval. Start and end must both be either defined or undefined.
360
+ Instead of having two separate APIs to modify an interval's endpoints and properties, combine both into the same method, IntervalCollection.change. Change is called with a string id value as the first parameter, and an object containing the start value, the end value, and/or the properties, depending on the desired modifications to the interval. Start and end must both be either defined or undefined.
353
361
 
354
- The old functionality and signatures were deprecated in the internal.7.4.0 minor release.
362
+ The old functionality and signatures were deprecated in the internal.7.4.0 minor release.
355
363
 
356
- - shared-object-base: SharedObject processGCDataCore now takes IFluidSerializer rather than SummarySerializer ([#18803](https://github.com/microsoft/FluidFramework/issues/18803)) [396b8e9738](https://github.com/microsoft/FluidFramework/commits/396b8e9738156ff88b62424a0076f09fb5028a32)
364
+ - shared-object-base: SharedObject processGCDataCore now takes IFluidSerializer rather than SummarySerializer ([#18803](https://github.com/microsoft/FluidFramework/issues/18803)) [396b8e9738](https://github.com/microsoft/FluidFramework/commits/396b8e9738156ff88b62424a0076f09fb5028a32)
357
365
 
358
- This change should be a no-op for consumers, and `SummarySerializer` and `IFluidSerializer` expose the same consumer facing APIs. This change just makes our APIs more consistent by only using interfaces, rather than a mix of interfaces and concrete implementations.
366
+ This change should be a no-op for consumers, and `SummarySerializer` and `IFluidSerializer` expose the same consumer facing APIs. This change just makes our APIs more consistent by only using interfaces, rather than a mix of interfaces and concrete implementations.
359
367
 
360
368
  ## 2.0.0-internal.8.0.0
361
369
 
362
370
  ### Major Changes
363
371
 
364
- - sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
365
-
366
- The return types of some functions have changed from `any` to `void` because the projects are now being compiled with
367
- the `noImplicitAny` TypeScript compilation option. This does not represent a logic change and only serves to make the
368
- typing of these functions more accurate.
369
-
370
- - sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
371
-
372
- This change adds experimental support for _obliterate_, a form of _remove_ that deletes concurrently inserted segments.
373
- To use, enable the `mergeTreeEnableObliterate` feature flag and call the new `obliterateRange` functions.
374
-
375
- Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in
376
- current handlers, their current implementation is sound.
377
-
378
- - datastore-definitions: Jsonable and Serializable now require a generic parameter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
379
-
380
- The `Jsonable` and `Serializable` types from @fluidframework/datastore-definitions now require a generic parameter and
381
- if that type is `any` or `unknown`will return a new result `JsonableTypeWith<>` that more accurately represents the
382
- limitation of serialization.
383
-
384
- Additional modifications:
385
-
386
- - `Jsonable`'s `TReplacement` parameter default has also been changed from `void` to `never`, which now disallows
387
- `void`.
388
- - Unrecognized primitive types like `symbol` are now filtered to `never` instead of `{}`.
389
- - Recursive types with arrays (`[]`) are now supported.
390
-
391
- `Serializable` is commonly used for DDS values and now requires more precision when using them. For example SharedMatrix
392
- (unqualified) has an `any` default that meant values were `Serializable<any>` (i.e. `any`), but now `Serializable<any>`
393
- is `JsonableTypeWith<IFluidHandle>` which may be problematic for reading or writing. Preferred correction is to specify
394
- the value type but casting through `any` may provide a quick fix.
395
-
396
- - sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
397
-
398
- `Marker.hasSimpleType` was unused. Sequence operations now no longer return IMergeTree\*Msg types.
399
- These types are redundant with the input.
400
-
401
- - sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
402
-
403
- The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
404
- intended for public export.
405
-
406
- - `BaseSegment.ack`
407
- - `Client`
408
- - `CollaborationWindow`
409
- - `compareNumbers`
410
- - `compareStrings`
411
- - `createAnnotateMarkerOp`
412
- - `createAnnotateRangeOp`
413
- - `createGroupOp`
414
- - `createInsertOp`
415
- - `createInsertSegmentOp`
416
- - `createRemoveRangeOp`
417
- - `IConsensusInfo`
418
- - `IConsensusValue`
419
- - `IMarkerModifiedAction`
420
- - `IMergeTreeTextHelper`
421
- - `LocalClientId`
422
- - `MergeTreeDeltaCallback`
423
- - `MergeTreeMaintenanceCallback`
424
- - `NonCollabClient`
425
- - `SegmentAccumulator`
426
- - `SegmentGroup`
427
- - `SegmentGroupCollection.enqueue`
428
- - `SegmentGroupCollection.dequeue`
429
- - `SegmentGroupCollection.pop`
430
- - `SortedSegmentSet`
431
- - `SortedSegmentSetItem`
432
- - `SortedSet`
433
- - `toRemovalInfo`
434
- - `TreeMaintenanceSequenceNumber`
435
- - `UniversalSequenceNumber`
436
- - `SharedSegmentSequence.submitSequenceMessage`
437
-
438
- - sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
439
-
440
- In sequence, removed the following APIs:
441
-
442
- - the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
443
- - the function `SharedString.annotateMarkerNotifyConsensus`
444
-
445
- In merge-tree, removed the following APIs:
446
-
447
- - `ICombiningOp`
448
- - the `combiningOp` field from `IMergeTreeAnnotateMsg`
449
- - the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
450
- - the enum variant `PropertiesRollback.Rewrite`.
451
-
452
- This functionality was largely unused and had no test coverage.
453
-
454
- - sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
455
-
456
- The following APIs have been removed:
457
-
458
- - `Client.getStackContext`
459
- - `SharedSegmentSequence.getStackContext`
460
- - `IntervalType.Nest`
461
- - `ReferenceType.NestBegin`
462
- - `ReferenceType.NestEnd`
463
- - `internedSpaces`
464
- - `RangeStackMap`
465
- - `refGetRangeLabels`
466
- - `refHasRangeLabel`
467
- - `refHasRangeLabels`
468
-
469
- This functionality is deprecated, has low test coverage, and is largely unused.
372
+ - sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
373
+
374
+ The return types of some functions have changed from `any` to `void` because the projects are now being compiled with
375
+ the `noImplicitAny` TypeScript compilation option. This does not represent a logic change and only serves to make the
376
+ typing of these functions more accurate.
377
+
378
+ - sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
379
+
380
+ This change adds experimental support for _obliterate_, a form of _remove_ that deletes concurrently inserted segments.
381
+ To use, enable the `mergeTreeEnableObliterate` feature flag and call the new `obliterateRange` functions.
382
+
383
+ Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in
384
+ current handlers, their current implementation is sound.
385
+
386
+ - datastore-definitions: Jsonable and Serializable now require a generic parameter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
387
+
388
+ The `Jsonable` and `Serializable` types from @fluidframework/datastore-definitions now require a generic parameter and
389
+ if that type is `any` or `unknown`will return a new result `JsonableTypeWith<>` that more accurately represents the
390
+ limitation of serialization.
391
+
392
+ Additional modifications:
393
+
394
+ - `Jsonable`'s `TReplacement` parameter default has also been changed from `void` to `never`, which now disallows
395
+ `void`.
396
+ - Unrecognized primitive types like `symbol` are now filtered to `never` instead of `{}`.
397
+ - Recursive types with arrays (`[]`) are now supported.
398
+
399
+ `Serializable` is commonly used for DDS values and now requires more precision when using them. For example SharedMatrix
400
+ (unqualified) has an `any` default that meant values were `Serializable<any>` (i.e. `any`), but now `Serializable<any>`
401
+ is `JsonableTypeWith<IFluidHandle>` which may be problematic for reading or writing. Preferred correction is to specify
402
+ the value type but casting through `any` may provide a quick fix.
403
+
404
+ - sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
405
+
406
+ `Marker.hasSimpleType` was unused. Sequence operations now no longer return IMergeTree\*Msg types.
407
+ These types are redundant with the input.
408
+
409
+ - sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
410
+
411
+ The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
412
+ intended for public export.
413
+
414
+ - `BaseSegment.ack`
415
+ - `Client`
416
+ - `CollaborationWindow`
417
+ - `compareNumbers`
418
+ - `compareStrings`
419
+ - `createAnnotateMarkerOp`
420
+ - `createAnnotateRangeOp`
421
+ - `createGroupOp`
422
+ - `createInsertOp`
423
+ - `createInsertSegmentOp`
424
+ - `createRemoveRangeOp`
425
+ - `IConsensusInfo`
426
+ - `IConsensusValue`
427
+ - `IMarkerModifiedAction`
428
+ - `IMergeTreeTextHelper`
429
+ - `LocalClientId`
430
+ - `MergeTreeDeltaCallback`
431
+ - `MergeTreeMaintenanceCallback`
432
+ - `NonCollabClient`
433
+ - `SegmentAccumulator`
434
+ - `SegmentGroup`
435
+ - `SegmentGroupCollection.enqueue`
436
+ - `SegmentGroupCollection.dequeue`
437
+ - `SegmentGroupCollection.pop`
438
+ - `SortedSegmentSet`
439
+ - `SortedSegmentSetItem`
440
+ - `SortedSet`
441
+ - `toRemovalInfo`
442
+ - `TreeMaintenanceSequenceNumber`
443
+ - `UniversalSequenceNumber`
444
+ - `SharedSegmentSequence.submitSequenceMessage`
445
+
446
+ - sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
447
+
448
+ In sequence, removed the following APIs:
449
+
450
+ - the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
451
+ - the function `SharedString.annotateMarkerNotifyConsensus`
452
+
453
+ In merge-tree, removed the following APIs:
454
+
455
+ - `ICombiningOp`
456
+ - the `combiningOp` field from `IMergeTreeAnnotateMsg`
457
+ - the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
458
+ - the enum variant `PropertiesRollback.Rewrite`.
459
+
460
+ This functionality was largely unused and had no test coverage.
461
+
462
+ - sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
463
+
464
+ The following APIs have been removed:
465
+
466
+ - `Client.getStackContext`
467
+ - `SharedSegmentSequence.getStackContext`
468
+ - `IntervalType.Nest`
469
+ - `ReferenceType.NestBegin`
470
+ - `ReferenceType.NestEnd`
471
+ - `internedSpaces`
472
+ - `RangeStackMap`
473
+ - `refGetRangeLabels`
474
+ - `refHasRangeLabel`
475
+ - `refHasRangeLabels`
476
+
477
+ This functionality is deprecated, has low test coverage, and is largely unused.
470
478
 
471
479
  ## 2.0.0-internal.7.4.0
472
480
 
473
481
  ### Minor Changes
474
482
 
475
- - sequence: `change` and `changeProperties` are now a single method ([#18676](https://github.com/microsoft/FluidFramework/issues/18676)) [12c83d2696](https://github.com/microsoft/FluidFramework/commits/12c83d26962a1d76db6eb0ccad31fd6a7976a1af)
483
+ - sequence: `change` and `changeProperties` are now a single method ([#18676](https://github.com/microsoft/FluidFramework/issues/18676)) [12c83d2696](https://github.com/microsoft/FluidFramework/commits/12c83d26962a1d76db6eb0ccad31fd6a7976a1af)
476
484
 
477
- Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a
478
- single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature
479
- of this combined method is now updated as well.
485
+ Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a
486
+ single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature
487
+ of this combined method is now updated as well.
480
488
 
481
- The new way to use the change method is to call it with an interval id as the first parameter and an object containing
482
- the desired portions of the interval to update as the second parameter. For the object parameter, the `endpoints` field
483
- should be an object containing the new `start` and `end` values for the interval, and the `properties` field should be
484
- an object containing the new properties for the interval. Either the `endpoints` field or the `properties` field can be
485
- omitted, and if neither are present, `change` will return `undefined`.
489
+ The new way to use the change method is to call it with an interval id as the first parameter and an object containing
490
+ the desired portions of the interval to update as the second parameter. For the object parameter, the `endpoints` field
491
+ should be an object containing the new `start` and `end` values for the interval, and the `properties` field should be
492
+ an object containing the new properties for the interval. Either the `endpoints` field or the `properties` field can be
493
+ omitted, and if neither are present, `change` will return `undefined`.
486
494
 
487
- The new usage of the change method is as follows:
495
+ The new usage of the change method is as follows:
488
496
 
489
- Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`
497
+ Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`
490
498
 
491
- Change interval properties: `change(id { props: { a: 1 } });`
499
+ Change interval properties: `change(id { props: { a: 1 } });`
492
500
 
493
- Change interval endpoints and properties: `change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });`
501
+ Change interval endpoints and properties: `change(id, { endpoints: { start: 1, end: 4 }, props: { a: 1 } });`
494
502
 
495
- - sequence: Deprecated findOverlappingIntervals API ([#18036](https://github.com/microsoft/FluidFramework/issues/18036)) [52b864ea42](https://github.com/microsoft/FluidFramework/commits/52b864ea42759403771f2cbcb282b0ba19ce42f6)
503
+ - sequence: Deprecated findOverlappingIntervals API ([#18036](https://github.com/microsoft/FluidFramework/issues/18036)) [52b864ea42](https://github.com/microsoft/FluidFramework/commits/52b864ea42759403771f2cbcb282b0ba19ce42f6)
496
504
 
497
- The `findOverlappingIntervals` API from `IntervalCollection` has been deprecated. This functionality is moved to the
498
- `OverlappingIntervalsIndex`. Users should independently attach the index to the collection and utilize the API
499
- accordingly, for instance:
505
+ The `findOverlappingIntervals` API from `IntervalCollection` has been deprecated. This functionality is moved to the
506
+ `OverlappingIntervalsIndex`. Users should independently attach the index to the collection and utilize the API
507
+ accordingly, for instance:
500
508
 
501
- ```typescript
502
- const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
503
- collection.attachIndex(overlappingIntervalsIndex);
504
- const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
505
- ```
509
+ ```typescript
510
+ const overlappingIntervalsIndex =
511
+ createOverlappingIntervalsIndex(sharedString);
512
+ collection.attachIndex(overlappingIntervalsIndex);
513
+ const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
514
+ ```
506
515
 
507
- - sequence: Deprecated previousInterval and nextInterval APIs ([#18060](https://github.com/microsoft/FluidFramework/issues/18060)) [05fb45d26f](https://github.com/microsoft/FluidFramework/commits/05fb45d26f3065297e219a4bce5763e25bdcffc9)
516
+ - sequence: Deprecated previousInterval and nextInterval APIs ([#18060](https://github.com/microsoft/FluidFramework/issues/18060)) [05fb45d26f](https://github.com/microsoft/FluidFramework/commits/05fb45d26f3065297e219a4bce5763e25bdcffc9)
508
517
 
509
- The `previousInterval` and `nextInterval` APIs from `IntervalCollection` have been deprecated. These functions are moved
510
- to the `EndpointIndex`. Users should independently attach the index to the collection and utilize the API accordingly,
511
- for instance:
518
+ The `previousInterval` and `nextInterval` APIs from `IntervalCollection` have been deprecated. These functions are moved
519
+ to the `EndpointIndex`. Users should independently attach the index to the collection and utilize the API accordingly,
520
+ for instance:
512
521
 
513
- ```typescript
514
- const endpointIndex = createEndpointIndex(sharedString);
515
- collection.attachIndex(endpointIndex);
522
+ ```typescript
523
+ const endpointIndex = createEndpointIndex(sharedString);
524
+ collection.attachIndex(endpointIndex);
516
525
 
517
- const result1 = endpointIndex.previousInterval(pos);
518
- const result2 = endpointIndex.nextInterval(pos);
519
- ```
526
+ const result1 = endpointIndex.previousInterval(pos);
527
+ const result2 = endpointIndex.nextInterval(pos);
528
+ ```
520
529
 
521
- - sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus ([#18318](https://github.com/microsoft/FluidFramework/issues/18318)) [e67c2cac5f](https://github.com/microsoft/FluidFramework/commits/e67c2cac5f275fc5c875c0bc044bbb72aaf76648)
530
+ - sequence: Deprecated ICombiningOp, PropertiesRollback.Rewrite, and SharedString.annotateMarkerNotifyConsensus ([#18318](https://github.com/microsoft/FluidFramework/issues/18318)) [e67c2cac5f](https://github.com/microsoft/FluidFramework/commits/e67c2cac5f275fc5c875c0bc044bbb72aaf76648)
522
531
 
523
- The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
524
- `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
525
- has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
526
- largely unused.
532
+ The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
533
+ `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
534
+ has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
535
+ largely unused.
527
536
 
528
537
  ## 2.0.0-internal.7.3.0
529
538
 
@@ -533,100 +542,100 @@ Dependency updates only.
533
542
 
534
543
  ### Minor Changes
535
544
 
536
- - sequence: SharedString.findTile is now deprecated ([#17832](https://github.com/microsoft/FluidFramework/issues/17832)) [428234a2fb](https://github.com/microsoft/FluidFramework/commits/428234a2fb8c7a7c0bcdc9370a6632cd007c8a07)
545
+ - sequence: SharedString.findTile is now deprecated ([#17832](https://github.com/microsoft/FluidFramework/issues/17832)) [428234a2fb](https://github.com/microsoft/FluidFramework/commits/428234a2fb8c7a7c0bcdc9370a6632cd007c8a07)
537
546
 
538
- findTile was previously deprecated on client and mergeTree, but was not on SharedString. Usage is mostly the same, with the exception that the parameter 'startPos' must be a number and cannot be undefined.
547
+ findTile was previously deprecated on client and mergeTree, but was not on SharedString. Usage is mostly the same, with the exception that the parameter 'startPos' must be a number and cannot be undefined.
539
548
 
540
549
  ## 2.0.0-internal.7.1.0
541
550
 
542
551
  ### Minor Changes
543
552
 
544
- - sequence: IntervalCollection.add's intervalType is now deprecated ([#17165](https://github.com/microsoft/FluidFramework/issues/17165)) [a8ea26c9d6](https://github.com/microsoft/FluidFramework/commits/a8ea26c9d61e4938f10c87a8757734f8772fbce6)
553
+ - sequence: IntervalCollection.add's intervalType is now deprecated ([#17165](https://github.com/microsoft/FluidFramework/issues/17165)) [a8ea26c9d6](https://github.com/microsoft/FluidFramework/commits/a8ea26c9d61e4938f10c87a8757734f8772fbce6)
545
554
 
546
- The `intervalType` parameter is being removed from `IntervalCollection.add`. The new usage requires calling add with an object containing each of the desired parameters.
547
- Example: `add({start: 0, end: 1, props: { a: b }})`
555
+ The `intervalType` parameter is being removed from `IntervalCollection.add`. The new usage requires calling add with an object containing each of the desired parameters.
556
+ Example: `add({start: 0, end: 1, props: { a: b }})`
548
557
 
549
- The signature of `IntervalCollection.change` is also being updated to an object containing the desired parameters,
550
- instead of the existing list of parameters. In addition, `changeProperties` will be removed, so in order to change the
551
- properties of an interval, the `change` method (with the updated signature) will be used. The id of the interval is not
552
- included in the object passed to `change`, but is instead passed as the first parameter to `change`.
558
+ The signature of `IntervalCollection.change` is also being updated to an object containing the desired parameters,
559
+ instead of the existing list of parameters. In addition, `changeProperties` will be removed, so in order to change the
560
+ properties of an interval, the `change` method (with the updated signature) will be used. The id of the interval is not
561
+ included in the object passed to `change`, but is instead passed as the first parameter to `change`.
553
562
 
554
- Examples:
563
+ Examples:
555
564
 
556
- - Change interval endpoints: `change(intervalId, { start: 3, end: 4 })`
557
- - Change interval properties: `change(intervalId, { props: { a: c } })`
565
+ - Change interval endpoints: `change(intervalId, { start: 3, end: 4 })`
566
+ - Change interval properties: `change(intervalId, { props: { a: c } })`
558
567
 
559
- - 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)
568
+ - 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)
560
569
 
561
- The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
562
- unused. They will be removed in a future release.
570
+ The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
571
+ unused. They will be removed in a future release.
563
572
 
564
- - IntervalType.Nest
565
- - internedSpaces
566
- - RangeStackMap
567
- - refGetRangeLabels
568
- - refHasRangeLabel
569
- - refHasRangeLabels
573
+ - IntervalType.Nest
574
+ - internedSpaces
575
+ - RangeStackMap
576
+ - refGetRangeLabels
577
+ - refHasRangeLabel
578
+ - refHasRangeLabels
570
579
 
571
580
  ## 2.0.0-internal.7.0.0
572
581
 
573
582
  ### Major Changes
574
583
 
575
- - sequence: New API for specifying spatial positioning of intervals [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
584
+ - sequence: New API for specifying spatial positioning of intervals [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
576
585
 
577
- 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.
586
+ 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.
578
587
 
579
- - sequence: IIntervalCollection.change must specify both endpoints [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
588
+ - sequence: IIntervalCollection.change must specify both endpoints [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
580
589
 
581
- IIntervalCollection.change no longer allows an endpoint to be undefined. undefined can unintentionally result in end < start. To adapt to this change, simply use the current position of the endpoint that is not intended to change.
590
+ IIntervalCollection.change no longer allows an endpoint to be undefined. undefined can unintentionally result in end < start. To adapt to this change, simply use the current position of the endpoint that is not intended to change.
582
591
 
583
- - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
592
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
584
593
 
585
- This included the following changes from the protocol-definitions release:
594
+ This included the following changes from the protocol-definitions release:
586
595
 
587
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
588
- submitted by clients to the server and the resulting signals sent from the server to clients.
589
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
590
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
591
- ISignalMessageBase interface that contains common members.
592
- - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
596
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
597
+ submitted by clients to the server and the resulting signals sent from the server to clients.
598
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
599
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
600
+ ISignalMessageBase interface that contains common members.
601
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
593
602
 
594
- - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
603
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
595
604
 
596
- Dependencies on the following Fluid server package have been updated to version 2.0.1:
605
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
597
606
 
598
- - @fluidframework/gitresources: 2.0.1
599
- - @fluidframework/server-kafka-orderer: 2.0.1
600
- - @fluidframework/server-lambdas: 2.0.1
601
- - @fluidframework/server-lambdas-driver: 2.0.1
602
- - @fluidframework/server-local-server: 2.0.1
603
- - @fluidframework/server-memory-orderer: 2.0.1
604
- - @fluidframework/protocol-base: 2.0.1
605
- - @fluidframework/server-routerlicious: 2.0.1
606
- - @fluidframework/server-routerlicious-base: 2.0.1
607
- - @fluidframework/server-services: 2.0.1
608
- - @fluidframework/server-services-client: 2.0.1
609
- - @fluidframework/server-services-core: 2.0.1
610
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
611
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
612
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
613
- - @fluidframework/server-services-shared: 2.0.1
614
- - @fluidframework/server-services-telemetry: 2.0.1
615
- - @fluidframework/server-services-utils: 2.0.1
616
- - @fluidframework/server-test-utils: 2.0.1
617
- - tinylicious: 2.0.1
607
+ - @fluidframework/gitresources: 2.0.1
608
+ - @fluidframework/server-kafka-orderer: 2.0.1
609
+ - @fluidframework/server-lambdas: 2.0.1
610
+ - @fluidframework/server-lambdas-driver: 2.0.1
611
+ - @fluidframework/server-local-server: 2.0.1
612
+ - @fluidframework/server-memory-orderer: 2.0.1
613
+ - @fluidframework/protocol-base: 2.0.1
614
+ - @fluidframework/server-routerlicious: 2.0.1
615
+ - @fluidframework/server-routerlicious-base: 2.0.1
616
+ - @fluidframework/server-services: 2.0.1
617
+ - @fluidframework/server-services-client: 2.0.1
618
+ - @fluidframework/server-services-core: 2.0.1
619
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
620
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
621
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
622
+ - @fluidframework/server-services-shared: 2.0.1
623
+ - @fluidframework/server-services-telemetry: 2.0.1
624
+ - @fluidframework/server-services-utils: 2.0.1
625
+ - @fluidframework/server-test-utils: 2.0.1
626
+ - tinylicious: 2.0.1
618
627
 
619
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
628
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
620
629
 
621
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
630
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
622
631
 
623
- - sequence: Remove `compareStarts` and `compareEnds` from `IIntervalHelpers` [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
632
+ - sequence: Remove `compareStarts` and `compareEnds` from `IIntervalHelpers` [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
624
633
 
625
- These methods are redudant with the functions `IInterval.compareStart` and `IInterval.compareEnd` respectively.
634
+ These methods are redudant with the functions `IInterval.compareStart` and `IInterval.compareEnd` respectively.
626
635
 
627
- - sequence: Remove the mergeTreeUseNewLengthCalculations flag [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
636
+ - sequence: Remove the mergeTreeUseNewLengthCalculations flag [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
628
637
 
629
- The `mergeTreeUseNewLengthCalculations` flag has been removed, because the feature was enabled by default in 2.0.0-internal.6.0.0.
638
+ The `mergeTreeUseNewLengthCalculations` flag has been removed, because the feature was enabled by default in 2.0.0-internal.6.0.0.
630
639
 
631
640
  ## 2.0.0-internal.6.4.0
632
641
 
@@ -636,53 +645,53 @@ Dependency updates only.
636
645
 
637
646
  ### Minor Changes
638
647
 
639
- - deprecate compareStarts and compareEnds on IIntervalHelpers ([#17127](https://github.com/microsoft/FluidFramework/issues/17127)) [a830eca757](https://github.com/microsoft/FluidFramework/commits/a830eca7571cfb230abe5b9443ba5c5fc44671e0)
648
+ - deprecate compareStarts and compareEnds on IIntervalHelpers ([#17127](https://github.com/microsoft/FluidFramework/issues/17127)) [a830eca757](https://github.com/microsoft/FluidFramework/commits/a830eca7571cfb230abe5b9443ba5c5fc44671e0)
640
649
 
641
- these functions will be removed in a future version. use the methods IInterval.compareStart and IInterval.compareEnd respectively instead
650
+ these functions will be removed in a future version. use the methods IInterval.compareStart and IInterval.compareEnd respectively instead
642
651
 
643
652
  ## 2.0.0-internal.6.2.0
644
653
 
645
654
  ### Minor Changes
646
655
 
647
- - Deprecate getStackContext and associated NestBegin/End ([#16877](https://github.com/microsoft/FluidFramework/issues/16877)) [8e743fe1dd](https://github.com/microsoft/FluidFramework/commits/8e743fe1dde9adb3a1240971987d3abd51ab2fbe)
656
+ - Deprecate getStackContext and associated NestBegin/End ([#16877](https://github.com/microsoft/FluidFramework/issues/16877)) [8e743fe1dd](https://github.com/microsoft/FluidFramework/commits/8e743fe1dde9adb3a1240971987d3abd51ab2fbe)
648
657
 
649
- Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use).
650
- This functionality is unused, poorly tested, and incurs performance overhead.
658
+ Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use).
659
+ This functionality is unused, poorly tested, and incurs performance overhead.
651
660
 
652
- - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
661
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
653
662
 
654
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
655
- imported from the **@fluidframework/core-interfaces** package:
663
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
664
+ imported from the **@fluidframework/core-interfaces** package:
656
665
 
657
- - interface IDisposable
658
- - interface IErrorEvent
659
- - interface IErrorEvent
660
- - interface IEvent
661
- - interface IEventProvider
662
- - interface ILoggingError
663
- - interface ITaggedTelemetryPropertyType
664
- - interface ITelemetryBaseEvent
665
- - interface ITelemetryBaseLogger
666
- - interface ITelemetryErrorEvent
667
- - interface ITelemetryGenericEvent
668
- - interface ITelemetryLogger
669
- - interface ITelemetryPerformanceEvent
670
- - interface ITelemetryProperties
671
- - type ExtendEventProvider
672
- - type IEventThisPlaceHolder
673
- - type IEventTransformer
674
- - type ReplaceIEventThisPlaceHolder
675
- - type ReplaceIEventThisPlaceHolder
676
- - type TelemetryEventCategory
677
- - type TelemetryEventPropertyType
666
+ - interface IDisposable
667
+ - interface IErrorEvent
668
+ - interface IErrorEvent
669
+ - interface IEvent
670
+ - interface IEventProvider
671
+ - interface ILoggingError
672
+ - interface ITaggedTelemetryPropertyType
673
+ - interface ITelemetryBaseEvent
674
+ - interface ITelemetryBaseLogger
675
+ - interface ITelemetryErrorEvent
676
+ - interface ITelemetryGenericEvent
677
+ - interface ITelemetryLogger
678
+ - interface ITelemetryPerformanceEvent
679
+ - interface ITelemetryProperties
680
+ - type ExtendEventProvider
681
+ - type IEventThisPlaceHolder
682
+ - type IEventTransformer
683
+ - type ReplaceIEventThisPlaceHolder
684
+ - type ReplaceIEventThisPlaceHolder
685
+ - type TelemetryEventCategory
686
+ - type TelemetryEventPropertyType
678
687
 
679
- - Deprecate SharedSequence, SubSequence, and IJSONRunSegment ([#16829](https://github.com/microsoft/FluidFramework/issues/16829)) [0cf2b6d909](https://github.com/microsoft/FluidFramework/commits/0cf2b6d9098c7ef4234b66c5d7d169192db40d15)
688
+ - Deprecate SharedSequence, SubSequence, and IJSONRunSegment ([#16829](https://github.com/microsoft/FluidFramework/issues/16829)) [0cf2b6d909](https://github.com/microsoft/FluidFramework/commits/0cf2b6d9098c7ef4234b66c5d7d169192db40d15)
680
689
 
681
- The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.
690
+ The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.
682
691
 
683
- They are now, and will continue to be exposed from the @fluid-experimental/sequence-deprecated package.
692
+ They are now, and will continue to be exposed from the @fluid-experimental/sequence-deprecated package.
684
693
 
685
- New usages of these types should not be added, but they may be necessary for migration.
694
+ New usages of these types should not be added, but they may be necessary for migration.
686
695
 
687
696
  ## 2.0.0-internal.6.1.0
688
697
 
@@ -692,59 +701,65 @@ Dependency updates only.
692
701
 
693
702
  ### Major Changes
694
703
 
695
- - IntervalConflictResolver removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
704
+ - IntervalConflictResolver removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
696
705
 
697
- IntervalConflictResolver has been removed. Any lingering usages in application code can be removed as well. This change also marks APIs deprecated in #14318 as internal.
706
+ IntervalConflictResolver has been removed. Any lingering usages in application code can be removed as well. This change also marks APIs deprecated in #14318 as internal.
698
707
 
699
- - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
708
+ - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
700
709
 
701
- This change removed the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
710
+ This change removed the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
702
711
 
703
- 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.
712
+ 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.
704
713
 
705
- Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
714
+ Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
706
715
 
707
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
716
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
708
717
 
709
- 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.
718
+ 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.
710
719
 
711
720
  ## 2.0.0-internal.5.4.0
712
721
 
713
722
  ### Minor Changes
714
723
 
715
- - Some interval-related APIs are deprecated ([#16573](https://github.com/microsoft/FluidFramework/issues/16573)) [82de148126](https://github.com/microsoft/FluidFramework/commits/82de14812617e4d305bdb621737a0d94a5392d25)
724
+ - Some interval-related APIs are deprecated ([#16573](https://github.com/microsoft/FluidFramework/issues/16573)) [82de148126](https://github.com/microsoft/FluidFramework/commits/82de14812617e4d305bdb621737a0d94a5392d25)
716
725
 
717
- The following APIs are now deprecated from `IntervalCollection`:
726
+ The following APIs are now deprecated from `IntervalCollection`:
718
727
 
719
- - `findOverlappingIntervals` and `gatherIterationResults` - these functions are moved to
720
- the `OverlappingIntervalsIndex`. Users are advised to independently attach the index to the collection and utilize the
721
- API accordingly, for instance:
728
+ - `findOverlappingIntervals` and `gatherIterationResults` - these functions are moved to
729
+ the `OverlappingIntervalsIndex`. Users are advised to independently attach the index to the collection and utilize the
730
+ API accordingly, for instance:
722
731
 
723
- ```typescript
724
- const overlappingIntervalsIndex = createOverlappingIntervalsIndex(client, helpers);
725
- collection.attachIndex(overlappingIntervalsIndex);
726
- const result1 = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
732
+ ```typescript
733
+ const overlappingIntervalsIndex = createOverlappingIntervalsIndex(
734
+ client,
735
+ helpers,
736
+ );
737
+ collection.attachIndex(overlappingIntervalsIndex);
738
+ const result1 = overlappingIntervalsIndex.findOverlappingIntervals(
739
+ start,
740
+ end,
741
+ );
727
742
 
728
- const result2 = [];
729
- overlappingIntervalsIndex.gatherIterationResults(result2, true);
730
- ```
743
+ const result2 = [];
744
+ overlappingIntervalsIndex.gatherIterationResults(result2, true);
745
+ ```
731
746
 
732
- - `CreateBackwardIteratorWithEndPosition`, `CreateBackwardIteratorWithStartPosition`,
733
- `CreateForwardIteratorWithEndPosition` and `CreateForwardIteratorWithStartPosition` - only the default iterator will be
734
- supported in the future, and it will no longer preserve sequence order.
747
+ - `CreateBackwardIteratorWithEndPosition`, `CreateBackwardIteratorWithStartPosition`,
748
+ `CreateForwardIteratorWithEndPosition` and `CreateForwardIteratorWithStartPosition` - only the default iterator will be
749
+ supported in the future, and it will no longer preserve sequence order.
735
750
 
736
- Equivalent functionality to these four methods is provided by `IOverlappingIntervalIndex.gatherIterationResults`.
751
+ Equivalent functionality to these four methods is provided by `IOverlappingIntervalIndex.gatherIterationResults`.
737
752
 
738
- - `previousInterval` and `nextInterval` - These functionalities are moved to the `EndpointIndex`. Users are advised to
739
- independently attach the index to the collection and utilize the API accordingly, for instance:
753
+ - `previousInterval` and `nextInterval` - These functionalities are moved to the `EndpointIndex`. Users are advised to
754
+ independently attach the index to the collection and utilize the API accordingly, for instance:
740
755
 
741
- ```typescript
742
- const endpointIndex = createEndpointIndex(client, helpers);
743
- collection.attachIndex(endpointIndex);
756
+ ```typescript
757
+ const endpointIndex = createEndpointIndex(client, helpers);
758
+ collection.attachIndex(endpointIndex);
744
759
 
745
- const result1 = endpointIndex.previousInterval(pos);
746
- const result2 = endpointIndex.nextInterval(pos);
747
- ```
760
+ const result1 = endpointIndex.previousInterval(pos);
761
+ const result2 = endpointIndex.nextInterval(pos);
762
+ ```
748
763
 
749
764
  ## 2.0.0-internal.5.3.0
750
765
 
@@ -754,53 +769,53 @@ Dependency updates only.
754
769
 
755
770
  ### Minor Changes
756
771
 
757
- - Deprecate ISegment.parent ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
772
+ - Deprecate ISegment.parent ([#16097](https://github.com/microsoft/FluidFramework/issues/16097)) [9486bec0ea](https://github.com/microsoft/FluidFramework/commits/9486bec0ea2f9f1dd3e40fc3b4c42af6b6a44697)
758
773
 
759
- This change deprecates the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
774
+ This change deprecates the parent property on the ISegment interface. The property will still exist, but should not generally be used by outside consumers.
760
775
 
761
- 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.
776
+ 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.
762
777
 
763
- Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
778
+ Please change those checks to use the following `"parent" in segment && segment.parent !== undefined`
764
779
 
765
- - slide parameter in changeInterval event ([#16117](https://github.com/microsoft/FluidFramework/issues/16117)) [46f74fe568](https://github.com/microsoft/FluidFramework/commits/46f74fe5684e44df436ed28ea41c98ca146b03cc)
780
+ - slide parameter in changeInterval event ([#16117](https://github.com/microsoft/FluidFramework/issues/16117)) [46f74fe568](https://github.com/microsoft/FluidFramework/commits/46f74fe5684e44df436ed28ea41c98ca146b03cc)
766
781
 
767
- The changeInterval event listener has a new parameter "slide" that is true if the event was caused by the interval endpoint sliding from a removed range.
782
+ The changeInterval event listener has a new parameter "slide" that is true if the event was caused by the interval endpoint sliding from a removed range.
768
783
 
769
784
  ## 2.0.0-internal.5.1.0
770
785
 
771
786
  ### Minor Changes
772
787
 
773
- - New APIs for interval querying by range ([#15837](https://github.com/microsoft/FluidFramework/issues/15837)) [2a4242e1b5](https://github.com/microsoft/FluidFramework/commits/2a4242e1b5f15442b13ae413124ec76315a4cc52)
788
+ - New APIs for interval querying by range ([#15837](https://github.com/microsoft/FluidFramework/issues/15837)) [2a4242e1b5](https://github.com/microsoft/FluidFramework/commits/2a4242e1b5f15442b13ae413124ec76315a4cc52)
774
789
 
775
- SharedString now supports querying intervals whose start/end-points fall in a specified range.
790
+ SharedString now supports querying intervals whose start/end-points fall in a specified range.
776
791
 
777
792
  ## 2.0.0-internal.5.0.0
778
793
 
779
794
  ### Major Changes
780
795
 
781
- - The following types have been removed: `IntervalCollection`, `CompressedSerializedInterval`, [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
782
- `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`. These types were deprecated in version
783
- 2.0.0-internal.4.4.0.
796
+ - The following types have been removed: `IntervalCollection`, `CompressedSerializedInterval`, [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
797
+ `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`. These types were deprecated in version
798
+ 2.0.0-internal.4.4.0.
784
799
 
785
800
  ## 2.0.0-internal.4.4.0
786
801
 
787
802
  ### Minor Changes
788
803
 
789
- - `IntervalCollection` has been deprecated in favor of an interface (`IIntervalCollection`) containing its public API. ([#15774](https://github.com/microsoft/FluidFramework/pull/15774)) [8c6e76ab75](https://github.com/microsoft/FluidFramework/commits/8c6e76ab753d4ec0cc43bdd6ed04db905391ef2e)
790
- Several types transitively referenced by `IntervalCollection` implementation details have also been deprecated:
791
- `CompressedSerializedInterval`, `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`.
792
- - 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)
793
- - Experimental feature: An initial implementation of "interval stickiness". This experimental feature can only be used by ([#15423](https://github.com/microsoft/FluidFramework/pull/15423)) [8ba75c508f](https://github.com/microsoft/FluidFramework/commits/8ba75c508ff2370f3de0c9f63390f90a12d9bca2)
794
- enabling the feature flag "intervalStickinessEnabled".
795
- - New feature: `IntervalCollection`s now have an `attachIndex` and `detachIndex` API for interval querying. ([#15683](https://github.com/microsoft/FluidFramework/pull/15683)) [f5db26a122](https://github.com/microsoft/FluidFramework/commits/f5db26a122735cf12dc0477b37d9297f7f3ae602)
804
+ - `IntervalCollection` has been deprecated in favor of an interface (`IIntervalCollection`) containing its public API. ([#15774](https://github.com/microsoft/FluidFramework/pull/15774)) [8c6e76ab75](https://github.com/microsoft/FluidFramework/commits/8c6e76ab753d4ec0cc43bdd6ed04db905391ef2e)
805
+ Several types transitively referenced by `IntervalCollection` implementation details have also been deprecated:
806
+ `CompressedSerializedInterval`, `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`.
807
+ - 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)
808
+ - Experimental feature: An initial implementation of "interval stickiness". This experimental feature can only be used by ([#15423](https://github.com/microsoft/FluidFramework/pull/15423)) [8ba75c508f](https://github.com/microsoft/FluidFramework/commits/8ba75c508ff2370f3de0c9f63390f90a12d9bca2)
809
+ enabling the feature flag "intervalStickinessEnabled".
810
+ - New feature: `IntervalCollection`s now have an `attachIndex` and `detachIndex` API for interval querying. ([#15683](https://github.com/microsoft/FluidFramework/pull/15683)) [f5db26a122](https://github.com/microsoft/FluidFramework/commits/f5db26a122735cf12dc0477b37d9297f7f3ae602)
796
811
 
797
812
  ## 2.0.0-internal.4.1.0
798
813
 
799
814
  ### Minor Changes
800
815
 
801
- - IntervalConflictResolver deprecation ([#15089](https://github.com/microsoft/FluidFramework/pull-requests/15089)) [38345841a7](https://github.com/microsoft/FluidFramework/commits/38345841a75d68e94748823c3da5078a2fc57449)
816
+ - IntervalConflictResolver deprecation ([#15089](https://github.com/microsoft/FluidFramework/pull-requests/15089)) [38345841a7](https://github.com/microsoft/FluidFramework/commits/38345841a75d68e94748823c3da5078a2fc57449)
802
817
 
803
- In `SharedString`, interval conflict resolvers have been unused since [this
804
- change](https://github.com/microsoft/FluidFramework/pull/6407), which added support for multiple intervals at the same
805
- position. As such, any existing usages can be removed. Related APIs have been deprecated and will be removed in an
806
- upcoming release.
818
+ In `SharedString`, interval conflict resolvers have been unused since [this
819
+ change](https://github.com/microsoft/FluidFramework/pull/6407), which added support for multiple intervals at the same
820
+ position. As such, any existing usages can be removed. Related APIs have been deprecated and will be removed in an
821
+ upcoming release.