Diffdown is a real-time collaborative Markdown editor/previewer built on the AT Protocol
diffdown.com
1## 6.10.2 (2026-02-06)
2
3### Bug fixes
4
5Move the selection to a less surprising place when undoing, moving the selection, redoing, then undoing again.
6
7## 6.10.1 (2025-12-17)
8
9### Bug fixes
10
11Fix a bug where `copyLineDown` would leave the cursor on the wrong line when it was at the start of the line.
12
13## 6.10.0 (2025-10-23)
14
15### New features
16
17The new `deleteGroupForwardWin` command provides by-group forward deletion using the Windows convention.
18
19## 6.9.0 (2025-10-02)
20
21### Bug fixes
22
23Prevent the default behavior of backspace and delete keys, to prevent the browser from doing anything creative when there's nothing to delete.
24
25### New features
26
27Implement new `addCursorAbove` and `addCursorBelow` commands. Bind them to Mod-Alt-ArrowUp/Down in the default keymap.
28
29## 6.8.1 (2025-03-31)
30
31### Bug fixes
32
33Fix an issue where creating a comment for a line that starts an inner language would use the comment style from the outer language.
34
35## 6.8.0 (2025-01-08)
36
37### New features
38
39The new `cursorGroupForwardWin` and `selectGroupForwardWin` commands implement Windows-style forward motion by group.
40
41## 6.7.1 (2024-10-21)
42
43### Bug fixes
44
45Change `toggleBlockCommentByLine` to not affect lines with the selection end right at their start.
46
47## 6.7.0 (2024-10-07)
48
49### Bug fixes
50
51Bind Shift-Enter to the same command as Enter in the default keymap, so that it doesn't do nothing when on an EditContext-supporting browser.
52
53### New features
54
55Add commands for by-string-index cursor motion that ignores text direction.
56
57## 6.6.2 (2024-09-17)
58
59### Bug fixes
60
61Fix an issue causing `selectParentSyntax` to not select syntax that is a direct child of the top node.
62
63Make `selectParentSyntax` return false when it doesn't change the selection.
64
65## 6.6.1 (2024-08-31)
66
67### Bug fixes
68
69Fix a bug in the undo history that would cause it to incorrectly track inverted effects when adding multiple edits to a single history event.
70
71## 6.6.0 (2024-06-04)
72
73### New features
74
75The new `toggleTabFocusMode` and `temporarilySetTabFocusMode` commands provide control over the view's tab-focus mode.
76
77The default keymap now binds Ctrl-m (Shift-Alt-m on macOS) to `toggleTabFocusMode`.
78
79## 6.5.0 (2024-04-19)
80
81### New features
82
83The `insertNewlineKeepIndent` command inserts a newline along with the same indentation as the line before.
84
85## 6.4.0 (2024-04-17)
86
87### Bug fixes
88
89Fix an issue where `deleteLine` sometimes leaves the cursor on the wrong line.
90
91### New features
92
93The new `deleteCharBackwardStrict` command just deletes a character, without further smart behavior around indentation.
94
95## 6.3.3 (2023-12-28)
96
97### Bug fixes
98
99Fix an issue causing cursor motion commands to not dispatch a transaction when the change only affects cursor associativity.
100
101## 6.3.2 (2023-11-28)
102
103### Bug fixes
104
105Fix a regression that caused `deleteCharBackward` to sometimes delete a large chunk of text.
106
107## 6.3.1 (2023-11-27)
108
109### Bug fixes
110
111When undoing, store the selection after the undone change with the redo event, so that redoing restores it.
112
113`deleteCharBackward` will no longer delete variant selector characters as separate characters.
114
115## 6.3.0 (2023-09-29)
116
117### Bug fixes
118
119Make it possible for `selectParentSyntax` to jump out of or into a syntax tree overlay.
120
121Make Cmd-Backspace and Cmd-Delete on macOS delete to the next line wrap point, not the start/end of the line.
122
123### New features
124
125The new `deleteLineBoundaryForward` and `deleteLineBoundaryBackward` commands delete to the start/end of the line or the next line wrapping point.
126
127## 6.2.5 (2023-08-26)
128
129### Bug fixes
130
131Make `insertNewlineAndIndent` properly count indentation for tabs when copying over the previous line's indentation.
132
133The various sub-word motion commands will now use `Intl.Segmenter`, when available, to stop at CJK language word boundaries.
134
135Fix a bug in `insertNewlineAndIndent` that would delete text between brackets if it had no corresponding AST node.
136
137## 6.2.4 (2023-05-03)
138
139### Bug fixes
140
141The by-subword motion commands now properly treat dashes, underscores, and similar as subword separators.
142
143## 6.2.3 (2023-04-19)
144
145### Bug fixes
146
147Block commenting the selection no longer includes indentation on the first line.
148
149## 6.2.2 (2023-03-10)
150
151### Bug fixes
152
153Fix a bug where line commenting got confused when commenting a range that crossed language boundaries.
154
155## 6.2.1 (2023-02-15)
156
157### Bug fixes
158
159Keep cursor position stable in `cursorPageUp`/`cursorPageDown` when there are panels or other scroll margins active.
160
161Make sure `toggleComment` doesn't get thrown off by local language nesting, by fetching the language data for the start of the selection line.
162
163## 6.2.0 (2023-01-18)
164
165### New features
166
167The new `joinToEvent` history configuration option allows you to provide custom logic that determines whether a new transaction is added to an existing history event.
168
169## 6.1.3 (2022-12-26)
170
171### Bug fixes
172
173Preserve selection bidi level when extending the selection, to prevent shift-selection from getting stuck in some kinds of bidirectional text.
174
175## 6.1.2 (2022-10-13)
176
177### Bug fixes
178
179Fix a bug that caused deletion commands on non-empty ranges to incorrectly return false and do nothing, causing the editor to fall back to native behavior.
180
181## 6.1.1 (2022-09-28)
182
183### Bug fixes
184
185Make sure the selection endpoints are moved out of atomic ranges when applying a deletion command to a non-empty selection.
186
187## 6.1.0 (2022-08-18)
188
189### Bug fixes
190
191Prevent native behavior on Ctrl/Cmd-ArrowLeft/ArrowRight bindings, so that browsers with odd bidi behavior won't do the wrong thing at start/end of line.
192
193Cmd-ArrowLeft/Right on macOS now moves the cursor in the direction of the arrow even in right-to-left content.
194
195### New features
196
197The new `cursorLineBoundaryLeft`/`Right` and `selectLineBoundaryLeft`/`Right` commands allow directional motion to line boundaries.
198
199## 6.0.1 (2022-06-30)
200
201### Bug fixes
202
203Announce to the screen reader when the selection is deleted.
204
205Also bind Ctrl-Shift-z to redo on Linux.
206
207## 6.0.0 (2022-06-08)
208
209### Bug fixes
210
211Fix a bug where by-page selection commands sometimes moved one line too far.
212
213## 0.20.0 (2022-04-20)
214
215### Breaking changes
216
217There is no longer a separate `commentKeymap`. Those bindings are now part of `defaultKeymap`.
218
219### Bug fixes
220
221Make `cursorPageUp` and `cursorPageDown` move by window height when the editor is higher than the window.
222
223Make sure the default behavior of Home/End is prevented, since it could produce unexpected results on macOS.
224
225### New features
226
227The exports from @codemirror/comment are now available in this package.
228
229The exports from the @codemirror/history package are now available from this package.
230
231## 0.19.8 (2022-01-26)
232
233### Bug fixes
234
235`deleteCharBackward` now removes extending characters one at a time, rather than deleting the entire glyph at once.
236
237Alt-v is no longer bound in `emacsStyleKeymap` and macOS's `standardKeymap`, because macOS doesn't bind it by default and it conflicts with some keyboard layouts.
238
239## 0.19.7 (2022-01-11)
240
241### Bug fixes
242
243Don't bind Alt-\< and Alt-> on macOS by default, since those interfere with some keyboard layouts. Make cursorPageUp/Down scroll the view to keep the cursor in place
244
245`cursorPageUp` and `cursorPageDown` now scroll the view by the amount that the cursor moved.
246
247## 0.19.6 (2021-12-10)
248
249### Bug fixes
250
251The standard keymap no longer overrides Shift-Delete, in order to allow the native behavior of that key to happen on platforms that support it.
252
253## 0.19.5 (2021-09-21)
254
255### New features
256
257Adds an `insertBlankLine` command which creates an empty line below the selection, and binds it to Mod-Enter in the default keymap.
258
259## 0.19.4 (2021-09-13)
260
261### Bug fixes
262
263Make commands that affect the editor's content check `state.readOnly` and return false when that is true.
264
265## 0.19.3 (2021-09-09)
266
267### Bug fixes
268
269Make by-line cursor motion commands move the cursor to the start/end of the document when they hit the first/last line.
270
271Fix a bug where `deleteCharForward`/`Backward` behaved incorrectly when deleting directly before or after an atomic range.
272
273## 0.19.2 (2021-08-24)
274
275### New features
276
277New commands `cursorSubwordForward`, `cursorSubwordBackward`, `selectSubwordForward`, and `selectSubwordBackward` which implement motion by camel case subword.
278
279## 0.19.1 (2021-08-11)
280
281### Bug fixes
282
283Fix incorrect versions for @lezer dependencies.
284
285## 0.19.0 (2021-08-11)
286
287### Breaking changes
288
289Change default binding for backspace to `deleteCharBackward`, drop `deleteCodePointBackward`/`Forward` from the library.
290
291`defaultTabBinding` was removed.
292
293### Bug fixes
294
295Drop Alt-d, Alt-f, and Alt-b bindings from `emacsStyleKeymap` (and thus from the default macOS bindings).
296
297`deleteCharBackward` and `deleteCharForward` now take atomic ranges into account.
298
299### New features
300
301Attach more granular user event strings to transactions.
302
303The module exports a new binding `indentWithTab` that binds tab and shift-tab to `indentMore` and `indentLess`.
304
305## 0.18.3 (2021-06-11)
306
307### Bug fixes
308
309`moveLineDown` will no longer incorrectly grow the selection.
310
311Line-based commands will no longer include lines where a range selection ends right at the start of the line.
312
313## 0.18.2 (2021-05-06)
314
315### Bug fixes
316
317Use Ctrl-l, not Alt-l, to bind `selectLine` on macOS, to avoid conflicting with special-character-insertion bindings.
318
319Make the macOS Command-ArrowLeft/Right commands behave more like their native versions.
320
321## 0.18.1 (2021-04-08)
322
323### Bug fixes
324
325Also bind Shift-Backspace and Shift-Delete in the default keymap (to do the same thing as the Shift-less binding).
326
327### New features
328
329Adds a `deleteToLineStart` command.
330
331Adds bindings for Cmd-Delete and Cmd-Backspace on macOS.
332
333## 0.18.0 (2021-03-03)
334
335### Breaking changes
336
337Update dependencies to 0.18.
338
339## 0.17.5 (2021-02-25)
340
341### Bug fixes
342
343Use Alt-l for the default `selectLine` binding, because Mod-l already has an important meaning in the browser.
344
345Make `deleteGroupBackward`/`deleteGroupForward` delete groups of whitespace when bigger than a single space.
346
347Don't change lines that have the end of a range selection directly at their start in `indentLess`, `indentMore`, and `indentSelection`.
348
349## 0.17.4 (2021-02-18)
350
351### Bug fixes
352
353Fix a bug where `deleteToLineEnd` would delete the rest of the document when at the end of a line.
354
355## 0.17.3 (2021-02-16)
356
357### Bug fixes
358
359Fix an issue where `insertNewlineAndIndent` behaved strangely with the cursor between brackets that sat on different lines.
360
361## 0.17.2 (2021-01-22)
362
363### New features
364
365The new `insertTab` command inserts a tab when nothing is selected, and defers to `indentMore` otherwise.
366
367The package now exports a `defaultTabBinding` object that provides a recommended binding for tab (if you must bind tab).
368
369## 0.17.1 (2021-01-06)
370
371### New features
372
373The package now also exports a CommonJS module.
374
375## 0.17.0 (2020-12-29)
376
377### Breaking changes
378
379First numbered release.
380