Roadmap

Where Otapush is heading. Items are roughly ordered; nothing here is a promise with a date.

Now (current release)

  • Expo Updates Protocol v1 for iOS and Android.
  • Expo managed and bare React Native projects (otapush init patches app.json, or AndroidManifest.xml + Expo.plist for bare RN; publish uses expo export or react-native bundle).
  • Channels with per-platform state, promote and rollback.
  • Code signing (per-app RSA keypairs).
  • Stats: MAU with free-tier limit, per-day checks/downloads/installs/failures, channel and platform breakdowns.
  • CLI (otapush) for the full publish workflow.
  • Self-serve plans: card and SBP payments in rubles, and invoices for companies. See Billing & plans.

Next

  • Teams and roles. Multiple users per organization, owner/developer/viewer roles, per-app access control.
  • Update targeting. Percentage rollouts per channel, pause/resume, and targeting by app version.
  • Failure reporting. The server already counts a failure event type and the portal has a place to show it, but nothing reports one: expo-updates has no callback for a failed launch. Needs a small client-side hook plus an endpoint to receive it.
  • Webhooks. Notify Slack/Discord/CI on publish, rollback, and failure-rate spikes.

Later

  • Payments outside Russia. Card payments are processed in rubles through Russian acquiring today. International payment methods are not self-serve yet — write to us and we will arrange it.
  • Other stacks. The protocol piece is React Native specific, but the channel/rollout machinery generalizes. Capacitor and desktop (Electron) update feeds are on the table.
  • Differential updates. Serve bundle diffs instead of full bundles to cut download sizes.

Non-goals

  • A build service. Building binaries is deliberately left to your CI (gradlew, xcodebuild, fastlane) — Otapush is an update delivery and control layer, not an EAS Build replacement.
  • Lock-in. The server speaks the documented Expo Updates Protocol v1 and your app uses the stock expo-updates client, so leaving costs one URL in your config — see Protocol.

Missing something?

If a gap on this page is blocking you, tell us — what is actually asked for moves up the list. The one constraint that outranks everything else is compatibility with stock expo-updates clients.