Skip to content

v0.21.0

Choose a tag to compare

@lvlrSajjad lvlrSajjad released this 05 Oct 15:08
· 64 commits to main since this release

simframe 0.21.0 — on npm as simframe@0.21.0 and in the official MCP Registry as io.github.lvlrSajjad/simframe.

claude mcp add --scope user simframe -- npx -y simframe mcp

Changes

  • A password typed into a field named "Password" was stored in the graph
  • A one-off scrub for graph files written before typed text was kept off them
  • No username reaches disk either: sign-in names, email addresses, and what a sign-in screen showed
  • A fingerprint-rule change no longer erases what simframe learned, and what it cannot keep is reported
  • simframe map: the cartographer crawls an app read-only and fills the graph on purpose
  • The cartographer no longer restarts an app it cannot bring back, and refuses taps that change state in place
  • Cartographer fixes from its first live runs: iOS back buttons, routes by reading, drifted edges, static text
  • A crawl waits for an app to leave its splash, and re-checks the screen before each tap
  • Arrival after a launch is judged by control type, the start screen is never relaunched from, and leaving the app takes three reads
  • The cartographer stops re-walking a screen that changed in place, and treats a row that returns to the previous screen as a picked option
  • A crawl starts from the app's start screen when a restart is safe
  • A crawl waits through a screen not yet drawn, and a crawl that maps nothing is FAILED
  • A crawl starts where the app is again: a warm relaunch of a field app takes 9-15 s, past the 10 s cap
  • A reading whose doors are mostly an existing screen's doors is that screen
  • Controls that write when tapped are barred outright, and a form's rows are not touched in a read-only crawl
  • An unlabeled back chevron is a way back, and a crawl that stopped early exits non-zero
  • While a dialog is up nothing behind it is a door, and the crawl backs out through the dialog
  • A crawl that starts under a dialog dismisses it, and a crawl that records no transition is FAILED
  • An unlabeled button is no longer a way back or a dialog, and React Native dialogs are recognised
  • The crawl learns this app's tap timeout, skips text only OCR sees mid-screen, and opens known controls first
  • Screens are compared by their doors with the numbers taken out
  • A crawl goes home through the home tab before it considers a restart
  • simframe map --trace, an unlabeled top-left chevron is a way back, and a loading label is never a door
  • A top-left button is a way back whatever it says or where the priors put it
  • Name unlabeled controls by their identifier in the cartographer, and file the icon-naming research
  • Icon-only controls are named from the app's own icon font
  • Field-app crawl 14: 34 screens; a developer error overlay is reported as an app error and never tapped
  • An app launch may wait up to 30 s, the owner's exception to the 10 s cap
  • Icon glyphs verified live on the testbed's new Icons tab; trash joins the destructive words
  • Keep the company out of shipped source, and stop the private-identifier check from flagging test variables

Full history: v0.20.1...v0.21.0