craft-native/craft
publicClone
Push over the same URL. A password will not work: create a token under access tokens and use it in place of one.
Performant, native desktop & mobile apps with web languages.
239 releases, newest first.
latest
v0.0.423
v0.0.420
🚀 Features
- macos: screens run on zig-js's precise collector, at zig-js
fef92e7(312c48d) (by Chris) - macos: a web test action runs script in a tab's page (96e593f) (by Chris)
- macos: tell the other windows when one closes (4f960f2) (by Chris)
🐛 Bug Fixes
- macos: creating a tab that exists answers it, instead of reloading it (cff762d) (by Chris)
Contributors
- Chris
v0.0.418
⚡ Performance Improvements
Contributors
- Chris
v0.0.417
🚀 Features
- ios: guard a simulator step on text shown, for web content without identifiers (1a7614d) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.416
🐛 Bug Fixes
- macos: a wrapped Text is as tall as its field needs, so the last line is drawn (2553c3a) (by Chris)
Contributors
- Chris
v0.0.415
🐛 Bug Fixes
- ios: the test driver's dismiss waits for the prompt to go (bc3b985) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.414
v0.0.413
v0.0.411
🚀 Features
- macos: let screens finish their work before the app quits (a810205) (by Chris)
🐛 Bug Fixes
- ios: keep the caret in view when the keyboard finishes appearing after an edit (9017c5e) (by Chris Breuer)
🧪 Tests
- ios: allow the out-of-process photo picker its observed appearance time (6b8ef47) (by Chris Breuer)
- ios: give the Metal fixture's GPU completion the surface's full budget (a6b1316) (by Chris Breuer)
- android: wait for the celebration to end on its own instead of sleeping (70fff6a) (by Chris Breuer)
🤖 Continuous Integration
- windows: key the Vulkan driver cache on the toolchain, not the image (516de1a) (by Chris Breuer)
- windows: keep the source-built Vulkan driver between runs (19a02a6) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.410
🐛 Bug Fixes
- macos: fail the host build if any script would run on the system JavaScriptCore instead of zig-js (235cbc3) (by Chris)
Contributors
- Chris
v0.0.409
🚀 Features
- macos: place the traffic lights, and colour fields from their style (4ccf6c1) (by Chris Breuer)
- macos: field keys, autofocus and floating-surface materials (a82c49d) (by Chris Breuer)
🐛 Bug Fixes
- ci: a release commit keeps the acceptance run its Releaser waits for (16169be) (by Chris Breuer)
- macos: tell screens the appearance changed, and drive controls in --test-dir (6f12335) (by Chris Breuer)
- macos: menu shortcuts that name a key, such as ctrl+tab and cmd+escape (e9359b3) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.408
🚀 Features
- macos: drag and drop, and hover events, for native screens (62065f8) (by Chris Breuer)
- macos: gradients, hover and press styles, eased changes, clipped shadowed cards (6b05d80) (by Chris Breuer)
🤖 Continuous Integration
- windows: give vswhere time to enumerate on a cold runner (1b5d330) (by Chris)
Contributors
- Chris
- Chris Breuer
v0.0.396
🚀 Features
- android: honor explicit native image fit and position (4202419) (by glennmichael123)
- types: expose native image fit and position contracts (b5c1438) (by glennmichael123)
- ios: add explicit image fit and positioning (cb95ae0) (by glennmichael123)
- types: expose native pointer policies on shared props and styles (4a91668) (by glennmichael123)
🐛 Bug Fixes
- android: apply pointer policies to both native map adapters (3303f52) (by glennmichael123)
- android: route native pointer policies without disabling controls (0610709) (by glennmichael123)
- ios: honor pointer targeting at native component boundaries (5acda37) (by glennmichael123)
- ios: render committed identities from the first frame (cd191ea) (by glennmichael123)
- ios: restore soft separation behind floating navigation (baf99c8) (by glennmichael123)
🧪 Tests
- mobile: align builder contracts with native subclasses (6d942b5) (by glennmichael123)
Contributors
- glennmichael123
v0.0.395
🚀 Features
- android: inherit fontFamily from ancestors in native screens (1597f79) (by Chris Breuer)
- ios: inherit fontFamily from ancestors in native screens (ce3a01e) (by Chris Breuer)
🐛 Bug Fixes
- android: pass the inherited font family by name on targeted updates (4fbc2ed) (by Chris Breuer)
🧪 Tests
- android: give the targeted-update fixture the inherited font family (305083c) (by Chris Breuer)
- pin the Android targeted update's inherited font family (386b704) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.394
🐛 Bug Fixes
- release: pin Zig publisher with registry upload diagnostics (21a1517) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.393
🐛 Bug Fixes
- updater: support native release feeds and pin bundle identity (66bf2e7) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.392
🐛 Bug Fixes
- ios: animate system tab selection after page swipes (7b9d385) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.390
v0.0.387
🐛 Bug Fixes
- menubar: distinguish Command-clicks from native reordering (67242a9) (by Chris)
Contributors
- Chris
v0.0.385
v0.0.384
v0.0.382
🧪 Tests
- menubar: preserve piped subprocess types in native fixture (f574921) (by Chris)
Contributors
- Chris
v0.0.380
🐛 Bug Fixes
Contributors
- Chris Breuer
v0.0.377
🐛 Bug Fixes
- honor backend shutdown deadlines on macOS (3892dc7) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.375
🐛 Bug Fixes
- ios: keep countdown visible in every Live Activity presentation (bac8d53) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.374
🐛 Bug Fixes
- ios: preserve speech cleanup in restricted runtimes (58a322f) (by Chris)
Contributors
- Chris
v0.0.369
🐛 Bug Fixes
- android: remove owned emulator state after reaping its process (9b18051) (by Chris)
Contributors
- Chris
v0.0.368
🐛 Bug Fixes
- android: preserve native text field accessibility metadata (4c6bc18) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.366
🐛 Bug Fixes
- keychain: run credential operations off the main thread (3395ead) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.365
v0.0.361
🚀 Features
- macos: add real app icons and protected clipboard snapshots (c801930) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.360
🚀 Features
- ios: register native home-screen quick actions (0dd6c64) (by glennmichael123)
- ios: host native route tabs in UITabBarController (864d43a) (by glennmichael123)
- vulkan: add Android native-window surface adapter (2e71b04) (by glennmichael123)
- android: share marker photos across native map providers (d5ac78f) (by glennmichael123)
- ios: render custom map marker photos (aa11b43) (by glennmichael123)
- android: handle native audio focus (677444c) (by glennmichael123)
- android: support native document imports (6783c11) (by glennmichael123)
- android: add native screen audio playback (acbe714) (by glennmichael123)
- js: add persistent typed host handles (398d9b8) (by glennmichael123)
🐛 Bug Fixes
- ios: discover system-connected Bluetooth peripherals (146096d) (by Chris)
- macos: activate visible windows in tray apps (8694a21) (by glennmichael123)
- ios: retain system tab items and track scroll chrome (714c555) (by glennmichael123)
- ios: break snapshot host callback retain cycles (67f221d) (by glennmichael123)
- ios: keep interrupted audio explicitly resumable (7b77ee0) (by glennmichael123)
- android: scope audio cancellation and preserve playback state (6499cbf) (by glennmichael123)
- native: accept STX marker photo prop spellings (59e705f) (by glennmichael123)
- android: load kept images before network requests (1e866bb) (by glennmichael123)
- ios: display private images from kept media (22afd64) (by glennmichael123)
- recompute Android safe-area padding when edges change (9b8d314) (by Chris Breuer)
- refresh Android traits from the committed screen root (69ac6f5) (by Chris Breuer)
- apply live Android status bar properties (3cb92a3) (by Chris Breuer)
- ios: reject checkpoints after screen deallocation (85f2189) (by glennmichael123)
- ios: clean failed photo imports (c880b08) (by glennmichael123)
- ios: reject checkpoint completions after disposal (d56c95d) (by glennmichael123)
- android: reject pending checkpoints on screen close (86baf40) (by glennmichael123)
- ios: report missing native audio handles (47715ec) (by glennmichael123)
- android: clean up cancelled media imports (8d164c6) (by glennmichael123)
- ios: restore nested press gesture delegation (d7f56af) (by glennmichael123)
- ios: resume native audio after interruption (f47f796) (by glennmichael123)
- android: validate native checkpoints (266540d) (by glennmichael123)
- ios: close native interaction capability gaps (17e09f4) (by glennmichael123)
🧪 Tests
- macos: verify native tray callback delivery (fcf20ea) (by glennmichael123)
- native: verify and document the shortcuts bridge contract (be0f625) (by glennmichael123)
- android: isolate kept image document from home updates (7151c36) (by glennmichael123)
- ios: compare controlled switch taps with unmodified UIKit (198add5) (by glennmichael123)
- android: exercise kept image source mutations on mounted views (2107ffe) (by glennmichael123)
- native: the writeImage contract matches the signature it now has (795137d) (by glennmichael123)
- verify live system appearance with the corrected STX compiler (f018781) (by Chris Breuer)
- exercise live Android status bar contrast on device (e1f3cdc) (by Chris Breuer)
- native: pin frame clock host contracts (9409e61) (by glennmichael123)
🧹 Chores
- release v0.0.359 (3c34c8a) (by glennmichael123)
- release v0.0.358 (fd85cd1) (by Chris)
- release v0.0.357 (8d52975) (by Chris)
- release v0.0.356 (0a609bd) (by Chris)
📄 Miscellaneous
- Merge pull request #415 from craft-native/codex/issues-388-400-344 (f28fc0b) (by Glenn Michael Torregosa) (#415, #401)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (7a7075d) (by glennmichael123)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (b1f3247) (by glennmichael123)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (f6929b7) (by glennmichael123)
- Revert "feat(js): add persistent typed host handles" (36b1777) (by glennmichael123)
Contributors
- Chris
- Chris Breuer
- Glenn Michael Torregosa
- glennmichael123
v0.0.359
🚀 Features
- vulkan: add Android native-window surface adapter (2e71b04) (by glennmichael123)
- android: share marker photos across native map providers (d5ac78f) (by glennmichael123)
- ios: render custom map marker photos (aa11b43) (by glennmichael123)
- android: handle native audio focus (677444c) (by glennmichael123)
- android: support native document imports (6783c11) (by glennmichael123)
- android: add native screen audio playback (acbe714) (by glennmichael123)
- js: add persistent typed host handles (398d9b8) (by glennmichael123)
🐛 Bug Fixes
- ios: break snapshot host callback retain cycles (67f221d) (by glennmichael123)
- ios: keep interrupted audio explicitly resumable (7b77ee0) (by glennmichael123)
- android: scope audio cancellation and preserve playback state (6499cbf) (by glennmichael123)
- native: accept STX marker photo prop spellings (59e705f) (by glennmichael123)
- android: load kept images before network requests (1e866bb) (by glennmichael123)
- ios: display private images from kept media (22afd64) (by glennmichael123)
- ios: reject checkpoints after screen deallocation (85f2189) (by glennmichael123)
- ios: clean failed photo imports (c880b08) (by glennmichael123)
- ios: reject checkpoint completions after disposal (d56c95d) (by glennmichael123)
- android: reject pending checkpoints on screen close (86baf40) (by glennmichael123)
- ios: report missing native audio handles (47715ec) (by glennmichael123)
- android: clean up cancelled media imports (8d164c6) (by glennmichael123)
- ios: restore nested press gesture delegation (d7f56af) (by glennmichael123)
- ios: resume native audio after interruption (f47f796) (by glennmichael123)
- android: validate native checkpoints (266540d) (by glennmichael123)
- ios: close native interaction capability gaps (17e09f4) (by glennmichael123)
🧪 Tests
- android: isolate kept image document from home updates (7151c36) (by glennmichael123)
- ios: compare controlled switch taps with unmodified UIKit (198add5) (by glennmichael123)
- android: exercise kept image source mutations on mounted views (2107ffe) (by glennmichael123)
- native: the writeImage contract matches the signature it now has (795137d) (by glennmichael123)
- native: pin frame clock host contracts (9409e61) (by glennmichael123)
📄 Miscellaneous
- Merge pull request #415 from craft-native/codex/issues-388-400-344 (f28fc0b) (by Glenn Michael Torregosa) (#415, #401)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (7a7075d) (by glennmichael123)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (b1f3247) (by glennmichael123)
- Merge remote-tracking branch 'origin/main' into codex/issues-388-400-344 (f6929b7) (by glennmichael123)
- Revert "feat(js): add persistent typed host handles" (36b1777) (by glennmichael123)
Contributors
- Glenn Michael Torregosa
- glennmichael123
v0.0.358
🐛 Bug Fixes
- recompute Android safe-area padding when edges change (9b8d314) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.355
🐛 Bug Fixes
- preserve native sharing evidence across accessibility updates (d728b6b) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.354
🐛 Bug Fixes
- ios: persist account-scoped snapshot names (d3a5c9c) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.353
v0.0.352
🐛 Bug Fixes
- keep Android screen roots sized to their viewport (9fff34b) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.351
🐛 Bug Fixes
- sign disk image containers before notarization (901c984) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.350
🐛 Bug Fixes
- keep native dialogs pending until the user responds (9c2c568) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.348
🐛 Bug Fixes
- retain stretched component roots during deferred AppKit layout (0b7c829) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.346
🐛 Bug Fixes
- mobile: deliver network status and changes to native screens (d600c3b) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.345
v0.0.344
🐛 Bug Fixes
- stop native journeys when setup hooks fail (5e59da2) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.341
🐛 Bug Fixes
- close synchronous storage with its native screen (05635c6) (by Chris)
- record native teardown markers before their bridge closes (78ad3b5) (by Chris)
- register the original Windows Vulkan test driver (d412bb0) (by Chris Breuer)
- cancel native requests when retained screens dispose (604c518) (by Chris Breuer)
- cancel queued iOS storage before it commits (3ffde4f) (by Chris Breuer)
- stop queued storage work when the native host closes (0a775b5) (by Chris Breuer)
- cancel queued Android storage before it commits (6142858) (by Chris Breuer)
🧪 Tests
- require guarded storage in the iOS unmount contract (447e6ed) (by Chris)
- verify native teardown and cancellation on both Android APIs (a630c96) (by Chris)
- isolate native preference domains across parallel executables (d626732) (by Chris Breuer)
- reject synchronous checkpoint writes after native screen disposal (120b13b) (by Chris Breuer)
- retain the closed screen through late request verification (c54b3de) (by Chris Breuer)
- focus native checkpoint diagnostics while preserving release gates (a43484f) (by Chris Breuer)
- keep queued checkpoints unchanged when native screens close (34c8527) (by Chris Breuer)
- preserve checkpoints after native host disposal (39c272f) (by Chris Breuer)
- exercise queued storage cancellation on Android (cd92cfb) (by Chris Breuer)
- preserve checkpoints when queued native storage is cancelled (a617378) (by Chris Breuer)
🧹 Chores
- integrate current Craft 340 release metadata (6fdd8eb) (by Chris)
- integrate current Craft Store runtime fixes (4bbe926) (by Chris)
- integrate upstream Craft 339 before native verification (6fab4a1) (by Chris)
- integrate upstream Craft 338 and native driver registration (0344e57) (by Chris Breuer)
- integrate current Craft source changes (e1c7171) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.340
🐛 Bug Fixes
- packaging: reject private API markers in Store providers (1fe5672) (by Chris Breuer)
- macos: enforce public WebKit capabilities in Store runtimes (a92d89e) (by Chris Breuer)
🧪 Tests
- sdk: budget the isolated compiler integration explicitly (7cb3695) (by Chris Breuer)
- macos: verify WebKit rendering across distribution variants (b4ac284) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.338
🐛 Bug Fixes
- ci: register the Vulkan driver for elevated Windows acceptance (58a0d6c) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.330
v0.0.329
🐛 Bug Fixes
- ci: wait for KVM device permission updates (26efe04) (by Chris)
- require healthy accelerated Android SDK acceptance (1ee5523) (by Chris)
🧪 Tests
- menubar: retain native lifecycle failure diagnostics (fc7debc) (by Chris Breuer)
🧹 Chores
- ci: retain failed Pantry toolchain state (e311629) (by Chris)
Contributors
- Chris
- Chris Breuer
v0.0.328
🧪 Tests
- ios: stream native video fixtures with encoder backpressure (63e9a27) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.319
🚀 Features
- sdk: expose native menu bar system-item policy (f615fb2) (by Chris Breuer)
- menubar: make system-item verification configurable (41ccbd4) (by Chris Breuer)
- native: add controlled paging and platform font stacks (26be292) (by Chris Breuer)
🐛 Bug Fixes
- animate Android tabs and select accessory routes (6765f96) (by Chris Breuer)
- animate tab chrome and select accessory destinations (04b5148) (by Chris Breuer)
- ios: integrate verified extractor build admission (c41ddf6) (by Chris)
- ios: build capture tools before starting live setup (a3c12a5) (by Chris)
- menubar: verify native status items without scanning app windows (16e7e54) (by Chris Breuer)
- menubar: keep unbundled native helpers visible (ae553e3) (by Chris Breuer)
- menubar: preserve visible apps by native signing identity (ce4df3b) (by Chris Breuer)
- adopt upstream compiler-cache and publisher corrections (e116e12) (by Chris)
- ios: retain accessibility size for tab content viewers (cb84784) (by Chris Breuer)
- ios: align sticky headers with retargeted scroll offsets (fa33362) (by Chris Breuer)
- ios: cap tab chrome before resolving Dynamic Type metrics (c194017) (by Chris Breuer)
- menubar: verify unlabeled icons by native accessibility identity (cd5118c) (by Chris Breuer)
- ci: exclude downloaded Zig package caches from source lint (ab73bf3) (by Chris Breuer)
- android: finish native page snapping before reporting selection (9d7986f) (by Chris Breuer)
- ios: preserve authored bounce options when restoring scroll axis (d5de31d) (by Chris Breuer)
- packaging: give bundled native runtimes an agent app identity (2c925f1) (by Chris Breuer)
- menubar: restore icons when native visibility changes the wrong group (09e86f9) (by Chris Breuer)
- ios: retain paging axis and custom font weight (4eb6256) (by Chris Breuer)
- native: initialize pager gesture tracking with its host (e16dea0) (by Chris Breuer)
- ci: use the native Windows source archiver (47ca70f) (by Chris)
- ci: resolve Zig packages through their native manifest (b5770e3) (by Chris)
- zig: ship portable dependencies and complete native sources (7ca7646) (by Chris)
📚 Documentation
- menubar: explain native system-module visibility policy (e6cff24) (by Chris Breuer)
- describe portable Zig package verification (621bf49) (by Chris)
🧪 Tests
- rehearse every native mobile acceptance scope before release (506ba93) (by Chris Breuer)
- ci: cover Metal and hybrid acceptance scopes (6d3d300) (by Chris)
- ios: give compositor heartbeat a native sized slot (5b3e464) (by Chris Breuer)
- ios: retain hybrid HTTP startup diagnostics (276433f) (by Chris)
- ios: align hybrid fixture request with startup budget (6ab7afe) (by Chris Breuer)
- ios: call fixture signal in legacy native conditions (734c84f) (by Chris Breuer)
- ios: capture held fixture without display RPC mutations (44b7278) (by Chris Breuer)
- ios: record live compositor frames for held system viewer (1fa4e06) (by Chris Breuer)
- ios: await complete native multiline edit delivery (024439a) (by Chris Breuer)
- use fixture build deadline for native extractor compilation (ddaa2f9) (by Chris Breuer)
- ios: cover viewer holds late in long recordings (de6e01d) (by Chris)
- ios: decode held frames from original sample timestamps (0786b0b) (by Chris Breuer)
- ios: suspend the main actor while awaiting queued layout (27ff22a) (by Chris)
- ios: give each Metal suite its own execution lifecycle (a141b01) (by Chris Breuer)
- build native frame extractor before capture admission (3b4d7f5) (by Chris Breuer)
- ios: prebuild and verify held-frame extractor provenance (fd083ca) (by Chris Breuer)
- retain static native viewer frames during held input (9df77bc) (by Chris Breuer)
- ios: retain original video sample timestamps (586ab26) (by Chris Breuer)
- ios: compile held-frame extractor against the macOS SDK (0ebb073) (by Chris Breuer)
- ios: verify actual recorded frames during held tab gestures (8e8ab58) (by Chris Breuer)
- ios: own public screen recording through movie finalization (6e51192) (by Chris Breuer)
- ios: qualify actual recorded frames within native holds (0e69abd) (by Chris Breuer)
- ios: reuse verified simctl for held screenshots (e4c8217) (by Chris Breuer)
- ios: qualify public driver held-tab capture markers (a8201ed) (by Chris Breuer)
- ios: share screenshot preflight command deadline (5631427) (by Chris Breuer)
- ios: wait for screenshot control before viewer gesture (00e2a54) (by Chris Breuer)
- ios: verify screenshot positive control before held capture (c9d6e1a) (by Chris Breuer)
- retain the verified Craft tooling adoption (e4d96e1) (by Chris)
- ios: retain bounded viewer screenshot failure details (1778c09) (by Chris Breuer)
- ios: capture tab content viewer during native hold (b92159d) (by Chris Breuer)
- ios: hold native tab for independent content viewer capture (657c2b4) (by Chris Breuer)
- support bounded standard XCTest holds on native tabs (8a1a975) (by Chris Breuer)
- ios: retain sticky header geometry across day retargets (8d7cf02) (by Chris Breuer)
- ios: verify tab chrome at maximum accessibility text size (06c7c48) (by Chris Breuer)
- align native scroll contract with paging host visibility (9e86890) (by Chris Breuer)
- await native pager settlement between geometry commands (ed2c365) (by Chris Breuer)
- preserve pager bounce options and custom input font traits (f7ba8d3) (by Chris Breuer)
- retain pager selection through held and locked gestures (9cf0747) (by Chris Breuer)
- exercise native pager geometry gestures and font families (9e7c53b) (by Chris Breuer)
🧹 Chores
- android: retain verbose SDK provisioning errors (8208daf) (by Chris)
- release v0.0.318 (fee8a08) (by Chris Breuer)
- preserve upstream compositor fixture sizing (95b4325) (by Chris)
- integrate upstream hybrid startup and dependency fixes (aac46c0) (by Chris)
- release v0.0.317 (3601d33) (by Chris Breuer)
- deps: update fast-uri to patched 3.1.9 (4476207) (by Chris Breuer)
- release v0.0.316 (ab3dc55) (by Chris Breuer)
- release v0.0.315 (f6b1417) (by Chris Breuer)
- release v0.0.314 (da9761f) (by Chris Breuer)
- release v0.0.313 (1ab173b) (by Chris Breuer)
- release v0.0.312 (6571233) (by Chris Breuer)
- release v0.0.311 (d47f4c0) (by Chris Breuer)
- preserve v0.0.310 release metadata with host SDK checks (91b4011) (by Chris Breuer)
- release v0.0.310 (7601def) (by Chris Breuer)
- integrate current Craft release metadata (9e390f2) (by Chris Breuer)
- release v0.0.309 (e4e92a1) (by Chris)
- release v0.0.308 (35cebb2) (by Chris Breuer)
- release v0.0.307 (281c47d) (by Chris Breuer)
- release v0.0.306 (4ac50d7) (by Chris Breuer)
- release v0.0.305 (25e15e2) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/settlers-metal-surface (3c2bdb8) (by Chris)
Contributors
- Chris
- Chris Breuer
v0.0.304
🐛 Bug Fixes
- bridge: reject empty menu bar backend selections (acb2a30) (by Chris Breuer)
- build: link native visibility in every host test consumer (1f12f39) (by Chris Breuer)
- macos: protect controller identities and unknown menu bar items (ac55211) (by Chris Breuer)
🧪 Tests
- macos: verify packaged native group assertions (e636743) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.301
🐛 Bug Fixes
- ios: preserve system text input placeholders (b219fa3) (by Chris Breuer)
- ci: verify managed Git with native filesystem path rules (2aa3d83) (by Chris)
🧹 Chores
- release v0.0.300 (0296d9d) (by Chris)
- ci: adopt qualified Pantry 0.11.119 in source and release jobs (7605dc8) (by Chris)
Contributors
- Chris
- Chris Breuer
v0.0.299
🚀 Features
- native: add platform segments, clear fields and sheet detents (d698e7d) (by Chris Breuer)
- graphics: establish the private Vulkan ABI boundary (f0e1917) (by Chris)
- graphics: present bounded frames through native Metal surfaces (29bff73) (by Chris)
🐛 Bug Fixes
- ci: execute the declared Git provider across ABI dependencies (6b8f3e8) (by Chris Breuer)
- ci: require the verified Pantry Git provider on Windows (d711fb5) (by Chris)
- ci: bound software emulator contention and separate native test budgets (cb788b2) (by Chris Breuer)
- native: reject controlled text echoes older than accepted edits (b618bae) (by Chris Breuer)
- separate Metal compilation and XCTest deadlines (6e2a7de) (by Chris Breuer)
- ci: use runner Git for the Windows ABI toolchain (e14181c) (by Chris Breuer)
- native: preserve individual segment accessibility (44ea4aa) (by Chris Breuer)
- zig: export the documented Craft module with native dependencies (38681f2) (by Chris)
- ci: match the native cache archive path identity (413f797) (by Chris)
- ios: own native acceptance command groups (f56d93f) (by Chris)
- build: resolve each iOS archive against its complete SDK (8437e35) (by Chris)
- sharing: detect Chrome capture while Meet is selected (d675077) (by Chris Breuer)
📚 Documentation
- retain the unresolved native cache failure and exact replays (06e9063) (by Chris)
- graphics: retain verified UIKit Metal screen evidence (99d87ff) (by Chris)
- graphics: retain native Metal execution evidence (44fac13) (by Chris)
🧪 Tests
- release: isolate rehearsal changelog ranges from the caller (b32b72e) (by Chris Breuer)
- graphics: execute terrain and glyphs through the public module (a3deabe) (by Chris)
- native: retain uncontrolled defaults with edit acknowledgements (935ad66) (by Chris Breuer)
- native: cover platform control contracts and document host behavior (1c68055) (by Chris Breuer)
- graphics: execute Vulkan SDK ABI checks on each desktop host (4241d2c) (by Chris)
- ios: exercise Metal surfaces through native UIKit hosts (c140991) (by Chris)
- android: isolate software provisioning CPU diagnostics (a301dfd) (by Chris)
🤖 Continuous Integration
- ios: require native Metal pixel and screen acceptance (13b412c) (by Chris)
🧹 Chores
- release v0.0.298 (ea68da9) (by Chris Breuer)
- adopt the verified Bumpx 0.2.26 release (5678b40) (by Chris)
- ci: repeat original native installs without timing diagnostics (d5adb6b) (by Chris)
- ci: replay the complete cached native tool setup (e9c3e3c) (by Chris)
- ci: retain exact native cache provisioning diagnostics (ff543f0) (by Chris)
- release v0.0.297 (18ddc37) (by Chris)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/hush-chrome-background-capture (42b89d4) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.296
🚀 Features
- runtime: expose retained hosting through Craft (676e773) (by Chris)
- runtime: add bounded persistent JavaScript host backends (59af5ed) (by Chris)
- tray: expose rendered native status item state (b6cc99c) (by Chris Breuer)
- types: expose app appearance controls (f40f6f4) (by glennmichael123)
- android: configure tab selection appearance (ed6fbb3) (by glennmichael123)
- ios: configure tab selection appearance (e2ecbea) (by glennmichael123)
- add native post-generate hooks (8ac6505) (by glennmichael123)
🐛 Bug Fixes
- runtime: adopt the verified stopped-mutator admission fix (3ff3d47) (by Chris)
- ios: update SwiftUI appearance at runtime (b29e09d) (by glennmichael123)
- ios: preserve native screen appearance config (d831ee6) (by glennmichael123)
- ios: let native screens control interface appearance (341823a) (by glennmichael123)
- ios: retain tab chrome in selection indicator (00e99d0) (by glennmichael123)
- ios: mirror nested tab bar config (f8e8e2c) (by glennmichael123)
- macos: open file inputs through WKWebView (dd55dad) (by glennmichael123)
- ios: ignore stale watch state updates (e7be262) (by glennmichael123)
📚 Documentation
- describe native project customization (0438102) (by glennmichael123)
🧪 Tests
- runtime: verify persistent hosting through the public API (21b084c) (by Chris)
- tray: keep typed bridge fixtures aligned with native state (d420b7e) (by Chris Breuer)
- ios: preserve nested config conformance (45a3363) (by glennmichael123)
- ios: ratchet appearance actions (56dac5b) (by glennmichael123)
- ios: advance appearance action ratchet (33853c5) (by glennmichael123)
- cover native post-generate build hooks (71169f9) (by glennmichael123)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into HEAD (76d4f9d) (by Chris Breuer)
- Merge pull request #401 from craft-native/codex/issues-388-400-344 (fa64e64) (by Glenn Michael Torregosa) (#401)
- Merge remote-tracking branch 'origin/main' into HEAD (125135b) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
- Glenn Michael Torregosa
- glennmichael123
v0.0.293
v0.0.290
🚀 Features
- native: tell a screen its width for width classes (78ad661) (by Chris Breuer)
- android: configure owned emulator guest memory (b714154) (by Chris Breuer)
🐛 Bug Fixes
- ci: reject failed advisory scanner results (7c4a1cc) (by Chris)
- detect compact Slack sharing without starving other apps (80cd889) (by Chris Breuer)
- ci: keep create-craft smoke installs production-only (da72db4) (by glennmichael123)
- android: scale software emulator guest CPUs (3083dc4) (by glennmichael123)
- ci: align release pantry pin with main (67bcaaa) (by glennmichael123)
- ios: ignore invalid accessibility frames (66f61f6) (by glennmichael123)
- android: generate compatible live health projects (3c67096) (by Chris Breuer)
- android: deduplicate shared location permissions (de6c0e9) (by Chris Breuer)
- ci: resolve the public align-content compiler revision (92dd53d) (by Chris Breuer)
- ci: pin the exact public native compiler commit (6e12f92) (by Chris Breuer)
- android: retain popup viewport and ordering during updates (881f33c) (by Chris Breuer)
- android: wait for complete native startup handoff (48e54c6) (by Chris Breuer)
- test: account for compiled screen wrappers in popup assertions (cfda4f3) (by Chris Breuer)
- test: synchronize native UIKit layout and input acknowledgement (78db7dc) (by Chris Breuer)
- test: dispatch popup touches through the native viewport (a8ea254) (by Chris Breuer)
- test: avoid duplicate Android popup root declaration (8eb3a6a) (by Chris Breuer)
- build: pin source-preserving Pantry installer (8af6d3e) (by Chris Breuer)
🧪 Tests
- ios: follow current keyboard geometry in caret checks (56af35d) (by Chris)
- bind release source pins to rehearsal checkouts (1c1b334) (by Chris)
- ios: harden native and notification waits (4c1fa41) (by glennmichael123)
- ios: track native control status nodes (f3da00f) (by glennmichael123)
- ios: expose native control state assertions (aa723c4) (by glennmichael123)
- android: follow modal overlay ordering contract (6e5fb7f) (by glennmichael123)
- ci: match workflow pantry pins (b4b7993) (by glennmichael123)
- native: ignore Markdown wrapping in capability docs (66f65e3) (by Chris Breuer)
- ios: compile switch fixture and retain timeout evidence (4aab134) (by Chris Breuer)
- ios: track modal exclusion in ordered flow (4b0e338) (by Chris Breuer)
- ios: snapshot scroll geometry once per gesture (e6a8700) (by Chris Breuer)
- android: await native popup presentation before outside touches (f8869b6) (by Chris Breuer)
- android: compare popup offsets in physical pixels (bb2b5ef) (by Chris Breuer)
- android: keep native carousel scrolling on the UI thread (1a9e557) (by Chris Breuer)
- native: exercise primitive checked control change flows (16d76dd) (by Chris Breuer)
- windows: guard tracked sources during workspace relinking (811da8a) (by Chris Breuer)
- isolate Windows workspace source removal (c506363) (by Chris Breuer)
- build: reproduce the release reusable source workflow (23ff8a8) (by Chris Breuer)
- build: keep source inspection after the original cold build (fdb007b) (by Chris Breuer)
- build: inspect tracked source immediately after compilation (ceb6cfb) (by Chris Breuer)
- build: trace tracked source presence across Windows setup (a4061e7) (by Chris Breuer)
- build: expose native Windows source cache failures (8aa8936) (by Chris Breuer)
🧹 Chores
- integrate current Craft source (fae1f50) (by Chris)
- integrate current Craft source (f58e9bc) (by Chris)
- integrate current Craft source (2592d86) (by Chris Breuer)
- integrate current Craft source (a8824f7) (by Chris)
- ci: align managed installer source and public CLI (4f60d39) (by Chris Breuer)
- build: remove completed Windows source diagnostics (b0fe069) (by Chris Breuer)
📄 Miscellaneous
- Merge pull request #384 from craft-native/codex/windows-zig-cache-diagnostics (9025327) (by Glenn Michael Torregosa) (#384)
- Merge remote-tracking branch 'origin/main' into HEAD (8d2a820) (by glennmichael123)
- Merge commit '
604ff80' into codex/windows-zig-cache-diagnostics (d1f5b6f) (by Chris Breuer) - Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (49a56e2) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (d9bc764) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (4d89a6a) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (9053cc6) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (386c562) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (1e5d996) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (13784a8) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (6d861d9) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (3a28bdb) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (709e99d) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (208c0e4) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/windows-zig-cache-diagnostics (255a226) (by Chris Breuer)
merge
- sync main into pr384 (7e9dcbe) (by glennmichael123)
- sync main into pr384 (72a3b42) (by glennmichael123)
Contributors
- Chris
- Chris Breuer
- Glenn Michael Torregosa
- glennmichael123
v0.0.278
🚀 Features
- packaging: preserve prebuilt apps and support notarization API keys (46ba751) (by Chris Breuer)
🐛 Bug Fixes
- build: link macOS logger tests to their native dependencies (1eae66d) (by Chris)
- graphics: reject unsupported drawing and composite atlas sprites (86daaf5) (by Chris)
- app: pass the sender when terminating a macOS app (b1f3a0e) (by Chris Breuer)
- macos: keep packaged tray popovers alive and detection running (1c4c147) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/settlers-render-truth (f8ccf93) (by Chris)
- Merge remote-tracking branch 'origin/main' into codex/settlers-render-truth (ba2a7ee) (by Chris)
- Merge remote-tracking branch 'origin/main' into codex/hush-sharing-timer (1bbd382) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.276
🐛 Bug Fixes
- guard release descendants when acceptance suites are reused (a2a751c) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.272
🧪 Tests
- ios: each navigation test starts without the last test's accessory (9189289) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.262
🧪 Tests
- ios: require cell ownership before releasing row views (b0ad5b3) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.254
🐛 Bug Fixes
- build: select the core Zig project explicitly (ed95d55) (by Chris Breuer)
🧪 Tests
- build: qualify the Windows build before the regression fixture (eaddd66) (by Chris Breuer)
- build: reproduce the native checkout volume (053882a) (by Chris Breuer)
- build: record native checkout project availability (05facfd) (by Chris Breuer)
- build: exercise core selection with the pinned Windows compiler (171dd39) (by Chris Breuer)
📄 Miscellaneous
Contributors
- Chris
- Chris Breuer
v0.0.251
v0.0.250
🐛 Bug Fixes
- testing: type into a field only once it holds the keyboard (9a11f9a) (by Chris Breuer)
- ios: copy a shared link as text (1e4320f) (by Chris Breuer)
- ios: avoid sibling keyboard surfaces in scroll fixtures (f32eb66) (by Chris Breuer)
- ios: retain native test evidence during cancellation (42459e9) (by Chris Breuer)
- ios: surface required simulator permission failures (f292816) (by Chris Breuer)
- ios: derive manual scroll origins from visible geometry (d05bd86) (by Chris Breuer)
- ios: keep manual scrolling off native value controls (accdc85) (by Chris Breuer)
- android: reconnect the owned stale emulator transport (6dc1392) (by Chris Breuer)
- android: coalesce media work within its cache generation (6c72442) (by Chris Breuer)
- native: deliver modal dismissal after close requests (86575e7) (by Chris Breuer)
- ios: keep fields scrollable and honor hidden indicators (36d8872) (by Chris Breuer)
🧪 Tests
- ios: a drag from a button scrolls, a modal form clears the keyboard (6a1ebd5) (by Chris Breuer)
- ios: require independent modal dismiss lifecycle (ead0a6b) (by Chris Breuer)
- android: verify replacement through its current work identity (439b2a8) (by Chris Breuer)
🧹 Chores
- qualify mobile CI with the published Pantry 101 toolchain (884ede5) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.249
🚀 Features
- native: a page can change a tab's symbol while it says so (e5490bc) (by Chris Breuer)
🐛 Bug Fixes
- ios: keep swipe previews outside committed screen focus (b626e5f) (by Chris Breuer)
- ios: preserve native picker accessibility wheels (82c752b) (by Chris Breuer)
- ios: let button drags scroll their native container (21c7053) (by Chris Breuer)
- ios: establish hidden focus before mounting tab roots (1c4dfe8) (by Chris Breuer)
🧪 Tests
- ios: align accessibility contracts with native picker wheels (c8a6727) (by Chris Breuer)
- ios: identify retained keyed row actions explicitly (8c5e660) (by Chris Breuer)
🧹 Chores
- adopt qualified-source release guard (6c9d44c) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.248
🚀 Features
- sdk: expose live workout controls (252ae30) (by glennmichael123)
- ios: add live workout session lifecycle (f48f116) (by glennmichael123)
- native: advertise view reparent capability (8004313) (by glennmichael123)
- native: add atomic cross-parent reparent mutations (38fa17a) (by glennmichael123)
- android: hand wallet passes to Google Wallet (395e99a) (by glennmichael123)
- ios: add native wallet pass capability (6748820) (by glennmichael123)
- ios: route explicit grid rows through shared layout (c2a0eb6) (by glennmichael123)
- android: route explicit grid rows through shared layout (f79c548) (by glennmichael123)
- layout: carry explicit grid rows through shared ABI (a1cce01) (by glennmichael123)
- native: support equal grid row tracks (0b378c3) (by glennmichael123)
- native: support selectable text (daceeb8) (by glennmichael123)
- native: carry route props through navigation (4a128a5) (by glennmichael123)
- native: expose mounted view scrolling (611cdac) (by glennmichael123)
- native: expose mounted-view operations (5c18c1f) (by glennmichael123)
- ios: expose native view focus and measurement (1c71095) (by glennmichael123)
- android: report native modal dismissal reasons (f1d2368) (by glennmichael123)
- ios: report native modal dismissal reasons (95521bf) (by glennmichael123)
- android: reconcile data-driven map overlays (8e84945) (by glennmichael123)
- native: accept data-driven map overlays (f5c2bda) (by glennmichael123)
- types: expose native map polygons (b4455e7) (by glennmichael123)
- native: add map polygon overlays (9f172be) (by glennmichael123)
- android: size static FlatLists to content (81cad67) (by glennmichael123)
🐛 Bug Fixes
- ios: tell a screen prepared out of sight that it is hidden (fb80008) (by Chris)
- build: accept upstream exact Zig revision pins (03217cb) (by Chris Breuer)
- ci: freeze compiler installs with compatible Bun (3dabdcb) (by Chris Breuer)
- android: align bundled R8 with Kotlin metadata (2f6d175) (by Chris Breuer)
- ci: preserve the provisioned Android JDK (9702f4c) (by Chris Breuer)
- android: round authored padding to physical pixels (d70cef3) (by Chris Breuer)
- native: infer link and button roles for touchable controls (da420b5) (by Chris Breuer)
- android: retain keyed replacements alongside reparented views (781b4aa) (by Chris Breuer)
- ios: type live workout bridge events (3ff64b1) (by glennmichael123)
- android: read typed Google overlay coordinates (32d4426) (by Chris Breuer)
- native: retain views when popups change parents (c0a26c7) (by glennmichael123)
- ci: let Main acceptance finish before queued revisions (0386bf3) (by Chris Breuer)
- ios: mirror wallet config in Zig (5c83563) (by glennmichael123)
- native: derive absolute ratio width from height (db608a4) (by glennmichael123)
- native: remeasure anchored absolute children (09a3d61) (by glennmichael123)
- ios: qualify text container access (8c1f0bb) (by glennmichael123)
- ios: preserve control taps inside native scroll views (dc2ed05) (by glennmichael123)
- android: allocate explicit grid rows with fractional spacing (95db435) (by Chris Breuer)
- android: clamp mounted view scroll offsets (07e4926) (by glennmichael123)
- native: restore focus after modal dismissal (31e22b6) (by glennmichael123)
- ios: invalidate map fits for polygon changes (6322912) (by glennmichael123)
- native: diagnose missing browser globals (808ee52) (by glennmichael123)
- native: resolve app-relative image sources (7c07a18) (by glennmichael123)
- android: preserve uncontrolled switch state (994c4d7) (by glennmichael123)
- ios: preserve uncontrolled switch state (5467d07) (by glennmichael123)
- android: marshal MapLibre updates to main (397640f) (by glennmichael123)
- android: stabilize list measurement and sticky headers (c7de020) (by glennmichael123)
- android: detach picker listeners safely (af44630) (by glennmichael123)
- android: align native fixture contracts (b1be20b) (by glennmichael123)
- android: read mounted flatlist children correctly (1d35b65) (by glennmichael123)
- mobile: surface native action sheet failures (4e05659) (by glennmichael123)
- android: refresh map overlays for appearance traits (3e90325) (by glennmichael123)
- ios: refresh map markers for appearance traits (3b4b1ad) (by glennmichael123)
- native: restore stopped indicator visibility (563af89) (by glennmichael123)
- android: refresh retained safe area insets (3daaaf7) (by glennmichael123)
- android: preserve MapLibre stroke width density (1daf6ce) (by glennmichael123)
- android: refresh map chrome for dark mode (5d27432) (by glennmichael123)
- ios: refresh map attribution for appearance traits (811f0ad) (by glennmichael123)
- native: align linked pressable accessibility roles (b752b01) (by glennmichael123)
- native: rebind dialogs after bundle startup (cc4dad9) (by glennmichael123)
- native: prefer native dialogs over DOM fallbacks (8976e14) (by glennmichael123)
- android: invalidate static FlatList parents (09c5086) (by glennmichael123)
- android: clear video listeners on teardown (a9534a7) (by glennmichael123)
- android: tear down FlatList scroll listeners (4aa0418) (by glennmichael123)
- android: sweep text watchers during screen close (58f03dd) (by glennmichael123)
- android: detach text watchers on native release (23b79fd) (by glennmichael123)
- ios: release recycled rows on runtime disposal (a4f792d) (by glennmichael123)
- ios: tear down native FlatList callbacks (d6e97e9) (by glennmichael123)
- ios: release UIKit hooks on native disposal (669fafa) (by glennmichael123)
- android: detach control listeners on release (278c22e) (by glennmichael123)
- android: release refreshable list callbacks (d102471) (by glennmichael123)
- android: release date picker callbacks (b5583ea) (by glennmichael123)
- ios: release map resources on teardown (5cc56e7) (by glennmichael123)
- native: release video event bridges (828d663) (by glennmichael123)
- android: tear down recycled scroll callbacks (558236a) (by glennmichael123)
- ios: scope keyed row descendants (5598381) (by glennmichael123)
- native: clear deleted FlatList row state (f6de49b) (by glennmichael123)
- android: detach listeners from recycled rows (99780c4) (by glennmichael123)
- ios: invalidate layout after clearing retained styles (f0b4edd) (by glennmichael123)
- ios: recompute image clipping on resize changes (49271fb) (by glennmichael123)
- native: expose picker value compatibility (78d620b) (by glennmichael123)
- native: expose switch checked compatibility (0820541) (by glennmichael123)
- types: keep sticky headers on scroll views (11b7200) (by glennmichael123)
- types: scope inverted to flat lists (3db5ae8) (by glennmichael123)
- types: expose native map pitch control (b4d5fd8) (by glennmichael123)
- types: expose native map marker colors (b0d05eb) (by glennmichael123)
- ios: validate heart rate filters (28102ef) (by glennmichael123)
- ios: validate live activity numbers (daa7180) (by glennmichael123)
- ios: validate native media limits (4604e28) (by glennmichael123)
- ios: validate native service numbers (9906114) (by glennmichael123)
- native: reject boolean presenter geometry (4cfcae9) (by glennmichael123)
- ios: mirror script-thread validation and current native contracts (128d7bf) (by Chris Breuer)
- ios: trigger universal links after the test host finishes launching (ce707c7) (by Chris Breuer)
- ios: an unlabelled icon is decoration to VoiceOver (3f36489) (by Chris Breuer)
📚 Documentation
- macos: document pointer lock limitation (565abc3) (by glennmichael123)
- define multi-window event delivery policy (6bdcc02) (by glennmichael123)
- native: document dynamic map colors (39fd35e) (by glennmichael123)
- native: document checkbox precedence (fda1fb3) (by glennmichael123)
🧪 Tests
- ios: run a native screen on the script thread (25b4aa9) (by Chris Breuer)
- ios: require native touchable accessibility roles (95a4893) (by Chris Breuer)
- android: assert nearest-pixel authored padding (357cc8d) (by Chris Breuer)
- native: forward modal close events in the navigation fixture (3b734b2) (by Chris Breuer)
- native: cover clipped popup reparent retention (ca20f1c) (by glennmichael123)
- ios: cover live workout completion callbacks (2ff7e13) (by Chris Breuer)
- ios: verify reparented control identity (28a3ec7) (by glennmichael123)
- android: use consistent precision for anchored layout assertions (0c9c1c8) (by Chris Breuer)
- native: cover explicit grid row tracks (14cab56) (by glennmichael123)
- native: document browser-global diagnostics (0072aca) (by glennmichael123)
- android: verify route props through navigation replacement (7d4cd10) (by Chris Breuer)
- native: cover selectable text fixtures (87816fb) (by glennmichael123)
- native: document route prop handoffs (1ba3551) (by glennmichael123)
- ios: cover native switch interactions (b83e451) (by glennmichael123)
- android: align generated switch assertion with native state preservation (c046426) (by Chris Breuer)
- android: attach native list fixtures and read maps on main (ae0d807) (by Chris Breuer)
- android: supply required FlatList removal callbacks (ec56982) (by Chris Breuer)
- android: rasterize grouped svg fixtures (9791f0c) (by glennmichael123)
- native: cover grouped svg text rendering (71b069e) (by glennmichael123)
- ios: restore native FlatList fixture callback contract (a6b8ecb) (by glennmichael123)
- ios: cover solid navigation bar trait refresh (e91d562) (by glennmichael123)
- ios: verify accessibility state restoration (4bde6fa) (by glennmichael123)
- native: exercise dynamic image resize reconciliation (a28cd7b) (by glennmichael123)
- native: cover picker value precedence (0090596) (by glennmichael123)
- native: cover checkbox prop precedence (2cd2ca5) (by glennmichael123)
- native: cover switch prop precedence (e3c6df0) (by glennmichael123)
- native: cover sticky scroll headers (42ae9a9) (by glennmichael123)
- android: verify inverted flat list order (d235690) (by glennmichael123)
- native: include Map in host parity contract (b8188f3) (by glennmichael123)
🤖 Continuous Integration
- pin the qualified Pantry provisioning cohort (245d98a) (by Chris Breuer)
- qualify native touchable roles with the matching compiler (1727372) (by Chris Breuer)
- qualify exact native button labels with the corrected compiler (ec25b38) (by Chris Breuer)
- qualify native compiler with explicit grid rows (2f6d58e) (by Chris Breuer)
- test shared layout changes on mobile (a3f43b5) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
- glennmichael123
v0.0.247
🚀 Features
- android: Bluetooth heart-rate straps, and WorkManager keep fixes (9c87b41) (by Chris)
Contributors
- Chris
v0.0.246
⚡ Performance Improvements
- native: lighter screens, caught swipes, script thread (256ed37) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.245
🚀 Features
- android: keep offline media on WorkManager, resumed after Android stops the app (72a9f86) (by Chris Breuer)
- ios: report session changes to native screens and the page (0153fcf) (by Chris Breuer)
- android: report session changes to native screens (9155257) (by Chris Breuer)
- sdk: add craft.session and SESSION_CHANGED (3fd36c5) (by Chris Breuer)
- android: play every iOS haptic style on native screens (c0a1c4c) (by Chris Breuer)
🐛 Bug Fixes
- sdk: keep craftsession out of the CraftApp event map (1f88548) (by Chris Breuer)
- browser: resolve haptics without the Vibration API (dd43c66) (by Chris Breuer)
📚 Documentation
- document craft.session, background completion and Android haptics (af16433) (by Chris Breuer)
🧪 Tests
- android: follow offline media onto WorkManager (85a2850) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.244
🐛 Bug Fixes
- android: wait for automatic SDK setup to release HOME (35fc31a) (by Chris Breuer)
- ios: keep tab accessory cleanup scoped to its native owner (f49d66e) (by Chris Breuer)
- native: preserve authored keys in mutation documents (f4e09bf) (by Chris Breuer)
- ios: scroll native test targets into view in either direction (f39eb8a) (by Chris Breuer)
- ios: retain protocol views and render contrasting native map signs (e3a4e7b) (by Chris Breuer)
- android: reorder retained rows without detaching focused inputs (4ae889e) (by Chris Breuer)
- android: keep test selectors queryable independently of view identity (e13b2b1) (by Chris Breuer)
- android: retain unique protocol identities before test selectors (ce42e19) (by Chris Breuer)
🧪 Tests
- android: reproduce boot readiness during automatic SDK setup (f8cd4ef) (by Chris Breuer)
- ios: reproduce appearance from a tab without an accessory (dbf1622) (by Chris Breuer)
- ios: reproduce delayed hidden tab appearance clearing chrome (255df43) (by Chris Breuer)
- ios: trace native tab accessory during the compiled push flow (eb09067) (by Chris Breuer)
- ios: reproduce unrelated screen clearing active tab accessory (490ce8d) (by Chris Breuer)
- native: qualify authored keys with the fixed shared compiler (f007094) (by Chris Breuer)
- native: reproduce authored key loss in mutation documents (e8b418a) (by Chris Breuer)
- ios: verify rendered route sign contrast and authored color (b1642b4) (by Chris Breuer)
- android: await both compiled repeated rows before inspection (094e3a9) (by Chris Breuer)
- ios: preserve protocol identity with repeated selectors (56fd5e1) (by Chris Breuer)
- android: reproduce repeated selector view aliasing (6923c94) (by Chris Breuer)
🧹 Chores
- ios: remove temporary native chrome diagnostics (6ad9884) (by Chris Breuer)
- ci: qualify native builds with published STX and Pantry releases (7899178) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/native-repeated-selector-identity (f02c388) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/native-repeated-selector-identity (199b1c2) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.243
v0.0.242
🚀 Features
- ios: keep offline media on a background URL session (4ee95f2) (by Chris Breuer)
🐛 Bug Fixes
- ios: retain links until a native screen is visible (4ff57a1) (by Chris Breuer)
⚡ Performance Improvements
- native: run each screen from its own route bundle (8d9091d) (by Chris Breuer)
🧪 Tests
- use consistent budgets for real changelog commands (e403a66) (by Chris Breuer)
📄 Miscellaneous
- Merge pull request #367 from craft-native/codex/native-changelog-command-budgets (1bcec53) (by Chris) (#367)
Contributors
- Chris
- Chris Breuer
v0.0.241
🚀 Features
- android: a white notification glyph instead of the launcher icon (fa26d66) (by Chris Breuer)
🐛 Bug Fixes
- native: read align-content stretch and space-evenly the way hosts send them (c51b88b) (by Chris Breuer)
- validate pending versions for interactive releases too (2f51f8e) (by Chris Breuer)
- retain workspace discovery when releasing native manifests (741ff91) (by Chris Breuer)
🧪 Tests
- align release rehearsal deadlines with subprocess budgets (327e4e4) (by Chris Breuer)
- reject incomplete workspace versions before release tagging (7ed8a55) (by Chris Breuer)
🧹 Chores
- adopt the published native manifest release fix (19301a8) (by Chris Breuer)
📄 Miscellaneous
- Merge pull request #366 from craft-native/codex/native-release-rehearsal-budget (81e54db) (by Chris) (#366)
- Merge pull request #365 from craft-native/codex/native-sdk-workspace-release (3921a4f) (by Chris) (#365)
Contributors
- Chris
- Chris Breuer
v0.0.238
🚀 Features
- serve secure UUIDs through the canonical Zig bridges (9671ffb) (by Chris Breuer)
- expose secure planned recording starts through the SDK (8ecdd0f) (by Chris Breuer)
- bind the canonical recorder to persisted intent identities (fcc9124) (by Chris Breuer)
- provide native Android secure UUIDs and recovery checks (4d33ae1) (by Chris Breuer)
- preserve planned Android recording identities (39f881e) (by Chris Breuer)
- start iOS recordings with persisted caller identities (4145180) (by Chris Breuer)
- expose atomic storage registration in the SDK (adadbc1) (by Chris Breuer)
- atomically register Android storage values (fd097cc) (by Chris Breuer)
- atomically register iOS storage values (435f064) (by Chris Breuer)
- expose guarded atomic storage checkpoints in the SDK (ed2b3f5) (by Chris Breuer)
- share native recording replies without a webview (18e9934) (by Chris Breuer)
- expose guarded recording recovery and acknowledgement (b7e4d1a) (by Chris Breuer)
- expose selected tab icon configuration and compatibility contract (9bd4fe3) (by Chris Breuer)
- style tab icons from native selection on iOS and Android (a302119) (by Chris Breuer)
- android: own disposable emulator sessions for CI (95b047f) (by Chris Breuer)
🐛 Bug Fixes
- require Android event log readiness before native acceptance (00da9de) (by Chris Breuer)
- probe optional iOS event forwarding before Objective-C dispatch (02933dc) (by Chris Breuer)
- fence browser credential operations to their captured account (00c3ab5) (by Chris Breuer)
- link Foundation for shared UUID tests on Darwin (8a70f06) (by Chris Breuer)
- append the UUID binding without moving existing JNI entries (17b8dc7) (by Chris Breuer)
- import the canonical JNI runtime for platform UUIDs (a17fe8d) (by Chris Breuer)
- bind Android UUID calls through the verified JNI route (12c1590) (by Chris Breuer)
- retain legacy recording start arguments and isolated fixture state (8c59830) (by Chris Breuer)
- serialize browser storage within its captured account (e0e17a2) (by Chris Breuer)
- preserve typed JNI recording errors (89572d2) (by Chris Breuer)
- construct storage fixture identifiers from the UUID property (9ed8fd9) (by Chris Breuer)
- advertise atomic checkpoint support alongside base storage capabilities (1857b31) (by Chris Breuer)
- keep recorder event forwarding independent of screen lifetime (b711a1b) (by Chris Breuer)
- verify the direct recording JNI route without loosening conformance (91343ff) (by Chris Breuer)
- forward shared recorder events to page and native screens (562792a) (by Chris Breuer)
- compare Android checkpoints inside the durable storage lock (67d7cdf) (by Chris Breuer)
- make iOS checkpoints atomic and preserve deleted drafts (f188584) (by Chris Breuer)
- serialize checkpoint preload with durable storage writes (a3ac048) (by Chris Breuer)
- preserve legacy checkpoints when migration cannot write (2e1bda9) (by Chris Breuer)
- roll back failed Android account checkpoints (e675de5) (by Chris Breuer)
- import the Android recording capability runtime (7bd6285) (by Chris Breuer)
- validate recorder metadata without losing recovery state (1d49ee4) (by Chris Breuer)
- align recorder protocol declarations and generation checks (ec1a4c5) (by Chris Breuer)
- fence late Android recorder listener attachment (77bf1d5) (by Chris Breuer)
- serialize Android recorder ownership and service recovery (a663d17) (by Chris Breuer)
- fence and archive the canonical iOS location recorder (f4a78a1) (by Chris Breuer)
- route iOS recording recovery through its native owner (ccab6d5) (by Chris Breuer)
- preserve completed recordings and durable account checkpoints (2da7adb) (by Chris Breuer)
- resolve native test tabs by stable identifiers (6fff79a) (by Chris Breuer)
- preserve recording ownership through the mobile SDK bridge (cb067d4) (by Chris Breuer)
- ios: fence heart-rate recording reads and mutations by owner (d73ddd5) (by Chris Breuer)
- ios: retain input alignment without explicit line height (883dfea) (by Chris Breuer)
- use the upstream Zig iOS descriptor fix (3ae105c) (by Chris Breuer)
- verify the emulator root identity after adbd restarts (3fe8c5f) (by Chris Breuer)
- apply sandboxed Apple process policy to threaded I/O (38e3f8f) (by Chris Breuer)
- emit the complete Zig 0.17 Android libc configuration (5fd67ed) (by Chris Breuer)
- validate selected tab configuration in the native Zig host (3fb2c5d) (by Chris Breuer)
- ci: require verified public Pantry 0.11.92 for native SDK checks (88744fb) (by Chris Breuer)
- retain native Android toolbar views during live tab updates (ab094bd) (by Chris Breuer)
- normalize selected tab icon names consistently (3d014b2) (by Chris Breuer)
- isolate tab swipe indicator rendering from native chrome (d8a93a8) (by Chris Breuer)
- publish live tab updates once per changed reading (a67bdc2) (by Chris Breuer)
- ci: use the repaired Pantry runtime on every platform (0b574bc) (by Chris Breuer)
- maps: consume published source exports without a dependency patch (5fbce54) (by Chris Breuer)
- ci: use the permanent Zig 0.17 toolchain on every platform (9fe6b53) (by Chris Breuer)
- ios: validate shortcut configuration consistently in Zig (b4fbb2c) (by Chris Breuer)
- android: use the supported emulator software renderer (ab6b18a) (by Chris Breuer)
- retain emulator diagnostics in a single command trace (e2ab9a2) (by Chris Breuer)
♻️ Code Refactoring
- share secure platform UUID primitives (760a8cb) (by Chris Breuer)
📚 Documentation
- replace obsolete quick start with current build and renderer guidance (dfa014a) (by Chris Breuer)
- distinguish native STX rendering from mobile web hosts (fe96922) (by Chris Breuer)
- describe atomic account checkpoints before native acknowledgement (5f4458a) (by Chris Breuer)
💅 Styles
- normalize recorder source formatting (271e139) (by Chris Breuer)
- format completed recording ownership checks (281c179) (by Chris Breuer)
🧪 Tests
- keep hardware provisioning capped at ten minutes (d78fe10) (by Chris Breuer)
- isolate bounded software cold provisioning diagnostics (40b916a) (by Chris Breuer)
- await actual UIKit layout completion on the main actor (31ad585) (by Chris Breuer)
- reject emulator handoff before event logging is ready (a0a468c) (by Chris Breuer)
- retain Android failure state before emulator disposal (8738c3b) (by Chris Breuer)
- settle native layout through synchronous UIKit passes (1e93e84) (by Chris Breuer)
- preserve and verify hybrid XCTest acceptance evidence (6d2861a) (by Chris Breuer)
- reject stale browser credentials across account changes (21ec3d8) (by Chris Breuer)
- require a nonempty passing timed-input XCTest result (b7c45bf) (by Chris Breuer)
- retain native template XCTest failure evidence (f6398af) (by Chris Breuer)
- require native UUID responses in both mobile runtime suites (051a8f1) (by Chris Breuer)
- verify the selected native heart animation remains continuous (ae53bd6) (by Chris Breuer)
- recover planned recordings after lost native responses (1ec8fbd) (by Chris Breuer)
- verify checkpoint preload uses the shared commit boundary (2985c95) (by Chris Breuer)
- exercise native recording handoff and archive failures (739fa2c) (by Chris Breuer)
- reproduce dropped recording ownership guards in the SDK (048e06c) (by Chris Breuer)
- ios: preserve input alignment through controlled updates (a55b37b) (by Chris Breuer)
- reproduce native heart-rate recording ownership races (bfc5944) (by Chris Breuer)
- preserve hex color strings in the Swift tab fixture (4fff2b2) (by Chris Breuer)
- ci: require the published Pantry 0.11.91 cohort (65bbab1) (by Chris Breuer)
- verify managed stock Android software emulation in CI (ebf9894) (by Chris Breuer)
🤖 Continuous Integration
- use measured stock Play software cold provisioning profile (554330d) (by Chris Breuer)
- provision native Android acceptance through the Craft emulator lifecycle (83d9552) (by Chris Breuer)
- align benchmark and size jobs with published Pantry source (21ba63f) (by Chris Breuer)
- consume the verified Pantry 0.11.93 native toolchain (8e7f5f8) (by Chris Breuer)
- require consistent published Pantry toolchains (fb9e322) (by Chris Breuer)
- pin published Pantry 0.11.88 in release workflows (86a6d3d) (by Chris Breuer)
🧹 Chores
- integrate published native SDK validation (775ef66) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/linux-device-runner (595f8ae) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.237
v0.0.236
🚀 Features
- add finite native card celebrations (5374fb0) (by Chris Breuer)
🧪 Tests
- exercise native celebration props through mutations (fad16c7) (by Chris Breuer)
- verify celebrations with system animations disabled (fd8f4af) (by Chris Breuer)
🤖 Continuous Integration
- validate required mobile legs for every scope (4a45317) (by Chris Breuer)
- isolate Android motion acceptance from iOS runs (5017329) (by Chris Breuer)
🧹 Chores
- merge accepted native contrast release (bf325c6) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.235
🐛 Bug Fixes
- android: protect native navigation buttons with the device palette (79c0f39) (by Chris Breuer)
📚 Documentation
- android: explain protected native navigation surfaces (f740469) (by Chris Breuer)
🧪 Tests
- android: require readable native navigation in both system themes (f536c35) (by Chris Breuer)
- android: wait for reference window teardown to restore focus (d4d4b49) (by Chris Breuer)
- ios: compare slider tolerance in whole native steps (ea31a3b) (by Chris Breuer)
🤖 Continuous Integration
- ios: run native fixture suites within separate bounded jobs (b71d2e8) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.234
🐛 Bug Fixes
- ios: align restored runtime identity with Xcode Cloud build (b67061f) (by Chris Breuer)
- android: let native screen backgrounds paint button navigation (61e323f) (by Chris Breuer)
- ios: preserve native switch accessibility identity (0f17fd1) (by Chris Breuer)
🧪 Tests
- android: require focused native windows for pixel acceptance (194c1ca) (by Chris Breuer)
- android: compare low contrast system glyphs with stock native windows (0a01b5f) (by Chris Breuer)
- android: compare opaque and transparent native navigation (330b86b) (by Chris Breuer)
- android: match brightness in native bar comparisons (dc39230) (by Chris Breuer)
- android: preserve diagnostics through Gradle test cleanup (262db95) (by Chris Breuer)
- android: compare failing bars with stock native windows (97b5233) (by Chris Breuer)
- android: record failing system bar pixel provenance (9a75be9) (by Chris Breuer)
- android: retain composed system bar failure evidence (bc8bd55) (by Chris Breuer)
- ios: enforce the native switch accessibility baseline (091f2a9) (by Chris Breuer)
- android: inspect native navigation glyph contrast (b4e7291) (by Chris Breuer)
- android: verify composed system navigation backgrounds (69d0a8e) (by Chris Breuer)
- ios: compare switch accessibility with native UIKit (6a0b380) (by Chris Breuer)
🤖 Continuous Integration
- android: require full native navigation on modern and legacy APIs (e6007a7) (by Chris Breuer)
- android: require fresh launcher readiness with portable checks (c69580d) (by Chris Breuer)
- android: compile before boot and reject unhealthy launchers (06ac528) (by Chris Breuer)
- android: isolate native system bar pixel diagnostics (1cd6ee9) (by Chris Breuer)
- android: retain results for each navigation API level (f79dad9) (by Chris Breuer)
- android: cover modern and legacy native system bars (88e068e) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.233
🐛 Bug Fixes
- android: preserve navigation glyph contrast on dark screens (6adf378) (by Chris Breuer)
- android: synchronize legacy status bar backgrounds (d2f181d) (by Chris Breuer)
- android: match system insets to the visible screen background (1bf31e6) (by Chris Breuer)
🧪 Tests
- android: wait for appearance changes independently of app color (e0fd69f) (by Chris Breuer)
- android: cover screen backgrounds beneath system insets (041f936) (by Chris Breuer)
🧹 Chores
- integrate current native input fixes (b55533b) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.232
🐛 Bug Fixes
- ios: preserve active multiline text composition (619e432) (by Chris Breuer)
- ios: omit absent native font resources (e775959) (by Chris Breuer)
🧪 Tests
- ios: preserve multiline composition across reactive renders (b24af17) (by Chris Breuer)
🧹 Chores
- integrate native SDK 231 (47a2ee9) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/ios-multiline-composition (b44cfd4) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.231
🚀 Features
- ios: support timed native input in installed-app tests (52a16ed) (by Chris Breuer)
🐛 Bug Fixes
- ios: omit absent native font resources (b909936) (by Chris Breuer)
🧪 Tests
- ios: verify timed touch delivery on the simulator (8eb6548) (by Chris Breuer)
- ios: compile and validate the timed input driver (fa42e87) (by Chris Breuer)
🧹 Chores
- integrate current native SDK sources (626c814) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.228
v0.0.227
v0.0.226
🐛 Bug Fixes
- browser: invalidate pending cached video playback on clear (6759dc4) (by Chris Breuer)
- browser: clear video downloads safely across account changes (c62a8b2) (by Chris Breuer)
- ci: derive Android acceptance counts from the selected tests (0b51ebc) (by Chris Breuer)
- android: isolate video transfers across cache clears (8d4912d) (by Chris Breuer)
- ios: invalidate video downloads when clearing the cache (bda169a) (by Chris Breuer)
- android: normalize retained tab frames when displaying screens (d751a98) (by Chris Breuer)
- ios: preserve image corner clipping across resize modes (98d8d14) (by Chris Breuer)
- android: preserve images when optional cache encoding exhausts memory (2c2f856) (by Chris Breuer)
🧪 Tests
- android: await bound native text before asserting routes (d43bf56) (by Chris Breuer)
- android: verify image tint transitions in fixture order (0ebdb18) (by Chris Breuer)
- ios: track media transfer identities in builder contracts (476e856) (by Chris Breuer)
- android: read transformed layout report labels (bf92bd9) (by Chris)
- android: assert native numeric picker serialization (209251e) (by Chris)
- native: bind picker fixture items through stx (fc0a387) (by Chris)
- android: await picker initialization before native selection (c264b47) (by Chris)
- android: cover retained tab visibility after swipe cleanup (52e2905) (by Chris)
- android: preserve the current status before picker changes (b998637) (by Chris)
- android: preserve the current control status before picker checks (990d54f) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.225
🚀 Features
- android: add bounded public image cache storage (835bcdd) (by Chris Breuer)
🐛 Bug Fixes
- navigation: replace canonical paths atomically (13f1cb4) (by Chris Breuer)
- native: restore cached images and clip rounded avatars (03c67d5) (by Chris Breuer)
- ci: select Android acceptance tests through the job environment (78a07a9) (by Chris Breuer)
🧪 Tests
- native: cover rounded image rendering in shared fixtures (5e73086) (by Chris Breuer)
- android: pass the input assertion message in JUnit order (6ffa78c) (by Chris Breuer)
- android: compare safe-area restoration with the native window (62b0e54) (by Chris Breuer)
🤖 Continuous Integration
- android: run complete native acceptance independently (f077707) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.224
🐛 Bug Fixes
- android: route system Back through the native navigation stack (e5163df) (by Chris Breuer)
🧪 Tests
- mobile: keep native picker siblings in the compiled fixture (da3164c) (by Chris Breuer)
- android: check retained accessory visibility across navigation (94db7be) (by Chris Breuer)
- android: align native navigation and refresh checks with current fixtures (0de06fa) (by Chris Breuer)
- ios: route focused renderer checks to their own harness (967f7ba) (by Chris)
Contributors
- Chris
- Chris Breuer
v0.0.223
🐛 Bug Fixes
- ci: preserve native probe failures under the emulator shell (4a4cf89) (by Chris Breuer)
- types: retain resolvable testing helper declarations (e68c85f) (by Chris Breuer)
- media: identify disk-full video download failures (d31d0e3) (by Chris Breuer)
🧪 Tests
- android: confine storage pressure to a private cache filesystem (88a96df) (by Chris Breuer)
- media: diagnose the emulator storage fault precisely (7e51907) (by Chris Breuer)
- ci: dispatch packaged native media acceptance on this branch (c6be576) (by Chris Breuer)
- media: exercise packaged cache recovery on both platforms (1eb00a4) (by Chris Breuer)
- mobile: share native media cache fault verification (980aba3) (by Chris Breuer)
🤖 Continuous Integration
- check final SDK packaging independently of device runs (6530486) (by Chris Breuer)
- verify simulator testing helpers on the macOS runner (c552ef3) (by Chris Breuer)
- enforce native media storage recovery coverage (4a3495b) (by Chris Breuer)
🧹 Chores
- ci: restore standard Core checks after native acceptance (249d029) (by Chris Breuer)
- preserve published heart-rate recovery and release 222 (7ed7260) (by Chris Breuer)
- preserve verified Android navigation recovery (7d7f1d6) (by Chris Breuer)
- ci: restore standard Core validation entrypoint (abf2973) (by Chris Breuer)
- preserve current native bridge contract checks (a367d30) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.222
🐛 Bug Fixes
- ios: recover silent heart-rate broadcast subscriptions (3e91f52) (by Chris Breuer)
- android: let newer native navigation interrupt tab swipe settling (c040012) (by Chris Breuer)
🧪 Tests
- android: repair stale fixture locals before navigation assertions (c41c00f) (by Chris Breuer)
- android: run focused navigation with animations enabled (0cfa0c0) (by Chris Breuer)
- android: reproduce tab taps interrupting native swipe completion (fc5bae2) (by Chris Breuer)
- android: verify every Kotlin JNI registration without stale counts (1057417) (by Chris Breuer)
- ios: align navigation contract checks with native ownership (fda4c58) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.221
v0.0.220
🐛 Bug Fixes
- ios: restore visible tab chrome after interrupted swipes (63f69d7) (by Chris Breuer)
- ios: make the native tab accessory surface tappable (e59d58e) (by Chris Breuer)
🧪 Tests
- ios: support controlled drags in installed-app journeys (a38a44a) (by Chris Breuer)
- ios: keep component assertions scoped to their native controls (f1d2f31) (by Chris Breuer)
- ios: verify accessory ownership after cancelled transitions (678f8eb) (by Chris Breuer)
- ios: use current native navigation controls in UI journeys (f192088) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.219
🐛 Bug Fixes
- ios: preserve newer input focus across delayed updates (2bcd705) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.218
v0.0.217
🐛 Bug Fixes
- ios: keep outgoing page reports from clearing swipe previews (7236139) (by Chris Breuer)
- ios: preserve newer tab input across deferred page reports (203c4cf) (by Chris Breuer)
🧪 Tests
- ios: preserve active swipe selection over page reports (1b08944) (by Chris Breuer)
- ios: cover stale incoming selection on swipe cancellation (5dc2e85) (by Chris Breuer)
- ios: reproduce stale tab selection after newer input (a22d5cc) (by Chris Breuer)
- ios: exercise accent badges and inherited tint reliably (41a252b) (by Chris Breuer)
🤖 Continuous Integration
- retain navigation evidence when UIKit reconciliation fails (8e03128) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.216
🐛 Bug Fixes
- ios: preserve numeric zero and one across the JSON bridge (e7d4d0c) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.215
v0.0.214
🚀 Features
- ios: route auto rows through shared layout (55c503a) (by glennmichael123)
- android: route auto rows through shared layout (cac4e0b) (by glennmichael123)
🐛 Bug Fixes
- ios: preserve native switch animations after value changes (f54a075) (by Chris Breuer)
- native: reject boolean navigation badges (d130dae) (by glennmichael123)
- native: reject boolean picker values (39c6e99) (by glennmichael123)
- native: reject boolean screen numbers (0bc1912) (by glennmichael123)
- native: reject boolean FlatList insets (9cfb7b4) (by glennmichael123)
- native: keep iOS integer props strict (abdc4f6) (by glennmichael123)
- native: route legacy dialogs through capability bridge (7ccfacd) (by glennmichael123)
- native: reject boolean svg numerics (9369039) (by glennmichael123)
- native: reject boolean map numerics (07f7f6e) (by glennmichael123)
- native: keep multiline input limits strict (fef7439) (by glennmichael123)
- native: keep indicator sizes strict (c58bf6b) (by glennmichael123)
- native: keep input limits strict (9d32545) (by glennmichael123)
- native: keep text line limits strict (7bb7d0b) (by glennmichael123)
- native: keep slider numerics strict (5ccb361) (by glennmichael123)
- native: reject boolean style numerics (427aec7) (by glennmichael123)
- native: reject boolean layout lengths (29d1e1c) (by glennmichael123)
- native: align nested flex shrink defaults (5538a1e) (by glennmichael123)
🧪 Tests
- native: cover nested shrink axes (d2d39a2) (by glennmichael123)
- native: cover nested grid auto rows (253ed66) (by glennmichael123)
- native: cover shared auto-row ABI (9016faa) (by glennmichael123)
🧹 Chores
- integrate current native layout changes (ca93406) (by Chris Breuer)
Contributors
- Chris Breuer
- glennmichael123
v0.0.213
v0.0.212
🧪 Tests
- mobile: add shared restart and in-place update controls (91b128e) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.211
v0.0.210
🐛 Bug Fixes
- ios: preserve container fills and match tab accessory glass (6995268) (by glennmichael123)
- native: expose window alias in host runtimes (a0ae835) (by glennmichael123)
- types: type recursive native styles (9274998) (by glennmichael123)
- types: allow native image source strings (cc7a491) (by glennmichael123)
- types: align native image errors (6f680f7) (by glennmichael123)
- styles: type recursive native style values (4d23071) (by glennmichael123)
- types: expose local date-time picker mode (9906dff) (by glennmichael123)
- types: expose text click alias (a4a4f21) (by glennmichael123)
- styles: flatten nested native style arrays (385c1d2) (by glennmichael123)
- types: expose native control styles (0365572) (by glennmichael123)
- types: expose native button styles (fada15a) (by glennmichael123)
- ios: preserve italic dynamic type scaling (6284be3) (by glennmichael123)
- types: allow numeric native text weights (e648cc2) (by glennmichael123)
- mobile: normalize numeric text weights (689595b) (by glennmichael123)
- android: preserve explicit map camera regions (f29e244) (by glennmichael123)
- ios: preserve native accessibility control traits (4fa30e5) (by glennmichael123)
📚 Documentation
- native: keep tab accessory host docs aligned (98d53e6) (by glennmichael123)
- native: document tab accessories (ef1cb26) (by glennmichael123)
- native: explain dom-free bridge compatibility (cb147e4) (by glennmichael123)
- native: list shared utility nodes (e4faf6d) (by glennmichael123)
- native: align style and image contracts (6105d2f) (by glennmichael123)
🧪 Tests
- native: verify window alias on iOS (50c3a14) (by glennmichael123)
- crypto: preserve X25519 identity rejection (bf000ec) (by glennmichael123)
- android: align native shell start route (8dd2c1f) (by glennmichael123)
- android: align numeric font weight contract (1d118eb) (by glennmichael123)
- ios: cover navigation bar re-entry appearance (13cfc27) (by glennmichael123)
Contributors
- glennmichael123
v0.0.209
🐛 Bug Fixes
- build: restore the locked system toolchains (fcd3fa8) (by glennmichael123)
- ios: scale native text with dynamic type (739accb) (by glennmichael123)
- android: clear safe area on retained view changes (fccfde9) (by glennmichael123)
- ios: clear stale tab accessories on screen exit (a935e82) (by glennmichael123)
- crypto: update Ed25519 bridge for Zig 0.18 (6f17398) (by glennmichael123)
🧪 Tests
- mobile: cover native tab accessories (95b79b2) (by glennmichael123)
- mobile: cover retained safe-area type switches (7468a97) (by glennmichael123)
Contributors
- glennmichael123
v0.0.207
🐛 Bug Fixes
- ios: hold cold links until native stacks mount (13f4903) (by Chris Breuer)
- ios: scope native map marker handlers (16ea4f7) (by Chris Breuer)
- android: keep text input metadata typed (03381f4) (by glennmichael123)
- android: keep text input visuals typed (b8ea329) (by glennmichael123)
- android: keep date picker modes typed (9ff141d) (by glennmichael123)
- android: keep map marker titles typed (cd9e278) (by glennmichael123)
- android: keep native labels string typed (042d9ae) (by glennmichael123)
- android: keep picker item labels typed (5b1e31b) (by glennmichael123)
- android: keep picker labels string typed (15a505c) (by glennmichael123)
- android: keep text input values typed (a1ea541) (by glennmichael123)
- native: normalize numeric icon weights (943548a) (by glennmichael123)
- android: reject malformed text weights (2d5555a) (by glennmichael123)
- android: preserve icon font weights (b5fd680) (by glennmichael123)
- android: keep text metrics numeric (a7fd868) (by glennmichael123)
- android: align SVG numeric parsing (5c62475) (by glennmichael123)
- android: reject malformed style numerics (c8df728) (by glennmichael123)
- android: keep layout numerics strict (c9da45b) (by glennmichael123)
- android: align remaining boolean props (36eea85) (by glennmichael123)
- android: align map boolean props (70907a1) (by glennmichael123)
- android: reject malformed integer props (1edecef) (by glennmichael123)
- android: reject malformed text limits (8446f7a) (by glennmichael123)
- android: reject malformed slider numbers (d97b478) (by glennmichael123)
- android: align media and input booleans (cd9b7a9) (by glennmichael123)
- android: align scroll boolean defaults (f93faaa) (by glennmichael123)
- android: keep native booleans strict (1f2ec7d) (by glennmichael123)
🧪 Tests
- ios: match site links by their full origin (e0c14eb) (by Chris Breuer)
Contributors
- Chris Breuer
- glennmichael123
v0.0.206
🚀 Features
- ios: run bundled device journeys with XCTest evidence (8911df8) (by Chris Breuer)
🐛 Bug Fixes
- android: align checkbox indeterminate state (e2e9781) (by glennmichael123)
- android: accept local fractional dates (8e87985) (by glennmichael123)
- native: reject invalid picker values (820e4b0) (by glennmichael123)
- native: align malformed checkbox state (8b2abd8) (by glennmichael123)
- native: reject malformed switch state (a73f710) (by glennmichael123)
- native: align SVG text weight inheritance (862902e) (by glennmichael123)
- android: inherit parent typography for raw text (1a1926b) (by glennmichael123)
- android: ignore invalid switch colors (6c37769) (by glennmichael123)
- android: ignore invalid refresh colors (8ce7c3e) (by glennmichael123)
- android: ignore invalid control colors (3888b47) (by glennmichael123)
- android: ignore invalid slider colors (b832a85) (by glennmichael123)
- android: ignore invalid input colors (b58dd98) (by glennmichael123)
- android: clear invalid image tints (49645b4) (by glennmichael123)
- ios: honor ImageBackground tint styles (f792538) (by glennmichael123)
- android: adapt refresh tint to screen theme (26b35e9) (by glennmichael123)
- android: guard FlatList refresh colors (6f11861) (by glennmichael123)
- native: honor FlatList refresh control props (51013fc) (by glennmichael123)
- android: apply slider tint colors (27727af) (by glennmichael123)
- android: apply activity indicator colors (9d20fbf) (by glennmichael123)
- android: reset removed button colors (ceeb235) (by glennmichael123)
🧪 Tests
- native: cover FlatList refresh appearance (daea603) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.205
🚀 Features
- native: support map-level marker handlers (cde3e22) (by glennmichael123)
- native: align svg paint semantics (7a2ad45) (by glennmichael123)
- android: support native scroll targeting (7ff1544) (by glennmichael123)
- native: support touchable highlight underlays (567915a) (by glennmichael123)
- types: expose native transition identity (5c9c99e) (by glennmichael123)
- types: expose native scroll controls (e8666f1) (by glennmichael123)
- types: expose native SVG props (6224a54) (by glennmichael123)
- types: expose native utility node props (ef5d98e) (by glennmichael123)
- types: expose native gradient style controls (7952802) (by glennmichael123)
- types: expose native grid style controls (8b1e1d5) (by glennmichael123)
- types: expose native input autofill hints (b4b7418) (by glennmichael123)
- native: support picker item props (edb4745) (by glennmichael123)
- types: expose initial map region (1fb5701) (by glennmichael123)
🐛 Bug Fixes
- ios: scope simulator prompts and test system activities (46f0539) (by Chris Breuer)
- android: align map numeric validation (79c3f50) (by glennmichael123)
- android: reset retained shadow colors (f2f61e5) (by glennmichael123)
- native: retain pending FlatList targets (7a0ae66) (by glennmichael123)
- native: support FlatList scroll targets (87991fb) (by glennmichael123)
- native: honor FlatList paging (215e726) (by glennmichael123)
- android: honor FlatList scrollEnabled (6d9ab7a) (by glennmichael123)
- native: align FlatList scroll controls (20eca21) (by glennmichael123)
- ios: clear removed input accessibility values (73aa0a1) (by glennmichael123)
- ios: preserve native video playback intent (1a3eb7b) (by glennmichael123)
- android: preserve native video playback intent (4116975) (by glennmichael123)
- ios: retry map fits after layout (a631c16) (by glennmichael123)
- native: tint image backgrounds on Android (0c7f4de) (by glennmichael123)
- ios: restore recycled multiline input insets (05ab101) (by glennmichael123)
- native: clear recycled icon minimums (388a7f0) (by glennmichael123)
- native: restore recycled input padding (eb0b224) (by glennmichael123)
- native: reset recycled button padding (7efa5d1) (by glennmichael123)
- android: match chrome to screen backgrounds (3d618f2) (by glennmichael123)
- android: honor native screen background options (ddfa75b) (by glennmichael123)
- android: preserve plus signs in native query keys (1662cd6) (by glennmichael123)
- android: preserve plus signs in native path params (c2ff5c6) (by glennmichael123)
- android: validate native route configuration (32eb1e0) (by glennmichael123)
- android: refresh navigation button theme colors (fb7b422) (by glennmichael123)
- native: align deep link origin checks (949af4d) (by glennmichael123)
- android: preserve native launch query params (dfa92a7) (by glennmichael123)
- ios: honor hybrid web fallback without native bundle (a60a98d) (by glennmichael123)
- android: defer video play events until playback (adf5aa6) (by glennmichael123)
- android: emit native video progress events (a39a037) (by glennmichael123)
- android: dispatch video picture in picture events (e3245a4) (by glennmichael123)
- native: align map marker handler aliases (26d4c91) (by glennmichael123)
- native: honor scroll refresh control props (32671f3) (by glennmichael123)
- android: retry map fitting after measurement (c542144) (by glennmichael123)
- types: align native image backgrounds (bd34675) (by glennmichael123)
- types: align native image sources (92909c7) (by glennmichael123)
- types: align native text inputs (aa110ba) (by glennmichael123)
- types: align native refresh controls (03e2183) (by glennmichael123)
- types: align native section lists (53eabfe) (by glennmichael123)
- types: align native date pickers (d7be367) (by glennmichael123)
- types: align native flat lists (ae6e0dc) (by glennmichael123)
- types: align native section lists (87480b4) (by glennmichael123)
- types: align native text options (68900f6) (by glennmichael123)
- types: align native view events (87ff0fb) (by glennmichael123)
- types: align native pressable options (2de3571) (by glennmichael123)
- types: align native map styles (9493300) (by glennmichael123)
- types: remove unsupported image props (2b4c4fa) (by glennmichael123)
- types: expose native event aliases (5fbe2fd) (by glennmichael123)
- types: allow child-based native section lists (007f199) (by glennmichael123)
- types: type native refresh controls (d2092fa) (by glennmichael123)
- types: align native accessibility roles (264b281) (by glennmichael123)
- types: allow child-only native pickers (4d4dbce) (by glennmichael123)
- types: align image resize modes with native hosts (5401cc5) (by glennmichael123)
- native: normalize numeric picker values (6cd2d07) (by glennmichael123)
- native: forward image request headers (fa6f2b7) (by glennmichael123)
- types: align native image sources (f244235) (by glennmichael123)
- types: align native image resize modes (7e89cd2) (by glennmichael123)
- android: scale map stroke widths for density (1a7bedb) (by glennmichael123)
- native: preserve map camera across reconciliations (0c919d6) (by glennmichael123)
- android: align map overlay color parsing (9f13375) (by glennmichael123)
- android: preserve safe areas during tab swipes (c4e9d00) (by glennmichael123)
- native: align gradient backgrounds (e6a523c) (by glennmichael123)
- native: align per-edge border styles (c632211) (by glennmichael123)
- ios: schedule targeted layout events (31b8602) (by glennmichael123)
- native: align transformed layout events (a47ebd4) (by glennmichael123)
- ios: parse native map overlay colors (7ea9b90) (by glennmichael123)
- ios: recover canceled hybrid tab routes (11536cb) (by glennmichael123)
📚 Documentation
- native: document FlatList scroll controls (3624d7e) (by glennmichael123)
- native: document shared screen backgrounds (6a73ec2) (by glennmichael123)
- native: align image URL policy (c77e75e) (by glennmichael123)
- types: align native accessibility roles (0a9bdec) (by glennmichael123)
- native: document map camera contract (92dd8b2) (by glennmichael123)
- native: document shared visual styles (a570a1a) (by glennmichael123)
- native: sync stx compiler pin (ffbcdc5) (by glennmichael123)
🧪 Tests
- native: cover FlatList scroll targets (5ca407b) (by glennmichael123)
- native: cover FlatList paging (cfe9403) (by glennmichael123)
- native: cover FlatList scroll defaults (e9df6e4) (by glennmichael123)
- native: cover recycled button style resets (5e202bd) (by glennmichael123)
- native: cover horizontal list intrinsic widths (31413cf) (by glennmichael123)
- native: cover Android screen background options (9bec224) (by glennmichael123)
- ios: cover every solid navigation appearance slot (74275d4) (by glennmichael123)
- native: update svg dash offset assertions (77698eb) (by glennmichael123)
- native: cover image background resize mode (99462e6) (by glennmichael123)
- native: cover typed picker items in navigation fixture (69b7a0c) (by glennmichael123)
- android: retain native link targets (05ace91) (by glennmichael123)
- native: cover selective safe area edges (ebf0067) (by glennmichael123)
- android: cover retained native navigation state (ce83bbd) (by glennmichael123)
🧹 Chores
- retain current native component fixes (3dacb0f) (by Chris Breuer)
- preserve current native renderer updates (0ed74f6) (by Chris Breuer)
- integrate verified Android App Link wildcard support (b9ff70d) (by Chris Breuer)
- integrate current native component updates (7aa3d7f) (by Chris Breuer)
Contributors
- Chris Breuer
- glennmichael123
v0.0.204
🐛 Bug Fixes
- android: match nonempty App Link path segments (ee9018f) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.203
🐛 Bug Fixes
- native: canonicalize renderer node aliases (ca12954) (by glennmichael123)
- ios: keep slow hybrid pages visible until they commit (77fc683) (by Chris Breuer)
- ios: pair simulator runtimes with the selected Xcode SDK (cdda65f) (by Chris Breuer)
- ios: clip nested scroll content to its viewport (7ed9190) (by Chris Breuer)
- ios: preserve native input touches and link activation (58d672f) (by Chris Breuer)
- android: drain lifecycle messages before closing screens (71ea48f) (by Chris Breuer)
- ios: invalidate cached item sizes when list width changes (7dd2571) (by Chris Breuer)
- android: retain text inputs when multiline mode changes (fd32fa6) (by Chris Breuer)
- ios: keep list measurement separate from committed layout (cce4d5c) (by Chris Breuer)
- android: scope descendants to retained parent identities (7dbb0fd) (by Chris Breuer)
- android: include browser dependency for both renderers (cf67fee) (by Chris Breuer)
- mobile: preserve refresh controls and invalidate list metrics (828bd4a) (by Chris Breuer)
- ios: refresh list estimates and retry file sizes (b95d74e) (by Chris Breuer)
- android: preserve text keyboard class and multiline flags (27ad059) (by Chris Breuer)
📚 Documentation
- synchronize verified native release candidate notes (6345912) (by Chris Breuer)
- native: document shared transforms and shadows (4e065e1) (by glennmichael123)
- record cold simulator startup verification (6177834) (by Chris Breuer)
- record default simulator test invocation (a823efd) (by Chris Breuer)
- include UIKit fixture metadata verification (954683f) (by Chris Breuer)
- record simulator compatibility and hybrid rendering fixes (2431f89) (by Chris Breuer)
- record complete parallel device verification (eeb471f) (by Chris Breuer)
- synchronize native release verification notes (8d534df) (by Chris Breuer)
- record the hybrid device harness fix (6c19f0f) (by Chris Breuer)
- complete native device release notes (233bbd8) (by Chris Breuer)
🧪 Tests
- ios: cover solid navigation bar title modes (ba7e5fc) (by glennmichael123)
- ios: await cold WebKit startup with the device suite budget (0705910) (by Chris Breuer)
- ios: request Xcode repetitions only for stress runs (0e3a1e9) (by Chris Breuer)
- ios: declare complete UIKit test target metadata (51f2f5a) (by Chris Breuer)
- ios: use ad hoc signing for UIKit simulator fixtures (b1d8b00) (by Chris Breuer)
- ios: retain hybrid HTTP and Xcode failure evidence (f2f9cfc) (by Chris Breuer)
- ios: keep hybrid fixture HTTP serving during Xcode checks (877cdad) (by Chris Breuer)
- ios: verify native link retention and diagnose tab settling (e3b34f5) (by Chris Breuer)
- align native contracts with shared service APIs (429cc95) (by Chris Breuer)
- android: share Gradle Kotlin fixture execution (21161be) (by Chris Breuer)
- ios: assert selected tabs without matching back buttons (9449168) (by Chris Breuer)
- ios: query the floating native tab buttons by role (b559c4c) (by Chris Breuer)
- mobile: verify native link pushes and edge back with tab gestures (7bd8e85) (by Chris Breuer)
- ios: align color fixture coverage with RGBA assertions (f329926) (by Chris Breuer)
- ios: assert rendered navigation colors across color spaces (54c6c5c) (by Chris Breuer)
🤖 Continuous Integration
- support fixed-ref release candidate verification (b7d2e54) (by Chris Breuer)
- run required iOS native and protocol suites independently (1b50fec) (by Chris Breuer)
🧹 Chores
- integrate current native link retention coverage (4306c99) (by Chris Breuer)
- release v0.0.203 (00fd401) (by Chris Breuer)
- integrate current native navigation fixes (075a6f6) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' into codex/device-ci-native (1a37724) (by Chris Breuer)
- Merge remote-tracking branch 'origin/main' into codex/device-ci-native (48419a5) (by Chris Breuer)
Contributors
- Chris Breuer
- glennmichael123
v0.0.202
🐛 Bug Fixes
- ios: let newer navigation interrupt native tab settling (a3dfe7f) (by Chris Breuer)
🧪 Tests
- ios: isolate pending transitions during fixture cleanup (6f4da5f) (by Chris Breuer)
- ios: yield the main actor while waiting for native frames (58e1bc3) (by Chris Breuer)
- ios: handle additive UIKit position interpolation (9c47515) (by Chris Breuer)
🤖 Continuous Integration
- mobile: verify navigation with published stx 0.2.544 (b5ef9bd) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.201
🚀 Features
- android: declare verified HTTPS links and explicit browser handoff (ddae1c2) (by Chris Breuer)
🐛 Bug Fixes
- android: respect app link exclusions on cold and warm launches (486bd39) (by Chris Breuer)
🧪 Tests
- ios: separate native fixture builds from XCTest launch (c44555d) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.200
🐛 Bug Fixes
- ios: complete and cancel interactive native tab transitions (32d59a9) (by Chris Breuer)
- updater: reject missing bundles before invoking codesign (3e1a797) (by Chris Breuer)
🧪 Tests
- android: assert focus on the field receiving input (a181ed9) (by Chris Breuer)
- mobile: separate image load recovery and tint feedback (6147cc1) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.199
🐛 Bug Fixes
- mobile: recover interrupted offline media downloads (aa9f494) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.198
🐛 Bug Fixes
- ios: preserve Live Activity contrast and nullable timers (47289a9) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.197
v0.0.196
v0.0.195
🚀 Features
- mobile: share ActivityKit lifecycle across native and web hosts (e612375) (by Chris Breuer)
- ios: add native session Live Activity presentations (d91bf7b) (by Chris Breuer)
🧪 Tests
- mobile: preserve fractional intrinsic image measurements (53b630c) (by Chris Breuer)
- android: account for pixel snapping in constrained widths (881ab5c) (by Chris Breuer)
- android: compare layout callbacks at physical pixel precision (dc53143) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.194
v0.0.193
v0.0.192
🚀 Features
- android: title native share link previews (dfbc316) (by Chris Breuer chris@stacksjs.com)
- ios: share titled URLs with native link previews (eb75e6a) (by Chris Breuer chris@stacksjs.com)
🐛 Bug Fixes
- android: retain checkbox change handlers during press reconciliation (2d41620) (by Chris Breuer chris@stacksjs.com)
🧪 Tests
- android: skip JVM input check without a cached toolchain (4e734ba) (by Chris Breuer chris@stacksjs.com)
🧹 Chores
- release v0.0.192 (84c4638) (by Chris Breuer chris@stacksjs.com)
Contributors
- Chris Breuer chris@stacksjs.com
v0.0.191
v0.0.189
🐛 Bug Fixes
- browser: retire website identity caches when accounts change (60ea542) (by Chris Breuer chris@stacksjs.com)
Contributors
- Chris Breuer chris@stacksjs.com
v0.0.187
v0.0.186
🐛 Bug Fixes
- ios: a video's system controls answer touches and VoiceOver (3ba12c2) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.185
v0.0.184
🐛 Bug Fixes
- ios: a labelled scroll view or group keeps its content for VoiceOver (5e1c1d9) (by Chris)
Contributors
- Chris
v0.0.183
🐛 Bug Fixes
- ios: a node keeps its own identity, and a hidden bar stays hidden (5510c7e) (by Chris)
Contributors
- Chris
v0.0.182
🚀 Features
- native: picture in picture, calmer speech in the best voice, animated changes (14ea516) (by Chris Breuer)
🐛 Bug Fixes
- native: explicit Kotlin setters, availability check on its own (b0e9652) (by Chris Breuer)
- ios: an app built through craft-native names its Craft version (f1d0e63) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.181
v0.0.180
🐛 Bug Fixes
- ios: a bar's round button is 44 points, and a later sibling takes its touches (7b0182e) (by Chris)
Contributors
- Chris
v0.0.179
🐛 Bug Fixes
- ios: crash reports reach bughq: JSON-safe events, the right message (64e294d) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.178
🚀 Features
- android: add Bluetooth GATT setup and notification reads (9095440) (by Chris Breuer)
- ios: add a native Bluetooth GATT request channel (09bcd26) (by Chris Breuer)
🐛 Bug Fixes
- test: preserve the Android builder suite after integration (af8e9df) (by Chris Breuer)
- android: the native activity template compiles again (bf36578) (by Chris Breuer)
🧪 Tests
- android: layout assertions put JUnit's message first (232e042) (by Chris Breuer)
- android: check shared intrinsic layout invalidation (5f5fe60) (by Chris Breuer)
🧹 Chores
- integrate current native renderer fixes (77d35b6) (by Chris Breuer)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' (bf7294b) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.177
🚀 Features
- ios: the simulator driver drags in from the screen's edge (bca254f) (by Chris)
🐛 Bug Fixes
- ios: native screens keep their presses, modals, layout reports and keyboard straight (fdd566d) (by Chris Breuer)
🧪 Tests
- native: the navigation fixture asks what its screens now promise (1e110ec) (by Chris Breuer)
Contributors
- Chris
- Chris Breuer
v0.0.176
🚀 Features
- mobile: crash and error reporting to bughq on iOS and Android (43e4852) (by Chris Breuer)
- native: share independent flex gaps (6692a20) (by glennmichael123)
- native: share wrapped flex layout across hosts (aa79b60) (by glennmichael123)
- android: expand native web audio graph (702c6d7) (by glennmichael123)
- android: route simple layout through shared tree ABI (977240d) (by glennmichael123)
- ios: route simple layout through shared tree ABI (1c3464c) (by glennmichael123)
- native: expose shared tree layout ABI (7806fe9) (by glennmichael123)
- sdk: type native component parity (8aeed9b) (by glennmichael123)
🐛 Bug Fixes
- ios: pass flexWrap after alignItems, as StyleInput declares it (0378767) (by Chris Breuer)
- android: fill vertical native list rows (e21bb0a) (by glennmichael123)
- native: preserve intrinsic FlatList row heights (12dbc08) (by glennmichael123)
- native: invalidate image intrinsic layout across hosts (b733cef) (by glennmichael123)
- native: resolve percentage grid heights (3701359) (by glennmichael123)
- native: share responsive percentage layout (06e07bb) (by glennmichael123)
- native: inherit svg paint styles across hosts (0349027) (by glennmichael123)
- android: preserve native audio channels (6f1f420) (by glennmichael123)
- android: render native audio buffer samples (239fada) (by glennmichael123)
- ios: pin native root viewport beside scroll views (40f7623) (by glennmichael123)
- ios: validate shared layout frames safely (cbcfa68) (by glennmichael123)
- ios: the native screen template compiles again (96bf52a) (by Chris Breuer)
- ios: name generated native targets (e93c85b) (by glennmichael123)
- ios: invalidate image intrinsic layout (f173ed5) (by glennmichael123)
- android: invalidate ancestor layout measurements (242b4fd) (by glennmichael123)
- android: invalidate native layout measurements (411d30a) (by glennmichael123)
- android: sanitize map stroke colors (ab2298b) (by glennmichael123)
- android: ignore null scroll callbacks (572ca52) (by glennmichael123)
- android: ignore null native event handlers (dd9d509) (by glennmichael123)
- android: ignore null modal handlers (3067c2a) (by glennmichael123)
- android: treat null utility booleans as unset (f4c9988) (by glennmichael123)
- android: sanitize refresh control colors (b402f84) (by glennmichael123)
- android: sanitize map overlay identity (5e34bb6) (by glennmichael123)
- android: sanitize top-level native sources (131b627) (by glennmichael123)
- android: clear removed native metadata (25008ec) (by glennmichael123)
- android: reset removed control tints (5c1973d) (by glennmichael123)
- android: ignore null native string props (63314a3) (by glennmichael123)
- android: treat null resize mode as unset (1aabcc1) (by glennmichael123)
- android: honor native video resize mode (beb1639) (by glennmichael123)
- android: reset date picker bounds (a1e4004) (by glennmichael123)
- android: reset checkbox tint on reconcile (9c01e2b) (by glennmichael123)
- android: consume native map marker taps (8561797) (by glennmichael123)
- ios: match Android layout visibility (0bc04cc) (by glennmichael123)
- ios: suppress hidden native layout events (0767a7f) (by glennmichael123)
- android: forward map low memory events (a77d566) (by glennmichael123)
- android: ignore late map callbacks (c5cccec) (by glennmichael123)
- android: destroy released map views (81f7fa9) (by glennmichael123)
- native: validate SVG viewBox geometry (e3368c4) (by glennmichael123)
- native: reject non-finite countdown values (2970eba) (by glennmichael123)
- native: reject invalid SVG geometry (bd8b157) (by glennmichael123)
- native: sanitize date picker timestamps (d27103a) (by glennmichael123)
- native: sanitize activity indicator sizes (46153e5) (by glennmichael123)
- native: sanitize SVG text geometry (18657dc) (by glennmichael123)
- native: sanitize SVG paint inputs (3ac6bf7) (by glennmichael123)
- native: sanitize list end thresholds (5d2226c) (by glennmichael123)
- android: sanitize native font sizes (a9cf214) (by glennmichael123)
- android: sanitize native transforms (bd4a027) (by glennmichael123)
- android: sanitize native view dimensions (f5cdba7) (by glennmichael123)
- android: reject non-finite text styles (ab79407) (by glennmichael123)
- native: reject non-finite slider values (4e85ef3) (by glennmichael123)
- native: sanitize keyboard avoidance offsets (26d082a) (by glennmichael123)
- android: sanitize pressable active opacity (2895e84) (by glennmichael123)
- android: reject invalid map stroke widths (411bf28) (by glennmichael123)
- native: bound map region spans (96c1de5) (by glennmichael123)
- native: validate map coordinates consistently (0b8804e) (by glennmichael123)
- native: accept map overlay mutations (a7e94bc) (by glennmichael123)
- android: target mutations at drawn ancestors (49dafff) (by glennmichael123)
- ios: sanitize map overlay geometry (1173d31) (by glennmichael123)
- ios: retain unchanged map overlays (a3b447d) (by glennmichael123)
- android: update map polylines in place (9c33a13) (by glennmichael123)
- android: sanitize native shadow values (144ad35) (by glennmichael123)
- android: sanitize native drawable dimensions (24213d5) (by glennmichael123)
- android: sanitize native opacity values (300ffce) (by glennmichael123)
- native: sanitize tree layout gaps (ad93b04) (by glennmichael123)
- android: reject overflowing flex gaps (cbd0b4f) (by glennmichael123)
- native: normalize list and control padding (7f4ecc8) (by glennmichael123)
- native: normalize container padding (086190d) (by glennmichael123)
- native: clamp flex and grid gaps (1825ac1) (by glennmichael123)
- native: clamp negative layout lengths (63a466c) (by glennmichael123)
- native: reject non-finite layout numbers (50ae8ed) (by glennmichael123)
- native: reject non-finite layout lengths (05552de) (by glennmichael123)
- ios: expose date pickers to accessibility (88cdd3d) (by glennmichael123)
- ios: canonicalize date picker aliases (f808134) (by glennmichael123)
- android: keep app-script options stackless (bcbde0c) (by glennmichael123)
- android: keep app-script back stackless (fc1ee38) (by glennmichael123)
- android: keep app-script navigation stackless (8505d0c) (by glennmichael123)
- android: gate maps dependency to native renderer (426152d) (by glennmichael123)
- android: accept navigation from visible screen (1336bc4) (by glennmichael123)
- android: keep descendant test ids local (1edd091) (by glennmichael123)
- ios: mirror associated domains in zig config (a1c5b7d) (by glennmichael123)
- test: align native fixture route names (cee91d7) (by glennmichael123)
- native: align iOS layout and capability config (2c22e98) (by glennmichael123)
- native: restore mobile template build imports (a0c0cc3) (by glennmichael123)
📚 Documentation
- native: list svg primitives in host inventories (6e10a73) (by glennmichael123)
- native: document shared layout adapter parity (4fb344a) (by glennmichael123)
- ios: align notification validation notes (e18604c) (by glennmichael123)
- ios: record native validation divergences (5198fac) (by glennmichael123)
- native: document map input bounds (f442f40) (by glennmichael123)
🧪 Tests
- ios: classify validation conformance coverage (7701209) (by glennmichael123)
- native: cover nested percentage measurements (7fa48b4) (by glennmichael123)
- ios: bound native navigation button surfaces (54e07c7) (by glennmichael123)
- ios: pin plain root overlays beside scroll views (68084b1) (by glennmichael123)
- native: cover nested shared layout trees (6a64550) (by glennmichael123)
- native: cover independent flex gaps (97a81c2) (by glennmichael123)
- native: cover percentage grid heights (bb76f96) (by glennmichael123)
- native: cover percentage flex basis (17af56b) (by glennmichael123)
- native: document shared percentage sizing (cf0bf51) (by glennmichael123)
- native: cover nested shared layout trees (abf65de) (by glennmichael123)
- native: pin root overlays beside scroll views (e75b19f) (by glennmichael123)
- native: cover hidden ancestor layout events (ad7c3d7) (by glennmichael123)
- native: cover map overlay mutations on both hosts (a515078) (by glennmichael123)
- ios: a chat bubble with a percentage max-width takes its text's width (de45873) (by Chris Breuer)
🧹 Chores
- native: pin mobile e2e to map-aware stx (0817340) (by glennmichael123)
📄 Miscellaneous
- Merge remote-tracking branch 'origin/main' (dfc4a44) (by glennmichael123)
- Merge remote-tracking branch 'origin/main' (389d4ed) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.175
v0.0.174
🚀 Features
- android: configure native map credentials (4dc7094) (by glennmichael123)
- native: add trail map primitive (e028b20) (by glennmichael123)
- native: honor image default sources (bfbde60) (by glennmichael123)
- native: honor SafeAreaView edge insets (b4f3922) (by glennmichael123)
- native: align refresh control appearance (f55a817) (by glennmichael123)
- native: support status bar and refresh control nodes (6b8bc27) (by glennmichael123)
- ios: add native passkey capability (963053b) (by glennmichael123)
- android: navigate authored native links (c216815) (by glennmichael123)
- ios: navigate authored native links (5e35cd1) (by glennmichael123)
- ios: expose application Swift audit (8639282) (by glennmichael123)
- android: add interactive tab swipes (5ebf7de) (by glennmichael123)
🐛 Bug Fixes
- ios: present passkey sheets on main (faf3284) (by glennmichael123)
- native: keep linked pressables interactive (efa40e8) (by glennmichael123)
- ios: a nested scroll view scrolls alone, grid cells fill their column, sliders report their decimal (1a98e1c) (by Chris Breuer)
- android: a date-only picker tells the screen when its day changes (49ec1e8) (by Chris Breuer)
- native: a countdown picker no longer aborts iOS, and rounding does not wrap a full Android row (f047b79) (by Chris Breuer)
📚 Documentation
- native: document trail map contract (08e9e54) (by glennmichael123)
- ios: specify native passkey contract (19d3490) (by glennmichael123)
- native: document cross-host tab swipes (8eebbf6) (by glennmichael123)
🧪 Tests
- native: exercise selective safe area edges (dd14424) (by glennmichael123)
- ios: update linked pressable contract (9af8ccb) (by glennmichael123)
- native: protect horizontal carousel swipes (46a843c) (by glennmichael123)
- native: exercise tab swipes in mobile fixtures (e3969b7) (by glennmichael123)
- native: cover image background failures (4aa5dc0) (by glennmichael123)
- windows: compile the Win32 window probe once, before Craft starts (63aa606) (by Chris Breuer)
- ios: navigation UI tests reach nested scroll content and answer the notification alert (f8692a4) (by Chris Breuer)
- ios: the ambient music bed counts its nodes after a real collection (34e6e2d) (by Chris Breuer)
- ci: the stx compiler pin is
9282a03in the workflow contract and the guides (8e78b1b) (by Chris Breuer) - native: the Android navigation fixture compiles and checks what it means to (9067222) (by Chris Breuer)
Contributors
- Chris Breuer
- glennmichael123
v0.0.173
🚀 Features
- macos: render stx screens with AppKit and zig-js (0a051e0) (by Chris Breuer)
🐛 Bug Fixes
- ios: a native screen's keyboard is avoided once, and a text view keeps its own traits (e8b5329) (by Chris Breuer)
- macos: preserve readable appearance and size native text controls (ec38694) (by Chris Breuer)
- macos: scroll native test controls into view (639f842) (by Chris Breuer)
- macos: follow system appearance in native windows (ebe8afa) (by Chris Breuer)
🧹 Chores
- add the macos workspace package to the lockfile (909cfaa) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.172
🚀 Features
- ios: pagers keep their back-swipe, tabs swipe from their roots, bar buttons float (0021a4f) (by Chris)
Contributors
- Chris
v0.0.171
🐛 Bug Fixes
- ios: a drawing revealed after the first paint takes its shapes (c42e969) (by Chris)
Contributors
- Chris
v0.0.170
🚀 Features
- media: keep a video on Wi-Fi only, and say it is waiting rather than failing (2b5571e) (by Chris)
Contributors
- Chris
v0.0.169
🚀 Features
- android: native app shell around native screens, with Health Connect (be88e7d) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.168
🐛 Bug Fixes
- ios: a screen that starts with its scroll view runs edge to edge, and scroll views stay unclipped (4f43efd) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.167
🐛 Bug Fixes
- ios: every countdown number is spoken, scroll views clip, a screen can colour its safe areas (37a2050) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.166
🐛 Bug Fixes
- ios: the source-audit re-export names its .js, so the published declarations resolve (aa9d07f) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.164
🚀 Features
- ios: keep video on the phone for offline, and play the kept copy (f6bbeca) (by Chris Breuer)
- ios: allow screens to disable tab swipes (a7cb229) (by glennmichael123)
- mobile: expose HealthKit quantity writes (da73c82) (by glennmichael123)
- ios: switch tabs from horizontal swipes (88303a7) (by glennmichael123)
- ios: expose app badges to native screens (d76653a) (by glennmichael123)
🐛 Bug Fixes
- android: read shared flex positions correctly (d80773d) (by glennmichael123)
- native: align SVG opacity cascade (253c261) (by glennmichael123)
- ios: write HealthKit quantity samples (363f643) (by glennmichael123)
- ios: let native screens opt out of content back swipes (da3dd91) (by glennmichael123)
- android: preserve fractional flex gaps (996c79c) (by glennmichael123)
- android: preserve fractional grid tracks (e5e3c5b) (by glennmichael123)
- android: preserve stepped slider precision (5c92e2c) (by glennmichael123)
- android: preserve fractional stretch line sizing (68ef091) (by glennmichael123)
- android: preserve fractional wrapped cross-axis spacing (c70fdda) (by glennmichael123)
- native: preserve wrapped reverse flex line order (774e673) (by glennmichael123)
🧪 Tests
- native: refresh shrink-to-fit layout contracts (5c0dc34) (by glennmichael123)
- native: cover fractional grid fixtures (79af30e) (by glennmichael123)
- native: lock wrapped reverse flex parity (0cbc9ee) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.163
🚀 Features
- ios: craft.scheduledWorkouts puts structured workouts on the Apple Watch (7880ecf) (by Chris Breuer)
🐛 Bug Fixes
- android: preserve fractional flex fallback spacing (d3a09cf) (by glennmichael123)
- ios: map wrapped space-evenly to shared layout (ae5db7b) (by glennmichael123)
- android: preserve fractional grid fallback spacing (4f06845) (by glennmichael123)
- ios: preserve grid space-evenly fallback (49112bb) (by glennmichael123)
- align grid rows evenly across hosts (b44724c) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.162
🚀 Features
- ios: keep sound playing with the screen locked (enableBackgroundAudio) (cebe54b) (by Chris Breuer)
🐛 Bug Fixes
- align wrapped lines evenly across hosts (bdabd62) (by glennmichael123)
- add aspect ratios to shared native layout (15bcbbb) (by glennmichael123)
📚 Documentation
- document evenly distributed native lines (84a44a1) (by glennmichael123)
🧪 Tests
- cover evenly distributed native lines (61d9f60) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.161
🚀 Features
- ios: write and read mindful sessions in Apple Health (7eadd00) (by Chris Breuer)
- native: honor aspect ratio in flex sizing (b866413) (by glennmichael123)
- native: wire grid align content to hosts (c163d27) (by glennmichael123)
- native: distribute grid align content (3fbc81d) (by glennmichael123)
- native: align intrinsic grid children (03c2f17) (by glennmichael123)
- native: share wrapped line alignment (4d73b38) (by glennmichael123)
- native: share wrapped tree flex layout (627d621) (by glennmichael123)
- native: share cross-axis tree alignment (0d4664f) (by glennmichael123)
- native: share tree justify layout (f7fb27a) (by glennmichael123)
- native: route SectionList through scroll hosts (4962103) (by glennmichael123)
🐛 Bug Fixes
- preserve aspect ratios in native grids (ba8e792) (by glennmichael123)
- native: align grid fallback rows (2b938cb) (by glennmichael123)
- native: sanitize tree layout dimensions (4263b46) (by glennmichael123)
- android: compile files capability handler (14d02ac) (by glennmichael123)
- native: align icon accessibility (05dde78) (by glennmichael123)
🧪 Tests
- native: cover aspect ratio sizing (a0d46f0) (by glennmichael123)
- native: cover aligned auto rows (934c36a) (by glennmichael123)
- android: track aligned grid natives (98881c9) (by glennmichael123)
- native: cover grid align content (3808fab) (by glennmichael123)
- native: cover wrapped align self (3d8557b) (by glennmichael123)
- native: cover cross-axis alignment (e930da0) (by glennmichael123)
- native: exercise SectionList scrolling (3ba78cb) (by glennmichael123)
- native: align SectionList builder contract (1eb412e) (by glennmichael123)
- native: cover SectionList fixtures (d4515f9) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.160
🚀 Features
- ios: read the day's food from Apple Health (energy, protein, carbohydrate, fat) (8e78df9) (by Chris Breuer)
- native: render icons on Android (b7c70c9) (by glennmichael123)
📚 Documentation
- native: specify icon fallback contract (e5d0fc3) (by glennmichael123)
- native: document cross-platform icons (bff162b) (by glennmichael123)
🧪 Tests
- native: exercise dynamic theme fixtures (f945da0) (by glennmichael123)
Contributors
- Chris Breuer
- glennmichael123
v0.0.158
🐛 Bug Fixes
- ios: a tab's first screen covered at launch keeps its script (1010687) (by Chris)
Contributors
- Chris
v0.0.157
🚀 Features
- ios: the simulator driver checks a label exactly and runs a step only when an element is there (5a26572) (by Chris Breuer)
Contributors
- Chris Breuer
v0.0.156
🚀 Features
- ios: an all-native app with tabs, paths, an app script and the services the web view held (39ef8be) (by Chris)
Contributors
- Chris
v0.0.155
v0.0.154
🚀 Features
- ios: native screens write their own files for the share sheet (4106938) (by Chris)
Contributors
- Chris
v0.0.153
🚀 Features
- ios: native screens pick photos, download files and post forms (4fc11a6) (by Chris)
Contributors
- Chris
v0.0.152
🚀 Features
- ios: craft.heartRate reads a Bluetooth heart-rate strap (9f57c7b) (by Chris)
Contributors
- Chris
v0.0.151
🚀 Features
- ios: native screens render the whole Web Audio graph (0917c01) (by Chris)
Contributors
- Chris
v0.0.150
🚀 Features
- ios: a native screen can ask the tab bar away while it shows (2454eac) (by Chris)
Contributors
- Chris
v0.0.149
🚀 Features
- native screens can pop to the first screen of their stack (ff8996e) (by Chris)
Contributors
- Chris
v0.0.148
v0.0.147
v0.0.146
🐛 Bug Fixes
- ios: the simulator's music stand-in plays from launch, as other audio (b65695d) (by Chris)
Contributors
- Chris
v0.0.145
v0.0.144
🚀 Features
- ios: craft.music shows and steers what the Music app is playing (6acc94b) (by Chris)
Contributors
- Chris
v0.0.143
🚀 Features
- ios: native screens can ask with the system's alerts and sheets (dac85bd) (by Chris)
🐛 Bug Fixes
- android: invalidate native layout ancestors (6d28f3e) (by glennmichael123)
- android: emit layout events after native layout (1064262) (by glennmichael123)
- native: preserve keyed rows and layout events (096e111) (by glennmichael123)
🧪 Tests
- native: align iOS SVG stroke contract (b1d4432) (by glennmichael123)
Contributors
- Chris
- glennmichael123
v0.0.142
v0.0.141
🚀 Features
- ios: native screens read Apple Health through the Health module (99295b4) (by Chris)
- native: share flex justification positions (47e36ff) (by glennmichael123)
- native: consume shared flex positions (eebf3d6) (by glennmichael123)
- android: consume shared grid layout bridge (1dd7df0) (by glennmichael123)
- ios: consume shared grid layout bridge (19004b2) (by glennmichael123)
- native: expose shared grid layout bridge (c3b6ea9) (by glennmichael123)
- android: consume shared flex layout bridge (7a44ff6) (by glennmichael123)
- ios: consume shared flex layout bridge (2819e1f) (by glennmichael123)
- native: expose shared flex row bridge (0659fd5) (by glennmichael123)
- native: add padding to shared layout core (6346098) (by glennmichael123)
- android: expose native audio context subset (b6c8b83) (by glennmichael123)
- ios: expose native audio context subset (a77882c) (by glennmichael123)
- native: add cross-platform video primitive (ebc06d7) (by glennmichael123)
- native: share flex and grid margins (6495a39) (by glennmichael123)
- native: add shared grid and svg rendering (3a5d431) (by glennmichael123)
- native: share bounded flex layout semantics (3407983) (by glennmichael123)
- native: add host-neutral flex layout spike (2691f5f) (by glennmichael123)
🐛 Bug Fixes
- android: share flex line distribution (86bc0f2) (by glennmichael123)
- native: share flex line distribution (b051466) (by glennmichael123)
- android: share flex line formation (89ab52e) (by glennmichael123)
- native: share flex line formation (9e95e13) (by glennmichael123)
- ios: stretch wrapped flex lines (11ce19c) (by glennmichael123)
- native: use shared flex positions (d91de53) (by glennmichael123)
- android: share cross-axis alignment (f36e2e2) (by glennmichael123)
- native: share flex cross-axis alignment (995a17b) (by glennmichael123)
- native: reject non-finite grid results (2cd06e0) (by glennmichael123)
- native: reject non-finite flex results (35955ba) (by glennmichael123)
- android: fall back on malformed layout results (a0c58a0) (by glennmichael123)
- native: make layout frames c-compatible (0cc3507) (by glennmichael123)
- ios: use raw pointers for layout ABI (faf8c89) (by glennmichael123)
- android: coerce SVG text sizes to Float (0370676) (by glennmichael123)
- crypto: support evolving X25519 key generation (c1e47cf) (by glennmichael123)
- android: schedule native audio parameters (2890fef) (by glennmichael123)
- ios: schedule native audio parameters (0a64634) (by glennmichael123)
- native: contain iOS video controllers (4df7493) (by glennmichael123)
- native: add iOS video controls (08c27d5) (by glennmichael123)
- native: constrain grid children to cells (eb696d8) (by glennmichael123)
- android: type repeated SVG dash patterns (f2a4b81) (by glennmichael123)
- android: type SVG dash patterns (bdcd993) (by glennmichael123)
- android: inherit svg root paint (e4cbcd3) (by glennmichael123)
- native: align svg stroke semantics (dc816e7) (by glennmichael123)
- android: emit nested flex layout events (86fc789) (by glennmichael123)
- android: emit layout after traversal (8bab3f6) (by glennmichael123)
- ci: declare buddy-bot test dependency (19763f2) (by glennmichael123)
- android: flush targeted layout events (f520a5f) (by glennmichael123)
- android: allow stopped native indicators (fdce000) (by glennmichael123)
- native: keep modal close without a handler inert (c3cf7c3) (by glennmichael123)
- native: release modal touch capture on close (e4c6992) (by glennmichael123)
- native: preserve modal close request lifecycle (c7677ea) (by glennmichael123)
- native: use the full stx compiler pin (650e588) (by glennmichael123)
- ios: constrain native screen roots to viewport (a463780) (by glennmichael123)
- native: defer Android modal lifecycle events (7147260) (by glennmichael123)
- native: honor modal visibility props across hosts (fc1f25f) (by glennmichael123)
- native: honor Android modal display mutations (#1992) (d252c1d) (by glennmichael123) (#1992)
- native: protect Android modal visibility (#1992) (bff881a) (by glennmichael123) (#1992)
- native: honor Android modal visibility mutations (#1992) (791281c) (by glennmichael123) (#1992)
📚 Documentation
- native: describe shared flex line ABI (aba3dcd) (by glennmichael123)
- native: document fixture and ABI parity (578b3c8) (by glennmichael123)
- native: clarify shared stx compiler ownership (76e9fc2) (by glennmichael123)
- native: document video primitive (60579c3) (by glennmichael123)
🧪 Tests
- native: cover stretched flex lines (30829c9) (by glennmichael123)
- native: make video fixture network free (fcffd43) (by glennmichael123)
- ci: pin shared stx compiler (fefde90) (by glennmichael123)
- native: mount video in acceptance fixtures (e63aeaf) (by glennmichael123)
- native: verify SVG tree accessibility (f6c7e7e) (by glennmichael123)
- native: cover space-between positions (b4275c2) (by glennmichael123)
- native: cover shared justify positions (8b92797) (by glennmichael123)
- native: exercise audio context lifecycle (c3f60b9) (by glennmichael123)
- native: assert svg host mounting (f2969ba) (by glennmichael123)
- native: cover svg primitives in navigation fixture (c633e25) (by glennmichael123)
- android: await activity indicator reconciliation (bb0289d) (by glennmichael123)
- android: await native slider reconciliation (d2dd13e) (by glennmichael123)
- android: await native switch reconciliation (2967030) (by glennmichael123)
- native: align numeric label parity (4727375) (by glennmichael123)
🧹 Chores
- native: pin Craft to the handler-ordering fix (bf1362e) (by glennmichael123)
- native: pin Craft to current stx compiler (92231ac) (by glennmichael123)
Contributors
- Chris
- glennmichael123
v0.0.140
🐛 Bug Fixes
- ios: gradients follow their view's size, and a styled text field draws no system box (9ad3e48) (by Chris)
Contributors
- Chris
v0.0.139
🚀 Features
- ios: read heart-rate samples and sleep intervals from Apple Health (1377336) (by Chris)
Contributors
- Chris
v0.0.138
v0.0.136
v0.0.135
🚀 Features
- mobile: screen brightness for pages that dim the backlight (97eeb5d) (by Chris)
Contributors
- Chris
v0.0.134
🐛 Bug Fixes
- ios: keyboard covers the tab bar; unread badges keep their colour (df05963) (by Chris)
Contributors
- Chris
v0.0.133
🐛 Bug Fixes
- ios: draw account bar buttons as their own circles on iOS 26 (6db8540) (by Chris)
Contributors
- Chris
v0.0.132
🐛 Bug Fixes
- release: resolve the Stacks CLI for signing credentials (32fb1bc) (by Chris)
Contributors
- Chris
v0.0.128
🚀 Features
- ios: a native screen's bar button can be a picture, drawn round like an account button (8219337) (by Chris)
Contributors
- Chris
v0.0.127
v0.0.126
v0.0.125
🚀 Features
- ios: web plus native screens in one app (4efabb6) (by Chris)
- mobile: snapshots and hybrid navigation for native screens (d672c7a) (by Chris)
- ios: native screens lay out with flexbox and read their first frame synchronously (b370456) (by Chris)
- native: add flat list refresh controls (6300d42) (by glennmichael123)
- android: add native flat list refresh host (0b4f142) (by glennmichael123)
- native: emit press lifecycle callbacks (d702f30) (by glennmichael123)
- native: honor keyboard tap persistence (d2f8f1b) (by glennmichael123)
- native: support pressable primitive containers (131396e) (by glennmichael123)
- native: add modal lifecycle events (51589ce) (by glennmichael123)
- native: render parent-scoped modal controls (fd19ffb) (by glennmichael123)
- native: render picker controls on both hosts (e783aa6) (by glennmichael123)
- ios: fetch and timers for native screens (2002006) (by Chris)
🐛 Bug Fixes
- native: stabilize mobile reconciliation fixtures (1d5d3bc) (by glennmichael123)
- ci: resolve external stx dependencies with pantry bun (06f7350) (by glennmichael123)
- ios: escape the backticks in the CLI's --native-bundle help (9c88be1) (by Chris)
- ci: pin mobile compiler to lockfile release (b8af55c) (by glennmichael123)
- ios: send background work events by name at their call sites (09f7574) (by Chris)
- ios: Zig validates every stored config key Swift decodes (45a7d37) (by Chris)
- native: repair iOS fixture initialization and props (dac7d21) (by glennmichael123)
- ios: a hybrid app's swipe back, tabs and pushes, as tried on the simulator (938e849) (by Chris)
- ios: build the native modal on Xcode 27 and settle three renderer tests (aa620bd) (by Chris)
- native: repair mobile fixture compilation (dba0c22) (by glennmichael123)
- native: compile generated mobile renderers (9e5891c) (by glennmichael123)
- ios: release flat list refresh handlers (77ce467) (by glennmichael123)
- android: release refresh list handlers (ccde8eb) (by glennmichael123)
- android: reset refresh state on detach (17c94c6) (by glennmichael123)
- native: honor flat list content padding (69aeb76) (by glennmichael123)
- native: honor scroll content container styles (cee06a3) (by glennmichael123)
- ios: resize native screens around keyboard (43d9849) (by glennmichael123)
- ios: exclude modal overlays from flow measurement (8470251) (by glennmichael123)
- android: refresh layout after inset changes (aaf7b7f) (by glennmichael123)
- native: match pressable opacity feedback (f17cab1) (by glennmichael123)
- native: make modal controls cover their parent (8c8b2f1) (by glennmichael123)
- ios: keep native containers touchable without a press handler of their own (f23c03d) (by Chris)
📚 Documentation
- native: document keyboard tap persistence (3fdf2d9) (by glennmichael123)
- native: describe keyboard layout measurement (9c8347b) (by glennmichael123)
- native: document pressable primitive parity (130a4a4) (by glennmichael123)
- native: document modal lifecycle contract (9c36da1) (by glennmichael123)
- native: align platform primitive inventories (884ea50) (by glennmichael123)
🧪 Tests
- ci: expect the stx compiler pin mobile-e2e now uses (6b25827) (by Chris)
- ios: clear the page script's timers when each test ends (327c552) (by Chris)
- typescript: run the CJS bundle under Bun where Node is not installed (171bf2e) (by Chris)
- native: check the iOS flexbox engine for bounds, margins and list sizing (fcbc650) (by Chris)
- ios: count the dispatcher's own __craftReady as handled (4ecaaa3) (by Chris)
- ios: cover native screen layout and host functions on the simulator (86dc44b) (by Chris)
- native: exercise flat list refresh gestures (9586bcf) (by glennmichael123)
- native: exercise iOS refresh control (a3f7acf) (by glennmichael123)
- native: cover flat list refresh state (2334961) (by glennmichael123)
- native: cover press lifecycle callbacks (a960e2f) (by glennmichael123)
- native: cover flat list content padding (1dae7da) (by glennmichael123)
- native: cover scroll content padding (2d6ff18) (by glennmichael123)
- native: cover pressable fixture parity (8e67cc7) (by glennmichael123)
- native: verify modal lifecycle fixtures (52a1da5) (by glennmichael123)
- native: lock modal generator output (b643ac9) (by glennmichael123)
- native: cover modal navigation fixtures (ec89aa6) (by glennmichael123)
- native: align picker generator fixtures (3363d7d) (by glennmichael123)
- native: exercise picker fixture parity (ffba42b) (by glennmichael123)
- native: lock lifecycle fallback teardown (b8efe29) (by glennmichael123)
- native: cover slider renderer parity (47cb9bc) (by glennmichael123)
- native: lock FlatList scroll payload parity (6ff1e51) (by glennmichael123)
🧹 Chores
- native: compile native screens with
stx native compile(ed26283) (by Chris)
Contributors
- Chris
- glennmichael123
v0.0.124
🚀 Features
- mobile: type and wrap the new iOS native APIs (e3e8238) (by Chris)
- ios: give the page background time for silent pushes and refreshes (973a4bb) (by Chris)
- ios: recover a dead page on a budget and keep the person's place (9cd0009) (by Chris)
- ios: tell the page the text size and motion settings (9405cb8) (by Chris)
- ios: make the web view feel like an app (4d05272) (by Chris)
- ios: drive native dialogs, menus, browser and chrome from the page (eec4665) (by Chris)
- ios: give the web view a UI delegate (e5437df) (by Chris)
- ios: cap the splash at first paint and replace the placeholder with an offline page (b68b860) (by Chris)
- ios: install the bridge at document start (f86041b) (by Chris)
- ios: play each haptic on its own generator, kept warm (290e063) (by Chris)
- android: honor configured appearance (a9ea34c) (by glennmichael123)
- native: forward flat list scroll events (26e2e2e) (by glennmichael123)
- native: expose scroll momentum events (9263ae2) (by glennmichael123)
- native: support scroll view paging (674c202) (by glennmichael123)
- native: expose image alt accessibility (b6ae17b) (by glennmichael123)
- native: align scroll bounce behavior (f300e4c) (by glennmichael123)
- native: support text input defaults (bcdecb6) (by glennmichael123)
- native: support text truncation props (05ece0f) (by glennmichael123)
- native: support long press handlers (088ed61) (by glennmichael123)
- native: dismiss keyboard from flat lists (94aad0c) (by glennmichael123)
- native: support scroll keyboard dismissal (987d0dd) (by glennmichael123)
- native: make safe area containers explicit (11a7079) (by glennmichael123)
- native: distribute flex layout space (9e9086c) (by glennmichael123)
- native: add image lifecycle events (0447a2a) (by glennmichael123)
- native: style multiline text inputs (40de4b8) (by glennmichael123)
- native: add multiline text input parity (fb2e33a) (by glennmichael123)
- native: align text input limits and colors (1b7bc33) (by glennmichael123)
- native: support switch tint props (0f6508b) (by glennmichael123)
- native: complete slider control parity (216be42) (by glennmichael123)
- native: add activity indicator controls (84af916) (by glennmichael123)
- native: emit responsive layout measurements (aed1222) (by glennmichael123)
- native: add native slider controls (495c3c2) (by glennmichael123)
- native: support Android night backgrounds (2bd1f4e) (by glennmichael123)
- native: add native switch controls (d0bb7ea) (by glennmichael123)
- native: add native link controls (238032b) (by glennmichael123)
- native: add cross-platform grid layout (b738cf7) (by glennmichael123)
🐛 Bug Fixes
- ios: compile the native list and screen again, and record the new Swift actions (53d5b57) (by Chris)
- ios: show the offline page in apps with app-bound domains (a4b425d) (by Chris)
- ios: open the system context menu and pin the viewport first (75d3873) (by Chris)
- ios: preserve image resize mode fallbacks (992846e) (by glennmichael123)
- android: support justified text alignment (72e522b) (by glennmichael123)
- ios: align capitalize text transform (1f1e46b) (by glennmichael123)
- native: align default text metrics (0b1d8ba) (by glennmichael123)
- ios: include text in input focus events (5cc633f) (by glennmichael123)
- android: normalize nullable layout styles (c31d28a) (by glennmichael123)
- android: align scroll bounce axes (b1ae725) (by glennmichael123)
- android: honor null list thresholds (1cb28d8) (by glennmichael123)
- android: preserve nullable control props (00db3d9) (by glennmichael123)
- android: clear null backgrounds (6631715) (by glennmichael123)
- android: honor link color props (3b89b3e) (by glennmichael123)
- android: preserve optional grid tracks (2fa2e89) (by glennmichael123)
- android: keep null dimensions intrinsic (a60730c) (by glennmichael123)
- android: preserve null layout values (72d88d9) (by glennmichael123)
- android: snap initial slider values (b100368) (by glennmichael123)
- android: refresh FlatList holder sizing (66b17d7) (by glennmichael123)
- android: clear recycled input identities (bdf9429) (by glennmichael123)
- native: preserve Android image accessibility labels (39abc83) (by glennmichael123)
- native: snap Android sliders to steps (f882361) (by glennmichael123)
- native: align TextInput keyboard types (59d9f3c) (by glennmichael123)
- native: clear recycled input suppression (7fcd9b3) (by glennmichael123)
- native: suppress controlled Android input events (ad37240) (by glennmichael123)
- native: align iOS event alias fallback (e746bc9) (by glennmichael123)
- native: filter blank iOS list handlers (b131e59) (by glennmichael123)
- native: normalize iOS control handlers (827f599) (by glennmichael123)
- native: ignore blank iOS press handlers (3ad5f5f) (by glennmichael123)
- native: preserve Android text accessibility (389631a) (by glennmichael123)
- native: disable long press accessibility (a92dacc) (by glennmichael123)
- native: enable iOS long press views (73807fe) (by glennmichael123)
- native: preserve Android input selection (3bb1209) (by glennmichael123)
- native: retain recycled iOS input drafts (456daaa) (by glennmichael123)
- native: preserve iOS input drafts (1106dc7) (by glennmichael123)
- native: refresh retained iOS themes (588dd9a) (by glennmichael123)
- native: refresh retained route themes (3f7fa57) (by glennmichael123)
- native: release replaced list rows (963f9b2) (by glennmichael123)
- native: guard nullable input reuse (ebce391) (by glennmichael123)
- native: recreate changed text inputs (9f59ed5) (by glennmichael123)
- native: recreate changed action controls (397b437) (by glennmichael123)
- native: defer list theme refreshes (148ffea) (by glennmichael123)
- native: report recycled row layouts (deab9a7) (by glennmichael123)
- native: emit android flatlist layouts (d6876b3) (by glennmichael123)
- native: report flatlist row layouts (4410370) (by glennmichael123)
- native: refresh virtualized row themes (2ff9221) (by glennmichael123)
- native: clamp flex sizes to bounds (d6a8e2b) (by glennmichael123)
- native: deduplicate android image errors (05936b9) (by glennmichael123)
- native: restore generic accessibility pressables (dad50cc) (by glennmichael123)
- native: align ios image error accessibility (e2064cc) (by glennmichael123)
- native: preserve ios image errors (9d2bc25) (by glennmichael123)
- native: reset list pagination signatures (778d70a) (by glennmichael123)
- native: separate text input end editing (3d71390) (by glennmichael123)
- native: apply bounce settings to lists (851377a) (by glennmichael123)
- native: honor button color props (64d62dc) (by glennmichael123)
- native: align activity indicators (9806f8f) (by glennmichael123)
- native: report android disabled controls (e1af975) (by glennmichael123)
- native: preserve android autofocus state (95b66a8) (by glennmichael123)
- native: align multiline input traits (546f8ea) (by glennmichael123)
- native: submit multiline ios inputs (aaf714a) (by glennmichael123)
- native: disable ios press targets accessibly (413b230) (by glennmichael123)
- native: honor accessibility disabled state (af36cd7) (by glennmichael123)
- native: enable ios generic press targets (f9a021d) (by glennmichael123)
- native: expose android accessibility hints (d77eeb2) (by glennmichael123)
- native: preserve text input accessibility values (7faa070) (by glennmichael123)
- native: reset accessibility metadata (0a7d4e8) (by glennmichael123)
- native: align ios input text styles (86bac31) (by glennmichael123)
- native: align ios action text styles (22b05e4) (by glennmichael123)
- native: map elevation to ios shadows (07a0618) (by glennmichael123)
- native: align android margin placement (cdb21b7) (by glennmichael123)
- native: align ios margins with android layout (1ab0b91) (by glennmichael123)
- native: refresh android input theme defaults (2829230) (by glennmichael123)
- native: restore android default backgrounds (16d62c1) (by glennmichael123)
- native: apply text transforms to ios actions (4c13676) (by glennmichael123)
- native: honor reverse flex scroll direction (ff0d46b) (by glennmichael123)
- native: measure horizontal list rows intrinsically (fabb09d) (by glennmichael123)
- native: equalize intrinsic grid tracks (98ab0c0) (by glennmichael123)
- native: align wrapped flex gaps (2cb0fb9) (by glennmichael123)
- native: refresh ios trait controls (cc462c1) (by glennmichael123)
- native: refresh android theme changes (6f01d2b) (by glennmichael123)
- native: reset input theme colors (f1c6417) (by glennmichael123)
- native: reset dynamic control styles (e84e270) (by glennmichael123)
- native: align text input styling (6d62c01) (by glennmichael123)
- native: size horizontal list rows (4a600cf) (by glennmichael123)
- native: align button text styling (58ac63a) (by glennmichael123)
- native: apply image tint parity (94bb42b) (by glennmichael123)
- native: preserve reverse scroll direction (db7ad5b) (by glennmichael123)
- native: align intrinsic grid measurement (a5f0b5f) (by glennmichael123)
- native: honor disabled button props (14d2e2a) (by glennmichael123)
- native: compile Android grid rows (07a2f31) (by glennmichael123)
- native: apply Android safe area insets (02f8ed8) (by glennmichael123)
- native: refresh iOS appearance traits (6c18727) (by glennmichael123)
- ios: place mobile test targets before schemes (ae3e333) (by glennmichael123)
- ios: type tab bar layout events (40e8655) (by glennmichael123)
- ios: gate liquid glass by compiler version (b9d6c20) (by glennmichael123)
- ios: include native fixtures in test schemes (0a3ae87) (by glennmichael123)
- ios: keep native test targets out of schemes (88e8b0b) (by glennmichael123)
- ios: anchor conformance dispatcher scan (9db1324) (by glennmichael123)
♻️ Code Refactoring
- native: centralize theme refresh (8111b70) (by glennmichael123)
📚 Documentation
- native: describe appearance parity (f975cc8) (by glennmichael123)
- native: document virtualized row layouts (d29ccce) (by glennmichael123)
- native: align renderer contract (42919cd) (by glennmichael123)
- native: exercise scroll keyboard dismissal (442180a) (by glennmichael123)
- native: document flex space distribution (233a94a) (by glennmichael123)
- native: document image lifecycle events (2a92d8a) (by glennmichael123)
- native: document multiline text inputs (411520c) (by glennmichael123)
- native: document text input styling (6fa836a) (by glennmichael123)
- native: document switch and slider styling (ef24805) (by glennmichael123)
- native: document activity indicators (52cba23) (by glennmichael123)
- native: document layout measurement events (f15d5d6) (by glennmichael123)
🧪 Tests
- native: cover justified text fixtures (19b7aa1) (by glennmichael123)
- native: cover text input focus payloads (082ce5c) (by glennmichael123)
- native: cover null intrinsic dimensions (b9df4d6) (by glennmichael123)
- native: cover image source recovery (ca10e93) (by glennmichael123)
- ios: support fixture preparation without simulators (922586f) (by glennmichael123)
- native: cover accessibility parity (9bb4ee6) (by glennmichael123)
- native: cover input mode transitions (44ec43c) (by glennmichael123)
- native: stabilize recycled row assertions (41b3cc7) (by glennmichael123)
- native: keep image errors stable (3ca42aa) (by glennmichael123)
- native: cover pressable accessibility recovery (5f51173) (by glennmichael123)
- native: cover input keyboard traits (ede8176) (by glennmichael123)
- native: cover secure text inputs (0797ff3) (by glennmichael123)
- native: cover read only text inputs (802f15c) (by glennmichael123)
- native: cover text input focus events (9e26cbd) (by glennmichael123)
- native: cover list header accessibility (39627ca) (by glennmichael123)
- native: cover image error events (85d0533) (by glennmichael123)
- native: cover activity indicator props (7f7ccbf) (by glennmichael123)
- native: cover slider completion events (abbaa9c) (by glennmichael123)
- native: cover selected accessibility state (362b8f7) (by glennmichael123)
- native: cover checked accessibility state (7c556d3) (by glennmichael123)
- native: cover accessibility metadata (378df59) (by glennmichael123)
- native: cover multiline input callbacks (b70f1e9) (by glennmichael123)
- native: cover text input default values (7c87608) (by glennmichael123)
- native: cover text input end editing (8dadca3) (by glennmichael123)
- native: exercise flat list scroll callbacks (9e4a42d) (by glennmichael123)
- native: cover flat list scroll events (864b5fd) (by glennmichael123)
- native: cover multiline submit events (8290796) (by glennmichael123)
- native: cover flat list keyboard dismissal (329dbb0) (by glennmichael123)
- native: cover accessibility disabled fixtures (ebd68a9) (by glennmichael123)
- native: cover image source parity (008c6d1) (by glennmichael123)
- native: cover vertical list sizing (72fa287) (by glennmichael123)
- native: cover absolute trailing insets (4e1d689) (by glennmichael123)
- native: cover dynamic style resets (8f56315) (by glennmichael123)
- native: cover responsive layout updates (c6d854a) (by glennmichael123)
- native: cover reversible input styles (1f44980) (by glennmichael123)
- native: cover dynamic image and button styles (f84a62d) (by glennmichael123)
- native: cover flex growth (bbafe63) (by glennmichael123)
- native: cover image lifecycle events (dd07b1c) (by glennmichael123)
- native: cover multiline input styling (06414bb) (by glennmichael123)
- native: cover multiline text inputs (d075643) (by glennmichael123)
- native: cover text input styling (0720f98) (by glennmichael123)
- native: cover switch tint props (8ed0acf) (by glennmichael123)
- native: cover slider step behavior (997707d) (by glennmichael123)
- native: cover disabled button state (50e5fe8) (by glennmichael123)
- native: cover activity indicator controls (3263542) (by glennmichael123)
- native: cover responsive layout events (cfb8388) (by glennmichael123)
- native: cover native slider controls (ef7ced1) (by glennmichael123)
- native: enforce shared renderer contract (ac76b0c) (by glennmichael123)
- native: cover native switch controls (938ade8) (by glennmichael123)
- native: cover native link controls (184264c) (by glennmichael123)
- native: cover cross-platform grid layout (4eb1b9b) (by glennmichael123)
Contributors
- Chris
- glennmichael123
v0.0.123
🚀 Features
- ios: a native Liquid Glass tab bar and a launch splash the page drives (98e2e8a) (by Chris)
Contributors
- Chris
v0.0.122
🐛 Bug Fixes
- ios: purpose strings for every API the shell links, so App Store Connect accepts the build (b5189b1) (by Chris)
Contributors
- Chris
v0.0.121
🚀 Features
- native: type accessibility interaction props (344f58b) (by glennmichael123)
- native: expose accessibility state parity (31e9692) (by glennmichael123)
- native: add scroll event parity (6f3505b) (by glennmichael123)
- native: wire text input interaction parity (c8217ec) (by glennmichael123)
- android: add native flex layout parity (e7383fe) (by glennmichael123)
- ios: add native flex layout parity (ffeb9fd) (by glennmichael123)
🐛 Bug Fixes
- ios: share the app's scheme, so CI such as Xcode Cloud can archive it (592bfdb) (by Chris)
- ios: an App Store icon with no alpha, and exempt encryption declared (a0d150d) (by Chris)
- ios: preserve dynamic input accessibility values (2722009) (by glennmichael123)
- ios: delay keyboard focus handoff (081a4b6) (by glennmichael123)
- ios: restore focus before native events (71aa521) (by glennmichael123)
- ios: anchor focused native inputs (86419a1) (by glennmichael123)
- ios: retain focus across native events (acb2873) (by glennmichael123)
- ios: restore input focus synchronously (13fcc1a) (by glennmichael123)
- ios: retain focus across native mutations (8da760d) (by glennmichael123)
- ios: preserve focused native text inputs (055674c) (by glennmichael123)
- android: avoid nested scroll view API collision (445a5ea) (by glennmichael123)
- android: close native scroll event payload (c86837c) (by glennmichael123)
- native: repair interaction template compilation (14af6a8) (by glennmichael123)
- native: align android scroll callbacks (28a5baf) (by glennmichael123)
- ios: retain native dimension constraints (aad887b) (by glennmichael123)
- ios: match stack coder initializer contract (e264d9c) (by glennmichael123)
- ios: use a failable stack initializer (787cffd) (by glennmichael123)
- ios: preserve stack compatibility in flow host (80791fa) (by glennmichael123)
- android: normalize layout spacing units (977c1ea) (by glennmichael123)
- android: qualify native layout measurement APIs (4839713) (by glennmichael123)
- ios: generate navigation test metadata (f72f8ea) (by glennmichael123)
🧪 Tests
- ios: expose simulator assertion diagnostics (8cff5c1) (by glennmichael123)
- ios: await native keyboard restoration (e5004ff) (by glennmichael123)
- native: cover text input submission (567e683) (by glennmichael123)
- android: assert absolute layout in local coordinates (2980410) (by glennmichael123)
Contributors
- Chris
- glennmichael123
v0.0.120
🐛 Bug Fixes
- ios: Zig validates limitNavigationsToAppBoundDomains like Swift does (8c0279b) (by Chris)
Contributors
- Chris
v0.0.119
🚀 Features
- ios: app-bound domains, so the app's own site can work offline (b7521e1) (by Chris)
- native: add typed secure storage and biometrics (0751045) (by glennmichael123)
- android: persist native notifications (8450009) (by glennmichael123)
- native: identify capability hosts (3685c48) (by glennmichael123)
- sdk: type native runtime capabilities (8be30c1) (by glennmichael123)
- ios: deliver native runtime events (5349eb8) (by glennmichael123)
- android: bridge native runtime capabilities (7904954) (by glennmichael123)
- ios: bridge native runtime capabilities (6d5eb55) (by glennmichael123)
🐛 Bug Fixes
- ios: sign native keychain simulator tests (dd60bdd) (by glennmichael123)
- sdk: preserve secure storage remove alias (d7dbbdd) (by glennmichael123)
- native: preserve secure storage remove alias (59b53c6) (by glennmichael123)
- ios: declare secure storage keychain access (a47e73b) (by glennmichael123)
- android: retain sandbox connection future (6ee6625) (by glennmichael123)
- ios: replace typed keychain entries safely (1728fb8) (by glennmichael123)
- android: reuse native sandbox across relaunch (651e664) (by glennmichael123)
- ios: set secure storage accessibility (e182d17) (by glennmichael123)
- android: complete secure storage dispatch (7719bf6) (by glennmichael123)
- android: keep typed storage in native renderer (b41c4a2) (by glennmichael123)
- android: narrow secure storage keys (4308544) (by glennmichael123)
- native: claim cold-start links once (55a9241) (by glennmichael123)
- ios: align native device reply contract (a06616e) (by glennmichael123)
- android: compile capability storage safely (391b465) (by glennmichael123)
- native: enforce capability deadlines (0d20708) (by glennmichael123)
- native: align lifecycle and deep links (0483080) (by glennmichael123)
- android: normalize recycled row layout params (3ff2767) (by glennmichael123)
- android: surface native render failures (967c52d) (by glennmichael123)
- native: stabilize flat list device tests (a2184c1) (by glennmichael123)
📚 Documentation
- native: align biometric bridge contract (7b922b9) (by glennmichael123)
- native: describe typed security capabilities (3f77bc7) (by glennmichael123)
- native: document capability bridge (1ac3a2e) (by glennmichael123)
🧪 Tests
- native: cover secure storage on mobile hosts (f42af0c) (by glennmichael123)
- android: exercise capability relaunch (0c78291) (by glennmichael123)
- ios: verify native capability persistence (cb5877b) (by glennmichael123)
- ios: stabilize interactive back swipe (6ef171b) (by glennmichael123)
- android: import flat list layout params (90607ea) (by glennmichael123)
- android: isolate flat list instrumentation (e4932d1) (by glennmichael123)
🤖 Continuous Integration
- native: pin bare runtime compiler (c81f1e7) (by glennmichael123)
- native: pin typed capability runtime (0920844) (by glennmichael123)
- native: pin capability bridge compiler (8e80197) (by glennmichael123)
- native: pin compact stx payloads (38a13cf) (by glennmichael123)
- native: pin installable stx renderer (6ceabb5) (by glennmichael123)
- native: pin atomic stx renderer (235f54e) (by glennmichael123)
🧹 Chores
- native: pin typed bridge compiler (d8c8e06) (by glennmichael123)
types
- native: declare typed security capabilities (74b811b) (by glennmichael123)
Contributors
- Chris
- glennmichael123
v0.0.118
🐛 Bug Fixes
- deps: source-map-js 1.2.2, and no package overrides (5456d4d) (by Chris)
Contributors
- Chris
v0.0.115
🤖 Continuous Integration
- jobs that only run Bun install Bun, not the pinned Zig (6c2a1da) (by Chris)
Contributors
- Chris
v0.0.113
🐛 Bug Fixes
- macos: the native sidebar looks and behaves like Finder's (c7e4899) (by Chris)
Contributors
- Chris
v0.0.112
🚀 Features
- macos: a live native sidebar - updates, badges and selection events (02dbe22) (by Chris)
Contributors
- Chris
v0.0.111
v0.0.110
v0.0.109
🐛 Bug Fixes
- release: build the Linux and Windows binaries for a baseline CPU (3f90816) (by Chris)
Contributors
- Chris
v0.0.107
v0.0.105
🚀 Features
- forward Windows deep links to the running app (198e715) (by glennmichael123 gtorregosa@gmail.com)
- forward Linux deep links to the running app (ad8fdfe) (by glennmichael123 gtorregosa@gmail.com)
- smoke cold deep links from installed desktop packages (27b7d3c) (by glennmichael123 gtorregosa@gmail.com)
- pass desktop protocol URLs as deep links (a5df29b) (by glennmichael123 gtorregosa@gmail.com)
- seed desktop deep links before WebView loads (1232c55) (by glennmichael123 gtorregosa@gmail.com)
- parse desktop protocol activation separately from page URL (7c700bd) (by glennmichael123 gtorregosa@gmail.com)
- request provisional macOS notification delivery (8ef0fb1) (by glennmichael123 gtorregosa@gmail.com)
- register desktop URL schemes in DEB and MSI (dcfb13a) (by glennmichael123 gtorregosa@gmail.com)
- check macOS delivered notification IDs (68a95dd) (by glennmichael123 gtorregosa@gmail.com)
- deliver installed Windows desktop toasts (4ea5b79) (by glennmichael123 gtorregosa@gmail.com)
- package Windows notification identity (52e3779) (by glennmichael123 gtorregosa@gmail.com)
- verify installed Linux desktop notifications (30a5ba4) (by glennmichael123 gtorregosa@gmail.com)
- bundle Windows runtime companion files in app packages (87b48fc) (by glennmichael123 gtorregosa@gmail.com)
- return Windows window script results to their sender (2e8d61f) (by glennmichael123 gtorregosa@gmail.com)
- return Linux window script results to their sender (3e9efcd) (by glennmichael123 gtorregosa@gmail.com)
- track pending desktop window evaluations (acda8fb) (by glennmichael123 gtorregosa@gmail.com)
- add Windows portable window controls (0750bf3) (by glennmichael123 gtorregosa@gmail.com)
- implement Linux typed window controls (db0c772) (by glennmichael123 gtorregosa@gmail.com)
- validate portable window controls per live handle (ed50868) (by glennmichael123 gtorregosa@gmail.com)
🐛 Bug Fixes
- distinguish macOS notification errors from denied permission (e3be1c4) (by glennmichael123 gtorregosa@gmail.com)
- inspect macOS authorization and dispatch Linux URI through GIO (fc894ff) (by glennmichael123 gtorregosa@gmail.com)
- preserve immediate notification bridge contract (8c3b042) (by glennmichael123 gtorregosa@gmail.com)
- resolve macOS notification permission requests (1e3dd0e) (by glennmichael123 gtorregosa@gmail.com)
- stabilize installed Linux notification smoke (07ee554) (by glennmichael123 gtorregosa@gmail.com)
- keep Windows logger off POSIX clock (c38db81) (by glennmichael123 gtorregosa@gmail.com)
- limit desktop clipboard dispatch to text actions (5c0434c) (by glennmichael123 gtorregosa@gmail.com)
- route installed desktop clipboard bridges (9bd41e5) (by glennmichael123 gtorregosa@gmail.com)
- preserve null desktop script evaluation results (fa63760) (by glennmichael123 gtorregosa@gmail.com)
- preserve native tracking bounds for partial limits (d28bdaf) (by glennmichael123 gtorregosa@gmail.com)
- honor initial desktop window size limits without libc (84f11cf) (by glennmichael123 gtorregosa@gmail.com)
🧪 Tests
- sign installed macOS notification smoke app (6fdc2b3) (by glennmichael123 gtorregosa@gmail.com)
- verify installed app clipboard integration (87fa3f3) (by glennmichael123 gtorregosa@gmail.com)
- smoke installed Craft packages on native CI runners (74d388e) (by glennmichael123 gtorregosa@gmail.com)
- cover evaluation navigation and close races (caec6f2) (by glennmichael123 gtorregosa@gmail.com)
- smoke portable controls on live desktop windows (115bade) (by glennmichael123 gtorregosa@gmail.com)
🧹 Chores
- release v0.0.105 (3ca41e8) (by glennmichael123 gtorregosa@gmail.com)
📄 Miscellaneous
- Merge pull request #326 from craft-native/codex/portable-window-parity (36af50e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#326, #326)
Contributors
- Glenn Michael Torregosa gtorregosa@gmail.com
- glennmichael123 gtorregosa@gmail.com
v0.0.104
🐛 Bug Fixes
- ios: resume a paused recording restored at launch (bc85a82) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.104 (67792ed) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.103
🐛 Bug Fixes
- deps: pin fast-uri to 3.1.7+ for GHSA-qw65-cvwx-89v3 and GHSA-58mr-gqgx-xq4g (dcff522) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.103 (bf8b741) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.101
🐛 Bug Fixes
- mobile: keep a default when a config key is undefined, and show a debug build's page errors in the device log (f663274) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.101 (b0a73e4) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.100
🚀 Features
- ios: swipe back through history, and let Safari inspect debug builds (800c6d1) (by Chris chrisbreuer93@gmail.com)
🐛 Bug Fixes
- ios: let a person take their time with a permission sheet, and ask for health read access alone (852c2ba) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.100 (c4d275f) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.99
🚀 Features
- ios: name apps with any display name, follow the system appearance, and read Apple Health workouts (26d0afb) (by Chris chrisbreuer93@gmail.com)
- launch styled URL and HTML windows on desktop (1e08fa5) (by glennmichael123 gtorregosa@gmail.com)
- read live desktop window handle state (2133022) (by glennmichael123 gtorregosa@gmail.com)
- route native desktop events to live pages (dba36bf) (by glennmichael123 gtorregosa@gmail.com)
- track desktop window event transitions (af909eb) (by glennmichael123 gtorregosa@gmail.com)
- route Windows WebView2 messages to named windows (fa5dd52) (by glennmichael123 gtorregosa@gmail.com)
- receive and route Linux window bridge messages (4a8869a) (by glennmichael123 gtorregosa@gmail.com)
🐛 Bug Fixes
- defer WebView2 child creation past message callback (06a7d9d) (by glennmichael123 gtorregosa@gmail.com)
- route WebView2 messages by bound window subscription (32bb4a3) (by glennmichael123 gtorregosa@gmail.com)
- retain Windows WebView2 controllers past callback (5234e0b) (by glennmichael123 gtorregosa@gmail.com)
- support Windows Zig archive layouts (c433945) (by glennmichael123 gtorregosa@gmail.com)
- locate Pantry Zig package on Windows (6a8dc85) (by glennmichael123 gtorregosa@gmail.com)
- invoke pinned Zig installation on Windows (36a06c2) (by glennmichael123 gtorregosa@gmail.com)
- scan shipped WebView2 loader with native artifacts (9c51096) (by glennmichael123 gtorregosa@gmail.com)
- register GTK application before opening windows (b489b0b) (by glennmichael123 gtorregosa@gmail.com)
- use GTK live resize and coordinate move APIs (4f5be92) (by glennmichael123 gtorregosa@gmail.com)
- use injected window bridge in WebView2 SDK (84bad09) (by glennmichael123 gtorregosa@gmail.com)
- install desktop bridge before first navigation (bf68015) (by glennmichael123 gtorregosa@gmail.com)
- post injected bridge messages through WebView2 (eeb0e4e) (by glennmichael123 gtorregosa@gmail.com)
- scope Windows WebView2 lifecycle to each window (a02b082) (by glennmichael123 gtorregosa@gmail.com)
- forget Linux windows on native destroy (0c310e8) (by glennmichael123 gtorregosa@gmail.com)
- route Linux bridge replies to live sender webview (06d7f2b) (by glennmichael123 gtorregosa@gmail.com)
📚 Documentation
- align desktop window lifecycle and CI coverage (1279f74) (by glennmichael123 gtorregosa@gmail.com)
- describe cross-platform named-window lifecycle (512de9f) (by glennmichael123 gtorregosa@gmail.com)
🧪 Tests
- verify queued WebView2 child cleanup (7da2736) (by glennmichael123 gtorregosa@gmail.com)
- trace WebView2 startup in Windows smoke (fbe9cb3) (by glennmichael123 gtorregosa@gmail.com)
- smoke Windows named-window lifecycle in CI (7a5fccd) (by glennmichael123 gtorregosa@gmail.com)
- smoke Linux named-window lifecycle in CI (d989008) (by glennmichael123 gtorregosa@gmail.com)
🧹 Chores
- release v0.0.99 (3f0e633) (by Chris chrisbreuer93@gmail.com)
📄 Miscellaneous
- Merge pull request #325 from craft-native/codex/multi-window-linux-windows (e0055f6) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#325, #325)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
- glennmichael123 gtorregosa@gmail.com
v0.0.98
✨ Features
- tray: --tray-popover, a status item's native popover (6da2680) (by Chris chrisbreuer93@gmail.com)
🐛 Bug Fixes
- cli: give tray apps every window style option (cb213b6) (by Chris chrisbreuer93@gmail.com)
🔧 Chores
- release v0.0.98 (d81e1d8) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.97
🐛 Bug Fixes
- create-craft: restore the README tree that npm refused to publish (607a859) (by Chris chrisbreuer93@gmail.com)
🔧 Chores
- release v0.0.97 (05a5930) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.96
🐛 Bug Fixes
- release: close the notarization loop, and parse every workflow script (15f13a7) (by Chris chrisbreuer93@gmail.com)
🔧 Chores
- release v0.0.96 (674f5df) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.95
🐛 Bug Fixes
- ci: run workflow test files as paths, not filters (9426f79) (by Chris chrisbreuer93@gmail.com)
🔧 Chores
- release v0.0.95 (8726f35) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.94
🐛 Bug Fixes
- release: release:patch keeps the Zig manifests on the release version (559df08) (by Chris chrisbreuer93@gmail.com)
🔧 Chores
- release v0.0.94 (73effc2) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.92
🚀 Features
- android: actually ship the Zig runtime, and let it speak (911016e) (by glennmichael123 gtorregosa@gmail.com)
🐛 Bug Fixes
- deep-links: deliver the launch link once to a craftReady handler (82399ca) (by glennmichael123 gtorregosa@gmail.com)
- android: hand the launch link to the page that subscribes for it (077fcac) (by glennmichael123 gtorregosa@gmail.com)
- ios: settle a Siri shortcut removal whose completion never comes (7dac516) (by glennmichael123 gtorregosa@gmail.com)
- haptics: keep the framework haptic helpers from failing on haptics left off (d60e2fd) (by glennmichael123 gtorregosa@gmail.com)
- ios: hand the page the answers native was already sending (484a652) (by glennmichael123 gtorregosa@gmail.com)
- ios: hand a cold-start link to the page that subscribes for it (7ac9408) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: launch iOS apps without a pty, so a cold simulator cannot eat the budget (29d48fe) (by glennmichael123 gtorregosa@gmail.com)
- android: resolve share() with whether the person picked an app (c7e9465) (by glennmichael123 gtorregosa@gmail.com)
- ios: let share() settle the promise its native side answers (cc3c769) (by glennmichael123 gtorregosa@gmail.com)
- android: make every Zig decline speak, and prove Zig answers (b81fd40) (by glennmichael123 gtorregosa@gmail.com)
- android: link bionic, so the Zig runtime actually loads (2bb2f56) (by glennmichael123 gtorregosa@gmail.com)
- mobile: six defects the new end-to-end suite found on real devices (080e5ae) (by glennmichael123 gtorregosa@gmail.com)
⚡ Performance Improvements
- android: ship libcraft.so without its DWARF, and keep the DWARF for symbols (44ce7b8) (by glennmichael123 gtorregosa@gmail.com)
🧪 Tests
- mobile-e2e: cold-start Android through a link, both ways iOS does (ccb14c1) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: hear haptic, vibrate, speech and watch answers on a simulator (71c8a31) (by glennmichael123 gtorregosa@gmail.com)
- ios: install the Watch-enabled app and read the APNs environment it signs (8f5f536) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: prove Android reports approximate location as granted (dd278b7) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: prove iOS location settles, and that Zig served it (3fc2f94) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: dismiss the real Android share menu and require false (9c88cc6) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: run the Android suite twice, and say which side answered (598128d) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: put the suite on a real simulator and a real emulator (d2bc33b) (by glennmichael123 gtorregosa@gmail.com)
- mobile-e2e: a self-driving page, and rules for reading what it says (2466726) (by glennmichael123 gtorregosa@gmail.com)
🧹 Chores
- release v0.0.92 (1ee996b) (by glennmichael123 gtorregosa@gmail.com)
Contributors
- glennmichael123 gtorregosa@gmail.com
v0.0.91
🚀 Features
- android: guard native promise channels (4e99a29) (by glennmichael123 gtorregosa@gmail.com)
- window: destroy typed child windows (f757386) (by glennmichael123 gtorregosa@gmail.com)
- window: execute scripts in typed handles (ec98e12) (by glennmichael123 gtorregosa@gmail.com)
- window: route child events to creator (df6b01a) (by glennmichael123 gtorregosa@gmail.com)
- mobile: return typed Live Activity handles (07f2342) (by glennmichael123 gtorregosa@gmail.com)
- android: open PDFs through Zig (d750fe2) (by glennmichael123 gtorregosa@gmail.com)
- android: process ML images through Zig (827bd81) (by glennmichael123 gtorregosa@gmail.com)
- android: query billing through Zig (8b18448) (by glennmichael123 gtorregosa@gmail.com)
- android: capture screenshots through Zig (6226eed) (by glennmichael123 gtorregosa@gmail.com)
- android: manage deep links in Zig (446f9a7) (by glennmichael123 gtorregosa@gmail.com)
- android: record audio through Zig (9ebc1e7) (by glennmichael123 gtorregosa@gmail.com)
- android: recognize speech through Zig (236ccb6) (by glennmichael123 gtorregosa@gmail.com)
- android: request app reviews through Zig (576317c) (by glennmichael123 gtorregosa@gmail.com)
- android: launch contact picker in Zig (b6c35c4) (by glennmichael123 gtorregosa@gmail.com)
- android: launch file and video pickers in Zig — ratchet 48 -> 46 (5cf20dd) (by glennmichael123 gtorregosa@gmail.com)
- android: authenticate through Zig — ratchet 49 -> 48 (c743eaf) (by glennmichael123 gtorregosa@gmail.com)
- android: launch the image picker pair in Zig — ratchet 51 -> 49 (2d2ba47) (by glennmichael123 gtorregosa@gmail.com)
- android: getCurrentPosition in Zig — ratchet 52 -> 51 (#188) (c425a16) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#188, #188)
- android: the motion pair, and org.json's numbers — ratchet 54 -> 52 (#187) (be465f9) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#187, #187)
- android: the Bluetooth scan pair in Zig — ratchet 56 -> 54 (#186) (f4889d6) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#186, #186)
- android: the app-state trio in Zig — ratchet 59 -> 56 (#184) (1c7a2c4) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#184, #184)
- android: the first listener shim, and network monitoring on it — 61 -> 59 (#183) (346887c) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#183, #183)
- android: the location-recording controls in Zig — ratchet 65 -> 61 (#181) (b6eef54) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#181, #181)
- android: the recording store's two reads in Zig — ratchet 67 -> 65 (#177) (719f70a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#177, #177)
- android: downloadFile and saveFile in Zig — ratchet 69 -> 67 (#176) (5849ef7) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#176, #176)
- android: setKeepAwake through the trampoline — ratchet 70 -> 69 (#174) (5f83fae) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#174, #174)
- android: a main-thread trampoline, and the orientation pair to prove it (#173) (a94ff26) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#173, #173)
- android: the immediate half of scheduleNotification — ratchet 73 -> 72 (#172) (f79018b) (by Chris chrisbreuer93@gmail.com) (#172, #172)
- android: the shortcut pair in Zig — ratchet 75 -> 73 (#171) (084c56d) (by Chris chrisbreuer93@gmail.com) (#171, #171)
- android: the widget pair in Zig — ratchet 77 -> 75 (#167) (be8d85c) (by Chris chrisbreuer93@gmail.com) (#167, #167)
- android: the contacts pair in Zig — ratchet 79 → 77 (#166) (15e65a5) (by Chris chrisbreuer93@gmail.com) (#166, #166)
- android: the shared-item trio in Zig — ratchet 82 -> 79 (#161) (f4cce95) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#161, #161)
- android: dbExecute and dbQuery in Zig — ratchet 84 -> 82 (#160) (1788f48) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#160, #160)
- android: getCalendarEvents and createCalendarEvent in Zig — ratchet 86 → 84 (#158) (0ad9cfb) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#158, #158)
- android: deleteCalendarEvent — the first action to answer through the channel (#155) (c65c927) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#155, #155)
- android: the reply channel, so async actions become reachable (#152) (4dc81da) (by Chris chrisbreuer93@gmail.com) (#152, #152)
- android: the notification cancels, and the flashlight pair deferred (#151) (699d961) (by Chris chrisbreuer93@gmail.com) (#151, #151)
- android: haptic and vibrate — ratchet 91 -> 89 (#150) (a6d9fe1) (by Chris chrisbreuer93@gmail.com) (#150, #150)
- android: the secure-storage quartet — ratchet 95 -> 91 (#147) (9cfb210) (by Chris chrisbreuer93@gmail.com) (#147, #147)
- android: getNetworkStatus — the action iOS cannot serve (#146) (88d589f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#146, #146)
- android: openURL and share — ratchet 98 -> 96 (#145) (3d9f9f8) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#145, #145)
- android: the clipboard pair — ratchet 100 -> 98 (#144) (dcc457a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#144, #144)
- android: getMemoryUsage and log — ratchet 102 -> 100 (#143) (dd4500b) (by Chris chrisbreuer93@gmail.com) (#143, #143)
- android: the seam — Kotlin can now call into Zig (#138) (5d58ad2) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#138, #138)
🐛 Bug Fixes
- ios: require Contacts operations before settling callbacks (32ac502) (by glennmichael123 gtorregosa@gmail.com)
- ios: settle calendar callbacks after EventKit operations (c67256f) (by glennmichael123 gtorregosa@gmail.com)
- avoid obsolete Android SDK tools package in CI (e032105) (by glennmichael123 gtorregosa@gmail.com)
- macos: map every typed vibrancy material (00b0b21) (by glennmichael123 gtorregosa@gmail.com)
- macos: parse complete opacity numbers (8c550cc) (by glennmichael123 gtorregosa@gmail.com)
- macos: decode window titles before AppKit (2db4045) (by glennmichael123 gtorregosa@gmail.com)
- ios: generate complete Watch companion (6bd84f4) (by glennmichael123 gtorregosa@gmail.com)
- ios: select APNs environment by build config (611be12) (by glennmichael123 gtorregosa@gmail.com)
- ios: honor location request options (c626116) (by glennmichael123 gtorregosa@gmail.com)
- ios: settle silent location requests (4fe86f0) (by glennmichael123 gtorregosa@gmail.com)
- android: contain page delivery failures (092222d) (by glennmichael123 gtorregosa@gmail.com)
- android: claim health permission results once (e636923) (by glennmichael123 gtorregosa@gmail.com)
- android: release silent location requests (4f4d581) (by glennmichael123 gtorregosa@gmail.com)
- android: reject requests after bridge close (14237ed) (by glennmichael123 gtorregosa@gmail.com)
- android: include product titles (210a979) (by glennmichael123 gtorregosa@gmail.com)
- android: align typed mutation replies (e398e1d) (by glennmichael123 gtorregosa@gmail.com)
- android: type watch reachability replies (af9ecf7) (by glennmichael123 gtorregosa@gmail.com)
- android: reject eager native call failures (dbde0b0) (by glennmichael123 gtorregosa@gmail.com)
- android: settle before permission prompts (25da993) (by glennmichael123 gtorregosa@gmail.com)
- android: gate JavaScript delivery after close (7e3529b) (by glennmichael123 gtorregosa@gmail.com)
- android: close permission request races (bb77157) (by glennmichael123 gtorregosa@gmail.com)
- android: suppress stale health replies (02f2dc4) (by glennmichael123 gtorregosa@gmail.com)
- android: cancel stale main-thread tasks (97439a8) (by glennmichael123 gtorregosa@gmail.com)
- android: ignore late activity results (14f1caa) (by glennmichael123 gtorregosa@gmail.com)
- android: register orphaned promise channels (e18993e) (by glennmichael123 gtorregosa@gmail.com)
- android: invalidate queued promise replies (e7fa1d6) (by glennmichael123 gtorregosa@gmail.com)
- android: settle ML promise tasks once (d6f2975) (by glennmichael123 gtorregosa@gmail.com)
- android: guard interactive promise callbacks (4503dcc) (by glennmichael123 gtorregosa@gmail.com)
- android: isolate current location callbacks (99d4208) (by glennmichael123 gtorregosa@gmail.com)
- android: settle billing callbacks once (4b7de91) (by glennmichael123 gtorregosa@gmail.com)
- android: reject unreadable picked contacts (3b050ac) (by glennmichael123 gtorregosa@gmail.com)
- android: reject widget reload failures (d65efb0) (by glennmichael123 gtorregosa@gmail.com)
- android: reject location setup failures (8fbb9e0) (by glennmichael123 gtorregosa@gmail.com)
- android: initialize billing restores (422943d) (by glennmichael123 gtorregosa@gmail.com)
- android: settle billing failures (9b6857c) (by glennmichael123 gtorregosa@gmail.com)
- android: reject contact provider failures (8ed949f) (by glennmichael123 gtorregosa@gmail.com)
- android: settle contact picker failures (8be1a62) (by glennmichael123 gtorregosa@gmail.com)
- android: settle media launcher failures (ba88e30) (by glennmichael123 gtorregosa@gmail.com)
- android: settle denied camera requests (25e08c9) (by glennmichael123 gtorregosa@gmail.com)
- android: require exact bundled app origin (20aa59c) (by glennmichael123 gtorregosa@gmail.com)
- android: validate Health Connect authorization (60d584d) (by glennmichael123 gtorregosa@gmail.com)
- android: stop failed location recordings (0e7c40d) (by glennmichael123 gtorregosa@gmail.com)
- android: guard web asset replacement (287b93a) (by glennmichael123 gtorregosa@gmail.com)
- android: validate generator input files (efd2e4d) (by glennmichael123 gtorregosa@gmail.com)
- android: normalize SDK and icon inputs (b137374) (by glennmichael123 gtorregosa@gmail.com)
- android: settle and release fresh location requests (23970c6) (by glennmichael123 gtorregosa@gmail.com)
- android: release bridge resources on destroy (c0cae51) (by glennmichael123 gtorregosa@gmail.com)
- android: support approximate location operations (3fa3b2d) (by glennmichael123 gtorregosa@gmail.com)
- android: omit local paths from app assets (57a89ce) (by glennmichael123 gtorregosa@gmail.com)
- android: validate remote project configuration (34e5398) (by glennmichael123 gtorregosa@gmail.com)
- android: sanitize Gradle project names (1ac7a80) (by glennmichael123 gtorregosa@gmail.com)
- android: preserve JNI bindings in release builds (fb68aff) (by glennmichael123 gtorregosa@gmail.com)
- android: validate generated project metadata (e9f9118) (by glennmichael123 gtorregosa@gmail.com)
- android: stage background location requests (1289930) (by glennmichael123 gtorregosa@gmail.com)
- android: always generate location support types (2383abb) (by glennmichael123 gtorregosa@gmail.com)
- android: accept approximate location grants (780e952) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: replace Quick Look items atomically (e5e1a42) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: validate context menu payloads (4b7e828) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: validate component payload shapes (e0e7e9e) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: validate space payload shapes (9cb34ed) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: replace space list updates (108c646) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: replace space switchers atomically (e6259b3) (by glennmichael123 gtorregosa@gmail.com)
- window: retain close event subscriptions (c64acb2) (by glennmichael123 gtorregosa@gmail.com)
- window: decode typed window identities (435569d) (by glennmichael123 gtorregosa@gmail.com)
- window: reject conflicting handle owners (6aaa3b1) (by glennmichael123 gtorregosa@gmail.com)
- window: reserve the main handle (6dcb8f4) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: retain content during restore (fb37a06) (by glennmichael123 gtorregosa@gmail.com)
- window: preserve ownership on failed mutations (31db8d4) (by glennmichael123 gtorregosa@gmail.com)
- window: prepare typed open atomically (481dc1d) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: own context menu lifetimes (67ff699) (by glennmichael123 gtorregosa@gmail.com)
- window: enforce registry capacity (c345ade) (by glennmichael123 gtorregosa@gmail.com)
- window: route gestures to their owner (dd7dbb3) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: tear down component graphs safely (10d84cb) (by glennmichael123 gtorregosa@gmail.com)
- native-ui: make component creation transactional (73a0bd7) (by glennmichael123 gtorregosa@gmail.com)
- window: partition native sidebar state (dcb063f) (by glennmichael123 gtorregosa@gmail.com)
- window: scope native UI key callbacks (f47727a) (by glennmichael123 gtorregosa@gmail.com)
- window: isolate native UI state (2c2591f) (by glennmichael123 gtorregosa@gmail.com)
- window: preserve native UI primary target (6079fad) (by glennmichael123 gtorregosa@gmail.com)
- window: pass sender to action selectors (beff989) (by glennmichael123 gtorregosa@gmail.com)
- window: balance sidebar WebKit ownership (efee44a) (by glennmichael123 gtorregosa@gmail.com)
- window: balance runtime WebKit ownership (68c6b5d) (by glennmichael123 gtorregosa@gmail.com)
- window: bind delegates to webview lifetime (486d190) (by glennmichael123 gtorregosa@gmail.com)
- window: release retained chrome observers (2345dd3) (by glennmichael123 gtorregosa@gmail.com)
- window: preserve primary callback target (2e63c40) (by glennmichael123 gtorregosa@gmail.com)
- window: emit fullscreen lifecycle events (29c1d4f) (by glennmichael123 gtorregosa@gmail.com)
- window: revive retained handles on reopen (7a16e82) (by glennmichael123 gtorregosa@gmail.com)
- window: honor remaining creation styles (82e88de) (by glennmichael123 gtorregosa@gmail.com)
- window: apply runtime size constraints (b314bdf) (by glennmichael123 gtorregosa@gmail.com)
- window: honor runtime appearance options (b2e47b5) (by glennmichael123 gtorregosa@gmail.com)
- window: escape created handle names (a560f85) (by glennmichael123 gtorregosa@gmail.com)
- window: route focused handle lookup (669e8a6) (by glennmichael123 gtorregosa@gmail.com)
- android: settle unavailable location services (6b080f6) (by glennmichael123 gtorregosa@gmail.com)
- android: expose native permissions bridge (bb5c1b5) (by glennmichael123 gtorregosa@gmail.com)
- window: route content loads to handles (d064807) (by glennmichael123 gtorregosa@gmail.com)
- window: complete common handle mutations (0d07cee) (by glennmichael123 gtorregosa@gmail.com)
- window: implement typed handle getters (ac1984c) (by glennmichael123 gtorregosa@gmail.com)
- window: route native surfaces to sender (d02c4c3) (by glennmichael123 gtorregosa@gmail.com)
- window: isolate sidebar material state (1b2a185) (by glennmichael123 gtorregosa@gmail.com)
- window: keep native events window-scoped (f7989bc) (by glennmichael123 gtorregosa@gmail.com)
- sdk: initialize window API without DOM globals (a5f5ab4) (by glennmichael123 gtorregosa@gmail.com)
- window: address retained window handles (c7909a0) (by glennmichael123 gtorregosa@gmail.com)
- android: route media activity results (19dc04b) (by glennmichael123 gtorregosa@gmail.com)
- ios: return completed video recordings (61e86b0) (by glennmichael123 gtorregosa@gmail.com)
- mobile: deliver native event subscriptions (c37c221) (by glennmichael123 gtorregosa@gmail.com)
- mobile: align typed bridge methods (0e24305) (by glennmichael123 gtorregosa@gmail.com)
- ios: remove redundant plist proxy gates (c66f499) (by glennmichael123 gtorregosa@gmail.com)
- android: report app badges unsupported (d677e1a) (by glennmichael123 gtorregosa@gmail.com)
- android: report database row counts (a457fda) (by glennmichael123 gtorregosa@gmail.com)
- android: reject calendar provider failures (1f7075e) (by glennmichael123 gtorregosa@gmail.com)
- android: persist local auth sessions (cb9099c) (by glennmichael123 gtorregosa@gmail.com)
- android: batch contact provider queries (691fb93) (by glennmichael123 gtorregosa@gmail.com)
- android: remove unreachable voice action registration (b8812db) (by glennmichael123 gtorregosa@gmail.com)
- android: reject malformed save data URLs (273bfa0) (by glennmichael123 gtorregosa@gmail.com)
- android: escape background task rejection (3cb19a8) (by glennmichael123 gtorregosa@gmail.com)
- android: reject unavailable background tasks (e91c493) (by glennmichael123 gtorregosa@gmail.com)
- android: track location watches by id (93923c3) (by glennmichael123 gtorregosa@gmail.com)
- android: make network monitoring idempotent (5cc3fd0) (by glennmichael123 gtorregosa@gmail.com)
- android: reject Bluetooth scans that do not start (5c3fd3c) (by glennmichael123 gtorregosa@gmail.com)
- cli: pin scaffolded SDK versions (593cb04) (by glennmichael123 gtorregosa@gmail.com)
- support both Zig 0.17 mode spellings (ac02206) (by glennmichael123 gtorregosa@gmail.com)
- preserve WindowBuilder options (11b7071) (by glennmichael123 gtorregosa@gmail.com)
- support current Zig 0.17 optimize modes (1f19050) (by glennmichael123 gtorregosa@gmail.com)
- android: text going to the JVM is modified UTF-8, and was not being (#168) (d3be3e1) (by Chris chrisbreuer93@gmail.com) (#168, #168)
- android: jsQuote takes Any?, because three call sites are not strings (#164) (d9ab3d4) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#164, #164)
- android: an apostrophe in a reply hangs the page forever (#156) (69b52de) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#156, #156)
- build: three test artifacts reach Carbon and none of them linked it (#139) (c5b8146) (by Chris chrisbreuer93@gmail.com) (#139, #139)
♻️ Code Refactoring
- android: centralize promise delivery (b58346a) (by glennmichael123 gtorregosa@gmail.com)
- android: guard lifecycle promise channels (1407390) (by glennmichael123 gtorregosa@gmail.com)
- android: guard device promise channels (a3ad578) (by glennmichael123 gtorregosa@gmail.com)
- android: guard data promise channels (3b2f560) (by glennmichael123 gtorregosa@gmail.com)
- android: one SharedPreferences helper, after the third caller turned out to be dead (#170) (38d1680) (by Chris chrisbreuer93@gmail.com) (#170, #170)
📚 Documentation
- ios: define fail-closed bridge contract (5140171) (by glennmichael123 gtorregosa@gmail.com)
- android: align setup with generator validation (5887eb9) (by glennmichael123 gtorregosa@gmail.com)
- android: document trusted remote configuration (5d7a1eb) (by glennmichael123 gtorregosa@gmail.com)
- android: clarify permission and template checks (2b199f2) (by glennmichael123 gtorregosa@gmail.com)
- window: record Touch Bar ownership (2198ce0) (by glennmichael123 gtorregosa@gmail.com)
- window: map multi-window ownership (84a87df) (by glennmichael123 gtorregosa@gmail.com)
- window: describe owned child events (a0afb42) (by glennmichael123 gtorregosa@gmail.com)
- android: classify generated bridge deferrals (05fd2f7) (by glennmichael123 gtorregosa@gmail.com)
- android: thirteen more deferrals, so the remaining 65 reads honestly (#180) (b64db45) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#180, #180)
🧪 Tests
- compile generated iOS and Watch templates in CI (3c17591) (by glennmichael123 gtorregosa@gmail.com)
- ios: exercise location settlement on simulator (b8e7889) (by glennmichael123 gtorregosa@gmail.com)
- android: inventory promise channels (24a213d) (by glennmichael123 gtorregosa@gmail.com)
- android: remove deleted template inputs (baec126) (by glennmichael123 gtorregosa@gmail.com)
- android: detect unresolved template markers (611e738) (by glennmichael123 gtorregosa@gmail.com)
- android: compile generated Kotlin projects (6f3a4d7) (by glennmichael123 gtorregosa@gmail.com)
- window: cover recreation after destroy (f972644) (by glennmichael123 gtorregosa@gmail.com)
- android: classify permission bridge ownership (bef28ac) (by glennmichael123 gtorregosa@gmail.com)
- window: type bridge routing mock (dc10e91) (by glennmichael123 gtorregosa@gmail.com)
- android: eleven refusals recorded, so the ratchet cannot be gamed (#153) (1584d8f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#153, #153)
- android: the deferral table, and the no-op it was needed for (#149) (bbbaf34) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#149, #149)
- android: the ratchet, and the two seams JNI leaves unchecked (#142) (949f786) (by Chris chrisbreuer93@gmail.com) (#142, #142)
- bridge: the other direction — what window.craft promises (#141) (c5e4756) (by Chris chrisbreuer93@gmail.com) (#141, #141)
🤖 Continuous Integration
- docs: reject broken API index links (46181fa) (by glennmichael123 gtorregosa@gmail.com)
- cancel superseded branch workflows (620975c) (by glennmichael123 gtorregosa@gmail.com)
- android: use current setup actions (3d12299) (by glennmichael123 gtorregosa@gmail.com)
🧹 Chores
- android: remove unreachable Kotlin templates (79127a0) (by glennmichael123 gtorregosa@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
- glennmichael123 gtorregosa@gmail.com
v0.0.90
🐛 Bug Fixes
- window: carry the new options on every platform's WindowStyle (3f4980c) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.90 (de95502) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.89
🚀 Features
- window: let an app keep what its page stores (d978eb3) (by Chris chrisbreuer93@gmail.com)
- window: let a page turn off the chrome Craft draws for it (c35ad4e) (by Chris chrisbreuer93@gmail.com)
- window: a second window, and the window that asked (69d65b4) (by Chris chrisbreuer93@gmail.com)
🐛 Bug Fixes
- window: answer the window that asked, not the one built last (e26c90b) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.89 (9d8f130) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.88
🚀 Features
- updater: verify with codesign before swapping, and swap atomically (80bbb26) (by Chris chrisbreuer93@gmail.com)
- android: getDeviceInfo in Zig, and the JNI calls it needed (#137) (b89d4b6) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#137, #137)
- android: a JNI runtime layer, and the discipline it has to carry (#136) (c073afa) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#136, #136)
- ios: haptic, whose reason expired when ios_config landed (#134) (d92a01b) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#134, #134)
- ios: AR moves to Zig — ratchet 18 -> 13 (#126) (87752aa) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#126, #126)
- ios: location recording moves to the manager it always shared — ratchet 23 -> 18 (#125) (a8a516a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#125, #125)
- ios: signInWithApple, and scanQRCode's real reason — ratchet 25 -> 23 (#122) (f503c4a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#122, #122)
- ios: scanNFC — the first migration with no blocker to expire, ratchet 25 -> 24 (#121) (fbbc041) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#121, #121)
- ios: scheduleNotification — the deferral that expired on its own, ratchet 26 → 25 (#110) (f5d28af) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#110, #110)
- ios: the Zig runtime, offered to a Swift-hosted app (#103) (b5c609e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#103, #103)
- ios: the speech pair closes the last deferral — ratchet 28 -> 26 (#101) (14fe431) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#101, #101)
🐛 Bug Fixes
- sdk: restore craftVoiceAction — the event map is cross-platform (#135) (848da1d) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#135, #135)
- ios: no gated dispatcher arm can hang the page any more (58 → 0) (#120) (f2c0fba) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#120, #120)
- ios: give the generator a runtimeDir option, and run its tests in CI (#108) (50badb6) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#108, #108)
- ci: guard the pantry-env evals in package.json too, which #107 missed (#111) (47858a1) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#107, #111, #107, #111)
- ci: stop evaluating
pantry env, which re-installs JS deps mid-job (#107) (dbbe0af) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#107, #107) - ios: answer the shapes the spec answers, now that a bare false survives (#105) (7d3e6b7) (by Chris chrisbreuer93@gmail.com) (#105, #105)
- ci: build the SDK types with the repo's own tsc (and pin the pantry action) (#104) (d4c214e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#104, #104)
- lint: drop fourteen unused imports that pickier now errors on (#102) (b693fb0) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#102, #102)
📚 Documentation
- ios: correct the permanently-Swift list, 5 of whose 13 entries were migrated (#114) (3653cf5) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#114, #114)
- ios: retire three refusal notes that outlived their refusals (#113) (7567765) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#113, #113)
🧪 Tests
- ios: every field the spec's replies carry, not just getDeviceInfo's (#129) (9e5bf0a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#129, #129)
- ios: check the event channel, the half nothing was checking (#128) (4a1be4a) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#128, #128)
- ios: record registerPush, so every unmigrated action now has a checked reason (#123) (a7e15e0) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#123, #123)
- ios: record every deliberate deferral where something checks it (#119) (1f7ab69) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#119, #119)
🧹 Chores
- release v0.0.88 (c64c7d5) (by Chris chrisbreuer93@gmail.com)
- ci: pin zig-js at #876, the first revision that builds on Zig 1963 (#106) (b6e3fd4) (by Chris chrisbreuer93@gmail.com) (#876, #106, #876, #106)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.87
🚀 Features
- chrome: publish the window buttons' own rectangle, beside the reserve (695cca7) (by Chris chrisbreuer93@gmail.com)
- macos: a material behind the whole window, not just a sidebar strip (505334e) (by Chris chrisbreuer93@gmail.com)
- ios: saveHealthWorkout closes the health tier — ratchet 29 -> 28 (#100) (d4e9930) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#100, #100)
- ios: the health query pair — ratchet 31 -> 29 (#99) (553708c) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#99, #99)
- ios: the audio recording pair — ratchet 33 -> 31 (#98) (7ee78b9) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#98, #98)
- ios: the Bluetooth scan pair — ratchet 35 -> 33 (#97) (59d75b2) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#97, #97)
- ios: retire three stale refusals — ratchet 38 -> 35 (#96) (bdfa2ae) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#96, #96)
🧹 Chores
- release v0.0.87 (3905523) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.86
🚀 Features
- ios: the PDF viewer — ratchet 40 -> 38 (#95) (bbee0c8) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#95, #95)
- ios: biometric prompt and Siri shortcuts — ratchet 43 -> 40 (#94) (50dee21) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#94, #94)
- ios: the Vision tier — ratchet 46 -> 43 (#93) (36382eb) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#93, #93)
🐛 Bug Fixes
- chrome: the host's chrome outlives the buttons in fullscreen (057eda9) (by Chris chrisbreuer93@gmail.com)
- chrome: reserve the room Craft's own chrome takes, not just the buttons (f694324) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.86 (90af650) (by Chris chrisbreuer93@gmail.com)
iOS
- the capability gate, and the two actions it unblocks — ratchet 48 → 46 (#92) (881097f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#92, #92)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.85
🚀 Features
- window: tell the page whether its window is the active one (666e6a4) (by Chris chrisbreuer93@gmail.com)
🐛 Bug Fixes
- release: notify the registry with the token we already have (2315bdf) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.85 (7cfcec5) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.84
🚀 Features
- ios: calendar and contacts — ratchet 53 -> 48 (#91) (dbc6fd3) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#91, #91)
🐛 Bug Fixes
- release: build macOS binaries against a current SDK, and pin the floor (66c0cd1) (by Chris chrisbreuer93@gmail.com)
- release: a half-published release looked exactly like a whole one (a58e2f8) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.84 (6ffe5c1) (by Chris chrisbreuer93@gmail.com)
📄 Miscellaneous
- iOS Phase 8: the presented pickers — ratchet 58 → 53, last mechanism landed (#90) (abfbd8f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#90, #90)
- iOS Phase 7: location and motion streams — ratchet 64 → 58 (#89) (7f605ab) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#89, #89)
- iOS Phase 6: notifications, background tasks, Watch — ratchet 70 → 64 (#88) (0a97def) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#88, #88)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.83
🐛 Bug Fixes
- menu: a role item with no id was skipped in silence (05790e0) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.83 (5b93ee1) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.82
🧹 Chores
- release v0.0.82 (c73cb84) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.81
🧹 Chores
- release v0.0.81 (1e0e456) (by Chris chrisbreuer93@gmail.com)
- configure macOS release signing (c1bdbce) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.80
🧹 Chores
- release v0.0.80 (bcf476b) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.79
🚀 Features
- ios: the data tier — SQLite and notification cancels; ratchet 74 -> 70 (#87) (6c1f198) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#87, #87)
🐛 Bug Fixes
- release: missing signing material must not swallow the macOS binaries (2596e98) (by Chris chrisbreuer93@gmail.com)
- macos: inject the nativeUI bridge in every window (d82e9b6) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.79 (4a33ac4) (by Chris chrisbreuer93@gmail.com)
📄 Miscellaneous
- iOS Phase 4: the secure tier — async replies, Keychain, permissions; ratchet 86 → 74 (#86) (2f6e5f3) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#86, #86)
- iOS Phase 3: Tier-0 actions in Zig — 19 migrated, ratchet 105 → 86 (#85) (585173e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#85, #85)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.78
🚀 Features
- sdk: type the measured window-controls contract (b29b15b) (by Chris chrisbreuer93@gmail.com)
- ios: say there is no window chrome here (d6d935f) (by Chris chrisbreuer93@gmail.com)
- window: measure the window buttons instead of remembering them (1774a40) (by Chris chrisbreuer93@gmail.com)
- window: let a shared UI keep its browser-only traffic lights (2273c84) (by Chris chrisbreuer93@gmail.com)
- sdk: type
window.craft.windowControls(182062d) (by Chris chrisbreuer93@gmail.com) - window: tell the page where the native window buttons are (f7b47de) (by Chris chrisbreuer93@gmail.com)
- log: --log-file, and a logger that survives being used (#78) (c602b3e) (by Chris chrisbreuer93@gmail.com) (#78, #78)
- notifications: make the banner answerable — clicks, buttons, and a crash (#74) (e891d56) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#74, #74)
- lifecycle: an app delegate, so closing the window is not the end (#73) (d4b885f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#73, #73)
🐛 Bug Fixes
- build: format build.zig (c542e3e) (by Chris chrisbreuer93@gmail.com)
- sdk: stop offering to move the traffic lights (73bb1ee) (by Chris chrisbreuer93@gmail.com)
- examples: repair the Arc example's template literal, and its fallback (cdb5d6b) (by Chris chrisbreuer93@gmail.com)
- window: stop making every window's titlebar see-through (aaeebec) (by Chris chrisbreuer93@gmail.com)
- examples: use the real traffic lights in the Arc example (908837c) (by Chris chrisbreuer93@gmail.com)
- bridge: stop discarding the fields the page actually sends (#82) (49fe9e4) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#82, #82)
- log: keep the terminal's colour, and let logging be turned off (#81) (9e4e58f) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#81, #81)
- sync: stop craft's locks busy-waiting (#80) (e5cb271) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#80, #80)
- log: send the page's own log somewhere it can be read (#79) (bc35ed9) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#79, #79)
- shell: actually pass spawn its arguments (#77) (1e19526) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#77, #77)
- ci: make the benchmark gate measure something, and stop it failing at random (#75) (97d9b70) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#75, #75)
- bridge: correlate replies by request id, not by action name (#71) (a394ecc) (by Chris chrisbreuer93@gmail.com) (#71, #71)
- capabilities: stop the channel manifest claiming knowledge it does not have (#68) (3a3270c) (by Chris chrisbreuer93@gmail.com) (#68, #68)
- webview: recover from renderer crashes, and stop dropping window.open() (#72) (93fc86e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#72, #72)
📚 Documentation
- window: name the hosts that cannot publish this yet, and why (93648cc) (by Chris chrisbreuer93@gmail.com)
- window: describe the contract as measured, not as constant (69abed3) (by Chris chrisbreuer93@gmail.com)
- window: document the window-controls contract (1b5dc0c) (by Chris chrisbreuer93@gmail.com)
🧪 Tests
- window: drive the injected client with the host's own literals (eee2538) (by Chris chrisbreuer93@gmail.com)
- window: make "every window can be reopened" a property the build checks (#76) (ccfb1ed) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#76, #76)
🧹 Chores
- release v0.0.78 (aa545f5) (by Chris chrisbreuer93@gmail.com)
iOS
- hand unserved actions to the host shim, over one reply path (#84) (d1dca20) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#84, #84)
📄 Miscellaneous
- Zig-native mobile: iOS compiles, serves a bridge call on a simulator, and is gated against drift (#83) (08f42fb) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#83, #83)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.77
🚀 Features
- bridge: let the page ask what native actually serves (#60) (8f14e43) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#60, #60)
- cli: --headless, and make DevTools reachable at all (#61) (f93ad1e) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#61, #61)
- packaging: register the URL schemes an app declares (#57) (bb2d6fd) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#57, #57)
- prefs: a Settings… item and a preference store that keeps its types (#58) (a391437) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#58, #58)
- window: --frame-autosave, so windows come back where they were (#56) (fbbe035) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#56, #56)
- cli: --app-name, so an app can be itself without packaging (#55) (9abf96c) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#55, #55)
🐛 Bug Fixes
- shortcuts: make global hotkeys actually fire (#54) (1263c79) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#54, #54)
- packaging: stop macOS packages relocating themselves elsewhere (#46) (ed17bff) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#46, #46)
🤖 Continuous Integration
- lifecycle: run the packaging test as a path, not as a filter (#59) (ac1f7bb) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#59, #59)
🧹 Chores
- release v0.0.77 (142c04d) (by glennmichael123 gtorregosa@gmail.com)
- release: set what can be set, and generate the signing request (724fa28) (by Chris chrisbreuer93@gmail.com)
- release: generate the production keypair, and set the one value that is not a credential (b06a467) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
- glennmichael123 gtorregosa@gmail.com
v0.0.76
♻️ Code Refactoring
- release: read the credentials with
buddy env, and drop the wrapper (2a93ede) (by Chris chrisbreuer93@gmail.com)
📚 Documentation
- env: say why the credentials script is not
buddy envyet (2f5fb96) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.76 (1684add) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.75
♻️ Code Refactoring
- release: encrypt the credentials with Stacks env, not dotenvx (909fac7) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.75 (7a4da47) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.74
🐛 Bug Fixes
- release: restore the env key the credential move took with it (30912b7) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.74 (1b2514f) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.72
🐛 Bug Fixes
- packages: point every published package at the repository that builds it (26ed5c4) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.72 (4645615) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.71
🐛 Bug Fixes
- release: stop a missing Apple certificate from blocking every npm publish (f6ce289) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.71 (0b54496) (by Chris chrisbreuer93@gmail.com)
- ios: publish the package, and spell its bin path the way npm wants (11f4131) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.70
🐛 Bug Fixes
- ios: find Simulator.app under the selected Xcode, not through its name (d7b0038) (by Chris chrisbreuer93@gmail.com)
- ios: make
run --simulatoractually install and launch the app (a819e06) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.70 (faab917) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.69
🐛 Bug Fixes
- macos: stop pretending to move the traffic lights (603f1a1) (by Chris chrisbreuer93@gmail.com)
- deps: finish the TypeScript 7 move across the workspace (#44) (794ea7b) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#44, #44)
🧹 Chores
- release v0.0.69 (df35b6b) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.68
🚀 Features
- macos: give the default menu bar an Edit, App and Window menu (#35) (dc71b29) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#35, #35)
🐛 Bug Fixes
- types: name the bun types the compiler stopped finding on its own (da3d131) (by Chris chrisbreuer93@gmail.com)
- docs: use the config keys bunpress actually has (9b9f81d) (by Chris chrisbreuer93@gmail.com)
- release: stop shipping the wrong binaries, and delete the dead notifier (#43) (14c3d54) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#43, #43)
- sdk: ship declarations that resolve under node16/nodenext (#42) (055d289) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#42, #42)
- ci: let the benchmark job comment on pull requests (#41) (98b5f6d) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#41, #41)
- build: keep test declarations out of the published SDK (#40) (14bce5b) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#40, #40)
- ci: unblock the three failing native lifecycle legs (#37) (d8a19ed) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#37, #37)
- db: bind SQLITE_TRANSIENT directly instead of through asm stubs (#38) (b64c9d2) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#38, #38)
- menu: give bridge-built items a live target, and roles for standard behaviors (#29) (1884215) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#29, #29)
♻️ Code Refactoring
- menu: retire the inert menu implementations, test the real path (#34) (fe99495) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#34, #34)
📚 Documentation
- menu: delete the dead NativeMenus class, document the real menu API (#36) (b6fea1c) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#36, #36)
🤖 Continuous Integration
- pin the first-party Zig dependencies to commits (#39) (d695897) (by Glenn Michael Torregosa gtorregosa@gmail.com) (#39, #39)
🧹 Chores
- release v0.0.68 (f1badea) (by Chris chrisbreuer93@gmail.com)
- deps: bunpress 0.2.13 (10afcc4) (by Chris chrisbreuer93@gmail.com)
- deps: move the framework wrappers to TypeScript 7 (2c3b616) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
- Glenn Michael Torregosa gtorregosa@gmail.com
v0.0.37
🤖 Continuous Integration
- release: skip sysrootless linux cross targets (9d84412) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.37 (3a552d8) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com
v0.0.23
v0.0.20
🚀 Features
- use pantry action for GitHub releases, add release:patch script (d58ca31) (by Chris chrisbreuer93@gmail.com)
🧹 Chores
- release v0.0.20 (b01861d) (by Chris chrisbreuer93@gmail.com)
Contributors
- Chris chrisbreuer93@gmail.com