Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
f01e9a7
fix(react-router): dispatch view lifecycle events on non-animated tra…
ShaneK Sep 30, 2026
a061009
v9.0.6
Ionitron Sep 30, 2026
5baeafe
chore(): update package lock files
Ionitron Sep 30, 2026
1c89743
merge release-9.0.6 (#31505)
brandyscarney Sep 30, 2026
643584b
fix(vue-router): render the redirect target when a guard redirects (#…
ShaneK Oct 1, 2026
edbc304
fix(vue-router): reset tab with memory history (#31511)
ShaneK Oct 1, 2026
4c71c0b
chore(deps): update dependency vitest to v5.0.3 (#31512)
renovate[bot] Oct 1, 2026
35bd2fa
fix(css): stop emitting :host-context selectors in global stylesheets…
ShaneK Oct 1, 2026
6ba81ad
chore(deps): update dependency @types/node to v24.19.1 (#31522)
renovate[bot] Oct 2, 2026
e425825
fix(input-otp): sync value when length changes (#31485)
hemanth004 Oct 2, 2026
d5bab2e
fix(react): prevent error when an outlet unmounts before it's ready (…
ShaneK Oct 5, 2026
6532bcb
fix(close-watcher): allow back navigation when nothing is open (#31520)
ShaneK Oct 5, 2026
8191ef8
chore(deps): update capacitor to v8.0.6 (#31530)
renovate[bot] Oct 6, 2026
64fbc78
chore(deps): update dependency @stencil/core to v4.45.2 (#31531)
renovate[bot] Oct 6, 2026
881e432
chore(renovate): automerge minor and patch dev dependency updates (#3…
ShaneK Oct 6, 2026
4fe8542
chore(tokens): raise version (#31540)
BenOsodrac Oct 7, 2026
3440a81
v9.0.7
Ionitron Oct 7, 2026
515d89f
chore(): update package lock files
Ionitron Oct 7, 2026
db5d21a
merge release-9.0.7
thetaPC Oct 7, 2026
f7b5988
chore(ci): ignore react package-lock changes for nightly (#31542)
OS-jacobbell Oct 7, 2026
277097e
fix(angular, vue): fire lifecycle events on nested pages (#31532)
ShaneK Oct 8, 2026
55af474
chore(deps): update actions/setup-node action to v7.1.0 (#31547)
renovate[bot] Oct 8, 2026
1467682
chore(deps-dev): bump form-data from 4.0.1 to 4.0.6 in /packages/angu…
dependabot[bot] Oct 8, 2026
2e29ec2
chore(deps-dev): bump handlebars from 4.7.7 to 4.7.10 (#31549)
dependabot[bot] Oct 8, 2026
d0afd1e
chore(deps-dev): bump webpack from 5.61.0 to 5.111.1 in /packages/ang…
dependabot[bot] Oct 8, 2026
754ea43
chore(deps): update dependency @capacitor/core to v8.5.3 (#31545)
renovate[bot] Oct 8, 2026
4ae0196
fix(react-router): stop hidden views from re-rendering on every navig…
ShaneK Oct 8, 2026
6c7ab07
chore(deps): update download + upload artifacts (#31546)
renovate[bot] Oct 9, 2026
ec7bb71
chore(deps): update github/codeql-action action to v4.38.3 (#31554)
renovate[bot] Oct 9, 2026
3e3544e
fix(modal): stop sheets dismissing on upward drags (#31553)
OS-susmitabhowmik Oct 9, 2026
fdab3cd
fix(modal): use drag distance for sheet dismissal (#31524)
OS-susmitabhowmik Oct 9, 2026
6b5afec
fix(angular): update route snapshot on query param navigation (#31534)
ShaneK Oct 9, 2026
bd518ac
chore(deps): update dependency vitest to v5.0.4 (#31564)
renovate[bot] Oct 12, 2026
69166d2
chore(deps): update playwright to v1.64.0 (#31563)
renovate[bot] Oct 12, 2026
03760d9
chore(deps): update dependency @types/node to v24.19.2 (#31562)
renovate[bot] Oct 12, 2026
a974f6b
test(alert): set a fixed value in the date inputs (#31566)
brandyscarney Oct 13, 2026
0c1cf5a
v9.0.8
Ionitron Oct 14, 2026
7ed9376
chore(): update package lock files
Ionitron Oct 14, 2026
f0c5e0b
merge release-9.0.8 (#31572)
brandyscarney Oct 14, 2026
83251cc
docs(guidelines): update shadow parts guidelines to include textarea …
brandyscarney Oct 15, 2026
ecd6f5a
fix(input, select, textarea): prevent floating label from overflowing…
brandyscarney Oct 15, 2026
5f3f5fc
fix(nav): defer non-animated swipe back until the gesture completes (…
ShaneK Oct 15, 2026
d1294c3
chore(deps): update stencil-output-targets (#31445)
renovate[bot] Oct 16, 2026
49132e8
chore(deps): update dependency vitest to v5.0.5 (#31576)
renovate[bot] Oct 16, 2026
2e46d42
chore(deps): update github/codeql-action action to v4.39.0 (#31577)
renovate[bot] Oct 16, 2026
6fddbad
test(vue): cover tab bar used without tabs (#31589)
ShaneK Oct 19, 2026
cb963f8
fix(angular): import tab proxies directly in standalone tabs (#31596)
rudrakshagarwal4200-ai Oct 19, 2026
cecd3af
fix(datetime): discard unconfirmed selection on cancel (#31558)
ShaneK Oct 20, 2026
86390f6
fix(vue-router): keep back working after replacing a page in tabs (#3…
ShaneK Oct 20, 2026
584d973
docs(backdrop): clarify that visible only controls the default backgr…
thetaPC Oct 20, 2026
585671e
v9.0.9
Ionitron Oct 21, 2026
ae6e2bb
chore(): update package lock files
Ionitron Oct 21, 2026
6bbf53c
merge release-9.0.9
ShaneK Oct 21, 2026
3eebee3
fix(menu): allow menus inside split pane main content to open (#31586)
ShaneK Oct 21, 2026
934049a
chore(deps): update pozil/auto-assign-issue action to v4.0.2 (#31632)
renovate[bot] Oct 22, 2026
d01e6f4
chore(deps): update github/codeql-action action to v4.39.1 (#31631)
renovate[bot] Oct 22, 2026
cc5b396
chore(release): add patch release helper script (#31626)
ShaneK Oct 22, 2026
d12c269
chore(deps): update pozil/auto-assign-issue action to v4.1.0 (#31638)
renovate[bot] Oct 23, 2026
25a114f
fix(rtl): respect `dir` of ancestor elements throughout components (#…
OS-jacobbell Oct 23, 2026
83dcb35
Merge remote-tracking branch 'origin/main' into sync-next-with-main
ShaneK Oct 23, 2026
a0252f1
test(textarea): query shadow root in label overflow test
ShaneK Oct 23, 2026
94725fb
chore(): add updated snapshots
Ionitron Oct 23, 2026
80ef104
chore(git): sync with main (#31640)
ShaneK Oct 23, 2026
28d2940
fix(alert): only block Enter on checkbox inputs, not the whole docume…
ShaneK Oct 27, 2026
d73cacb
fix(vue): render resolved href for object router-link (#31663)
ShaneK Oct 28, 2026
1e12879
v9.0.10
Ionitron Oct 28, 2026
3029404
chore(): update package lock files
Ionitron Oct 28, 2026
8b7d66e
merge release-9.0.10
thetaPC Oct 28, 2026
268f5e0
chore(deps): update dependency @capacitor/core to v8.6.0 (#31668)
renovate[bot] Oct 29, 2026
cf6ee28
fix(input, select, textarea): support native controls inside shadow r…
ShaneK Oct 30, 2026
1637371
chore(ci): bump playwright in test apps (#31675)
ShaneK Oct 30, 2026
b0a4fd8
chore(deps): update dependency @stencil/angular-output-target to v1.5…
renovate[bot] Oct 30, 2026
b01d379
chore(deps): update lock files to resolve security alerts (#31616)
thetaPC Oct 30, 2026
3d43519
Merge remote-tracking branch 'origin/main' into sync-next-with-main
ShaneK Nov 2, 2026
2d4d18e
chore(git): sync with main (#31681)
ShaneK Nov 2, 2026
0ef1b3e
Merge remote-tracking branch 'origin/next' into chore-sync-ionic-modu…
thetaPC Nov 3, 2026
c2f323f
test(title): poll for the transition with a timer
thetaPC Nov 3, 2026
ce22b29
chore(): add updated snapshots
Ionitron Nov 3, 2026
f4ff53a
Merge branch 'ionic-modular' of github.com:ionic-team/ionic-framework…
thetaPC Nov 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/actions/publish-npm/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ runs:
using: 'composite'
steps:
- name: 🟢 Configure Node for Publish
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: ${{ inputs.node-version }}
registry-url: 'https://registry.npmjs.org'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Build Ionic Angular Server'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/build-angular/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Build Ionic Angular'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ runs:
using: 'composite'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/build-core/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ runs:
using: 'composite'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- name: 🕸️ Install Dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/build-react-router/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Build Ionic React Router'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/actions/build-react/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Build Ionic React'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down Expand Up @@ -43,7 +43,7 @@ runs:
output: packages/react/ReactBuild.zip
paths: packages/react/dist packages/react/css packages/react/package.json
- name: Clean package.json updates
run: git checkout ./core/package.json ./packages/react/package.json
run: git checkout ./core/package.json ./packages/react/package.json ./packages/react/package-lock.json
shell: bash
- name: 🔍 Check Diff
run: git diff --exit-code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/build-vue-router/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Builds Ionic Vue Router'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/build-vue/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Build Ionic Vue'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/download-archive/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/test-angular-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Test Ionic Angular Package'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Test Core Clean Build'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/test-core-lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: 'Test Core Lint'
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- name: 🕸️ Install Dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/actions/test-core-screenshot/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down Expand Up @@ -66,7 +66,7 @@ runs:
working-directory: ./core
- name: 📦 Archive Updated Screenshots
if: inputs.update == 'true' && steps.test-and-update.outputs.hasUpdatedScreenshots == 'true'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: updated-screenshots-${{ inputs.shard }}-${{ inputs.totalShards }}
path: UpdatedScreenshots-${{ inputs.shard }}-${{ inputs.totalShards }}.zip
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/test-core-spec/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- name: 🕸️ Install Dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/test-react-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/test-vue-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ inputs:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: ./.github/workflows/actions/download-archive
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ on:
runs:
using: 'composite'
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
with:
path: ./artifacts
- name: 🔎 Extract Archives
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/actions/upload-archive/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ runs:
- name: 🗄️ Create Archive
run: zip -q -r ${{ inputs.output }} ${{ inputs.paths }}
shell: bash
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: ${{ inputs.name }}
path: ${{ inputs.output }}
2 changes: 1 addition & 1 deletion .github/workflows/assign-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
issues: write
steps:
- name: 'Auto-assign issue'
uses: pozil/auto-assign-issue@af6beea6bdf1e8eb373f061c5bc168681fc6d011 # v4.0.1
uses: pozil/auto-assign-issue@d6e511896e5f1d2408e74db74416647d8ff80c8c # v4.1.0
with:
assignees: brandyscarney, thetaPC, ShaneK
numOfAssignee: 1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
security-events: write
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
- uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: javascript
- uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
- uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
2 changes: 1 addition & 1 deletion .github/workflows/migrate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
working-directory: ./packages/migrate
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
cache: 'npm'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-migrate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: 🟢 Configure Node for Publish
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: 24.x
registry-url: 'https://registry.npmjs.org'
Expand Down
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,57 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [9.0.10](https://github.com/ionic-team/ionic-framework/compare/v9.0.9...v9.0.10) (2026-10-28)

### Bug Fixes

* **alert:** only block Enter on checkbox inputs, not the whole document ([#31643](https://github.com/ionic-team/ionic-framework/issues/31643)) ([28d2940](https://github.com/ionic-team/ionic-framework/commit/28d294035a6de45e797467d9aaca83b95d3baf4a)), closes [#30811](https://github.com/ionic-team/ionic-framework/issues/30811)
* **menu:** allow menus inside split pane main content to open ([#31586](https://github.com/ionic-team/ionic-framework/issues/31586)) ([3eebee3](https://github.com/ionic-team/ionic-framework/commit/3eebee37bd13f52fc7d87cb468986d16138acf40)), closes [#30591](https://github.com/ionic-team/ionic-framework/issues/30591) [#28801](https://github.com/ionic-team/ionic-framework/issues/28801)
* **rtl:** respect `dir` of ancestor elements throughout components ([#31459](https://github.com/ionic-team/ionic-framework/issues/31459)) ([25a114f](https://github.com/ionic-team/ionic-framework/commit/25a114f4077cae0aa2d633e32d26638096eeb9f1))
* **vue:** render resolved href for object router-link ([#31663](https://github.com/ionic-team/ionic-framework/issues/31663)) ([d73cacb](https://github.com/ionic-team/ionic-framework/commit/d73cacbc5891aa982b078f8e3554a5e14a8fb1bb)), closes [#30848](https://github.com/ionic-team/ionic-framework/issues/30848)


## [9.0.9](https://github.com/ionic-team/ionic-framework/compare/v9.0.8...v9.0.9) (2026-10-21)

### Bug Fixes

* **angular:** import tab proxies directly in standalone tabs ([#31596](https://github.com/ionic-team/ionic-framework/issues/31596)) ([cb963f8](https://github.com/ionic-team/ionic-framework/commit/cb963f886ee08ce3abf25d6cb4e33c5cc3ac0003)), closes [#31594](https://github.com/ionic-team/ionic-framework/issues/31594)
* **datetime:** discard unconfirmed selection on cancel ([#31558](https://github.com/ionic-team/ionic-framework/issues/31558)) ([cecd3af](https://github.com/ionic-team/ionic-framework/commit/cecd3afdaea91a2e5f4ada6cd4aaedf6f436e6c9)), closes [#30777](https://github.com/ionic-team/ionic-framework/issues/30777) [#27975](https://github.com/ionic-team/ionic-framework/issues/27975) [#27976](https://github.com/ionic-team/ionic-framework/issues/27976)
* **input, select, textarea:** prevent floating label from overflowing while it floats ([#31567](https://github.com/ionic-team/ionic-framework/issues/31567)) ([ecd6f5a](https://github.com/ionic-team/ionic-framework/commit/ecd6f5a7c0ed987f4357b7a0e3954d9291be170d))
* **nav:** defer non-animated swipe back until the gesture completes ([#31552](https://github.com/ionic-team/ionic-framework/issues/31552)) ([5f3f5fc](https://github.com/ionic-team/ionic-framework/commit/5f3f5fcae2bc83cb4301bc6e47c7e0b64f6d3d76)), closes [#29793](https://github.com/ionic-team/ionic-framework/issues/29793)
* **vue-router:** keep back working after replacing a page in tabs ([#31583](https://github.com/ionic-team/ionic-framework/issues/31583)) ([86390f6](https://github.com/ionic-team/ionic-framework/commit/86390f6deab23b58498c3b9ae782f9e0fc5a4e29)), closes [#30617](https://github.com/ionic-team/ionic-framework/issues/30617) [#31142](https://github.com/ionic-team/ionic-framework/issues/31142)


## [9.0.8](https://github.com/ionic-team/ionic-framework/compare/v9.0.7...v9.0.8) (2026-10-14)

### Bug Fixes

* **angular, vue:** fire lifecycle events on nested pages ([#31532](https://github.com/ionic-team/ionic-framework/issues/31532)) ([277097e](https://github.com/ionic-team/ionic-framework/commit/277097e1dfa13d8b34a6826aca462843810fc8f1)), closes [#30831](https://github.com/ionic-team/ionic-framework/issues/30831) [#16834](https://github.com/ionic-team/ionic-framework/issues/16834)
* **angular:** update route snapshot on query param navigation ([#31534](https://github.com/ionic-team/ionic-framework/issues/31534)) ([6b5afec](https://github.com/ionic-team/ionic-framework/commit/6b5afec5b8d2a8df79c014120b5be5b4fbb2a2cb)), closes [#24587](https://github.com/ionic-team/ionic-framework/issues/24587)
* **modal:** stop sheets dismissing on upward drags ([#31553](https://github.com/ionic-team/ionic-framework/issues/31553)) ([3e3544e](https://github.com/ionic-team/ionic-framework/commit/3e3544e4303d9dd49eb834cddddacd54bbe01fe4))
* **react-router:** stop hidden views from re-rendering on every navigation ([#31541](https://github.com/ionic-team/ionic-framework/issues/31541)) ([4ae0196](https://github.com/ionic-team/ionic-framework/commit/4ae01961e8ed65e26369e09d478fabeffba5ed6d)), closes [#31528](https://github.com/ionic-team/ionic-framework/issues/31528)


## [9.0.7](https://github.com/ionic-team/ionic-framework/compare/v9.0.6...v9.0.7) (2026-10-07)

### Bug Fixes

* **close-watcher:** allow back navigation when nothing is open ([#31520](https://github.com/ionic-team/ionic-framework/issues/31520)) ([6532bcb](https://github.com/ionic-team/ionic-framework/commit/6532bcbcf5b69f33724a66ab76720ec645adb00b)), closes [#29648](https://github.com/ionic-team/ionic-framework/issues/29648)
* **css:** stop emitting :host-context selectors in global stylesheets ([#31516](https://github.com/ionic-team/ionic-framework/issues/31516)) ([35bd2fa](https://github.com/ionic-team/ionic-framework/commit/35bd2fa9f1046b3f5fd3cd6b3778b0b5945be99c)), closes [#30024](https://github.com/ionic-team/ionic-framework/issues/30024)
* **input-otp:** sync value when length changes ([#31485](https://github.com/ionic-team/ionic-framework/issues/31485)) ([e425825](https://github.com/ionic-team/ionic-framework/commit/e425825815d3c0ab39800912558624b9de72dc6f)), closes [#31484](https://github.com/ionic-team/ionic-framework/issues/31484) [#31484](https://github.com/ionic-team/ionic-framework/issues/31484)
* **react:** prevent error when an outlet unmounts before it's ready ([#31517](https://github.com/ionic-team/ionic-framework/issues/31517)) ([d5bab2e](https://github.com/ionic-team/ionic-framework/commit/d5bab2e89548311b2e3f62b5fe2be477685cb06d)), closes [#31513](https://github.com/ionic-team/ionic-framework/issues/31513)
* **vue-router:** render the redirect target when a guard redirects ([#31510](https://github.com/ionic-team/ionic-framework/issues/31510)) ([643584b](https://github.com/ionic-team/ionic-framework/commit/643584b3ac2ba1ca263cbf53960ccde3be2a96fc))
* **vue-router:** reset tab with memory history ([#31511](https://github.com/ionic-team/ionic-framework/issues/31511)) ([edbc304](https://github.com/ionic-team/ionic-framework/commit/edbc304fbc4179a668d0e170241abd78311fdb62)), closes [#29785](https://github.com/ionic-team/ionic-framework/issues/29785)


## [9.0.6](https://github.com/ionic-team/ionic-framework/compare/v9.0.5...v9.0.6) (2026-09-30)

### Bug Fixes

* **react-router:** dispatch view lifecycle events on non-animated transitions ([#31497](https://github.com/ionic-team/ionic-framework/issues/31497)) ([f01e9a7](https://github.com/ionic-team/ionic-framework/commit/f01e9a754d1267e2cdd60aae5d292ebbf2ef3deb)), closes [#31479](https://github.com/ionic-team/ionic-framework/issues/31479)
* **react-router:** keep splat route page mounted when a sibling route is pushed ([#31481](https://github.com/ionic-team/ionic-framework/issues/31481)) ([1130c2c](https://github.com/ionic-team/ionic-framework/commit/1130c2cc259c914a0a11fbe0976f4163de8d0e6e)), closes [#31477](https://github.com/ionic-team/ionic-framework/issues/31477)


## [9.0.5](https://github.com/ionic-team/ionic-framework/compare/v9.0.4...v9.0.5) (2026-09-23)

### Bug Fixes
Expand Down
Loading
Loading