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