# Release Notes

URL: https://ionicframework.com/docs/reference/release-notes

A complete release history for Ionic Framework is available[on GitHub](https://github.com/ionic-team/ionic-framework/releases). Documentation for recent releases can also be found below. See versioning for information about our[policy and commitment to stability](/docs/reference/versioning.md). [## 9.0.5](https://github.com/ionic-team/ionic-framework/releases/v9.0.5) patch Latest Production Version

### September 23 2026

### Bug Fixes

- **button:** sync aria attributes between host and native button ( [#31264](https://github.com/ionic-team/ionic-framework/issues/31264)) ( [e771519](https://github.com/ionic-team/ionic-framework/commit/e771519373e787af0ad83611932ee113bc372a6e) ), closes [#30626](https://github.com/ionic-team/ionic-framework/issues/30626)
- **datetime:** tear down ready state only when the host is hidden ( [#31460](https://github.com/ionic-team/ionic-framework/issues/31460)) ( [bf0607e](https://github.com/ionic-team/ionic-framework/commit/bf0607eece4703fc0d812e59a3a9b2c87fce7b09) ), closes [#30933](https://github.com/ionic-team/ionic-framework/issues/30933)
- **popover:** account for CSS zoom in positioning and sizing ( [#31426](https://github.com/ionic-team/ionic-framework/issues/31426)) ( [96ff7df](https://github.com/ionic-team/ionic-framework/commit/96ff7dff6d7a1c449b7ac2c5e0fc98f21f5f134e) ), closes [#30919](https://github.com/ionic-team/ionic-framework/issues/30919)[#31047](https://github.com/ionic-team/ionic-framework/issues/31047)
- **vue:** respect config log level ( [#31452](https://github.com/ionic-team/ionic-framework/issues/31452)) ( [edb3e48](https://github.com/ionic-team/ionic-framework/commit/edb3e48e28f3829da6a2a6ea436978b9ab92766d))

[## 9.0.4](https://github.com/ionic-team/ionic-framework/releases/v9.0.4) patch

### September 16 2026

### Bug Fixes

- **input, select, textarea:** emit one click event when slotted content is clicked ( [#31423](https://github.com/ionic-team/ionic-framework/issues/31423)) ( [d6acf12](https://github.com/ionic-team/ionic-framework/commit/d6acf12477d1f6633580a10b4655c5ddb382844f))
- **input, textarea:** keep the value visible when slotted content is wide ( [#31435](https://github.com/ionic-team/ionic-framework/issues/31435)) ( [1fb47c5](https://github.com/ionic-team/ionic-framework/commit/1fb47c55fbc590ef38b0b9600d1287be7a2177f1))
- **modal:** prevent ion-content collapsing at content-based heights ( [#31413](https://github.com/ionic-team/ionic-framework/issues/31413)) ( [8a713ab](https://github.com/ionic-team/ionic-framework/commit/8a713ab84e4a4fdfe2eba68142cfd65ec1fd13b4) ), closes [#31149](https://github.com/ionic-team/ionic-framework/issues/31149)

[## 9.0.3](https://github.com/ionic-team/ionic-framework/releases/v9.0.3) patch

### September 9 2026

### Bug Fixes

- **vue-router:** clear navigation info when a guard aborts navigation ( [#31364](https://github.com/ionic-team/ionic-framework/issues/31364)) ( [8d41b5f](https://github.com/ionic-team/ionic-framework/commit/8d41b5fff1f36b33ba3ccbd1bbf93a728ace3de6) ), closes [#29721](https://github.com/ionic-team/ionic-framework/issues/29721)
- **vue:** support attribute autocomplete in WebStorm ( [#31419](https://github.com/ionic-team/ionic-framework/issues/31419)) ( [49d6339](https://github.com/ionic-team/ionic-framework/commit/49d6339644b71a3289e34650687c1f99b3ee21f4))

[## 9.0.2](https://github.com/ionic-team/ionic-framework/releases/v9.0.2) patch

### September 2 2026

### Bug Fixes

- **angular:** restore change detection for routed pages ( [#31414](https://github.com/ionic-team/ionic-framework/issues/31414)) ( [65def73](https://github.com/ionic-team/ionic-framework/commit/65def730d3c762c943fca8df82d9fa312360eeef) ), closes [#31406](https://github.com/ionic-team/ionic-framework/issues/31406)
- **sanitization:** match onload case- and space-insensitively ( [#31417](https://github.com/ionic-team/ionic-framework/issues/31417)) ( [ae7d44e](https://github.com/ionic-team/ionic-framework/commit/ae7d44ebdee434d5eceb5ae03b68f9bcc17e6f7b))
- **vue:** fix web types for `@ionic/vue` ( [#30782](https://github.com/ionic-team/ionic-framework/issues/30782)) ( [6c33552](https://github.com/ionic-team/ionic-framework/commit/6c335525a4a46f6d6c26e3946a5111dc34f1d0b3))

[## 9.0.1](https://github.com/ionic-team/ionic-framework/releases/v9.0.1) patch

### August 26 2026

### Bug Fixes

- **core:** restore prop defaults when consumers downlevel ( [#31375](https://github.com/ionic-team/ionic-framework/issues/31375)) ( [b4174f9](https://github.com/ionic-team/ionic-framework/commit/b4174f96f5061ebc93119cc7e1363162ae666ae9))
- **item-sliding, segment-button:** read props after frameworks assign them ( [#31391](https://github.com/ionic-team/ionic-framework/issues/31391)) ( [7956b97](https://github.com/ionic-team/ionic-framework/commit/7956b973b8bb55e5f0cae844ee992fe9921432cb) ), closes [#31388](https://github.com/ionic-team/ionic-framework/issues/31388)
- **overlays:** restore presented state after a DOM move ( [#31400](https://github.com/ionic-team/ionic-framework/issues/31400)) ( [bfff8e1](https://github.com/ionic-team/ionic-framework/commit/bfff8e1377a8faff3581e61026733ce29b671513) ), closes [#31389](https://github.com/ionic-team/ionic-framework/issues/31389)[#31390](https://github.com/ionic-team/ionic-framework/issues/31390)
- **picker-column:** commit value on outside press ( [#31397](https://github.com/ionic-team/ionic-framework/issues/31397)) ( [95e2224](https://github.com/ionic-team/ionic-framework/commit/95e222488d4e4bac9c6c8c0b42a2154082846767) ), closes [#30449](https://github.com/ionic-team/ionic-framework/issues/30449)[#30674](https://github.com/ionic-team/ionic-framework/issues/30674)
- **react-router:** skip page clone when nothing will animate ( [#31387](https://github.com/ionic-team/ionic-framework/issues/31387)) ( [898001c](https://github.com/ionic-team/ionic-framework/commit/898001c5c6a92a3269dd8e60c4e79da1c634af9d))
- **refresher:** validate slot after frameworks assign it ( [#31377](https://github.com/ionic-team/ionic-framework/issues/31377)) ( [d41f258](https://github.com/ionic-team/ionic-framework/commit/d41f25860dcb9a71a40226973cca9ca223b7f7ca) ), closes [#31376](https://github.com/ionic-team/ionic-framework/issues/31376)
- **select:** derive option text from all child nodes ( [#31382](https://github.com/ionic-team/ionic-framework/issues/31382)) ( [7879ec5](https://github.com/ionic-team/ionic-framework/commit/7879ec5763be92b4ecf03c6c58975265166e33ba) ), closes [#31381](https://github.com/ionic-team/ionic-framework/issues/31381)

### Dependencies

- **stencil:** upgrade `@stencil/core` to `4.44.2` and `@stencil/vue-output-target` to `0.14.2` ( [#31407](https://github.com/ionic-team/ionic-framework/pull/31407)) ( [81bae3](https://github.com/ionic-team/ionic-framework/commit/81bae3987641e35196f55a0ed4701b3110943efa) ), closes [#31392](https://github.com/ionic-team/ionic-framework/issues/31392)[#31393](https://github.com/ionic-team/ionic-framework/issues/31393)[#31394](https://github.com/ionic-team/ionic-framework/issues/31394)

[## 9.0.0](https://github.com/ionic-team/ionic-framework/releases/v9.0.0) major

### August 19 2026

**Full Changelog**: https://github.com/ionic-team/ionic-framework/compare/v8.8.19...v9.0.0

**Migration guide**: https://ionicframework.com/docs/updating/9-0

**Breaking changes**: https://github.com/ionic-team/ionic-framework/blob/main/BREAKING.md#version-9x

[## 8.8.19](https://github.com/ionic-team/ionic-framework/releases/v8.8.19) patch

### August 19 2026

### Bug Fixes

- **gesture:** remove leaked optsTest listener from passive support check ( [#31363](https://github.com/ionic-team/ionic-framework/issues/31363)) ( [c689000](https://github.com/ionic-team/ionic-framework/commit/c6890002df0a1ec5ac030626b1694e87022365c0) ), closes [#30539](https://github.com/ionic-team/ionic-framework/issues/30539)
- **menu:** respect ion-app dir attribute for menu animation side ( [#31246](https://github.com/ionic-team/ionic-framework/issues/31246)) ( [2618a6f](https://github.com/ionic-team/ionic-framework/commit/2618a6f7bd793ad09e38e4868d753189610eff9d) ), closes [#30226](https://github.com/ionic-team/ionic-framework/issues/30226)
- **range:** update knob positions when dualKnobs changes ( [#31365](https://github.com/ionic-team/ionic-framework/issues/31365)) ( [7d64d62](https://github.com/ionic-team/ionic-framework/commit/7d64d62a31d59078560575ad9c4fc67a8e49e524) ), closes [#31026](https://github.com/ionic-team/ionic-framework/issues/31026)

[## 8.8.18](https://github.com/ionic-team/ionic-framework/releases/v8.8.18) patch

### August 12 2026

### Bug Fixes

- **core:** resolve lazy component chunks under Vite 8 ( [#31341](https://github.com/ionic-team/ionic-framework/issues/31341)) ( [a73e183](https://github.com/ionic-team/ionic-framework/commit/a73e1831d389e6dc968f646c0322b3984c1d3224) ), closes [#31333](https://github.com/ionic-team/ionic-framework/issues/31333)
- **core:** update offsets when safe-area insets arrive late ( [#31343](https://github.com/ionic-team/ionic-framework/issues/31343)) ( [bc4fce2](https://github.com/ionic-team/ionic-framework/commit/bc4fce218d6c3aaac69f11d416b9fc8c8dacdfa4) ), closes [#31337](https://github.com/ionic-team/ionic-framework/issues/31337)
- **datetime:** tear down ready state when an overlay dismisses ( [#31335](https://github.com/ionic-team/ionic-framework/issues/31335)) ( [d59e341](https://github.com/ionic-team/ionic-framework/commit/d59e3415df06cb26a7dea688f6720ba228b775d5) ), closes [#31155](https://github.com/ionic-team/ionic-framework/issues/31155)[#31143](https://github.com/ionic-team/ionic-framework/issues/31143)
- **modal:** allow pull-to-refresh with a custom scroll host ( [#31339](https://github.com/ionic-team/ionic-framework/issues/31339)) ( [d6202a8](https://github.com/ionic-team/ionic-framework/commit/d6202a8933ad77735fceca05cb4b0fe6b33bfb55) ), closes [#31332](https://github.com/ionic-team/ionic-framework/issues/31332)

[## 8.8.17](https://github.com/ionic-team/ionic-framework/releases/v8.8.17) patch

### August 5 2026

### Bug Fixes

- **checkbox,radio,toggle:** add missing keyboard focus indicators ( [#31295](https://github.com/ionic-team/ionic-framework/issues/31295)) ( [2f9c0b7](https://github.com/ionic-team/ionic-framework/commit/2f9c0b7d8fa6371785cfdf1d99857eece4835e4d))
- **fab-button:** restore submit, reset, and disabled form functionality ( [#31249](https://github.com/ionic-team/ionic-framework/issues/31249)) ( [93ee380](https://github.com/ionic-team/ionic-framework/commit/93ee38015125619509b9aa844d6f0025be0a71b7) ), closes [#18550](https://github.com/ionic-team/ionic-framework/issues/18550)
- **react-router:** symmetric pathname+search url comparison ( [#31153](https://github.com/ionic-team/ionic-framework/issues/31153)) ( [ffef25d](https://github.com/ionic-team/ionic-framework/commit/ffef25d2e2597bee5fdb8833d9e50ff9234d74e0) ), closes [#31152](https://github.com/ionic-team/ionic-framework/issues/31152)[#25534](https://github.com/ionic-team/ionic-framework/issues/25534)
- **refresher:** avoid gesture setup after disconnect ( [#31316](https://github.com/ionic-team/ionic-framework/issues/31316)) ( [d9b877f](https://github.com/ionic-team/ionic-framework/commit/d9b877f6059992808cccec503dbe2a30f6ccdb48) ), closes [#31315](https://github.com/ionic-team/ionic-framework/issues/31315)
- **tab:** retry lazy load after a failed attach ( [#31324](https://github.com/ionic-team/ionic-framework/issues/31324)) ( [81b52e2](https://github.com/ionic-team/ionic-framework/commit/81b52e25bd8fa55b905da2791d84b381a2db630b))

[## 8.8.16](https://github.com/ionic-team/ionic-framework/releases/v8.8.16) patch

### July 29 2026

### Bug Fixes

- **angular:** guard transition against destroyed router outlet ( [#31297](https://github.com/ionic-team/ionic-framework/issues/31297)) ( [fdef61c](https://github.com/ionic-team/ionic-framework/commit/fdef61cc74285caff0549ba8bdac70cedaaba865) ), closes [#31296](https://github.com/ionic-team/ionic-framework/issues/31296)
- **modal:** keep focus on dialog for cycle sheet modals ( [#31293](https://github.com/ionic-team/ionic-framework/issues/31293)) ( [b4b2603](https://github.com/ionic-team/ionic-framework/commit/b4b2603210b313fc2f2ee2c88b9112751e24b338))
- **select:** prevent floating label and placeholder from overlapping when focused ( [#31276](https://github.com/ionic-team/ionic-framework/issues/31276)) ( [e987009](https://github.com/ionic-team/ionic-framework/commit/e9870091c2f7460a1dc12c4b407ddfde39e1b156) ), closes [#30401](https://github.com/ionic-team/ionic-framework/issues/30401)

[## 8.8.15](https://github.com/ionic-team/ionic-framework/releases/v8.8.15) patch

### July 22 2026

### Bug Fixes

- **angular-server:** fallback to scoped+annotations when SSR DOM lacks attachShadow ( [#30967](https://github.com/ionic-team/ionic-framework/issues/30967)) ( [ae6911f](https://github.com/ionic-team/ionic-framework/commit/ae6911f6c8d46467ae54114295688bbba5ccbf5e) ), closes [#29751](https://github.com/ionic-team/ionic-framework/issues/29751)
- **modal:** focus the dialog wrapper on present so screen readers can enter the modal ( [#31260](https://github.com/ionic-team/ionic-framework/issues/31260)) ( [6251eb8](https://github.com/ionic-team/ionic-framework/commit/6251eb85db0e5b43b9e09604248dc8451e1664c0))

[## 8.8.14](https://github.com/ionic-team/ionic-framework/releases/v8.8.14) patch

### July 15 2026

### Bug Fixes

- **tab-bar:** fire tab change events on tab click ( [#31262](https://github.com/ionic-team/ionic-framework/issues/31262)) ( [44461dd](https://github.com/ionic-team/ionic-framework/commit/44461ddda5ef44030f477931dd94cce4674801a6) ), closes [#30145](https://github.com/ionic-team/ionic-framework/issues/30145)

[## 8.8.13](https://github.com/ionic-team/ionic-framework/releases/v8.8.13) patch

### July 1 2026

### Bug Fixes

- **button:** sync disabled state and type in renderHiddenButton ( [#31225](https://github.com/ionic-team/ionic-framework/issues/31225)) ( [0c76135](https://github.com/ionic-team/ionic-framework/commit/0c76135f8c373dfad66a65717092ffd4d52461c5) ), closes [#30968](https://github.com/ionic-team/ionic-framework/issues/30968)
- **datetime-button:** respect datetime constraints in initial text ( [#31218](https://github.com/ionic-team/ionic-framework/issues/31218)) ( [044f358](https://github.com/ionic-team/ionic-framework/commit/044f3589f184b51f093419556a38d1a0ff2413d6) ), closes [#30183](https://github.com/ionic-team/ionic-framework/issues/30183)
- **datetime:** don't setActiveParts from month/year wheels when multiple=true ( [#31248](https://github.com/ionic-team/ionic-framework/issues/31248)) ( [bf46a3d](https://github.com/ionic-team/ionic-framework/commit/bf46a3d7405e77c28659dbfc0a094023a9e8bd87) ), closes [#29673](https://github.com/ionic-team/ionic-framework/issues/29673)
- **datetime:** respect config animated setting when paging month calendar ( [#31227](https://github.com/ionic-team/ionic-framework/issues/31227)) ( [a35f8a9](https://github.com/ionic-team/ionic-framework/commit/a35f8a98e31f5895e36c845484207f3ed4c74689) ), closes [#30484](https://github.com/ionic-team/ionic-framework/issues/30484)

[## 8.8.12](https://github.com/ionic-team/ionic-framework/releases/v8.8.12) patch

### June 24 2026

### Bug Fixes

- **angular:** honor modifier-click on routerLink ( [#31230](https://github.com/ionic-team/ionic-framework/issues/31230)) ( [2ac9851](https://github.com/ionic-team/ionic-framework/commit/2ac98512c78f6d47e3a6a17ff0159047ba14a5cd) ), closes [#26394](https://github.com/ionic-team/ionic-framework/issues/26394)
- **angular:** run change detection on attached overlay views ( [#31235](https://github.com/ionic-team/ionic-framework/issues/31235)) ( [8e76fd0](https://github.com/ionic-team/ionic-framework/commit/8e76fd0cceeb878ad4b071515acb593892512111) ), closes [#31220](https://github.com/ionic-team/ionic-framework/issues/31220)

[## 8.8.11](https://github.com/ionic-team/ionic-framework/releases/v8.8.11) patch

### June 17 2026

### Bug Fixes

- **react:** remove relocated inline overlays orphaned on unmount ( [#31223](https://github.com/ionic-team/ionic-framework/issues/31223)) ( [d28d25b](https://github.com/ionic-team/ionic-framework/commit/d28d25b798d32db6148155bb34fdbd13243286d9))
- **searchbar:** fix search icon sometimes being offset incorrectly ( [#31212](https://github.com/ionic-team/ionic-framework/issues/31212)) ( [3394c30](https://github.com/ionic-team/ionic-framework/commit/3394c305b5141326cc045132507dff62dd0e4dd6) ), closes [#30434](https://github.com/ionic-team/ionic-framework/issues/30434)

[## 8.8.10](https://github.com/ionic-team/ionic-framework/releases/v8.8.10) patch

### June 10 2026

### Bug Fixes

- **modal:** prevent sheet gesture crash with late-bound breakpoints ( [#31202](https://github.com/ionic-team/ionic-framework/issues/31202)) ( [c61265a](https://github.com/ionic-team/ionic-framework/commit/c61265adb5891b24d4d413245244ee8dcf61757e))

[## 8.8.9](https://github.com/ionic-team/ionic-framework/releases/v8.8.9) patch

### June 3 2026

### Bug Fixes

- **router:** support anchor fragments in href ( [#31172](https://github.com/ionic-team/ionic-framework/issues/31172)) ( [a982516](https://github.com/ionic-team/ionic-framework/commit/a982516afad1e848534db702694ef47f5e49c78d) ), closes [#19566](https://github.com/ionic-team/ionic-framework/issues/19566)[#19365](https://github.com/ionic-team/ionic-framework/issues/19365)

[## 8.8.8](https://github.com/ionic-team/ionic-framework/releases/v8.8.8) patch

### May 20 2026

### Bug Fixes

- **react:** bind events properly for overlays rendered within a nav ( [#31159](https://github.com/ionic-team/ionic-framework/issues/31159)) ( [fa4593d](https://github.com/ionic-team/ionic-framework/commit/fa4593d8a4d61a583dbf6fa551cd846fe258624f) ), closes [#27843](https://github.com/ionic-team/ionic-framework/issues/27843)
- **tabs:** preserve query params and fragment from tab button href ( [#31154](https://github.com/ionic-team/ionic-framework/issues/31154)) ( [0182bba](https://github.com/ionic-team/ionic-framework/commit/0182bba06d6171dd2faf80556fd2131abf03fa93) ), closes [#25470](https://github.com/ionic-team/ionic-framework/issues/25470)
- **vue-router:** prevent out-of-bounds index when popping across tabs ( [#31148](https://github.com/ionic-team/ionic-framework/issues/31148)) ( [c88c0de](https://github.com/ionic-team/ionic-framework/commit/c88c0de3ade92469fa1f37e1b8220911adf113e0) ), closes [#29413](https://github.com/ionic-team/ionic-framework/issues/29413)

[## 8.8.7](https://github.com/ionic-team/ionic-framework/releases/v8.8.7) patch

### May 13 2026

### Bug Fixes

- **alert:** switch to vertical layout when two buttons wrap ( [#31130](https://github.com/ionic-team/ionic-framework/issues/31130)) ( [07675f9](https://github.com/ionic-team/ionic-framework/commit/07675f9ed976867827301808dc7d9e857f8a33ae))
- **input:** scroll assist no longer fires duplicate click events ( [#31124](https://github.com/ionic-team/ionic-framework/issues/31124)) ( [4670996](https://github.com/ionic-team/ionic-framework/commit/4670996a41e406cc831f0982923d3bde7572eb88) ), closes [#30412](https://github.com/ionic-team/ionic-framework/issues/30412)

[## 8.8.6](https://github.com/ionic-team/ionic-framework/releases/v8.8.6) patch

### May 6 2026

### Bug Fixes

- **action-sheet:** restore action-sheet-selected class on non-radio buttons ( [#31109](https://github.com/ionic-team/ionic-framework/issues/31109)) ( [c18502f](https://github.com/ionic-team/ionic-framework/commit/c18502f3efdec5440a11289235a93c62ce27ab89) ), closes [#31090](https://github.com/ionic-team/ionic-framework/issues/31090)
- **datetime:** prevent hidden-state observer from tearing down ready class on initial entry ( [#31108](https://github.com/ionic-team/ionic-framework/issues/31108)) ( [30b479a](https://github.com/ionic-team/ionic-framework/commit/30b479a53acbc16961002df256bec358dc11e7fa))
- **segment:** segment drag would set disabled segment button checked ( [#31112](https://github.com/ionic-team/ionic-framework/issues/31112)) ( [44be424](https://github.com/ionic-team/ionic-framework/commit/44be424221bee11ffbe91c4b1fa0a4d56fe1ecac))

[## 8.8.5](https://github.com/ionic-team/ionic-framework/releases/v8.8.5) patch

### April 29 2026

### Bug Fixes

- **modal:** remove safe-area gap and flash in fullscreen modals ( [#31092](https://github.com/ionic-team/ionic-framework/issues/31092)) ( [f3cd39b](https://github.com/ionic-team/ionic-framework/commit/f3cd39b7fb291286374285c4a326ec6b9a8ea237) ), closes [#31015](https://github.com/ionic-team/ionic-framework/issues/31015)
- **select:** select focused option on Enter in popover and modal interfaces ( [#31093](https://github.com/ionic-team/ionic-framework/issues/31093)) ( [fd79771](https://github.com/ionic-team/ionic-framework/commit/fd79771e5be77c9f38379a3a7b9ab44bb11ff325) ), closes [#30561](https://github.com/ionic-team/ionic-framework/issues/30561)

[## 8.8.4](https://github.com/ionic-team/ionic-framework/releases/v8.8.4) patch

### April 15 2026

### Bug Fixes

- **checkbox:** show labels after page navigation ( [#31062](https://github.com/ionic-team/ionic-framework/issues/31062)) ( [f4ac445](https://github.com/ionic-team/ionic-framework/commit/f4ac4459f8317bd5eeff7d4809f9cb0991c8efd9) ), closes [#31052](https://github.com/ionic-team/ionic-framework/issues/31052)
- **datetime:** multiple month selected and flakiness display ( [#31053](https://github.com/ionic-team/ionic-framework/issues/31053)) ( [308aef5](https://github.com/ionic-team/ionic-framework/commit/308aef569d8c6ebc3ad2186bca6969da8e4b2a8d))
- **tab-button:** update dark palette focused background color ( [#31050](https://github.com/ionic-team/ionic-framework/issues/31050)) ( [dec46b5](https://github.com/ionic-team/ionic-framework/commit/dec46b5d317080dd5d97dc056f0d8e6d4c8c45ac))

[## 8.8.3](https://github.com/ionic-team/ionic-framework/releases/v8.8.3) patch

### April 1 2026

### Bug Fixes

- **datetime:** scroll failing for adjacent days on ios ( [#31033](https://github.com/ionic-team/ionic-framework/issues/31033)) ( [3afd67f](https://github.com/ionic-team/ionic-framework/commit/3afd67f997521290a34c4448445ae227dc67f8f1))
- **input-otp:** prevent deletion and paste when disabled or readonly ( [#30983](https://github.com/ionic-team/ionic-framework/issues/30983)) ( [81aa977](https://github.com/ionic-team/ionic-framework/commit/81aa977fde4867146adf67fcf72e24026574929c) ), closes [#30913](https://github.com/ionic-team/ionic-framework/issues/30913)

[## 8.8.2](https://github.com/ionic-team/ionic-framework/releases/v8.8.2) patch

### March 25 2026

### Bug Fixes

- **angular:** forward generic type parameter on ModalOptions and PopoverOptions ( [#31022](https://github.com/ionic-team/ionic-framework/issues/31022)) ( [cbfe7cc](https://github.com/ionic-team/ionic-framework/commit/cbfe7cce3be345eacbf9fe29e74438a927c16679) ), closes [#31012](https://github.com/ionic-team/ionic-framework/issues/31012)
- **checkbox:** re-evaluate label visibility when label is updated ( [#30980](https://github.com/ionic-team/ionic-framework/issues/30980)) ( [ce83407](https://github.com/ionic-team/ionic-framework/commit/ce83407e1debbe74f20d2d6dc2535a0ef3f974a0) ), closes [#30632](https://github.com/ionic-team/ionic-framework/issues/30632)
- **datetime:** days keep in focus after changing the month ( [#31021](https://github.com/ionic-team/ionic-framework/issues/31021)) ( [5fdaba2](https://github.com/ionic-team/ionic-framework/commit/5fdaba2b021fe8b2b43a49eae7c687544c97d502))

[## 8.8.1](https://github.com/ionic-team/ionic-framework/releases/v8.8.1) patch

### March 6 2026

### Bug Fixes

- **accordion:** update tabindex based on disabled state ( [#30986](https://github.com/ionic-team/ionic-framework/issues/30986)) ( [0e76a69](https://github.com/ionic-team/ionic-framework/commit/0e76a69370083702568825c29d63cf257d6b88f1))
- **angular:** export RefresherPullEnd types ( [#30991](https://github.com/ionic-team/ionic-framework/issues/30991)) ( [72abcca](https://github.com/ionic-team/ionic-framework/commit/72abccaad8df3c1db004da28610fddd95ac93c02))

### Features

- **toast:** add wrapper and content parts (originally intended for 8.8.0 but omitted from that release) ( [#30992](https://github.com/ionic-team/ionic-framework/issues/30992)) ( [366f00e](https://github.com/ionic-team/ionic-framework/commit/366f00e25f06e28aa7166275445716c2d301e44a) ), closes [#30735](https://github.com/ionic-team/ionic-framework/issues/30735)

[## 8.8.0](https://github.com/ionic-team/ionic-framework/releases/v8.8.0) minor

### March 4 2026

### Features

- **angular:** add custom injector support for modal and popover controllers ( [#30899](https://github.com/ionic-team/ionic-framework/issues/30899)) ( [822da42](https://github.com/ionic-team/ionic-framework/commit/822da428af86cd9b036b81515272321eb8fa586c) ), closes [#30638](https://github.com/ionic-team/ionic-framework/issues/30638)
- **content:** add content-fullscreen class when fullscreen is true ( [#30926](https://github.com/ionic-team/ionic-framework/issues/30926)) ( [d74b11b](https://github.com/ionic-team/ionic-framework/commit/d74b11bc19d6268b256daf23ba6f107483c00320))
- **datetime:** add header parts ( [#30945](https://github.com/ionic-team/ionic-framework/issues/30945)) ( [6ea186d](https://github.com/ionic-team/ionic-framework/commit/6ea186d96d80a94b774d4d0a51d536e0e5599935) ), closes [#30083](https://github.com/ionic-team/ionic-framework/issues/30083)[#30830](https://github.com/ionic-team/ionic-framework/issues/30830)
- **datetime:** add wheel part to ion-picker-column ( [#30934](https://github.com/ionic-team/ionic-framework/issues/30934)) ( [0cf4c03](https://github.com/ionic-team/ionic-framework/commit/0cf4c03e298bb4f7eea71c966a1473765ebd6d7a) ), closes [#30420](https://github.com/ionic-team/ionic-framework/issues/30420)
- **item-divider:** add inner and container parts ( [#30928](https://github.com/ionic-team/ionic-framework/issues/30928)) ( [5cdeb7f](https://github.com/ionic-team/ionic-framework/commit/5cdeb7fd357298f15e7ae29b14412d97bdc7c656))
- **item-option:** add inner and container parts ( [#30929](https://github.com/ionic-team/ionic-framework/issues/30929)) ( [f8f7ffd](https://github.com/ionic-team/ionic-framework/commit/f8f7ffda318c0143d9bb5c79fe55b4ecb88e6ce3))
- **item:** add inner and container parts ( [#30927](https://github.com/ionic-team/ionic-framework/issues/30927)) ( [a2c6559](https://github.com/ionic-team/ionic-framework/commit/a2c655923bb1cff51864949575e19028623c695d))
- **list-header:** add inner part ( [#30930](https://github.com/ionic-team/ionic-framework/issues/30930)) ( [ef73476](https://github.com/ionic-team/ionic-framework/commit/ef73476e08670630907e775a38f9ed30a84e3f1f))
- **modal:** add drag events for sheet and card modals ( [#30962](https://github.com/ionic-team/ionic-framework/issues/30962)) ( [d29ac71](https://github.com/ionic-team/ionic-framework/commit/d29ac713fad604c256fb385eb0c26eb9717e1ff4) ), closes [#23955](https://github.com/ionic-team/ionic-framework/issues/23955)
- **range:** add classes and expose parts to allow individual styling of dual knobs ( [#30941](https://github.com/ionic-team/ionic-framework/issues/30941)) ( [5bcf921](https://github.com/ionic-team/ionic-framework/commit/5bcf92184118055483bf306ab9e319b8e3e61870) ), closes [#29862](https://github.com/ionic-team/ionic-framework/issues/29862)
- **range:** add classes to the range when the value is at the min or max ( [#30932](https://github.com/ionic-team/ionic-framework/issues/30932)) ( [fac1a66](https://github.com/ionic-team/ionic-framework/commit/fac1a6673c88a531f1d79656be4eb544f235f819))
- **refresher:** add ionPullStart and ionPullEnd events ( [#30946](https://github.com/ionic-team/ionic-framework/issues/30946)) ( [814c2e5](https://github.com/ionic-team/ionic-framework/commit/814c2e5ccd6d5bfda12bdf13a566cd66ff830d5b) ), closes [#24524](https://github.com/ionic-team/ionic-framework/issues/24524)
- **segment-view:** add swipeGesture property to disable swiping ( [#30948](https://github.com/ionic-team/ionic-framework/issues/30948)) ( [46806bd](https://github.com/ionic-team/ionic-framework/commit/46806bd6e2af90a0b31fca68f508c06d3d281ec0) ), closes [#30290](https://github.com/ionic-team/ionic-framework/issues/30290)
- **select:** add wrapper and bottom shadow parts ( [#30951](https://github.com/ionic-team/ionic-framework/issues/30951)) ( [5cea5ae](https://github.com/ionic-team/ionic-framework/commit/5cea5aeb44393edab7064e5980a1eb7e607d1b8d) ), closes [#29918](https://github.com/ionic-team/ionic-framework/issues/29918)
- **select:** pass cancelText property to modal interface ( [#30282](https://github.com/ionic-team/ionic-framework/issues/30282)) ( [6e4f60a](https://github.com/ionic-team/ionic-framework/commit/6e4f60af4c188ae04028b444aa21118ae27c2ca7) ), closes [#30295](https://github.com/ionic-team/ionic-framework/issues/30295)
- **textarea:** reflect disabled and readonly props ( [#30910](https://github.com/ionic-team/ionic-framework/issues/30910)) ( [55735df](https://github.com/ionic-team/ionic-framework/commit/55735df3fa62c8e259c56db3169f3d5459e71c0c) ), closes [#30911](https://github.com/ionic-team/ionic-framework/issues/30911)

[## 8.7.18](https://github.com/ionic-team/ionic-framework/releases/v8.7.18) patch

### February 25 2026

### Bug Fixes

- **datetime:** stretch ion-buttons to fill space for ios ( [#30963](https://github.com/ionic-team/ionic-framework/issues/30963)) ( [d46b0b1](https://github.com/ionic-team/ionic-framework/commit/d46b0b15f6a652da6f863cf303e7ce06cfc820a8))
- **many:** clear timeouts ( [#30851](https://github.com/ionic-team/ionic-framework/issues/30851)) ( [70b1237](https://github.com/ionic-team/ionic-framework/commit/70b1237823dd0cdab852486a6b2cbbfe0d0aaae9) ), closes [#30860](https://github.com/ionic-team/ionic-framework/issues/30860)
- **modal, popover:** respect safe area insets on popovers and modals ( [#30949](https://github.com/ionic-team/ionic-framework/issues/30949)) ( [6490797](https://github.com/ionic-team/ionic-framework/commit/6490797851cede3bfda893a19b10f165259ec988) ), closes [#28411](https://github.com/ionic-team/ionic-framework/issues/28411)
- **nav-controller:** reset direction state when navigation is canceled ( [#30955](https://github.com/ionic-team/ionic-framework/issues/30955)) ( [53172d1](https://github.com/ionic-team/ionic-framework/commit/53172d1a4035d5b510c230553aabd53dc1389e4b))
- **radio-group:** prevent DOMException and NotFoundError when filtering radios ( [#30958](https://github.com/ionic-team/ionic-framework/issues/30958)) ( [682a17e](https://github.com/ionic-team/ionic-framework/commit/682a17ebb754da7714989623cf84b75e715e20e1) ), closes [#30279](https://github.com/ionic-team/ionic-framework/issues/30279)[#30359](https://github.com/ionic-team/ionic-framework/issues/30359)
- **toast:** keep icon on the same line as long message in stacked layout ( [#30923](https://github.com/ionic-team/ionic-framework/issues/30923)) ( [442e3e9](https://github.com/ionic-team/ionic-framework/commit/442e3e983107a69cea4fb5587fb33da718eee8a3) ), closes [#30908](https://github.com/ionic-team/ionic-framework/issues/30908)

[## 8.7.17](https://github.com/ionic-team/ionic-framework/releases/v8.7.17) patch

### January 14 2026

### Bug Fixes

- **input:** prevent Android TalkBack from focusing label separately ( [#30895](https://github.com/ionic-team/ionic-framework/issues/30895)) ( [ab733b7](https://github.com/ionic-team/ionic-framework/commit/ab733b71dd355d9486757f219fe09acaefeeefcc))
- **input:** prevent placeholder from overlapping start slot during scroll assist ( [#30896](https://github.com/ionic-team/ionic-framework/issues/30896)) ( [3b3318d](https://github.com/ionic-team/ionic-framework/commit/3b3318da513b199128f3822bd8226797cd118b0f))
- **tab-bar:** prevent keyboard controller memory leak on rapid mount/unmount ( [#30906](https://github.com/ionic-team/ionic-framework/issues/30906)) ( [f99d000](https://github.com/ionic-team/ionic-framework/commit/f99d0007a8ffc9c7d3d2636e912c37c12112b21d))

[## 8.7.16](https://github.com/ionic-team/ionic-framework/releases/v8.7.16) patch

### December 31 2025

### Bug Fixes

- **modal:** prevent card modal animation on viewport resize when modal is closed ( [#30894](https://github.com/ionic-team/ionic-framework/issues/30894)) ( [e5634d4](https://github.com/ionic-team/ionic-framework/commit/e5634d45ee5fd32715f6e6b75e0448f74ee1f8f2) ), closes [#30679](https://github.com/ionic-team/ionic-framework/issues/30679)

[## 8.7.15](https://github.com/ionic-team/ionic-framework/releases/v8.7.15) patch

### December 23 2025

### Bug Fixes

- **core:** use Capacitor safe-area CSS variables on older WebViews ( [#30865](https://github.com/ionic-team/ionic-framework/issues/30865)) ( [8573bf8](https://github.com/ionic-team/ionic-framework/commit/8573bf8083f75eda13c954a56731a6aac8ca5724))
- **header:** show iOS condense header when app is in MD mode ( [#30690](https://github.com/ionic-team/ionic-framework/issues/30690)) ( [f83b000](https://github.com/ionic-team/ionic-framework/commit/f83b0005309400d674e43c497bdffbcb9d2c4d94) ), closes [#29929](https://github.com/ionic-team/ionic-framework/issues/29929)
- **input-password-toggle:** improve screen reader announcements ( [#30885](https://github.com/ionic-team/ionic-framework/issues/30885)) ( [12ede4b](https://github.com/ionic-team/ionic-framework/commit/12ede4b79c8d5cffc2b014c7c8a0d2ef1d3bf90d))
- **modal:** dismiss top-most overlay when multiple IDs match ( [#30883](https://github.com/ionic-team/ionic-framework/issues/30883)) ( [3b60a1d](https://github.com/ionic-team/ionic-framework/commit/3b60a1d68a1df1606ffee0bde7db7a206bac404a) ), closes [#30030](https://github.com/ionic-team/ionic-framework/issues/30030)

> To see more releases, visit [GitHub](https://github.com/ionic-team/ionic-framework/releases/).
