Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 10:56
· 24 commits to main since this release

What's Changed

💥 Breaking Changes

  • Lifecycle events on by default: Managed lifecycle events and field interaction subscriptions are now enabled by default; set engineOptions.events.lifecycle: false to keep the legacy root load/edit/change behavior, or fieldInteractions: [] to opt out of interactions (be9b8ae)
  • recordKind required: Hosts must now supply engineOptions.events.recordKind ('new' or 'existing'), as a missing value is treated as a configuration error; the README examples were updated accordingly (be9b8ae)
  • Core minimum raised: Managed events now require form0-core 0.8.1 or later, and repeatable view/edit modes need the coordinated core release with engine mode control (be9b8ae)
  • Automatic click reserved: Automatic click events are now reserved for supported activation fields, and no built-in control emits click automatically; use explicit controller dispatch if you relied on it (67a51d5)

🚀 New Features

  • Repeatable Entry Mode: Added the repeatableEntryMode option ('readonly' by default, or 'edit') so existing rows open in view mode with an Edit action when the parent allows editing (73e9fa1)
  • Accepted Native Views: Preserved accepted calculated values in view mode until the user starts editing (73e9fa1)
  • Repeatable Controls: Aligned the view and edit controls for repeatable entries (d33ff7f)
  • Event Mode: Handlers now receive event.mode ('readonly' or 'edit') for their executing scope (73e9fa1)
  • Submission Freshness: Integrated record freshness and persistence acknowledgement into submission (48f50d1)

🐛 Bug Fixes

  • Failed Drafts: Released failed drafts on submission failure and switched to current controllers (5b0c83d)
  • Choice Operations: Normalized root and repeatable choice operations (758bb91)
  • Empty Other Input: Kept the "Other" option selected while its input is empty (3f3a455)
  • Review Buttons: Aligned review buttons and the repeatable edit icon (d284fb1)
  • Native Submission Work: Bounded Native submission work and reused owned tree signatures (f2bced7)

⚡ Performance

  • Idle Task Evaluation: Yielded record evaluation through host idle tasks on Native (e7a7e7c)
  • Submission Throughput: Reduced Native submission cost by bounding work and reusing tree signatures (f2bced7)

📚 Documentation

  • README Updates: Documented managed events defaults, recordKind, interaction behavior and the new repeatable entry mode (be9b8ae, 73e9fa1)
  • Android Acceptance Plan: Added and maintained a Pixel 8a / Expo Go Android acceptance and performance investigation record (4779527, 7cd44d5, ea42c34, 63d2611)
  • Device Harness: Clarified JavaScript device harness startup (9b2ece9)
  • Metro and Profiling Notes: Recorded Metro proxy reproduction, production asset caching and profiler launch verification steps (c7687ac, db6f4d6, f50422b)

🔧 Maintenance

  • Node.js Pinning: Pinned CI to Node.js 22.23.4 and 24.22.1 and the publish workflow to 24.22.1 (8c66362)
  • Funding Info: Added funding information to package.json and package-lock.json (cd3a965)
  • SDK 58 Testing: Prepared and clarified Android acceptance for Expo SDK 58 (3cd3326, 2655275)
  • Device Test Harness: Added production-mode preparation profiling, Metro proxy-chain normalization and diagnostic launch bundle fixes (7ec54e8, b351db7, aece150, 14026c2, acea3ba)
  • Test Coverage: Added tests for live calculations across cached evaluations, schema replacement code refresh and escaped generated event literals (43df287, 6eba534, 793c275)
  • Android Profiling Tests: Added tests isolating preparation timing costs and identifying throughput and registration candidates (e264f5a, 15ac0a1, d6a53e5, 2be500e)
  • Version Bump: Released 0.6.0 (18314f4)

Full Changelog: v0.5.0...v0.6.0