Skip to content

v0.18.0

Choose a tag to compare

@joemasilotti joemasilotti released this 19 Oct 16:30
· 18 commits to main since this release

Added

  • Your coding agent can take your app to the stores: ruby_native mcp. An MCP server that checks your views, signals, and config, reads where the app stands, and runs every store step that has a tool, stopping at the ones only a person can take. ruby_native mcp install registers it in .mcp.json. Docs
  • One command walks an agent through everything: ship. The MCP server publishes it as a prompt (/mcp__ruby-native__ship in Claude Code), and ruby_native ship prints the same steps for agents without prompt support. Docs
  • ruby_native status says what stands between your app and its next build, submission, or update. Each store on its own, and every blocker says who clears it and how. Docs
  • Your App Store and Google Play listing lives in your repo. Write config/ruby_native_listing.yml, check it against each store's limits with listing push, and send it with listing publish. Docs
  • The listing file covers everything the stores ask for. The name, descriptions, keywords, What's new, copyright, support URL, reviewer contact, and Google Play's contact details, with ios: and android: blocks where the stores should differ.
  • listing push shows what changed in the store, and listing revert takes the store's words. listing pull writes a dashboard draft back into the file.
  • ruby_native submit sends your app to review, and withdraw takes it back. submit shows exactly what goes to Apple and sends only on a yes. Docs
  • Every store command answers for Google Play too. status, listing publish, submit, and testers cover each store you've started, and Ruby Native never promotes to Play's production track for you. Docs
  • Your App Store Connect key is a command: apple key. It hands over the key and waits for Apple's verdict. Docs
  • Dashboard steps are commands now. icon set, permissions set, testers add, screenshots setup, and screenshots capture, each also a tool for your agent. Docs
  • Screenshots reach the stores with your listing. screenshots setup sets each store's pages, and makes a sign-in key only when a page needs one.
  • submit --confirm=NAME closes the steps that have no API. App privacy, the age rating, and Google Play's App content and category close on your word.
  • ruby_native link connects your project to an app on your account. status and deploy take --app=ID too. Docs
  • deploy --version=1.1 names the version a build carries. A deploy of a live app moves to the next patch on its own.
  • Android push reads its Firebase project from config/ruby_native.yml. Add the four android.firebase values; an app that already uploaded google-services.json keeps using it. Docs
  • deploy warns when a view uses the barcode scanner but the app has no camera sentence. Without one, the scanner can't open. check --deployed warns too.
  • validate_config catches tab icons that would draw a placeholder. A misspelled name, an icon that exists on only one platform, or a symbol newer than iOS 16. Docs

Changed

  • deploy explains a refusal. When the server won't start a build, like for an app without a subscription, it prints the same blockers status does.
  • The install generator skips routes a library draws. Turbo's *_historical_location routes are no longer picked as tabs.
  • preview no longer promises a free build. Building needs a subscription now.