1## 6.5.0 (2024-12-09)
2
3### New features
4
5`RangeSet.compare` now supports a `boundChange` callback that is called when there's a change in the way ranges are split.
6
7## 6.4.1 (2024-02-19)
8
9### Bug fixes
10
11Fix an issue that caused widgets at the end of a mark decoration to be rendered in their own separate mark DOM element.
12
13## 6.4.0 (2023-12-28)
14
15### Bug fixes
16
17When multiple ranges in a single range set overlap, put the smaller ones inside the bigger ones, so that overlapping decorations don't break up each other's elements when coming from the same source.
18
19### New features
20
21Selection and selection range `eq` methods now support an optional argument that makes them also compare by cursor associativity.
22
23The `RangeSet.join` function can be used to join multiple range sets together.
24
25## 6.3.3 (2023-12-06)
26
27### Bug fixes
28
29Fix an issue where `Text.slice` and `Text.replace` could return objects with incorrect `length` when the given `from`/`to` values were out of range for the text.
30
31## 6.3.2 (2023-11-27)
32
33### Bug fixes
34
35Make sure transactions cannot add multiple selections when `allowMultipleSelections` is false.
36
37Fix a bug that caused `Text.iterLines` to not return empty lines at the end of the iterated ranges.
38
39## 6.3.1 (2023-10-18)
40
41### Bug fixes
42
43Give the tag property on `FacetReader` the type of the output type parameter to force TypeScript to infer the proper type when converting from `Facet` to `FacetReader`.
44
45## 6.3.0 (2023-10-12)
46
47### New features
48
49The new `FacetReader` type provides a way to export a read-only handle to a `Facet`.
50
51## 6.2.1 (2023-05-23)
52
53### Bug fixes
54
55Fix an issue that could cause `RangeSet.compare` to miss changes in the set of active ranges around a point range.
56
57## 6.2.0 (2022-12-26)
58
59### New features
60
61`EditorSelection.range` now accepts an optional 4th argument to specify the bidi level of the range's head position.
62
63## 6.1.4 (2022-11-15)
64
65### Bug fixes
66
67Fix a bug that caused the `openStart` value passed to span iterators to be incorrect around widgets in some circumstances.
68
69## 6.1.3 (2022-11-10)
70
71### Bug fixes
72
73Avoid unnecessary calls to computed facet getters when a state is reconfigured but no dependencies of the computed facet change.
74
75Fix an infinite loop in `RangeSet.eq` when the `to` parameter isn't given.
76
77## 6.1.2 (2022-09-21)
78
79### Bug fixes
80
81Fix an issue where, when multiple transaction extenders took effect, only the highest-precedence one was actually included in the transaction.
82
83## 6.1.1 (2022-08-03)
84
85### Bug fixes
86
87Fix a bug in range set span iteration that would cause decorations to be inappropriately split in some situations.
88
89## 6.1.0 (2022-06-30)
90
91### Bug fixes
92
93Refine change mapping to preserve insertions made by concurrent changes.
94
95### New features
96
97The `enables` option to `Facet.define` may now take a function, which will be called with the facet value to create the extensions.
98
99## 6.0.1 (2022-06-17)
100
101### Bug fixes
102
103Fix a problem that caused effects' `map` methods to be called with an incorrect change set when filtering changes.
104
105## 6.0.0 (2022-06-08)
106
107### Breaking changes
108
109Update dependencies to 6.0.0
110
111## 0.20.1 (2022-06-02)
112
113### New features
114
115`EditorView.phrase` now accepts additional arguments, which it will interpolate into the phrase in the place of `$` markers.
116
117## 0.20.0 (2022-04-20)
118
119### Breaking changes
120
121The deprecated precedence names `fallback`, `extend`, and `override` were removed from the library.
122
123### Bug fixes
124
125Fix a bug where, if an extension value occurs multiple times, its lowest, rather than highest precedence is used.
126
127Fix an issue where facets with computed inputs would unneccesarily have their outputs recreated on state reconfiguration.
128
129Fix a bug in the order in which new values for state fields and facets were computed, which could cause dynamic facets to hold the wrong value in some situations.
130
131### New features
132
133The exports from @codemirror/rangeset now live in this package.
134
135The exports from @codemirror/text now live in this package.
136
137## 0.19.9 (2022-02-16)
138
139### Bug fixes
140
141Mapping a non-empty selection range now always puts any newly inserted text on the sides of the range outside of the mapped version.
142
143## 0.19.8 (2022-02-15)
144
145### Bug fixes
146
147Fix a bug where facet values with computed inputs could incorrectly retain their old value on reconfiguration.
148
149## 0.19.7 (2022-02-11)
150
151### Bug fixes
152
153Avoid recomputing facets on state reconfiguration if that facet's inputs stayed precisely the same.
154
155Selection ranges created with `EditorSelection.range` will now have an assoc pointing at their anchor, when non-empty.
156
157## 0.19.6 (2021-11-19)
158
159### Bug fixes
160
161Fix a bug that caused facet compare functions to be called with an invalid value in some situations.
162
163Fix a bug that caused dynamic facet values to be incorrectly kept unchanged when reconfiguration changed one of their dependencies.
164
165## 0.19.5 (2021-11-10)
166
167### Bug fixes
168
169Fix a bug that would cause dynamic facet values influenced by a state reconfiguration to not properly recompute.
170
171## 0.19.4 (2021-11-05)
172
173### Bug fixes
174
175When reconfiguring a state, effects from the reconfiguring transaction can now be seen by newly added state fields.
176
177## 0.19.3 (2021-11-03)
178
179### New features
180
181The precedence levels (under `Prec`) now have more generic names, because their 'meaningful' names were entirely inappropriate in many situations.
182
183## 0.19.2 (2021-09-13)
184
185### New features
186
187The editor state now has a `readOnly` property with a matching facet to control its value.
188
189## 0.19.1 (2021-08-15)
190
191### Bug fixes
192
193Fix a bug where `wordAt` never returned a useful result.
194
195## 0.19.0 (2021-08-11)
196
197### Breaking changes
198
199User event strings now work differently—the events emitted by the core packages follow a different system, and hierarchical event tags can be created by separating the words with dots.
200
201### New features
202
203`languageDataAt` now takes an optional `side` argument to specificy which side of the position you're interested in.
204
205It is now possible to add a user event annotation with a direct `userEvent` property on a transaction spec.
206
207Transactions now have an `isUserEvent` method that can be used to check if it is (a subtype of) some user event type.
208
209## 0.18.7 (2021-05-04)
210
211### Bug fixes
212
213Fix an issue where state fields might be initialized with a state that they aren't actually part of during reconfiguration.
214
215## 0.18.6 (2021-04-12)
216
217### New features
218
219The new `EditorState.wordAt` method finds the word at a given position.
220
221## 0.18.5 (2021-04-08)
222
223### Bug fixes
224
225Fix an issue in the compiled output that would break the code when minified with terser.
226
227## 0.18.4 (2021-04-06)
228
229### New features
230
231The new `Transaction.remote` annotation can be used to mark and recognize transactions created by other actors.
232
233## 0.18.3 (2021-03-23)
234
235### New features
236
237The `ChangeDesc` class now has `toJSON` and `fromJSON` methods.
238
239## 0.18.2 (2021-03-14)
240
241### Bug fixes
242
243Fix unintended ES2020 output (the package contains ES6 code again).
244
245## 0.18.1 (2021-03-10)
246
247### New features
248
249The new `Compartment.get` method can be used to get the content of a compartment in a given state.
250
251## 0.18.0 (2021-03-03)
252
253### Breaking changes
254
255`tagExtension` and the `reconfigure` transaction spec property have been replaced with the concept of configuration compartments and reconfiguration effects (see `Compartment`, `StateEffect.reconfigure`, and `StateEffect.appendConfig`).
256
257## 0.17.2 (2021-02-19)
258
259### New features
260
261`EditorSelection.map` and `SelectionRange.map` now take an optional second argument to indicate which direction to map to.
262
263## 0.17.1 (2021-01-06)
264
265### New features
266
267The package now also exports a CommonJS module.
268
269## 0.17.0 (2020-12-29)
270
271### Breaking changes
272
273First numbered release.
274