---
description: Meet Capver, the open-source CLI that keeps your iOS, Android, and web app versions in sync across Capacitor projects.
title: Introducing Capver: Version Management for Capacitor - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/introducing-capver.png
---

[ Skip to content](#introducing-capver-version-management-for-capacitor) 

[ 🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode.](/blog/announcing-the-capacitor-vault-plugin/) 

* [  Formbricks ](/docs/plugins/formbricks/)
* [  Geocoder ](/docs/plugins/geocoder/)
* [  Google Sign-In ](/docs/plugins/google-sign-in/)
* [  Grafana Faro ](/docs/plugins/grafana-faro/)
* [  libSQL ](/docs/plugins/libsql/)
* [  Live Update ](/docs/plugins/live-update/)
* [  Managed Configurations ](/docs/plugins/managed-configurations/)
* [  Media Session ](/docs/plugins/media-session/)
* [  ML Kit ](/docs/plugins/mlkit/)
* [  Navigation Bar ](/docs/plugins/navigation-bar/)
* [  NFC ](/docs/plugins/nfc/)
* [  OAuth ](/docs/plugins/oauth/)
* [  Pedometer ](/docs/plugins/pedometer/)
* [  Photo Editor ](/docs/plugins/photo-editor/)
* [  PostHog ](/docs/plugins/posthog/)
* [  Printer ](/docs/plugins/printer/)
* [  Purchases ](/docs/plugins/purchases/)
* [  RealtimeKit ](/docs/plugins/realtimekit/)
* [  Screen Orientation ](/docs/plugins/screen-orientation/)
* [  Screenshot ](/docs/plugins/screenshot/)
* [  Secure Preferences ](/docs/plugins/secure-preferences/)
* [  Speech Recognition ](/docs/plugins/speech-recognition/)
* [  Speech Synthesis ](/docs/plugins/speech-synthesis/)
* [  Share Target ](/docs/plugins/share-target/)
* [  Square Mobile Payments ](/docs/plugins/square-mobile-payments/)
* [  SQLite ](/docs/plugins/sqlite/)
* [  Superwall ](/docs/plugins/superwall/)
* [  Torch ](/docs/plugins/torch/)
* [  Vault ](/docs/plugins/vault/)
* [  Wifi ](/docs/plugins/wifi/)
* [  Zip ](/docs/plugins/zip/)
* [  Cloud ](/docs/cloud/)
* [  Live Updates ](/docs/cloud/live-updates/)
* Advanced
* Integrations
* [  Native Builds ](/docs/cloud/native-builds/)
* [  Configuration ](/docs/cloud/native-builds/configuration/)
* [  Environments ](/docs/cloud/native-builds/environments/)
* Guides
* [  Sample Projects ](/docs/cloud/native-builds/sample-projects/)
* [  Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [  Automations ](/docs/cloud/automations/)
* [  Assist ](/docs/cloud/assist/)
* Account
* Organizations
* [  Organization and User Management ](/docs/cloud/organizations/memberships/)
* [  Single Sign-On (SSO) ](/docs/cloud/organizations/sso/)
* [  Teams ](/docs/cloud/organizations/teams/)
* [  Two-Factor Authentication ](/docs/cloud/organizations/two-factor-authentication/)
* [  Integrations ](/docs/cloud/integrations/)
* [  License Keys ](/docs/cloud/license-keys/)
* [  Webhooks ](/docs/cloud/webhooks/)
* [  Pricing ](https://capawesome.io/pricing/)
* [  FAQ ](/docs/cloud/faq/)
* [  Support ](/docs/cloud/support/)
* [  Contributing ](/docs/contributing/)
* [  LLMs ](/docs/llms/)
* [  Insiders ](/docs/insiders/)
* [  License ](https://capawesome.io/legal/eula/)
* [  Support ](/docs/insiders/support/)
* [  FAQ ](/docs/insiders/faq/)
* [  Blog ](/blog/)
* Categories

* [  Hotfix Versioning ](#hotfix-versioning)
* [  Configurable Build Number Patterns ](#configurable-build-number-patterns)
* [  Integrations ](#integrations)
* [  Try Capver ](#try-capver)
* [  Final Thoughts ](#final-thoughts)

# Introducing Capver: Version Management for Capacitor[¶](#introducing-capver-version-management-for-capacitor "Permanent link")

If you've ever shipped a Capacitor app and had to manually update version numbers in three different files across three different platforms, you know how easy it is for things to get out of sync.[Capver](https://github.com/capawesome-team/capver) is an open-source CLI tool that manages your app versions across iOS, Android, and web in a single command. In this post, we'll walk you through what it does and how it works.

[ ![Build and deploy your Capacitor app with Capawesome Cloud](../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](/) 

## The Problem[¶](#the-problem "Permanent link")

Every Capacitor project stores version information in multiple places. iOS uses `CFBundleShortVersionString` and `CFBundleVersion` in `project.pbxproj`, Android uses `versionName` and `versionCode` in `build.gradle`, and web relies on the `version` field in `package.json`.

When it's time to release a new version, you have to update all of these files manually — and keep them in sync. Miss one, and you might end up with a version mismatch that causes build failures, app store rejections, or confused users running different versions on different platforms.

This problem only gets worse as your release cadence increases.

## Meet Capver[¶](#meet-capver "Permanent link")

[Capver](https://github.com/capawesome-team/capver) is a lightweight CLI tool built specifically for Capacitor projects. It reads and writes version numbers across all platforms so you don't have to touch each file by hand.

You can install it via npm:

`[](#%5F%5Fcodelineno-0-1)npm install -D @capawesome/capver
`

Once installed, you can check the current version across all platforms with a single command:

`[](#%5F%5Fcodelineno-1-1)npx capver get
`

If any platform is out of sync, Capver will let you know right away.

## Key Commands[¶](#key-commands "Permanent link")

Capver provides a small, focused set of commands that cover the most common versioning tasks:

### Viewing and Setting Versions[¶](#viewing-and-setting-versions "Permanent link")

* **`capver get`** — Displays the current version for each platform and warns you if they're out of sync.
* **`capver set <version>`** — Sets a specific version (e.g., `1.2.0`) across iOS, Android, and web at once.
* **`capver sync`** — Detects the highest version across all platforms and syncs everything to match it.

### Bumping Versions[¶](#bumping-versions "Permanent link")

* **`capver major`** — Bumps the major version (e.g., `1.2.3` → `2.0.0`).
* **`capver minor`** — Bumps the minor version (e.g., `1.2.3` → `1.3.0`).
* **`capver patch`** — Bumps the patch version (e.g., `1.2.3` → `1.2.4`).
* **`capver hotfix`** — Increments the hotfix version on mobile platforms only, without changing the semantic version.

### Debugging[¶](#debugging "Permanent link")

* **`capver doctor`** — Prints system information like Node.js version, OS, and CLI version to help with troubleshooting.

## Hotfix Versioning[¶](#hotfix-versioning "Permanent link")

One feature worth highlighting is hotfix support. Sometimes you need to push a quick fix to your mobile apps without bumping the public-facing version number. Capver handles this by incrementing a separate hotfix digit in the mobile build number while leaving the semantic version (`major.minor.patch`) unchanged.

This is especially useful when using over-the-air update tools where you want to differentiate between builds without changing what users see in the app store.

## Configurable Build Number Patterns[¶](#configurable-build-number-patterns "Permanent link")

On mobile platforms, Capver generates build numbers from your version using a configurable pattern. The default pattern is `MMmmmpphh`, where each letter represents a digit:

* `M` — Major version
* `m` — Minor version
* `p` — Patch version
* `h` — Hotfix version

For example, version `1.23.4` with hotfix `5` produces the build number `102300405`.

You can customize this pattern in your `package.json`:

`[](#%5F%5Fcodelineno-2-1){
[](#%5F%5Fcodelineno-2-2)  "capver": {
[](#%5F%5Fcodelineno-2-3)    "pattern": "MMmmmpphh"
[](#%5F%5Fcodelineno-2-4)  }
[](#%5F%5Fcodelineno-2-5)}
`

This gives you control over how much space each version component gets, so you can adapt it to your project's versioning needs.

## Integrations[¶](#integrations "Permanent link")

Since Capver is a simple CLI, it's easy to integrate into your existing release workflow — whether that's a CI/CD pipeline, a custom script, or a versioning tool.

One example is [commit-and-tag-version](https://www.npmjs.com/package/commit-and-tag-version), which handles automatic versioning, changelog generation, and Git tagging based on conventional commits. By adding a `postbump` hook to your `package.json`, Capver automatically syncs all platform versions whenever the version is bumped:

`[](#%5F%5Fcodelineno-3-1){
[](#%5F%5Fcodelineno-3-2)  "scripts": {
[](#%5F%5Fcodelineno-3-3)    "release": "commit-and-tag-version --commit-all"
[](#%5F%5Fcodelineno-3-4)  },
[](#%5F%5Fcodelineno-3-5)  "commit-and-tag-version": {
[](#%5F%5Fcodelineno-3-6)    "scripts": {
[](#%5F%5Fcodelineno-3-7)      "postbump": "npx @capawesome/capver set $(node -p \"require('./package.json').version\") && git add android/app/build.gradle ios/App/App/Info.plist"
[](#%5F%5Fcodelineno-3-8)    }
[](#%5F%5Fcodelineno-3-9)  }
[](#%5F%5Fcodelineno-3-10)}
`

With this setup, running `npm run release` bumps the version in `package.json`, generates the changelog, and then Capver updates all platform files automatically — all in a single step.

## Try Capver[¶](#try-capver "Permanent link")

Capver is open source under the MIT license and available on [npm](https://www.npmjs.com/package/@capawesome/capver) and [GitHub](https://github.com/capawesome-team/capver). Give it a try in your next Capacitor project and let us know what you think.

[Subscribe to the Capawesome Newsletter](/newsletter/)

## Final Thoughts[¶](#final-thoughts "Permanent link")

Managing app versions across multiple platforms doesn't have to be a manual chore. Capver gives you a single source of truth for your Capacitor project's version, reducing the risk of mismatches and saving time on every release.

If you have questions or feedback, join the [Capawesome Discord server](https://discord.gg/VCXxSVjefW) — we'd love to hear from you. And if you want to stay up to date with the latest news, subscribe to the [Capawesome newsletter](/newsletter/).

May 7, 2026 

 Back to top 