Skip to main content

What's new in 2026.8.2

A release about the line being typed into. Editing lived in the modals, where it was written for the dialogs; it is now Arlecchino.Editing, which anything typed into can carry — a command line, a filter row, a field in a form. Migrating to 2026.8.2 is the one break, and the changelog is the full record.

One contract for every line

ITextEntry is the text and where the caret is, and that is the whole of what a widget has to hold for the editing to work on it:

public sealed class Filter : ITextEntry
{
public string Text { get; set; } = "";
public int Caret { get; set; }
}

TextEditing does the rest — the keys, the words, the clipboard — so a screen that wants a line of its own writes two properties rather than a text editor. See Editing.

A selection, with Shift held

SelectLeft, SelectRight, SelectWordLeft, SelectWordRight and the rest hold a selection the way every other text field on the machine does, and copy, cut and paste act on it. The caret also moves by word the way the letters read rather than by whitespace alone: a dot stops it, so report.2026.md is three steps and not one.

Tab finishes the word

TextCompleter hangs on any line. The first press fills in what is common to every candidate, the next steps through them, and what is offered comes from an ISuggestsWords of your own — asynchronous, and cancelled when the question changes, so a completer can read a folder over a network without the frame waiting for it.

A line drawn the same way everywhere

EntryRow.Draw writes the text, the selection behind it and the symbol the caret stands on the way the framework's own fields are written, and answers with the column the caret landed on. A line longer than its width scrolls inside it and the caret stays on screen.

Alongside it, a screen now says when it is being typed into — IArlecchinoView.IsTyping — so keys a field edits by are not read as keys that move the screen underneath.