Skip to content

feat(angular): support Angular 21, drop Angular 16 and 17 - #31185

Merged
ShaneK merged 20 commits into
major-9.0from
feat/angular-21-support
Jun 5, 2026
Merged

feat(angular): support Angular 21, drop Angular 16 and 17#31185
ShaneK merged 20 commits into
major-9.0from
feat/angular-21-support

Conversation

@ShaneK

@ShaneKShaneK commented Jun 2, 2026

Copy link
Copy Markdown
Member

Issue number: resolves#30907


What is the current behavior?

Ionic Angular only currently supports Angular 16-20

What is the new behavior?

Ionic Angular now supports Angular 18 through 21 and drops 16 and 17. The ng16/ng17 test apps are removed, an ng21 app is added, and the tsconfigs are tightened for the 18+ minimum.

autocorrect on ion-input and ion-searchbar becomes a boolean (default false), mapped internally to the native 'on'/'off' attribute. This is required by TypeScript 5.9, which is required by Angular 21. It is the primary breaking change that forced this into a major version release of Ionic Framework.

Also bundles v9 housekeeping: @stencil/core bumped to 4.43.5 and TypeScript 5.9 in the React and Vue test apps.

Does this introduce a breaking change?

  • Yes
  • No

The following changes are required for migration:

  • Apps on Angular 16 or 17 must upgrade to 18 or later.
  • Existing NgModule projects upgrading to Angular 21 must add provideZoneChangeDetection() to bootstrapModule's applicationProviders in main.ts. ng-add only patches standalone app.config.ts, not main.ts, so the NgModule path is manual (documented in the schematic's JSDoc).
  • autocorrect now takes true/false instead of 'on'/'off'. Replace autocorrect="on" with [autocorrect]="true" and autocorrect="off" (or the default) with false.

Other information

Preview:

Current dev build (2025-06-05):

8.8.9-dev.11780690883.11fe8a2a

Docs PR: ionic-team/ionic-docs#4529

@ShaneK
ShaneK requested a review from a team as a code ownerJune 2, 2026 13:25
@ShaneK
ShaneK requested a review from gnbmJune 2, 2026 13:25
@vercel

vercelBot commented Jun 2, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
ionic-frameworkReadyReadyPreview, CommentJun 5, 2026 8:36pm

Request Review

@github-actionsgithub-actionsBot added package: core @ionic/core package package: angular @ionic/angular package package: vue @ionic/vue package package: react @ionic/react package labels Jun 2, 2026
@ShaneKShaneK changed the title feat(angular)!: support Angular 21, drop Angular 16 and 17feat(angular): support Angular 21, drop Angular 16 and 17Jun 2, 2026

@thetaPCthetaPC 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, with non-blocking requested change

Comment threadBREAKING.md Outdated
Comment threadpackages/react-router/test/base/tests/e2e/specs/swipe-to-go-back.cy.js Outdated
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>

@brandyscarneybrandyscarney 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! Just a few non-blocking comments. 🎉

Comment threadBREAKING.md Outdated
Comment threadpackages/vue/test/apps/vue3/package.json
Comment threadBREAKING.md Outdated

@brandyscarneybrandyscarney 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.

Great work!! 🎉

@ShaneK
ShaneK merged commit ba27083 into major-9.0Jun 5, 2026
49 checks passed
@ShaneK
ShaneK deleted the feat/angular-21-support branch June 5, 2026 20:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular@ionic/angular packagepackage: core@ionic/core packagepackage: react@ionic/react packagepackage: vue@ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ShaneK@brandyscarney@thetaPC