github onejs/one v2.9.0

3 hours ago

What's Changed

  • fix(one): stop React 19.3 script warnings on client-rendered documents (2fadcc7)
  • fix(one): refetch native loader data from the server (f96edbe)
  • feat(one): launch screen cover and app icon options (#947) (9ed69cb)
  • fix(vxrn): enable worklets when reanimated resolves from the app root (#950) (fe5a54a)
  • feat(one): Form takes swiftStyle for scrollContentBackground and form modifiers (8ed1c13)
  • feat(one): every iOS view takes swiftStyle through a shared container style (cd30513)
  • docs(one): swiftStyle on every iOS view (7365657)
  • feat(one): TimelineView with native schedules and a context closure (1d5227a)
  • fix(one): apply the swiftStyle chain unconditionally except on GridRow and Group (546aa78)
  • feat(one): OutlineGroup over a data tree with React row content (9591633)
  • fix(one): an outline row never changes node once set (9860505)
  • feat(one): Table with React cells and a controlled column sort (a66c1e2)
  • feat(one): Canvas with a recorded GraphicsContext, Path and Shading; gate Table on iOS 17.4 (258b47c)
  • fix(one): Canvas docs and fixture give the canvas its height with style (6232725)
  • docs(native): navigation bar modifiers and Peach tab bar minimize (ce678a3)
  • fix(one): row modifier check no longer captures a non-escaping parameter in an escaping closure (d8575ad)
  • fix(one): ScrollViewReader carries swiftStyle and its SDK event in the spec, updateProps in the implementation (8ebbfac)
  • chore: prepare One 2.9.0 (a69625a)
  • docs(one): Table example gives the table a height (640bf63)
  • feat(one): Grid reports the height SwiftUI measured (447fce1)
  • Fix Windows prebuild template paths (f65b5cd)
  • feat(one): Overlay and ViewSlot report the height SwiftUI measured (f32fbd8)
  • fix(one): Tabs names a page's React Native scroll view as the tab bar's content scroll view (e064e3e)
  • Fix DevTools host URLs and Expo plist patch target (f65f50d)
  • feat(one): measure how much of the iOS SDK crosses to TypeScript (3a5773c)
  • feat(one): inventory every public UIKit view and controller for the SDK generator (80a755a)
  • feat(one): SDK bridge specializes generics, maps pointers and class metatypes (9f35cb6)
  • feat(one): generate Swift bindings for SDK frameworks (9b2994e)
  • feat(one): SDK inventory reads cross-import overlays from a shared graph cache (75f30d8)
  • feat(one): OneSDK Nitro object runs the generated SDK tables (4118b32)
  • fix(one): SDK generator imports implementation detail modules through their public parent (d7da134)
  • fix(one): SDK emitter spells implicitly unwrapped types as optionals and records every uncovered symbol (c6dce87)
  • feat(one): SDK bindings return values written through out parameters (6f73535)
  • feat(one): SDK bindings compile as their own module against One (060a559)
  • fix(create-vxrn): accept any target path and print the detected runner in --info (#957) (e904e76)
  • feat(one): specialize generated SDK generics (c8de22d)
  • add generated iOS API reference (1ddd429)
  • preserve generated theme formatting (cdb12f7)
  • remove iOS reference sidebar label (23c8f00)
  • keep reference notes technical (cbf96bf)
  • fix(vxrn): register native HMR patch factories for modules that have not run (#958) (23dde52)
  • feat(one): bridge SDK callbacks and mutable arguments (f151185)
  • feat(one): prebuild writes the iOS SDK bindings an app imports (ef6d890)
  • Bridge JavaScript SDK protocol implementations (0ffb0df)
  • Add typed iOS SDK facades (5ae2caf)
  • fix(one): retain native weak delegate implementations (f3a79d6)
  • feat(one): SDK tables name their arguments and carry their generation (f8e1a27)
  • feat(one): resolve one/ios/ to the facade prebuild writes (d467437)
  • feat(one): SDK calls leave defaulted parameters to swift (0ce5f9b)
  • test(native-features): iOS SDK spike route calling four frameworks (4faacb6)
  • fix ios sdk facade typechecking (cb5a5aa)
  • feat(one): SDK classes get the init() they inherit from NSObject (eb26c41)
  • test(native-features): spike constructs HKHealthStore and reads step authorization (e3c3ae2)
  • ship ios sdk declarations (45dbc49)
  • docs(onestack): regenerate iOS reference from current bindings (94f1f78)
  • fix(one): native stacks carry testID and accessibility props (#960) (f89cf97)
  • fix(one): sdk handles wrap private subclasses, omitted args take defaults, bindings pod builds with c++ interop (9b76eee)
  • feat(one): sdk members of generic types serve every specialization (1a5819e)
  • Discover unified iOS framework dependencies (157efd0)
  • Pass SDK calls as Nitro values (dc39fb8)
  • wip: prepare generated iOS module backends (856726b)
  • feat(one): sdk methods generic over a caller-named type take it by name (511c1b2)
  • feat(one): standard values answer caller-named generics over stdlib protocols (e3d5963)
  • Add SDK benchmark and observation fixture (db8ec52)
  • Observe SDK state from React (9449569)
  • Document SDK values and React subscriptions (380f902)
  • wip: migrate unified iOS modules to generated bindings (ecb228f)
  • Ship SDK observation runtime declarations (0ad4e9d)
  • Set generated SDK pod deployment floor (4bf58bc)
  • Expose Nitro AnyMap alias to native headers (8d36a97)
  • fix(compiler): strip Flow before the native worklets transform (5a00bae)
  • fix(vxrn): keep function and class names in unminified native bundles (6ac9e57)
  • fix native mixed module exports (b72a68c)
  • Lower mixed native modules without Babel (c87781f)
  • Expose SDK value types through the One module (5ae7f1c)
  • Preserve native export writes across scopes and loops (a8a18d5)
  • Typecheck SDK bindings with explicit modules and give the pod One's module policy (db61ab0)
  • fix(compiler): keep class names through esbuild async lowering in unminified native bundles (43130e9)
  • chore(vxrn): sync hermesCompatSWCPlugin declaration with keepNames (c840929)
  • Prove caller-chosen generic types in the iOS SDK spike (d0578b2)
  • Prove generated iOS unified modules (75efd65)
  • wip: switch app identity and brightness to SDK bindings (372666b)
  • Add brightness migration runtime control (a9f7cef)
  • Remove migrated app identity and brightness Swift backends (ee85c2f)
  • wip: route iOS store reviews through generated bindings (99b267d)
  • Generate container view hosts from the SwiftUI SDK (8cea052)
  • wip: one generic host for SDK-built UIKit views (86f8c60)
  • Add Maestro flows for generated iOS view hosts (89260cf)
  • Prove SDK values and React subscriptions on iOS (80b8931)
  • Remove migrated store review Swift backend (0a2e69b)
  • wip: implement iOS network state on generated bindings (b5efdf3)
  • Generate LabeledContent, Form and DisclosureGroup hosts from the SDK (48a058e)
  • Treat SDK pointer typealiases such as NSErrorPointer as out-parameters (4c632c3)
  • wip: migrate biometric policy to generated SDK bindings (016b6f6)
  • Unify SDK observable getter registration (fc9a360)
  • Stabilize SDK hook identity and accept Nitro numbers (48ea7e3)
  • wip: share SDK sequence state by native handle (247ad27)
  • Record SDK stream remount proof on iOS (6f73be1)
  • Regenerate iOS SDK declarations (af5d15f)
  • feat(devtools): add panel plugins and Rozenite support (#965) (305e98e)
  • Record SDK singleton screen and current benchmark proof (42cb3ea)
  • Generate the List host from the SDK (8731840)
  • Remove migrated biometric authentication Swift backend (5d23f8c)
  • Remove migrated network Swift backend (b84cd18)
  • wip: implement iOS clipboard on generated SDK bindings (4ff2439)
  • Generate reader, outline and Table hosts from the SDK; wrap SDK closure property setters (fdeede9)
  • Check SDK bindings through SIL so C function pointer captures are rejected (a622710)
  • Decode clipboard images through base64 bytes (32b3b70)
  • Show clipboard image failures in the fixture (7415339)
  • Return declared SDK class results as objects (99476f4)
  • Name colliding SDK facade overloads from their declaration, not their table id (fa6348d)
  • Remove migrated clipboard Swift backend (80368bb)
  • wip: route device attestation through generated bindings (7903b90)
  • Generate the Popover host from the SDK popover modifier (f5c2d35)
  • Remove migrated device attestation Swift backend (3566b7c)
  • wip: implement generated iOS share backend (8fa2bb0)
  • Use generated raw activity strings in share results (52b5639)
  • Bridge imported raw-value structs as open string or number values (886fd3c)
  • Claim share completion before dismissing the sheet (845c7b7)
  • Draw the Glass surface behind its children and return raw values from raw-value structs (a885fff)
  • Bridge ObjCBool and DarwinBoolean as booleans (b9d386b)
  • Remove migrated share Swift backend (c9aa0bc)
  • wip: implement document picker over generated bindings (ec526c5)
  • Generate React state hooks for observable SDK objects and streams (eb36b2d)
  • feat(one): pass ios sdk call arguments and results as direct nitro values (e56c855)
  • Generate the Glass host from the SDK glassEffect modifier (2d71710)
  • Preserve document picker failure causes in fixtures (3ed6cbf)
  • Merge a framework's extension wrappers into the class its home framework registers (a75c7ce)
  • Generate the Button host from the SDK Button and build its label in React (8ed4865)
  • Remove migrated document picker Swift backend (c6c6d78)
  • wip: route iOS printing through generated bindings (10e6a40)
  • Remove migrated print Swift backend (6aec203)
  • wip: implement Calendar over generated EventKit bindings (a503840)
  • Update tests for the generated Button and Glass hosts, prebuild beforeInstall, UIKitView gap (9c911e9)
  • Rebuild packages/one types (b2ee7fb)
  • Generate HStack and VStack from SwiftUI and remove One.iOS.Host (aa80072)
  • Read dialog probe block arguments by name (ecff550)
  • Rebuild types and coverage for the generated stacks (8150007)
  • Remove migrated Calendar Swift backend (0e0c41e)
  • Move modifier-shaped One.iOS props into swiftStyle (a0746e7)
  • Stand in empty iOS facades for the Metro compiler test (15516ea)
  • wip: generate iOS SDK bindings in vxrn/expo-plugin (2f59883)
  • fix(vxrn): parse native bundle before normalizing CJS interop (#967) (d2210f3)
  • Defer iOS SDK lookup until compilation (c3a954d)
  • Cover Expo prebuild without Xcode (1ae87d5)
  • Include SDK version in binding table identity (a6ee192)
  • Exercise replacing a generated UIKit view (2728c01)
  • Keep calendar selection assertions stable (417fec5)
  • Remove Button subtitle and disclosureIndicator props (2f00b08)
  • Remove Button subtitle and disclosureIndicator from docs (040ad55)
  • Expose calendar replacement readiness (a3550df)
  • Bridge C error out-parameters as written values (aba16bc)
  • Take retained C errors in generated Swift (4067c01)
  • Facade written C errors as CFError (258d569)
  • Regenerate SDK declarations with C error out-parameters (73e453b)
  • Replace composed UIKit hosts by object identity (ed3b6f8)
  • wip: implement iOS Device and Localization on generated SDK bindings (536f089)
  • Migrate Tamagui and sheet fixture to SwiftUI fitted sizing (731bc13)
  • Remove Sheet fitToContents and onDidDismiss (9d886e2)
  • Update Sheet presentations docs for the removal (e2220b9)
  • Remove Button subtitle claims from platform README (be35a4e)
  • Rebuild packages/one types for Button and Sheet removals (e50097b)
  • fix: match old Swift calendarIdentifier describing strings (1ef9b80)
  • Map One.UI.Icon roles to foregroundStyle on iOS (80f0eb1)
  • Transfer Unmanaged return ownership before crossing (1795c03)
  • Regenerate declarations with precise Unmanaged returns (86b67b3)
  • types: regenerate device map declaration with describingCalendar (a58e87e)
  • Remove Image colorRole from One.iOS (a940a83)
  • Rebuild packages/one types for Image colorRole removal (8dffa32)
  • wip: implement iOS Battery on generated SDK bindings (e6a4b1a)
  • Give fitted sheets the measured content height as ideal size (346c224)
  • Forward accessibility into composed UIKit views (2778473)
  • Report Sheet onDismiss on physical completion (f7fdb9e)
  • Keep One.UI.Icon accent dynamic through foregroundColor (b6f3cc5)
  • Preserve class handles in outs results (920c9f1)
  • fix: serialize battery reads and tokenize duplicate listeners (d5e6d47)
  • Add fitted sheet heights and completion docs (2d3881c)
  • Keep Objective-C generic parameters open with named witnesses (07ca514)
  • Emit Objective-C generics via erasure and witness switch (388b59b)
  • Keep Objective-C values generic in facades (469dce1)
  • Regenerate Contacts with CNLabeledValue members (116ad95)
  • wip: implement iOS Fonts on generated SDK bindings (68f00d2)
  • Refresh sheet completion ownership on reopen and revision (c2e7d71)
  • Add Button variants and Icon role proof cases to fixtures (25247ac)
  • fix(vxrn): reject bundle request when post-processing throws (#968) (05adef4)
  • Measure presented slot content size for ideal sizing (b874ae7)
  • fix: download fonts over async URLSession instead of blocking Data read (2cb6f87)
  • Size Popover from measured content instead of explicit props (98c1e64)
  • Rebuild packages/one types for Popover removal (25e3e11)
  • Fix fitted sheet proof heights and Popover README (e876904)
  • Refresh native coverage for Icon and Button fixtures (dd82996)
  • Keep generic SDK factory types faithful to native copies (1ab2ade)
  • fix: reject unsuccessful font http and decode native name handles (9987497)
  • Rename Tab id and title to value and titleKey (34c8d62)
  • Rebuild packages/one types for Tab renames (06282f4)
  • Omit unprovable synthesized inits via Clang checker (b759b27)
  • Test inherited-init checker policy and Clang mapping (c84bb36)
  • Cover batched init error mapping (c84a46a)
  • Identify SDK calls by stable signatures (b10fb8e)
  • Encode SDK tuple returns as typed wire values (281fded)
  • Add SDK generator ABI fingerprint and bundle build (c2bb168)
  • Test fingerprint determinism and bundle equality (5b9ee3c)
  • wip: Ship portable SDK facade plumbing (e18cc30)
  • Fix stale multiline Tab id/title senders to value/titleKey (35f9543)
  • Omit unexposed init names as cannot-probe (c1b2e5e)
  • Preserve imported SDK class bounds (2cee662)
  • Convert five control ranges to readonly in tuples (e65c2da)
  • Convert control fixtures to in range tuples (3f7290d)
  • Document in range tuples for five controls (d25ed82)
  • Rebuild public types for in range tuples (170077f)
  • Include ObjectiveC in SDK module discovery (a3f3796)
  • Rename One.iOS.Tabs to One.iOS.TabView across API, spec and hosts (f8f61d6)
  • Update TabView senders, fixtures and docs (52081a6)
  • Contacts iOS backend on generated SDK bindings (148df65)
  • Restore Contacts production route to Nitro, preserve SDK backend (d0b4ecb)
  • Contacts SDK backend classifies off native error metadata (f62c07d)
  • Regenerate SDK bindings and types for 290 frameworks (28348d9)
  • Strip SDK type declarations before React Native transforms (81c14d4)
  • Take Picker options as tagged Text children (3e69d02)
  • Convert Picker senders and docs to option children (8ed528f)
  • Use the generated EventKit constructors (64d4f7a)
  • Contacts SDK backend uses legal CNLabeledValue.init sender (3fe420d)
  • LightSensor iOS bridge elimination behind platform backends (c3b848f)
  • fix(vxrn): use image-size 2.0.3 with buffer input for native assets (#969) (fe273a1)
  • Add dynamic-options case to Picker controls fixture (578d1f5)
  • Disambiguate imported C record construction (9654407)
  • Preserve SDK errors and support background method calls (3f75445)
  • Share one Metro server across packed dev/prod consumer bundles (7fd4f21)
  • Type the unregistered SDK method regression case (e3a3a54)
  • Refresh SDK artifacts for background calls and error metadata (b255b3e)
  • Publish the typed background SDK helper declaration (c3b98f7)
  • Exclude the non-object CoreFoundation allocator sentinel (08e78ce)
  • Refresh SDK artifacts without the allocator sentinel (4e30b81)
  • Keep the sentinel fixture test independent of Xcode (8978d57)
  • Add marker and ViewSlot recipes to the container host generator (8e10001)
  • Generate Overlay hosts from the SDK overlay modifier, retire hand host (04d56dd)
  • Add keyed markers and label ownership to the host generator (808d398)
  • Generate SwipeActions hosts from the SDK, retire hand host (37b3663)
  • Add Overlay lifecycle proof controls (ea6d88f)
  • Run one:test isolated after other CI test tasks (11db0ba)
  • Refresh coverage for composed Overlay fixture (b155727)
  • Generate SwiftPager hosts from the SDK, retire hand host (7a820f7)
  • Retire hand SwiftPager host files (4f6bca5)
  • Fail CI when the test deadline expires (08511e5)
  • fix(one): read Android bundle assets via AssetManager (#970) (abb4d1a)
  • Refuse pager composition so windowless pages cannot drop frame updates (4b2d305)
  • Use the asserted text in the Sheet driver (98f6213)
  • Generate Sheet hosts from the SDK mapping, retire hand host (1f2257a)
  • Use software keys for Sheet text entry (3580b06)
  • Reject sheet configure type drift with exact spec types (615f2ef)
  • Keep Sheet content measurements within fitted sizing (0c6130a)
  • Generate Menu hosts from the SDK mapping, retire hand host (b0b73d0)
  • Generate NavigationStack and Toolbar hosts from the SDK mapping, retire hand hosts (455c028)
  • Inherit MainActor isolation through SDK superclass chains (034652a)
  • Run Calendar iOS store I/O off JS behind a serial chain (48f1c7b)
  • Separate the Sheet fixture proof controls (ce0529a)
  • Restore public one/ios specifiers in Calendar backend, test-local harness (a83e52f)
  • Generate NavigationSplitView hosts from the SDK mapping, retire hand hosts (55bc133)
  • Read Sheet close state through its exact value IDs (c775db7)
  • Generate TabView hosts from the SDK mapping, retire hand hosts (ac68498)
  • Refresh SDK bindings for inherited MainActor isolation (56e4da1)
  • Add a same-slot Sheet interruption control (c0e2897)
  • Keep Sheet interruption and Close controls separate (23b08c4)
  • Reject unavailable TabViewCustomization members before emitting (28abd35)
  • Keep main-isolated SDK getters observable (8c783ff)
  • fix(vxrn): reclaim cache-clean lock from dead owners (#971) (b5af92f)
  • Size presented Popover and Sheet content from the shadow tree (21ae0f1)
  • Regenerate SDK observation bindings (c235cb5)
  • Clear presented content measurement on an empty layout (1ff9808)
  • Apply measured size changes that cross zero (b6b5cca)
  • Expand closure aliases nested in generic types (176d60a)
  • Include LayoutContext for the presented slot layout override (1087c45)
  • Keep owner arguments of nested generic types for alias expansion (a025e8e)
  • Fix generated Menu payload include (ce9df28)
  • Add UIKitContent and native cell sources for React content in UIKit (ad16059)
  • Let only the cell showing UIKitContent track its height (acd76c1)
  • Settle UIKitContent view reads rejected after unmount (0591564)
  • Add UIKit React content fixture (0ff009a)
  • Retire unmounted UIKitContent to zero height and claim sources by native identity (b8bdb2f)
  • Remeasure UIKitContent cells through their list (4177b28)
  • Add clear, hide and restore controls to popover fixture (1e222c6)
  • Type the popover root tracker as an element ref (70d4730)
  • Remeasure UIKitContent collection cells through the layout's self-sizing contract (39cca92)
  • Regenerate SDK bindings for generic aliases (1207db5)
  • Include UIKitContent native component declaration (100c2a1)
  • Resolve platform fixture variants in native coverage (8919b74)
  • Drive UIKitContent cells in a bounded conformance suite (7d3234b)
  • Record UIKit content conformance fixture references (41c48ac)
  • Scroll uikit-content targets on screen before checking or tapping them (0f7a89e)
  • Document React content in UIKit containers (80ec9b6)
  • Note UIKitContent duplicate mounts and in-place resizing in the SDK guide (015559a)
  • Announce UIKitContent arriving or leaving a visible cell to accessibility (035503d)
  • Check Sheet sizing against presented layout state (579550c)
  • Drop the unproven UIKitContent accessibility announcement (519043c)
  • Treat only reachable UIKitContent elements as retained after unmount (f92902f)
  • Count value, title and help as retained UIKitContent accessibility content (22e1f4d)
  • Clear a UIKitContent cell's accessibility children when its content changes (23f9089)
  • Match an icon button through its native symbol (a9ba2e9)
  • fix(one): a full-screen Form keeps the screen insets under a transparent bar (#973) (40dc218)
  • Tap split view rows within their visible column (2616002)
  • Preserve Form screen insets in generated hosts (d01bbad)
  • Generate SDK value factories and chained methods as records (cdefa75)
  • Support configured animation values in native transactions (a9cedb7)
  • Exercise configured values in the phase animation integration (89ad70b)
  • Validate SDK value records as their serialized JSON (5e97fd4)
  • Expose Pager page indicator modes (6b69ece)
  • Send SDK values serializing to a case name as the bare name (d841432)
  • Align animation and Pager references with generated types (3d9a4c7)
  • Report SwiftUI gesture changes, computed values and initializer options (7330c35)
  • Make the whole SwiftUI drag fixture frame hit-testable (94e1dbf)
  • Keep the runtime font samples visible (17e784f)
  • Exercise generated SwiftUI drag events on iOS (a4b92e8)
  • Record the SwiftUI drag conformance fixture (01cbbc3)
  • Refresh iOS options and gesture declarations (ad5609a)
  • Bind SwiftUI drags and continuous style numbers to native state (d0cd781)
  • Reject drag snap targets outside the bind range natively (15a7474)
  • Generate numeric ranges and optional view slot arguments (0b11612)
  • Key bound drag starts to the drag's start location (58ab41e)
  • Hold bound drag starts in each view's gesture state (82c4333)
  • Prewarm the Android native Metro graph (ced5ad8)
  • Settle iOS share on presentation completion instead of a 1s attach check (1ae46d3)
  • Limit share presentation comment to what was observed (0995143)
  • Locate system share controls within their native sheet (2e87410)
  • Document the One 2.9 release scope (ad56ebb)
  • Refresh the native SDK smoke calls (a20af14)
  • Refresh the iOS reference from the shipped SDK artifacts (6a6afde)
  • Filter iOS reference calls to facade-published entries (921187b)
  • Bind owner-generic members in opened scope, answer async-throws requirements, export facade publication keys (48dd9c1)
  • Bind async-throws callback inputs through awaited replies (6cb4198)
  • Carry any P with associated types as native handles (ea7760e)
  • Await JavaScript replies for native async callbacks (908f4e6)
  • Use facade publication keys in the iOS reference (5f35efe)
  • Generate delegates inheriting Swift concurrency markers (8ee66d5)
  • Escape spa route paths in the server entry globs (8ddce38)
  • Escape spa route paths in the server entry globs (4adc07a)
  • Refresh expanded iOS SDK bindings (92ccd94)
  • Refresh the iOS reference from published SDK calls (49fa68d)
  • Skip RubyGems startup in the WebGPU Podfile test (8293e75)

Full Changelog: v2.8.1...v2.9.0

Don't miss a new one release

NewReleases is sending notifications on new releases.