Skip to content

v0.0.7

Choose a tag to compare

@enzomanuelmangano enzomanuelmangano released this 02 Jun 17:49
· 54 commits to main since this release

Warning

Experimental. Ennio is at an early experimental stage. APIs, package
names, internals, and behavior may change without notice between releases.
iOS only. Expect rough edges; do not rely on it for production-critical test
suites yet. The 0.0.x line is a public preview, not a stability commitment.

Ennio's biggest release yet: a ground-up v2 runtime, a hardened CLI, and a fully automated, provenance-signed release pipeline. Spans everything since 0.0.5 (includes 0.0.6).

Highlights — v2 architecture

A complete rewrite of how Ennio drives the simulator.

  • Prebuilt universal dylib DYLD_INSERT_LIBRARIES'd into the app at launch — one binary, every New-Architecture RN version (a884fec)
  • Unix-socket transport + idb gRPC HID backend — every tap/swipe goes through a typed channel (a884fec)
  • Typed-RPC execution engine with a settle engine + structured CLI logging (#37)
  • OOP foundationRunner / Connection / Session / Reporter separation (#40)

CLI

  • ennio --version flag (#41)
  • Hardened doctor — Node / Xcode / idb / dylib / simulator checks with actionable output (#41)
  • npm update notifier — warns when a newer version is on the registry (#41)
  • idb preflight — detects missing idb_companion / fb-idb and installs with consent (ENNIO_AUTO_INSTALL_IDB=1, never silent, never in CI) (#43)

Security & correctness

  • Per-UDID socket isolation; dropped ennio-expo-plugin (#38)
  • Lenient-warning + conditional retry on tiny controls + idb maxBuffer fix (#39)
  • Correctness + performance fixes (#36)

Release infrastructure

  • npm OIDC Trusted Publishing — no long-lived NPM_TOKEN; short-lived signed identity (#42)
  • Provenance generated automatically; published with --provenance (3d03f62)
  • Third-party actions SHA-pinned; protected release environment approval gate (#42)
  • Prereleases auto-routed to the @beta dist-tag, stable → latest (c1aa87a)
  • build-dylibs.yml is the canonical release workflow; symbol-surface allowlist diff guards the dylib (7f00577)

Install (as a dev dependency):

npm install --save-dev @reactiive/ennio
# or
bun add -d @reactiive/ennio

Full changelog: v0.0.5...v0.0.7