Skip to content

0.18.3

Latest

Choose a tag to compare

@adam-zethraeus adam-zethraeus released this 18 Oct 03:39
· 22 commits to main since this release

SwiftTUI 0.18.3 fixes spinner task cancellation after selective list updates. It also includes the recent collection navigation, terminal input, state ownership, rendering, Windows image-loading, and host protocol fixes.

Fixed

  • Cancel every spinner task when reduced motion is enabled, including untouched ForEach siblings after other rows tick independently. Preserve lifecycle ownership when a modifier reuses flattened content (STUI-1081).
  • Open Unicode image filenames correctly on Windows, including file URLs and resource-root lookup, and recognize drive-rooted image paths.
  • Recover list focus after measured row-height changes, preserve multiline table
    geometry, and restore native focus in direct outline lists. Thanks to
    @echoz for
    #57.
  • Preserve precise collection scroll positions, final-row reachability, entity
    identity and selection eligibility; keep disclosure children, lazy viewport
    measurements, scroll chrome, and wheel-handler contributions consistent.
  • Keep state, bindings, preferences, gesture state, navigation destinations,
    command boundaries, and hot-reload state attached to their declared owners.
  • Reconcile accessibility and keyboard focus lifetimes, preserve default-focus
    intent, and carry presentation enablement independently of background input
    blocking. Menus and inherited content shapes retain their authored behavior.
  • Unify incremental input decoding and quiet-period completion across terminal,
    WASI, and Windows readers; replay input consumed by terminal probes and
    preserve injected-input ordering through handoffs and EOF.
  • Preserve secure text drafts, restrict reader clipboard access, and keep
    terminal output escaping, environment precedence, process boundaries,
    diagnostics, and host size negotiation consistent.
  • Correct text and glyph boundaries, numeric-control precision, progress labels,
    animation arithmetic, path trimming, curve flattening, canvas coverage, and
    color conversion at boundary values.
  • Preserve image sampling and half-cell coverage, GIF disposal lifetimes, JPEG
    orientation and decoding errors, signed paint bounds, border glyphs, and
    clip-aware damage. Deep paint traversal keeps stack-safe extents.
  • Validate web protocol octets and host wire records, preserve wire failures and
    disconnected-host recovery, isolate hosted runs, and fix custom browser bundle
    resource paths and CLI option-presence handling.

Coordinated packages

  • The SwiftUI host handles empty scene manifests without assuming a default
    scene (STUI-1071).
  • Browser packages, Charts, Terminal View, native hosts, examples, the counter
    demo, and documentation move together to 0.18.3.