---
description: Learn how to upgrade your Capacitor plugin to Capacitor 8 using the CLI migration tool, AI-powered Capawesome Skills, or a manual approach.
title: How to Upgrade Your Capacitor Plugin to Capacitor 8 - Capawesome
image: https://capawesome.io/docs/assets/images/social/blog/how-to-upgrade-your-capacitor-plugin-to-capacitor-8.png
---

<!doctype html> 

[Skip to content ](#how-to-upgrade-your-capacitor-plugin-to-capacitor-8) 

[🖥️ Introducing the **Capacitor Electron Platform** — build desktop apps for macOS, Windows, and Linux. Free & open source. ](/blog/announcing-the-capacitor-electron-platform/) 

* [ SDKs ](/docs/sdks/)
* [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ Haptics ](/docs/sdks/capacitor/haptics/)
* [ Home Indicator ](/docs/sdks/capacitor/home-indicator/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Intercom ](/docs/sdks/capacitor/intercom/)
* [ Intune ](/docs/sdks/capacitor/intune/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Light Sensor ](/docs/sdks/capacitor/light-sensor/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ Network ](/docs/sdks/capacitor/network/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ PDF Generator ](/docs/sdks/capacitor/pdf-generator/)
* [ PDF Viewer ](/docs/sdks/capacitor/pdf-viewer/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Permissions ](/docs/sdks/capacitor/permissions/)
* [ Phone Dialer ](/docs/sdks/capacitor/phone-dialer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ Photo Manipulator ](/docs/sdks/capacitor/photo-manipulator/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* [ Printer ](/docs/sdks/capacitor/printer/)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Proximity Sensor ](/docs/sdks/capacitor/proximity-sensor/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screen Reader ](/docs/sdks/capacitor/screen-reader/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Settings Launcher ](/docs/sdks/capacitor/settings-launcher/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ System WebView ](/docs/sdks/capacitor/system-webview/)
* [ Tauri ](/docs/sdks/capacitor/tauri/)
* [ Text Interaction ](/docs/sdks/capacitor/text-interaction/)
* [ Text Zoom ](/docs/sdks/capacitor/text-zoom/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Toast ](/docs/sdks/capacitor/toast/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ YouTube Player ](/docs/sdks/capacitor/youtube-player/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories

* [ Upgrade Options ](#upgrade-options)
* [ Which Approach Should You Choose? ](#which-approach-should-you-choose)
* [ FAQ ](#faq)
* [ Related Posts ](#related-posts)
* [ Try Capawesome Cloud ](#try-capawesome-cloud)
* [ Conclusion ](#conclusion)

# How to Upgrade Your Capacitor Plugin to Capacitor 8[¶](#how-to-upgrade-your-capacitor-plugin-to-capacitor-8 "Permanent link")

Capacitor 8 makes Swift Package Manager the default on iOS, bumps the Android target to SDK 36, and upgrades to Kotlin 2.2\. This guide covers three ways to bring your Capacitor plugin up to date — an automated CLI tool, AI-powered Capawesome Skills, or a fully manual upgrade.

[ ![Build and deploy your Capacitor app with Capawesome Cloud](https://capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png?t=1) ](/) 

## Why Upgrade to Capacitor 8[¶](#why-upgrade-to-capacitor-8 "Permanent link")

Before jumping into the migration steps, here's why the upgrade matters for plugin authors:

* **Swift Package Manager by default**: New iOS projects use SPM instead of CocoaPods. CocoaPods [entered maintenance mode](https://blog.cocoapods.org/CocoaPods-Specs-Repo-Rate-Limiting/) in August 2024 and its Specs repository will become read-only in December 2026\. Updating your plugin's `Package.swift` ensures compatibility with SPM-based projects.
* **Android SDK 36**: Targeting the latest Android platform keeps your plugin compatible with apps that follow Google's target API requirements.
* **Kotlin 2.2**: The jump from Kotlin 1.9 to 2.2 is a major upgrade that brings performance improvements and language features, but also includes breaking changes like the removal of the `kotlin-android-extensions` plugin.
* **Edge-to-edge support**: Capacitor 8 introduces a new System Bars plugin for managing status and navigation bar insets, replacing the removed `adjustMarginsForEdgeToEdge` config option.
* **Updated platform tooling**: Xcode 26+ and Android Studio Otter (2025.2.1+) are now required.

## What Changes at a Glance[¶](#what-changes-at-a-glance "Permanent link")

Here's a summary of the most impactful changes for plugin authors. For the full list, see the [official plugin upgrade guide](https://capacitorjs.com/docs/updating/plugins/8-0).

### Dependencies[¶](#dependencies "Permanent link")

* Update `@capacitor/core` peer dependency to `>=8.0.0`.
* Update `@capacitor/cli`, `@capacitor/core`, `@capacitor/android`, and `@capacitor/ios` dev dependencies to `^8.0.0`.

### Android[¶](#android "Permanent link")

* Compile and target SDK updated to **36**, minimum SDK raised to **24**.
* Gradle wrapper updated to **8.14.3**, Android Gradle Plugin (AGP) to **8.13.0**.
* Kotlin updated to **2.2.20**.
* **Gradle syntax change**: The space-assignment syntax is deprecated. Properties like `compileSdk 36` must be written as `compileSdk = 36`.
* Replace the deprecated `kotlinOptions{}` block with the new `compilerOptions{}` API.
* Various AndroidX dependency version bumps (AppCompat, JUnit, Espresso, and others).

### iOS[¶](#ios "Permanent link")

* Deployment target raised to **15.0** in `.podspec` files and `Podfile`.
* Update `Package.swift` to specify `.iOS(.v15)` and change the Capacitor SPM dependency from version 7.0.0 to 8.0.0.

## Upgrade Options[¶](#upgrade-options "Permanent link")

There are three ways to upgrade — pick the one that best fits your project and workflow.

### Option 1: Upgrade Using the Capacitor CLI[¶](#option-1-upgrade-using-the-capacitor-cli "Permanent link")

The fastest way to upgrade your plugin is the official migration tool. Run the following command from your plugin's root directory:

`[](#%5F%5Fcodelineno-0-1)npx @capacitor/plugin-migration-v7-to-v8@latest
`

The tool automatically updates your `package.json` dependencies, adjusts `build.gradle` values, updates the Gradle wrapper, bumps the iOS deployment target, and applies the Kotlin version change.

This works well for most plugins with a standard project structure. If your plugin has significant native customizations — custom Gradle configurations, non-standard directory layouts, or complex build scripts — you may need to handle some steps manually after the migration. Check the tool's output for any warnings or skipped steps.

### Option 2: Upgrade Using Capawesome Skills[¶](#option-2-upgrade-using-capawesome-skills "Permanent link")

[Capawesome Skills](https://github.com/capawesome-team/skills) are agent-optimized instruction sets designed for AI coding assistants like Claude Code, Cursor, or GitHub Copilot. They provide step-by-step upgrade instructions that handle both the automated migration and manual fallback steps.

First, add the skills to your project:

`[](#%5F%5Fcodelineno-1-1)npx skills add capawesome-team/skills
`

Then, use the following prompt with your AI coding assistant:

`` [](#%5F%5Fcodelineno-2-1)Use the `capacitor-plugin-upgrades` skill from `capawesome-team/skills`
[](#%5F%5Fcodelineno-2-2)to help me upgrade my Capacitor plugin to Capacitor 8.
 ``

The skill will attempt the CLI migration first and fall back to manual steps where needed. It also covers edge cases like adding SPM support, updating Kotlin compiler options, and handling the Gradle syntax changes — making it a good option if the CLI tool doesn't catch everything.

### Option 3: Upgrade Manually[¶](#option-3-upgrade-manually "Permanent link")

If you prefer full control, follow the [official Capacitor 8 plugin upgrade guide](https://capacitorjs.com/docs/updating/plugins/8-0) step by step. Here's a condensed overview:

1. Update `@capacitor/core` peer dependency to `>=8.0.0` and dev dependencies to `^8.0.0`.
2. **Android**: Update `compileSdk`, `targetSdkVersion`, and `minSdkVersion` in `build.gradle`:

`[](#%5F%5Fcodelineno-3-1)compileSdk = 36
[](#%5F%5Fcodelineno-3-2)minSdkVersion = 24
[](#%5F%5Fcodelineno-3-3)targetSdkVersion = 36
`

1. **Android**: Update Kotlin to `2.2.20` and replace `kotlinOptions{}` with `compilerOptions{}`.
2. **Android**: Update the Gradle wrapper to `8.14.3` and AGP to `8.13.0`.
3. **Android**: Switch to the `=` assignment syntax in all Gradle files.
4. **Android**: Update AndroidX dependency versions (only the ones your plugin uses).
5. **iOS**: Raise the deployment target to `15.0` in your `.podspec` file.
6. **iOS**: Update `Package.swift` to target `.iOS(.v15)` and set the Capacitor SPM dependency to `8.0.0`.

This approach takes more effort but gives you complete visibility into every change.

## Which Approach Should You Choose?[¶](#which-approach-should-you-choose "Permanent link")

| Approach              | Best for                                          | Trade-off                                                |
| --------------------- | ------------------------------------------------- | -------------------------------------------------------- |
| **Capacitor CLI**     | Most plugins with standard project structures     | Fast, but may miss steps in heavily customized plugins   |
| **Capawesome Skills** | Plugins with custom native code or complex setups | Handles edge cases well, requires an AI coding assistant |
| **Manual**            | Plugin authors who want full control              | Most effort, but complete visibility                     |

For most plugins, the **Capacitor CLI** migration tool is the right starting point. If you run into issues or have a complex plugin with custom build configurations, **Capawesome Skills** can fill in the gaps. The **manual** approach is always available when you need full control.

## FAQ[¶](#faq "Permanent link")

### Does upgrading to Capacitor 8 force my plugin onto SPM, or can it stay CocoaPods-only?[¶](#does-upgrading-to-capacitor-8-force-my-plugin-onto-spm-or-can-it-stay-cocoapods-only "Permanent link")

The upgrade itself doesn't force SPM — updating your `.podspec` deployment target and dependencies keeps a CocoaPods-only plugin working with Capacitor 8\. Adding `Package.swift` and full SPM support is a separate concern, covered in [How to Migrate a Capacitor Plugin to Swift Package Manager](/blog/how-to-migrate-a-capacitor-plugin-to-spm/) — you don't have to do both at once.

### Why does `compileSdk 36` need to become `compileSdk = 36`?[¶](#why-does-compilesdk-36-need-to-become-compilesdk-36 "Permanent link")

Because the space-assignment Gradle syntax is deprecated as of this update, not because the value itself needs to change. This is a mechanical syntax change across your Gradle files, not a behavior change — skipping it doesn't break your build immediately, but it will eventually stop working as Gradle continues phasing out the older syntax.

### Is the Kotlin 2.2 upgrade just a version bump, or does it require code changes?[¶](#is-the-kotlin-22-upgrade-just-a-version-bump-or-does-it-require-code-changes "Permanent link")

It requires code changes, not just a version bump. The jump from Kotlin 1.9 to 2.2 removes the `kotlin-android-extensions` plugin and deprecates the `kotlinOptions{}` block in favor of `compilerOptions{}` — plugins relying on either of those need to update their Gradle configuration, not just bump the Kotlin version number and expect it to keep compiling.

### If the CLI migration tool skips a step, how do I know what to fix manually?[¶](#if-the-cli-migration-tool-skips-a-step-how-do-i-know-what-to-fix-manually "Permanent link")

Check its output directly — the tool surfaces warnings and skipped steps rather than failing silently. This matters most for plugins with non-standard project structures or custom Gradle configurations, since those are exactly the cases the automated tool calls out as more likely to need manual follow-up.

### Do I need to update every AndroidX dependency version listed in the official guide?[¶](#do-i-need-to-update-every-androidx-dependency-version-listed-in-the-official-guide "Permanent link")

Only the ones your plugin actually uses. The guide's own manual steps say to update AndroidX dependency versions for the ones your plugin depends on — bumping versions for AndroidX libraries you don't reference doesn't do anything useful and just adds unnecessary dependency surface to track.

## Related Posts[¶](#related-posts "Permanent link")

* [How to Fix Capacitor Plugin Build Errors with AGP 9](/blog/how-to-fix-capacitor-plugin-build-errors-with-agp-9/)
* [Support 16 KB page sizes in Android with Capacitor](/blog/support-16kb-page-sizes-with-capacitor/)

## Try Capawesome Cloud[¶](#try-capawesome-cloud "Permanent link")

Building and deploying Capacitor apps is easier with [Capawesome Cloud](/). Get cloud-based native builds, over-the-air live updates, and automated app store publishing — all in one platform.

[Try Capawesome Cloud Free](/)

## Conclusion[¶](#conclusion "Permanent link")

Capacitor 8 brings meaningful updates for plugin authors — SPM as the iOS default, Android SDK 36, Kotlin 2.2, and modernized Gradle syntax. The CLI migration tool handles most of the work, Capawesome Skills can assist with more complex plugins, and the manual route gives you full control when you need it.

If you're also upgrading a Capacitor app project, check out [How to Upgrade Your Capacitor App to Capacitor 8](/blog/how-to-upgrade-your-capacitor-app-to-capacitor-8/) for a full walkthrough of the app-level migration.

If you have questions, join the [Capawesome Discord server](https://discord.gg/VCXxSVjefW). To stay up to date with the latest news, subscribe to the [Capawesome newsletter](/newsletter/).

July 17, 2026 

Back to top

```json
{
      "@context": "https://schema.org",
      "@type": "BlogPosting",
      "headline": "How to Upgrade Your Capacitor Plugin to Capacitor 8",
      "description": "Learn how to upgrade your Capacitor plugin to Capacitor 8 using the CLI migration tool, AI-powered Capawesome Skills, or a manual approach.",
      "image": "https://capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.png",
      "datePublished": "2026-03-23T00:00:00+00:00",
      "dateModified": "2026-07-17T00:00:00+00:00",
      "author": [
        {
          "@type": "Person",
          "name": "Robin Genz",
          "url": "https://github.com/robingenz"
        }
      ],
      "publisher": {
        "@type": "Organization",
        "name": "Capawesome",
        "url": "https://capawesome.io",
        "logo": {
          "@type": "ImageObject",
          "url": "https://capawesome.io/assets/images/logo.svg"
        }
      },
      "articleSection": "Guides",
      "keywords": ["Guides"],
      "isPartOf": {
        "@type": "Blog",
        "@id": "https://capawesome.io/blog/#blog"
      },
      "mainEntityOfPage": "https://capawesome.io/blog/how-to-upgrade-your-capacitor-plugin-to-capacitor-8/",
      "url": "https://capawesome.io/blog/how-to-upgrade-your-capacitor-plugin-to-capacitor-8/"
    }
{
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://capawesome.io/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://capawesome.io/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "How to Upgrade Your Capacitor Plugin to Capacitor 8",
          "item": "https://capawesome.io/blog/how-to-upgrade-your-capacitor-plugin-to-capacitor-8/"
        }
      ]
    }
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Which Approach Should You Choose?", "acceptedAnswer": {"@type": "Answer", "text": "Approach Best for Trade-off Capacitor CLI Most plugins with standard project structures Fast, but may miss steps in heavily customized plugins Capawesome Skills Plugins with custom native code or complex setups Handles edge cases well, requires an AI coding assistant Manual Plugin authors who want full control Most effort, but complete visibility For most plugins, the Capacitor CLI migration tool is the right starting point. If you run into issues or have a complex plugin with custom build configurations, Capawesome Skills can fill in the gaps. The manual approach is always available when you need full control."}}, {"@type": "Question", "name": "Does upgrading to Capacitor 8 force my plugin onto SPM, or can it stay CocoaPods-only?", "acceptedAnswer": {"@type": "Answer", "text": "The upgrade itself doesn't force SPM — updating your.podspec deployment target and dependencies keeps a CocoaPods-only plugin working with Capacitor 8. Adding Package.swift and full SPM support is a separate concern, covered in How to Migrate a Capacitor Plugin to Swift Package Manager — you don't have to do both at once."}}, {"@type": "Question", "name": "Why does compileSdk 36 need to become compileSdk = 36?", "acceptedAnswer": {"@type": "Answer", "text": "Because the space-assignment Gradle syntax is deprecated as of this update, not because the value itself needs to change. This is a mechanical syntax change across your Gradle files, not a behavior change — skipping it doesn't break your build immediately, but it will eventually stop working as Gradle continues phasing out the older syntax."}}, {"@type": "Question", "name": "Is the Kotlin 2.2 upgrade just a version bump, or does it require code changes?", "acceptedAnswer": {"@type": "Answer", "text": "It requires code changes, not just a version bump. The jump from Kotlin 1.9 to 2.2 removes the kotlin-android-extensions plugin and deprecates the kotlinOptions{} block in favor of compilerOptions{} — plugins relying on either of those need to update their Gradle configuration, not just bump the Kotlin version number and expect it to keep compiling."}}, {"@type": "Question", "name": "If the CLI migration tool skips a step, how do I know what to fix manually?", "acceptedAnswer": {"@type": "Answer", "text": "Check its output directly — the tool surfaces warnings and skipped steps rather than failing silently. This matters most for plugins with non-standard project structures or custom Gradle configurations, since those are exactly the cases the automated tool calls out as more likely to need manual follow-up."}}, {"@type": "Question", "name": "Do I need to update every AndroidX dependency version listed in the official guide?", "acceptedAnswer": {"@type": "Answer", "text": "Only the ones your plugin actually uses. The guide's own manual steps say to update AndroidX dependency versions for the ones your plugin depends on — bumping versions for AndroidX libraries you don't reference doesn't do anything useful and just adds unnecessary dependency surface to track."}}], "url": "https://capawesome.io/blog/how-to-upgrade-your-capacitor-plugin-to-capacitor-8/"}
```
