Repository navigation
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.