back to home

Cap-go / capacitor-updater

Capacitor plugin for Instant updates: Ship updates, fixes, changes, and features within minutes

717 stars
142 forks
19 issues
JavaSwiftTypeScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing Cap-go/capacitor-updater in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/Cap-go/capacitor-updater)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Capacitor updater ➡️ Get Instant updates for your App with Capgo Missing a feature? We’ll build the plugin for you 💪 Capacitor plugin to update your app remotely in real-time. Open-source Alternative to Appflow, Codepush or Capawesome Why Capacitor Updater? App store review processes can take days or weeks, blocking critical bug fixes and updates from reaching your users. Capacitor Updater solves this by: • **Instant updates** - Push JavaScript/HTML/CSS updates directly to users without app store review • **Delta updates** - Only download changed files, making updates ultra-fast • **Rollback protection** - Automatically revert broken updates to keep your app stable • **Open source** - Self-host or use Capgo Cloud, with full control over your update infrastructure • **Battle-tested** - Used by 3000+ production apps with proven reliability • **Most stared** - Capacitor updater is the most stared Capacitor plugin on GitHub Perfect for fixing bugs immediately, A/B testing features, and maintaining control over your release schedule. Features • ☁️ Cloud / Self hosted Support: Use our Cloud to manage your app updates or yours. • 📦 Bundle Management: Download, assign to channel, rollback. • 📺 Channel Support: Use channels to manage different environments. • 🎯 Set Channel to specific device to do QA or debug one user. • 🔄 Auto Update: Automatically download and set the latest bundle for the app. • 🛟 Rollback: Reset the app to last working bundle if an incompatible bundle has been set. • 🔁 **Delta Updates**: Make instant updates by only downloading changed files. • 🔒 **Security**: Encrypt and sign each updates with best in class security standards. • ⚔️ **Battle-Tested**: Used in more than 3000 projects. • 📊 View your deployment statistics • 🔋 Supports Android and iOS • ⚡️ Capacitor 4/5/6/7/8 support • 🌐 **Open Source**: Licensed under the Mozilla Public License 2.0 • 🌐 **Open Source Backend**: Self install our backend in your infra You have 3 ways possible : • Use capgo.app a full featured auto-update system in 5 min Setup, to manage version, update, revert and see stats. • Use your own server update with auto-update system • Use manual methods to zip, upload, download, from JS to do it when you want. Documentation The most complete documentation here. Community Join the discord to get help. Migration to v8 This major version is here to follow Capacitor major version 8 First follow the migration guide of Capacitor: https://capacitorjs.com/docs/updating/8-0 Migration to v7.34 • **Channel storage change**: now stores channel assignments locally on the device instead of in the cloud. This provides better offline support and reduces backend load. • Channel assignments persist between app restarts • Use to clear the local assignment and revert to • Old devices ( 7 | v4.\*.\* | ⚠️ Deprecated, our CI got crazy and bumped too much version | > **Note:** Versions 4, 5, 6, 7, and 8 all share the same features. The major version simply follows your Capacitor version. You can safely use any of these versions that matches your Capacitor installation. iOS Privacy manifest Add the dictionary key to your Privacy Manifest (usually ): We recommend to declare as the reason for accessing the API. Installation Step by step here: Getting started Or Install a specific version Use npm tags to install the version matching your Capacitor version: Auto-update setup Create your account in capgo.app and get your API key • Login to CLI And follow the steps by step to setup your app. For detailed instructions on the auto-update setup, refer to the Auto update documentation. No Cloud setup Download update distribution zipfiles from a custom URL. Manually control the entire update process. • Edit your like below, set to false. • Add to your main code This informs Capacitor Updater that the current update bundle has loaded successfully. Failing to call this method will cause your application to be rolled back to the previously successful version (or built-in bundle). • Add this to your application. • Failed updates will automatically roll back to the last successful version. • Example: Using App-state to control updates, with SplashScreen: You might also consider performing auto-update when application state changes, and using the Splash Screen to improve user experience. TIP: If you prefer a secure and automated way to update your app, you can use capgo.app - a full-featured, auto-update system. Store Guideline Compliance Android Google Play and iOS App Store have corresponding guidelines that have rules you should be aware of before integrating the Capacitor-updater solution within your application. Google play Third paragraph of Device and Network Abuse topic describe that updating source code by any method besides Google Play's update mechanism is restricted. But this restriction does not apply to updating JavaScript bundles. > This restriction does not apply to code that runs in a virtual machine and has limited access to Android APIs (such as JavaScript in a web view or browser). That fully allow Capacitor-updater as it updates just JS bundles and can't update native code part. App Store Paragraph **3.3.2**, since back in 2015's Apple Developer Program License Agreement fully allowed performing over-the-air updates of JavaScript and assets. And in its latest version (20170605) downloadable here this ruling is even broader: > Interpreted code may be downloaded to an Application, but only so long as such code: • (a) does not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store • (b) does not create a store or storefront for other code or applications • (c) does not bypass signing, sandbox, or other security features of the OS. Capacitor-updater allows you to respect these rules in full compliance, so long as the update you push d…