Bug Fixes
- all: improve support for ids with special characters when getting label element (#22680) (19d63f6), closes #22678
- header: collapsed toolbar is no longer incorrectly shown when using ion-refresher (#22937) (5300dcc), closes #22829
- label: only show placeholder with floating label when focused (#22958) (9282aa6), closes #17571
- progress-bar: use correct theme colors in dark mode (#22965) (b6b2714), closes #20098
- radio-group: pressing space no longer jumps screen to bottom of page (#22892) (3a0465e), closes #22716
- react: IonRouterOutlet now respects animated={false} prop (#22905) (da1b7a0), closes #22903
- react: onIonTabsWillChange and onIonTabsDidChange event handlers are now properly bound to IonTabs (#22233) (b064fde)
- react, vue: navigating using ion-back-button now selects correct page (#22974) (cd8ffd8), closes #22830
- react, vue: tab buttons no longer throw an error if href is undefined (#22998) (943e3f6), closes #22997
- refresher: add correct dark mode styles (#22639) (c05476b), closes #22637
- vue: correctly remove active state from tab button when navigating away from tab (#23000) (a2763af), closes #22597
- vue: prevent race conditions when opening overlays (#22883) (68a9b80), closes #22880
Features
- custom-elements: add experimental custom elements build (#22863) (0de75af)
- progress-bar: add parts for more design customization (#22938) (e256d3f), closes #20062 #21820
- react: add react hooks to control overlay components (#22484) (b83e009)
- searchbar: add showClearIcon property (#22759) (215eb5d), closes #22738
- vue: add composition API ionic lifecycle hooks (#22970) (dd1c8db), closes #22769