Skip to content

TextUI 0.4.0

Choose a tag to compare

@yibie yibie released this 10 Aug 11:29
· 22 commits to main since this release

TextUI 0.4.0 makes the native-widget fast path a public extension protocol for package-owned widget.el types.

Highlights:

  • Add the inherited :textui-measure and :textui-attach widget fields.
  • Export measurement and attachment helpers for buttons, text checkboxes, and editable fields.
  • Preserve custom widget actions, notifications, validation, and keymaps while accelerating measurement and buffer attachment.
  • Keep textui-button, textui-checkbox, and textui-field as optional convenience types; no registration or replacement widget hierarchy is required.
  • Document the public contract and invariants in ADR 0034.

On the release machine, a full refresh of 3,000 attached controls measured 238.58 ms versus 596.55 ms for the generic native path. These figures describe that fixture and machine, not a cross-system guarantee.

Verification: 105 ERT tests pass, and byte compilation passes with warnings treated as errors on Emacs 29.1 or later.

Full changelog: v0.3.0...v0.4.0