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