Skip to content

fix(migrate): cover angular's browser policy and gate zoneless on zone.js - #31360

Merged
ShaneK merged 6 commits into
major-9.0from
chore/migration-fixes
Aug 14, 2026
Merged

fix(migrate): cover angular's browser policy and gate zoneless on zone.js#31360
ShaneK merged 6 commits into
major-9.0from
chore/migration-fixes

Conversation

@ShaneK

@ShaneK ShaneK commented Aug 14, 2026

Copy link
Copy Markdown
Member

Issue number: internal


What is the current behavior?

Currently, core-browserslist only reads .browserslistrc and a browserslist file, so a project that keeps the list in package.json (the CRA and Vite starters do) gets nothing, and a browser the guide names but the project never mentions goes unreported. From Angular 20 on the CLI enforces its own higher policy, so an app that moves to the guide's floors then builds with an ng build warning for every browser.

Two smaller gaps: the zoneless migrations fire whether or not the app loads Zone.js, and provideZoneChangeDetection() fails to bootstrap without it. core-capacitor only flags below 3, so an app on Capacitor 6 reads as fine even though Ionic 9 supports 7 and later.

What is the new behavior?

Three new migrations, taking the registry to 32 (12 auto-fix, 19 report-only, 1 experimental). angular-browser-policy-manual names the entries below Angular's policy and the experimental angular-browser-policy raises them, reading the policy from the installed @angular/build rather than a table here, since on 21+ it's a rolling baseline query whose resolved versions depend on the project's caniuse-lite. core-browserslist-manual names the guide's browsers a list has no entry for, report-only because adding one widens the support matrix.

Reading a browserslist moved into a shared ast/browserslist.ts that also covers the package.json field. Both zoneless migrations now gate on Zone.js, resolved per project so a monorepo's apps don't speak for each other. core-capacitor flags below 7 and keeps the native-detection wording for below 3.

Does this introduce a breaking change?

  • Yes
  • No

Other information

ShaneK added 5 commits August 13, 2026 12:51
major-9.0 removed the IONIC_V9_VERSION dev build pin in favor of the
numeric major target. Resolved react-deps.ts to keep the new React 18
bumps alongside the numeric Ionic targets, and engine.test.ts to keep
the sourceMajor import without versions.js.

Also updated core-deps.ts and two migrations.test.ts references, which
git auto-merged clean but still pointed at the deleted module.
…fixes

# Conflicts:
#	packages/migrate/README.md
#	packages/migrate/docs/v9.md
#	packages/migrate/src/detect.ts
#	packages/migrate/src/migrations/index.ts
#	packages/migrate/src/migrations/v9/angular-ionic-module.ts
#	packages/migrate/src/migrations/v9/angular-module-resolution.ts
#	packages/migrate/src/migrations/v9/angular-typescript.ts
#	packages/migrate/src/migrations/v9/angular-version.ts
#	packages/migrate/src/migrations/v9/angular-zoneless-manual.ts
#	packages/migrate/src/migrations/v9/core-browserslist.ts
#	packages/migrate/src/migrations/v9/core-capacitor.ts
#	packages/migrate/src/migrations/v9/core-deps.ts
#	packages/migrate/src/migrations/v9/core-floating-label.ts
#	packages/migrate/src/migrations/v9/core-form-structure.ts
#	packages/migrate/src/migrations/v9/core-modal-handle.ts
#	packages/migrate/src/migrations/v9/core-package-exports.ts
#	packages/migrate/src/migrations/v9/core-select-events.ts
#	packages/migrate/src/migrations/v9/core-swipe-back-config.ts
#	packages/migrate/src/migrations/v9/core-textarea-height.ts
#	packages/migrate/src/migrations/v9/react-deps.ts
#	packages/migrate/test/core-browserslist.test.ts
#	packages/migrate/test/core-capacitor.test.ts
@ShaneK
ShaneK requested a review from a team as a code owner August 14, 2026 21:55
@ShaneK
ShaneK requested a review from OS-jacobbell August 14, 2026 21:55
@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview Aug 14, 2026 11:12pm

Request Review

@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

Comment thread packages/migrate/docs/v9.md Outdated
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
@ShaneK
ShaneK merged commit a4a1286 into major-9.0 Aug 14, 2026
52 checks passed
@ShaneK
ShaneK deleted the chore/migration-fixes branch August 14, 2026 23:45
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.

2 participants