Ionic App Upgrade
Upgrade an Ionic Framework app to a newer major version (4 to 5, 5 to 6, 6 to 7, or 7 to 8).
Prerequisites
| Target Version |
Angular |
React |
Vue |
| 5 |
8.2+ |
16+ |
N/A |
| 6 |
12+ |
17+ |
3.0.6+ |
| 7 |
14+ |
17+ |
3.0.6+ |
| 8 |
16+ |
17+ |
3.0.6+ |
Procedures
Step 1: Detect Current Version
Read @ionic/angular, @ionic/react, or @ionic/vue version from package.json (dependencies or devDependencies). Determine the current major version and which framework is in use (Angular, React, Vue, or Core/Standalone).
Ask the user for the target version. Default to the latest (8) if not specified.
Step 2: Execute Upgrade
For each major version jump between the current and target version, apply the corresponding upgrade guide sequentially:
| Current to Target |
Reference |
| 4 to 5 |
references/upgrade-v4-to-v5.md |
| 5 to 6 |
references/upgrade-v5-to-v6.md |
| 6 to 7 |
references/upgrade-v6-to-v7.md |
| 7 to 8 |
references/upgrade-v7-to-v8.md |
For multi-version jumps (e.g., 5 to 8), apply each upgrade in order:
- Read and apply
references/upgrade-v5-to-v6.md
- Build the project (
npm run build), fix any errors, and verify the app runs
- Read and apply
references/upgrade-v6-to-v7.md
- Build the project (
npm run build), fix any errors, and verify the app runs
- Read and apply
references/upgrade-v7-to-v8.md
- Build the project (
npm run build), fix any errors, and verify the app runs
Do not skip intermediate versions.
Step 3: Final Verification
After completing all upgrade steps:
npm run build
If the project uses Capacitor, also run:
npx cap sync
Error Handling
- If
npm run build fails after an upgrade step, check the compiler errors. Most errors are caused by removed component properties, renamed CSS variables, or changed event handler signatures documented in the reference files.
- If Jest or unit tests fail, check the
transformIgnorePatterns configuration — Ionic 6+ ships as ES Modules and requires Babel/Jest configuration updates.
- If CSS styles break after upgrade, check for removed CSS Shadow Parts and renamed CSS variables in the reference file for that version.
- If a multi-version upgrade fails mid-way, fix the current version step before proceeding to the next.
- If the project also uses Capacitor and platform builds fail, the Capacitor version may also need upgrading — use the
capacitor-app-upgrades skill.
Related Skills
capacitor-app-upgrades — If Capacitor also needs upgrading alongside Ionic, use this skill for the Capacitor-specific upgrade steps.
ionic-app-development — General Ionic development guidance.
capacitor-plugins — For installing or reconfiguring plugins after the app upgrade.
1---2name: ionic-app-upgrades3description: Guides the agent through upgrading an Ionic Framework app to a newer major version. Supports upgrades from Ionic 4 through 8, including multi-version jumps. Covers framework-specific migration steps for Angular, React, and Vue, component breaking changes, CSS variable updates, and browser support changes. Do not use for Capacitor version upgrades (use capacitor-app-upgrades instead), for plugin library upgrades, or for non-Ionic UI frameworks.4license: MIT5---67# Ionic App Upgrade89Upgrade an Ionic Framework app to a newer major version (4 to 5, 5 to 6, 6 to 7, or 7 to 8).1011## Prerequisites1213| Target Version | Angular | React | Vue |14| -------------- | -------- | ----- | ------- |15| 5 | 8.2+ | 16+ | N/A |16| 6 | 12+ | 17+ | 3.0.6+ |17| 7 | 14+ | 17+ | 3.0.6+ |18| 8 | 16+ | 17+ | 3.0.6+ |1920## Procedures2122### Step 1: Detect Current Version2324Read `@ionic/angular`, `@ionic/react`, or `@ionic/vue` version from `package.json` (`dependencies` or `devDependencies`). Determine the current major version and which framework is in use (Angular, React, Vue, or Core/Standalone).2526Ask the user for the target version. Default to the latest (8) if not specified.2728### Step 2: Execute Upgrade2930For each major version jump between the current and target version, apply the corresponding upgrade guide **sequentially**:3132| Current to Target | Reference |33| ----------------- | ------------------------------------ |34| 4 to 5 | `references/upgrade-v4-to-v5.md` |35| 5 to 6 | `references/upgrade-v5-to-v6.md` |36| 6 to 7 | `references/upgrade-v6-to-v7.md` |37| 7 to 8 | `references/upgrade-v7-to-v8.md` |3839For multi-version jumps (e.g., 5 to 8), apply each upgrade in order:401. Read and apply `references/upgrade-v5-to-v6.md`412. Build the project (`npm run build`), fix any errors, and verify the app runs423. Read and apply `references/upgrade-v6-to-v7.md`434. Build the project (`npm run build`), fix any errors, and verify the app runs445. Read and apply `references/upgrade-v7-to-v8.md`456. Build the project (`npm run build`), fix any errors, and verify the app runs4647Do **not** skip intermediate versions.4849### Step 3: Final Verification5051After completing all upgrade steps:5253```bash54npm run build55```5657If the project uses Capacitor, also run:5859```bash60npx cap sync61```6263## Error Handling6465* If `npm run build` fails after an upgrade step, check the compiler errors. Most errors are caused by removed component properties, renamed CSS variables, or changed event handler signatures documented in the reference files.66* If Jest or unit tests fail, check the `transformIgnorePatterns` configuration — Ionic 6+ ships as ES Modules and requires Babel/Jest configuration updates.67* If CSS styles break after upgrade, check for removed CSS Shadow Parts and renamed CSS variables in the reference file for that version.68* If a multi-version upgrade fails mid-way, fix the current version step before proceeding to the next.69* If the project also uses Capacitor and platform builds fail, the Capacitor version may also need upgrading — use the `capacitor-app-upgrades` skill.7071## Related Skills7273- **`capacitor-app-upgrades`** — If Capacitor also needs upgrading alongside Ionic, use this skill for the Capacitor-specific upgrade steps.74- **`ionic-app-development`** — General Ionic development guidance.75- **`capacitor-plugins`** — For installing or reconfiguring plugins after the app upgrade.