Skip to content

docs(updating): update v9 migration guide to add missing breaking changes - #4620

Merged
brandyscarney merged 9 commits into
major-9.0from
docs/v9-breaking-updates
Aug 14, 2026
Merged

docs(updating): update v9 migration guide to add missing breaking changes#4620
brandyscarney merged 9 commits into
major-9.0from
docs/v9-breaking-updates

Conversation

@brandyscarney

@brandyscarney brandyscarney commented Aug 6, 2026

Copy link
Copy Markdown
Member

This PR does the following:

  • Splits Vue & Vue Router to separate sections to match React & React Router
  • Reorganizes the components so they're in alphabetical order
  • Adds the breaking change sections for the following PRs:
  • Adds the missing breaking changes for Modal & Router Outlet

Preview

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ionic-docs Ready Ready Preview Aug 14, 2026 6:38pm

Request Review

@brandyscarney
brandyscarney marked this pull request as ready for review August 6, 2026 20:44
@brandyscarney
brandyscarney requested a review from a team as a code owner August 6, 2026 20:44
@brandyscarney
brandyscarney requested review from ShaneK and removed request for a team August 6, 2026 20:44

@thetaPC thetaPC left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but I noticed some issues. Mostly nits, some of them - like the vue router version specificity - should be fixed before merging though

Comment thread docs/updating/9-0.md Outdated
Comment thread docs/updating/9-0.md Outdated
Comment thread docs/updating/9-0.md Outdated
Comment thread docs/updating/9-0.md Outdated
brandyscarney and others added 3 commits August 11, 2026 15:54
Co-authored-by: Shane <shane@shanessite.net>
Co-authored-by: Shane <shane@shanessite.net>
Co-authored-by: Shane <shane@shanessite.net>

@thetaPC thetaPC left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heads up: line 11's :::info Breaking Changes is already migrated to :::info[Breaking Changes] in the pending main sync, so if that lands first you'll hit a one-line conflict here. Take the bracketed form.

Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md
Comment thread docs/updating/9-0.md

@thetaPC thetaPC left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@brandyscarney
brandyscarney merged commit 5ca6eb4 into major-9.0 Aug 14, 2026
4 checks passed
@brandyscarney
brandyscarney deleted the docs/v9-breaking-updates branch August 14, 2026 18:42
ShaneK added a commit to ionic-team/ionic-framework that referenced this pull request Aug 14, 2026
Issue number: internal

---------

## What is the current behavior?

Currently, `@ionic/migrate` covers 15 of the breaking changes in the v9
upgrade guide. The Angular `moduleResolution` change and `@ionic/core`'s
new `exports` field aren't in there, and neither are about a dozen
others.

There's also a gap for vanilla apps: `detectFrameworks` only knows
`@ionic/angular`, `@ionic/react`, and `@ionic/vue`, so a vanilla app
prints "No @ionic/{angular,react,vue} dependency found" and exits. Every
migration marked `framework: 'core'` is unreachable for the apps it was
written for.

## What is the new behavior?

This PR adds 14 migrations, taking the registry to 29 (12 auto-fix, 17
report-only). The full table is in the new
`packages/migrate/docs/v9.md`. The README is version-agnostic now, so
the next major gets its own page instead of a rewrite.

We also detect `@ionic/core` as a framework, so vanilla apps run the
`core` migrations and get their pin bumped. We gate the version check on
the binding package when there's one, because an app on a v9 binding
with a stale `@ionic/core` pin is already migrated, and taking the
lowest major would re-run the single-shot import rewrite and corrupt it.

## Does this introduce a breaking change?

- [ ] Yes
- [X] No

## Other information

Note: this PR is based off of the end result of
[ionic-docs#4620](ionic-team/ionic-docs#4620).
Ten of the docs anchors these migrations link to only exist on that
branch.

Two v9 changes stay uncovered on purpose, with the reasoning in
`docs/v9.md`: React Router's `/*` suffix for nested routes, and which
components Angular 22's `OnPush` default affects. We do flag the Angular
22 version itself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants