@fluidframework/sequence 2.30.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 +506 -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 +19 -22
  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,9 @@
1
1
  # @fluidframework/sequence
2
2
 
3
+ ## 2.31.0
4
+
5
+ Dependency updates only.
6
+
3
7
  ## 2.30.0
4
8
 
5
9
  Dependency updates only.
@@ -16,57 +20,57 @@ Dependency updates only.
16
20
 
17
21
  ### Minor Changes
18
22
 
19
- - 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)
20
24
 
21
- To avoid future versions of DDSes with new Op types causing silent data corruption and de-sync between clients,
22
- DDSes should error when unable to apply an Op.
23
- 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.
24
28
 
25
- If updating applications using SharedMap, SharedIntervalCollection and AttributableMap use a newer version which adds Ops types in the future,
26
- old clients which are old enough to be from before this fix will ignore the new ops instead of erroring.
27
- 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.
28
32
 
29
33
  ## 2.20.0
30
34
 
31
35
  ### Minor Changes
32
36
 
33
- - 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)
34
38
 
35
- 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.
36
- [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)
37
41
 
38
- 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`.
39
43
 
40
- 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:
41
45
 
42
- ```diff
43
- - if(segment.removedSeq === undefined){
44
- + if(!segmentIsRemoved(segment)){
45
- ```
46
+ ```diff
47
+ - if(segment.removedSeq === undefined){
48
+ + if(!segmentIsRemoved(segment)){
49
+ ```
46
50
 
47
- The following properties are removed from `ISegment` and its implementations:
48
-
49
- - clientId
50
- - index
51
- - localMovedSeq
52
- - localRefs
53
- - localRemovedSeq
54
- - localSeq
55
- - movedClientsIds
56
- - movedSeq
57
- - movedSeqs
58
- - ordinal
59
- - removedClientIds
60
- - removedSeq
61
- - seq
62
- - wasMovedOnInsert
63
-
64
- Additionally, the following types are also removed:
65
-
66
- - IMergeNodeCommon
67
- - IMoveInfo
68
- - IRemovalInfo
69
- - LocalReferenceCollection
51
+ The following properties are removed from `ISegment` and its implementations:
52
+
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
70
74
 
71
75
  ## 2.13.0
72
76
 
@@ -76,42 +80,42 @@ Dependency updates only.
76
80
 
77
81
  ### Minor Changes
78
82
 
79
- - 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)
80
84
 
81
- 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.
82
86
 
83
- 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`.
84
88
 
85
- 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:
86
90
 
87
- ```diff
88
- - if(segment.removedSeq === undefined){
89
- + if(!segmentIsRemoved(segment)){
90
- ```
91
+ ```diff
92
+ - if(segment.removedSeq === undefined){
93
+ + if(!segmentIsRemoved(segment)){
94
+ ```
91
95
 
92
- The following properties are deprecated on ISegment and its implementations:
93
-
94
- - clientId
95
- - index
96
- - localMovedSeq
97
- - localRefs
98
- - localRemovedSeq
99
- - localSeq
100
- - movedClientsIds
101
- - movedSeq
102
- - movedSeqs
103
- - ordinal
104
- - removedClientIds
105
- - removedSeq
106
- - seq
107
- - wasMovedOnInsert
108
-
109
- Additionally, the following types are also deprecated, and will become internal (i.e. users of the Fluid Framework will not have access to them):
110
-
111
- - IMergeNodeCommon
112
- - IMoveInfo
113
- - IRemovalInfo
114
- - LocalReferenceCollection
96
+ The following properties are deprecated on ISegment and its implementations:
97
+
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
115
119
 
116
120
  ## 2.11.0
117
121
 
@@ -121,80 +125,80 @@ Dependency updates only.
121
125
 
122
126
  ### Minor Changes
123
127
 
124
- - 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)
125
129
 
126
- 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.
127
131
 
128
- Removed types:
132
+ Removed types:
129
133
 
130
- - IMergeTreeTextHelper
131
- - MergeNode
132
- - ObliterateInfo
133
- - PropertiesManager
134
- - PropertiesRollback
135
- - SegmentGroup
136
- - SegmentGroupCollection
134
+ - IMergeTreeTextHelper
135
+ - MergeNode
136
+ - ObliterateInfo
137
+ - PropertiesManager
138
+ - PropertiesRollback
139
+ - SegmentGroup
140
+ - SegmentGroupCollection
137
141
 
138
- 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`.
139
143
 
140
- Removed functions:
144
+ Removed functions:
141
145
 
142
- - addProperties
143
- - ack
146
+ - addProperties
147
+ - ack
144
148
 
145
- Removed properties:
149
+ Removed properties:
146
150
 
147
- - propertyManager
148
- - segmentGroups
151
+ - propertyManager
152
+ - segmentGroups
149
153
 
150
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.2.0:
151
- [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)
152
156
 
153
- - 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)
154
158
 
155
- 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.
156
160
 
157
- 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.
158
162
 
159
- ### Key Features and Use Cases:
163
+ ### Key Features and Use Cases:
160
164
 
161
- - **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.
162
- - **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.
163
- - **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.
164
168
 
165
- ### Configuration and Compatibility Requirements:
169
+ ### Configuration and Compatibility Requirements:
166
170
 
167
- 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.
168
172
 
169
- ### Usage Example:
173
+ ### Usage Example:
170
174
 
171
- ```typescript
172
- sharedString.annotateAdjustRange(start, end, {
173
- key: { value: 5, min: 0, max: 10 },
174
- });
175
- ```
175
+ ```typescript
176
+ sharedString.annotateAdjustRange(start, end, {
177
+ key: { value: 5, min: 0, max: 10 },
178
+ });
179
+ ```
176
180
 
177
- - 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)
178
182
 
179
- 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.
180
184
 
181
- 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:
182
186
 
183
- - AttributionPolicy
184
- - IClientEvents
185
- - IMergeTreeAttributionOptions
186
- - SharedSegmentSequence
187
- - SharedStringClass
187
+ - AttributionPolicy
188
+ - IClientEvents
189
+ - IMergeTreeAttributionOptions
190
+ - SharedSegmentSequence
191
+ - SharedStringClass
188
192
 
189
- 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:
190
194
 
191
- - SequenceInterval
192
- - SequenceEvent
193
- - SequenceDeltaEvent
194
- - SequenceMaintenanceEvent
195
+ - SequenceInterval
196
+ - SequenceEvent
197
+ - SequenceDeltaEvent
198
+ - SequenceMaintenanceEvent
195
199
 
196
- The initial deprecations of the now changed or removed types were announced in Fluid Framework v2.4.0:
197
- [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)
198
202
 
199
203
  ## 2.5.0
200
204
 
@@ -204,24 +208,24 @@ Dependency updates only.
204
208
 
205
209
  ### Minor Changes
206
210
 
207
- - 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)
208
212
 
209
- 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.
210
214
 
211
- 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:
212
216
 
213
- - AttributionPolicy
214
- - IClientEvents
215
- - IMergeTreeAttributionOptions
216
- - SharedSegmentSequence
217
- - SharedStringClass
217
+ - AttributionPolicy
218
+ - IClientEvents
219
+ - IMergeTreeAttributionOptions
220
+ - SharedSegmentSequence
221
+ - SharedStringClass
218
222
 
219
- 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:
220
224
 
221
- - SequenceInterval
222
- - SequenceEvent
223
- - SequenceDeltaEvent
224
- - SequenceMaintenanceEvent
225
+ - SequenceInterval
226
+ - SequenceEvent
227
+ - SequenceDeltaEvent
228
+ - SequenceMaintenanceEvent
225
229
 
226
230
  ## 2.3.0
227
231
 
@@ -231,14 +235,14 @@ Dependency updates only.
231
235
 
232
236
  ### Minor Changes
233
237
 
234
- - 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)
235
239
 
236
- The `PropertyManager` class, along with the `propertyManager` properties and `addProperties` functions on segments and intervals, are not intended for external use.
237
- 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:
238
242
 
239
- - There are no scenarios where they need to be used directly.
240
- - Using them directly will cause eventual consistency problems.
241
- - 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.
242
246
 
243
247
  ## 2.1.0
244
248
 
@@ -248,286 +252,287 @@ Dependency updates only.
248
252
 
249
253
  ### Minor Changes
250
254
 
251
- - 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)
252
256
 
253
- Update package implementations to use TypeScript 5.4.5.
257
+ Update package implementations to use TypeScript 5.4.5.
254
258
 
255
- - 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)
256
260
 
257
- 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.
258
262
 
259
- 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.
260
264
 
261
265
  ## 2.0.0-rc.4.0.0
262
266
 
263
267
  ### Minor Changes
264
268
 
265
- - 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)
266
270
 
267
- Most users of `SharedString` should be unaffected as long as they stick to the factory patterns supported by ISharedObjectKind.
268
- 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`.
269
273
 
270
- - 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)
271
275
 
272
- Split IFluidHandle into two interfaces, `IFluidHandle` and `IFluidHandleInternal`.
273
- 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`.
274
278
 
275
- External implementation of the `IFluidHandle` interface are not supported: this change makes the typing better convey this using the `ErasedType` pattern.
276
- 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.
277
- 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.
278
282
 
279
283
  ## 2.0.0-rc.3.0.0
280
284
 
281
285
  ### Major Changes
282
286
 
283
- - 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)
284
288
 
285
- Fluid Framework packages have been updated to use the [package.json "exports"
286
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
287
- 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.
288
292
 
289
- 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:
290
294
 
291
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
292
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
295
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
296
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
293
297
 
294
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
295
- for use with modern versions of Node.js _and_ Bundlers.
296
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
297
- 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.
298
302
 
299
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
300
- 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.**
301
305
 
302
306
  ## 2.0.0-rc.2.0.0
303
307
 
304
308
  ### Minor Changes
305
309
 
306
- - 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)
307
311
 
308
- 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.
309
313
 
310
314
  ## 2.0.0-rc.1.0.0
311
315
 
312
316
  ### Minor Changes
313
317
 
314
- - 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)
315
319
 
316
- 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)
317
321
 
318
- - @fluidframework/gitresources
319
- - @fluidframework/server-kafka-orderer
320
- - @fluidframework/server-lambdas
321
- - @fluidframework/server-lambdas-driver
322
- - @fluidframework/server-local-server
323
- - @fluidframework/server-memory-orderer
324
- - @fluidframework/protocol-base
325
- - @fluidframework/server-routerlicious
326
- - @fluidframework/server-routerlicious-base
327
- - @fluidframework/server-services
328
- - @fluidframework/server-services-client
329
- - @fluidframework/server-services-core
330
- - @fluidframework/server-services-ordering-kafkanode
331
- - @fluidframework/server-services-ordering-rdkafka
332
- - @fluidframework/server-services-ordering-zookeeper
333
- - @fluidframework/server-services-shared
334
- - @fluidframework/server-services-telemetry
335
- - @fluidframework/server-services-utils
336
- - @fluidframework/server-test-utils
337
- - 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
338
342
 
339
- - 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)
340
344
 
341
- The previously deprecated signature of `IntervalCollection.add` that takes an `IntervalType` as a parameter is now being
342
- removed. The new signature is called without the type parameter and takes the `start`, `end`, and `properties`
343
- 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.
344
348
 
345
- - 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)
346
350
 
347
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
348
- 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)
349
353
 
350
- - 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)
351
355
 
352
- 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.
353
357
 
354
- - 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)
355
359
 
356
- 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.
357
361
 
358
- 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.
359
363
 
360
- - 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)
361
365
 
362
- 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.
363
367
 
364
368
  ## 2.0.0-internal.8.0.0
365
369
 
366
370
  ### Major Changes
367
371
 
368
- - sequence: Some function return types are now void instead of any [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
369
-
370
- The return types of some functions have changed from `any` to `void` because the projects are now being compiled with
371
- the `noImplicitAny` TypeScript compilation option. This does not represent a logic change and only serves to make the
372
- typing of these functions more accurate.
373
-
374
- - sequence: Add experimental support for the obliterate operation [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
375
-
376
- This change adds experimental support for _obliterate_, a form of _remove_ that deletes concurrently inserted segments.
377
- To use, enable the `mergeTreeEnableObliterate` feature flag and call the new `obliterateRange` functions.
378
-
379
- Note: this change may cause compilation errors for those attaching event listeners. As long as obliterate isn't used in
380
- current handlers, their current implementation is sound.
381
-
382
- - datastore-definitions: Jsonable and Serializable now require a generic parameter [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
383
-
384
- The `Jsonable` and `Serializable` types from @fluidframework/datastore-definitions now require a generic parameter and
385
- if that type is `any` or `unknown`will return a new result `JsonableTypeWith<>` that more accurately represents the
386
- limitation of serialization.
387
-
388
- Additional modifications:
389
-
390
- - `Jsonable`'s `TReplacement` parameter default has also been changed from `void` to `never`, which now disallows
391
- `void`.
392
- - Unrecognized primitive types like `symbol` are now filtered to `never` instead of `{}`.
393
- - Recursive types with arrays (`[]`) are now supported.
394
-
395
- `Serializable` is commonly used for DDS values and now requires more precision when using them. For example SharedMatrix
396
- (unqualified) has an `any` default that meant values were `Serializable<any>` (i.e. `any`), but now `Serializable<any>`
397
- is `JsonableTypeWith<IFluidHandle>` which may be problematic for reading or writing. Preferred correction is to specify
398
- the value type but casting through `any` may provide a quick fix.
399
-
400
- - sequence: Removed Marker.hasSimpleType and made sequence operations return void [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
401
-
402
- `Marker.hasSimpleType` was unused. Sequence operations now no longer return IMergeTree\*Msg types.
403
- These types are redundant with the input.
404
-
405
- - sequence: Removed several public exports from merge-tree and sequence [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
406
-
407
- The following APIs have been removed or marked internal in merge-tree and sequence. This functionality was never
408
- intended for public export.
409
-
410
- - `BaseSegment.ack`
411
- - `Client`
412
- - `CollaborationWindow`
413
- - `compareNumbers`
414
- - `compareStrings`
415
- - `createAnnotateMarkerOp`
416
- - `createAnnotateRangeOp`
417
- - `createGroupOp`
418
- - `createInsertOp`
419
- - `createInsertSegmentOp`
420
- - `createRemoveRangeOp`
421
- - `IConsensusInfo`
422
- - `IConsensusValue`
423
- - `IMarkerModifiedAction`
424
- - `IMergeTreeTextHelper`
425
- - `LocalClientId`
426
- - `MergeTreeDeltaCallback`
427
- - `MergeTreeMaintenanceCallback`
428
- - `NonCollabClient`
429
- - `SegmentAccumulator`
430
- - `SegmentGroup`
431
- - `SegmentGroupCollection.enqueue`
432
- - `SegmentGroupCollection.dequeue`
433
- - `SegmentGroupCollection.pop`
434
- - `SortedSegmentSet`
435
- - `SortedSegmentSetItem`
436
- - `SortedSet`
437
- - `toRemovalInfo`
438
- - `TreeMaintenanceSequenceNumber`
439
- - `UniversalSequenceNumber`
440
- - `SharedSegmentSequence.submitSequenceMessage`
441
-
442
- - sequence: Remove support for combining ops [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
443
-
444
- In sequence, removed the following APIs:
445
-
446
- - the `combiningOp` argument from `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`
447
- - the function `SharedString.annotateMarkerNotifyConsensus`
448
-
449
- In merge-tree, removed the following APIs:
450
-
451
- - `ICombiningOp`
452
- - the `combiningOp` field from `IMergeTreeAnnotateMsg`
453
- - the `op` argument from `BaseSegment.addProperties`, `PropertiesManager.addProperties`, and `ReferencePosition.addProperties`
454
- - the enum variant `PropertiesRollback.Rewrite`.
455
-
456
- This functionality was largely unused and had no test coverage.
457
-
458
- - sequence: Removed several APIs [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
459
-
460
- The following APIs have been removed:
461
-
462
- - `Client.getStackContext`
463
- - `SharedSegmentSequence.getStackContext`
464
- - `IntervalType.Nest`
465
- - `ReferenceType.NestBegin`
466
- - `ReferenceType.NestEnd`
467
- - `internedSpaces`
468
- - `RangeStackMap`
469
- - `refGetRangeLabels`
470
- - `refHasRangeLabel`
471
- - `refHasRangeLabels`
472
-
473
- 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.
474
478
 
475
479
  ## 2.0.0-internal.7.4.0
476
480
 
477
481
  ### Minor Changes
478
482
 
479
- - 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)
480
484
 
481
- Instead of having two separate methods to change the endpoints of an interval and the properties, they have been combined into a
482
- single method that will change the endpoints, properties, or both, depending on the arguments passed in. The signature
483
- 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.
484
488
 
485
- The new way to use the change method is to call it with an interval id as the first parameter and an object containing
486
- the desired portions of the interval to update as the second parameter. For the object parameter, the `endpoints` field
487
- should be an object containing the new `start` and `end` values for the interval, and the `properties` field should be
488
- an object containing the new properties for the interval. Either the `endpoints` field or the `properties` field can be
489
- 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`.
490
494
 
491
- The new usage of the change method is as follows:
495
+ The new usage of the change method is as follows:
492
496
 
493
- Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`
497
+ Change interval endpoints: `change(id, { endpoints: { start: 1, end: 4 } });`
494
498
 
495
- Change interval properties: `change(id { props: { a: 1 } });`
499
+ Change interval properties: `change(id { props: { a: 1 } });`
496
500
 
497
- 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 } });`
498
502
 
499
- - 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)
500
504
 
501
- The `findOverlappingIntervals` API from `IntervalCollection` has been deprecated. This functionality is moved to the
502
- `OverlappingIntervalsIndex`. Users should independently attach the index to the collection and utilize the API
503
- 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:
504
508
 
505
- ```typescript
506
- const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
507
- collection.attachIndex(overlappingIntervalsIndex);
508
- const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
509
- ```
509
+ ```typescript
510
+ const overlappingIntervalsIndex =
511
+ createOverlappingIntervalsIndex(sharedString);
512
+ collection.attachIndex(overlappingIntervalsIndex);
513
+ const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
514
+ ```
510
515
 
511
- - 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)
512
517
 
513
- The `previousInterval` and `nextInterval` APIs from `IntervalCollection` have been deprecated. These functions are moved
514
- to the `EndpointIndex`. Users should independently attach the index to the collection and utilize the API accordingly,
515
- 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:
516
521
 
517
- ```typescript
518
- const endpointIndex = createEndpointIndex(sharedString);
519
- collection.attachIndex(endpointIndex);
522
+ ```typescript
523
+ const endpointIndex = createEndpointIndex(sharedString);
524
+ collection.attachIndex(endpointIndex);
520
525
 
521
- const result1 = endpointIndex.previousInterval(pos);
522
- const result2 = endpointIndex.nextInterval(pos);
523
- ```
526
+ const result1 = endpointIndex.previousInterval(pos);
527
+ const result2 = endpointIndex.nextInterval(pos);
528
+ ```
524
529
 
525
- - 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)
526
531
 
527
- The `ICombiningOp` and its usage in various APIs has been deprecated. APIs affected include
528
- `SharedSegmentSequence.annotateRange` and `SharedString.annotateMarker`. `SharedString.annotateMarkerNotifyConsensus`
529
- has also been deprecated, because it is related to combining ops. This functionality had no test coverage and was
530
- 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.
531
536
 
532
537
  ## 2.0.0-internal.7.3.0
533
538
 
@@ -537,100 +542,100 @@ Dependency updates only.
537
542
 
538
543
  ### Minor Changes
539
544
 
540
- - 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)
541
546
 
542
- 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.
543
548
 
544
549
  ## 2.0.0-internal.7.1.0
545
550
 
546
551
  ### Minor Changes
547
552
 
548
- - 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)
549
554
 
550
- The `intervalType` parameter is being removed from `IntervalCollection.add`. The new usage requires calling add with an object containing each of the desired parameters.
551
- 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 }})`
552
557
 
553
- The signature of `IntervalCollection.change` is also being updated to an object containing the desired parameters,
554
- instead of the existing list of parameters. In addition, `changeProperties` will be removed, so in order to change the
555
- properties of an interval, the `change` method (with the updated signature) will be used. The id of the interval is not
556
- 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`.
557
562
 
558
- Examples:
563
+ Examples:
559
564
 
560
- - Change interval endpoints: `change(intervalId, { start: 3, end: 4 })`
561
- - 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 } })`
562
567
 
563
- - 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)
564
569
 
565
- The following classes and functions have been deprecated. The functionality has poor test coverage and is largely
566
- 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.
567
572
 
568
- - IntervalType.Nest
569
- - internedSpaces
570
- - RangeStackMap
571
- - refGetRangeLabels
572
- - refHasRangeLabel
573
- - refHasRangeLabels
573
+ - IntervalType.Nest
574
+ - internedSpaces
575
+ - RangeStackMap
576
+ - refGetRangeLabels
577
+ - refHasRangeLabel
578
+ - refHasRangeLabels
574
579
 
575
580
  ## 2.0.0-internal.7.0.0
576
581
 
577
582
  ### Major Changes
578
583
 
579
- - 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)
580
585
 
581
- 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.
582
587
 
583
- - 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)
584
589
 
585
- 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.
586
591
 
587
- - 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)
588
593
 
589
- This included the following changes from the protocol-definitions release:
594
+ This included the following changes from the protocol-definitions release:
590
595
 
591
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
592
- submitted by clients to the server and the resulting signals sent from the server to clients.
593
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
594
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
595
- ISignalMessageBase interface that contains common members.
596
- - 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.
597
602
 
598
- - 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)
599
604
 
600
- 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:
601
606
 
602
- - @fluidframework/gitresources: 2.0.1
603
- - @fluidframework/server-kafka-orderer: 2.0.1
604
- - @fluidframework/server-lambdas: 2.0.1
605
- - @fluidframework/server-lambdas-driver: 2.0.1
606
- - @fluidframework/server-local-server: 2.0.1
607
- - @fluidframework/server-memory-orderer: 2.0.1
608
- - @fluidframework/protocol-base: 2.0.1
609
- - @fluidframework/server-routerlicious: 2.0.1
610
- - @fluidframework/server-routerlicious-base: 2.0.1
611
- - @fluidframework/server-services: 2.0.1
612
- - @fluidframework/server-services-client: 2.0.1
613
- - @fluidframework/server-services-core: 2.0.1
614
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
615
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
616
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
617
- - @fluidframework/server-services-shared: 2.0.1
618
- - @fluidframework/server-services-telemetry: 2.0.1
619
- - @fluidframework/server-services-utils: 2.0.1
620
- - @fluidframework/server-test-utils: 2.0.1
621
- - 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
622
627
 
623
- - 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)
624
629
 
625
- 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.
626
631
 
627
- - 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)
628
633
 
629
- 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.
630
635
 
631
- - 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)
632
637
 
633
- 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.
634
639
 
635
640
  ## 2.0.0-internal.6.4.0
636
641
 
@@ -640,53 +645,53 @@ Dependency updates only.
640
645
 
641
646
  ### Minor Changes
642
647
 
643
- - 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)
644
649
 
645
- 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
646
651
 
647
652
  ## 2.0.0-internal.6.2.0
648
653
 
649
654
  ### Minor Changes
650
655
 
651
- - 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)
652
657
 
653
- Deprecate SharedSegmentSequence.getStackContext and Client.getStackContext (and the enums ReferenceType.NestBegin and NestEnd they use).
654
- 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.
655
660
 
656
- - 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)
657
662
 
658
- The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
659
- 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:
660
665
 
661
- - interface IDisposable
662
- - interface IErrorEvent
663
- - interface IErrorEvent
664
- - interface IEvent
665
- - interface IEventProvider
666
- - interface ILoggingError
667
- - interface ITaggedTelemetryPropertyType
668
- - interface ITelemetryBaseEvent
669
- - interface ITelemetryBaseLogger
670
- - interface ITelemetryErrorEvent
671
- - interface ITelemetryGenericEvent
672
- - interface ITelemetryLogger
673
- - interface ITelemetryPerformanceEvent
674
- - interface ITelemetryProperties
675
- - type ExtendEventProvider
676
- - type IEventThisPlaceHolder
677
- - type IEventTransformer
678
- - type ReplaceIEventThisPlaceHolder
679
- - type ReplaceIEventThisPlaceHolder
680
- - type TelemetryEventCategory
681
- - 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
682
687
 
683
- - 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)
684
689
 
685
- The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.
690
+ The types SharedSequence, SubSequence, and IJSONRunSegment are being deprecated and moved.
686
691
 
687
- 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.
688
693
 
689
- 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.
690
695
 
691
696
  ## 2.0.0-internal.6.1.0
692
697
 
@@ -696,59 +701,65 @@ Dependency updates only.
696
701
 
697
702
  ### Major Changes
698
703
 
699
- - IntervalConflictResolver removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
704
+ - IntervalConflictResolver removed [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
700
705
 
701
- 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.
702
707
 
703
- - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
708
+ - Remove ISegment.parent [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
704
709
 
705
- 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.
706
711
 
707
- 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.
708
713
 
709
- 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`
710
715
 
711
- - 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)
712
717
 
713
- 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.
714
719
 
715
720
  ## 2.0.0-internal.5.4.0
716
721
 
717
722
  ### Minor Changes
718
723
 
719
- - 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)
720
725
 
721
- The following APIs are now deprecated from `IntervalCollection`:
726
+ The following APIs are now deprecated from `IntervalCollection`:
722
727
 
723
- - `findOverlappingIntervals` and `gatherIterationResults` - these functions are moved to
724
- the `OverlappingIntervalsIndex`. Users are advised to independently attach the index to the collection and utilize the
725
- 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:
726
731
 
727
- ```typescript
728
- const overlappingIntervalsIndex = createOverlappingIntervalsIndex(client, helpers);
729
- collection.attachIndex(overlappingIntervalsIndex);
730
- 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
+ );
731
742
 
732
- const result2 = [];
733
- overlappingIntervalsIndex.gatherIterationResults(result2, true);
734
- ```
743
+ const result2 = [];
744
+ overlappingIntervalsIndex.gatherIterationResults(result2, true);
745
+ ```
735
746
 
736
- - `CreateBackwardIteratorWithEndPosition`, `CreateBackwardIteratorWithStartPosition`,
737
- `CreateForwardIteratorWithEndPosition` and `CreateForwardIteratorWithStartPosition` - only the default iterator will be
738
- 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.
739
750
 
740
- Equivalent functionality to these four methods is provided by `IOverlappingIntervalIndex.gatherIterationResults`.
751
+ Equivalent functionality to these four methods is provided by `IOverlappingIntervalIndex.gatherIterationResults`.
741
752
 
742
- - `previousInterval` and `nextInterval` - These functionalities are moved to the `EndpointIndex`. Users are advised to
743
- 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:
744
755
 
745
- ```typescript
746
- const endpointIndex = createEndpointIndex(client, helpers);
747
- collection.attachIndex(endpointIndex);
756
+ ```typescript
757
+ const endpointIndex = createEndpointIndex(client, helpers);
758
+ collection.attachIndex(endpointIndex);
748
759
 
749
- const result1 = endpointIndex.previousInterval(pos);
750
- const result2 = endpointIndex.nextInterval(pos);
751
- ```
760
+ const result1 = endpointIndex.previousInterval(pos);
761
+ const result2 = endpointIndex.nextInterval(pos);
762
+ ```
752
763
 
753
764
  ## 2.0.0-internal.5.3.0
754
765
 
@@ -758,53 +769,53 @@ Dependency updates only.
758
769
 
759
770
  ### Minor Changes
760
771
 
761
- - 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)
762
773
 
763
- 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.
764
775
 
765
- 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.
766
777
 
767
- 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`
768
779
 
769
- - 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)
770
781
 
771
- 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.
772
783
 
773
784
  ## 2.0.0-internal.5.1.0
774
785
 
775
786
  ### Minor Changes
776
787
 
777
- - 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)
778
789
 
779
- 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.
780
791
 
781
792
  ## 2.0.0-internal.5.0.0
782
793
 
783
794
  ### Major Changes
784
795
 
785
- - The following types have been removed: `IntervalCollection`, `CompressedSerializedInterval`, [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
786
- `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`. These types were deprecated in version
787
- 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.
788
799
 
789
800
  ## 2.0.0-internal.4.4.0
790
801
 
791
802
  ### Minor Changes
792
803
 
793
- - `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)
794
- Several types transitively referenced by `IntervalCollection` implementation details have also been deprecated:
795
- `CompressedSerializedInterval`, `IntervalCollectionIterator`, and `ISerializedIntervalCollectionV2`.
796
- - 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)
797
- - 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)
798
- enabling the feature flag "intervalStickinessEnabled".
799
- - 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)
800
811
 
801
812
  ## 2.0.0-internal.4.1.0
802
813
 
803
814
  ### Minor Changes
804
815
 
805
- - 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)
806
817
 
807
- In `SharedString`, interval conflict resolvers have been unused since [this
808
- change](https://github.com/microsoft/FluidFramework/pull/6407), which added support for multiple intervals at the same
809
- position. As such, any existing usages can be removed. Related APIs have been deprecated and will be removed in an
810
- 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.