Skip to content

v0.14.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:02
· 32 commits to main since this release
2629c0d

Changed

  • text-document 1.12.3.

Accessibility

  • AccessKit 0.25.1. accesskit 0.25.1 and accesskit_consumer 0.39.1,
    and through accesskit_winit 0.34.1 the platform adapters
    accesskit_windows 0.35.1, accesskit_macos 0.27.1 and, on Linux,
    accesskit_unix 0.24.0 with accesskit_atspi_common 0.21.0. On Linux a
    disabled control is no longer reported enabled and sensitive, so Orca
    announces it as unavailable rather than as a control that should respond,
    and an image (Role::Image, and Canvas, GraphicsSymbol, SvgRoot)
    answers AT-SPI's Image interface. The re-exported teksilo::accesskit stays
    on 0.25, so nothing changes for code that uses it.

Fixed

Widgets

  • Holding Tab in a rich text quote or list nested it without end. Each
    press wrapped the block in one more blockquote, or moved the list item one
    level deeper, for as long as the key repeated: about a hundred presses
    built a quote that a Djot loader bounding its parser's recursion refuses to
    open again. Tab now stops at 64 blockquote levels and 16 list levels and
    then does nothing, rather than typing a tab character over the text. The
    ways back out (Shift+Tab, outdent, decrease_blockquote_depth, and
    Backspace at the start of a quote or a list item) are not limited by
    depth. A document already deeper than the limits opens and edits as it
    is. The deepest structure the gestures can now build, a level-16 list item
    inside 64 quotes, costs a Djot parser at most 80 levels of recursion.
    indent, increase_blockquote_depth and toggle_blockquote stop at the
    same place, and a toggle or a Tab over a selection is judged by the deepest
    quote the selection holds, since the wrap takes all of it one level down.
    The default context menu greys out its blockquote row where the toggle
    would do nothing.
  • Tab or Shift+Tab on a list item inside a quote took the item out of its
    list.
    Moving an item to another level rebuilds its list, and up to
    text-document 1.12.2 create_list only reached blocks in the document's
    root frame, so inside a quote or a table cell the item left its list and
    joined none; every later Tab then nested the quote instead. With
    text-document 1.12.3, Tab and Shift+Tab in a quote, and indent and
    outdent there or in a table cell, move the item one level as they do in
    the main text, stop at the same list ceiling, and undo in one step.
  • Tab at the end of a list's last item typed a tab character. The editor
    asked whether the caret was in a list by reading the block at its
    character index, which at the end of an item's text is the paragraph after
    it. Tab there typed a tab into the item, or, where a quoted paragraph
    followed a quoted list, nested that paragraph's quote one level deeper for
    every press. The check now reads the caret's own block, as the list
    commands do.
  • increase_blockquote_depth quoted a paragraph that was not in a quote.
    It is documented as the command behind Tab in a quote and as doing nothing
    outside one, and now does nothing outside one.

Automation

  • The curated dialogs probe reported a popover's focus as lost.
    example_dialogs.py, which cargo teksilo probe writes into a project,
    expected focus back where it was before a popover opened. Since 0.14.0 a
    custom popover trigger can take focus, so a mouse press on it does, and
    closing the popover rightly hands focus back to the trigger. The probe now
    expects the trigger, or, where the press gave the trigger no focus, the
    control that had it before.

Workspace

  • Cargo.lock recorded text-document and text-typeset with no source or
    checksum.
    A developer's local [patch.crates-io] overlay strips both,
    and 0.13.1 and 0.14.0 were tagged with such a lockfile: cargo metadata --locked failed on a fresh clone, and cargo audit skipped those eleven
    crates. The lockfile resolves from crates.io again, a new CI job fails one
    that does not, and tools/relock-crates-io.sh repairs it. The script keeps
    every crate at the version the lockfile was tested with, and leaves the
    lockfile untouched with an error naming each crate when crates.io cannot
    supply that version, rather than taking the newest release.

Full Changelog: v0.14.0...v0.14.1