Released

Released 2026-09-08. This release polishes seven items, brings prompt-input to web parity, and makes every dependency declaration and engine tree provable in CI.

Added

  • meta.permissions on registry items, mined from each item’s real imports and verified in both directions. prompt-input declares the iOS photo-library and camera permission keys its expo-image-picker import implies; every other item correctly declares none.
  • An engine parity proof in CI: for every emitted item, both engine trees carry the same file set and byte-identical content after normalizing the engine token.
  • A declared-dependencies gate: a per-item test parses every shipped source’s package imports and requires them to equal the item’s declared dependencies in both directions.
  • Web-only-construct checks wired into CI through check:contract, so web-only constructs cannot ship in registry sources.

Changed

  • Seven items polished: audio-player, environment-variables, model-selector, package-info, prompt-input, web-preview, input-group. prompt-input reaches web parity: provider and controller context, attachment chips over the native pickers, the + tools menu, the model chip in-row, and the voice-sends-stops morph in the primary slot.
  • Dependency declarations now match imports on every item: speech-input and voice-selector declare react-native-reanimated, item and sheet declare class-variance-authority, terminal drops its unused react-native-reanimated declaration, and prompt-input declares its install-time expo-document-picker and expo-image-picker.
  • Every self-referencing URL in the emitted engine trees pins to the v0.2.0 tag; the manifest keeps the {version} token.

Fixed

  • check:tokens was declared in package.json with no script behind it, and check:contract existed but nothing invoked it. Both gates now run real scanners in the CI lint job, and every existing raw-color exception is documented with its reason.