Bug Fixes
- action-sheet: show correct cancel button background on dark mode (#21084) (e442324), closes #21082
- all: correctly default gestures to use a passive listener (#21038) (dea9248)
- angular: do not navigate to the same tab if already active (#21085) (15203de), closes #21074 #19943
- back-button: announce back button text correctly by screen readers (#21053) (14c226c), closes #21043
- datetime: locale inputs are now reactive (#20826) (a75e8f3), closes #20367
- ios: account for nested tabs with page transition (#20955) (e23dec5), closes #20948
- ios: properly animate content when navigating from a tabbed page (#20918) (8a02b28), closes #20912
- loading: correctly announce spinner by screen readers (#21116) (63d8f62), closes #21107
- md: do not display blank screen when using MD page transition and swipe gesture (#21058) (4973807), closes #21056
- modal: properly inherit border radius for modals on Safari (#20887) (bd64509), closes #20878
- modal: swipeToClose property is now reactive (#21073) (4bd9134), closes #21072
- overlays: focus overlay when presented (#20997) (fc2be8d), closes #19882 #17126
- overlays: prevent accidental clicks when dismissing overlays (#21093) (671802f), closes #21092
- react: IonTabBar properly extends IonicReactProps (#21009) (102a842), closes #21006
- refresher: properly check for Haptics plugin on web (#21156) (c53b136), closes #21148
- refresher: properly calculate content dimensions in native ion-refresher (#21157) (83dcc71)
- router: account for query string when pushing page (#21071) (eab3373)
- searchbar: correctly announce the cancel button text by screen readers (#21049) (15a603b), closes #21013
- select: account for MutationObserver when performing SSR (#21068) (66e8e64), closes #21063
- slides: slides no longer break with Angular Ivy enabled (#20899) (3123a31), closes #20356
- split-pane: properly show border in rtl mode (#20995) (7a21708), closes #20994
- textarea: height is set correctly when using autoGrow in modals (#20971) (32ee040), closes #18993
Features
- all: add ability to continue processing hardware back button events (#20613) (3821c04), closes #17824
- all: add ability to eject from Ionic sanitizer (#20457) (fa9ddc9), closes #18277
- angular: support multi-app for ng-add schematic (#20768) (39e6c8f)
- animation: add option to clean up old animation stylesheets (#20940) (5b98405), closes #20610
- app: add keyboard open and close events (ionKeyboardDidShow and ionKeyboardDidHide) (#18478) (ae5f1dd)
- back-button: add backButtonDefaultHref property to Ionic Config (#20491) (1b11ff7), closes #19305
- checkbox: add parts support for container, mark (#20950) (d4b9151)
- content: add parts support for background, scroll (#20929) (578ab93)
- datetime: add parts support for placeholder, text (#20930) (76ca475)
- gesture: add option to run inside NgZone for Angular apps (#20685) (429edb0), closes #20529
- gesture: add support for blurring active inputs on gesture start (#20638) (32ecdd6), closes #20588
- img: add parts support for image (#20943) (63c75ed)
- input: add support for enterkeyhint (#21035) (3efaf43), closes #21034
- item: add parts support for detail-icon (#20979) (6414496)
- menu: add parts support for backdrop, container (#20978) (50bc212)
- radio: add parts support for container, mark (#20952) (228ca2b)
- range: add parts support for bar, bar-active, knob, pin, tick, tick-active (#20961) (619f67a)
- react: expose selectTab method and activeTab, closes #19935 (#21171) (43f9d24)
- reorder: add parts support for icon (#20960) (ba20209)
- searchbar: add border-radius css variable (#20662) (acaa1d9), closes #17426 #18247
- searchbar: add support for enterkeyhint (#21036) (e90683a), closes #21034
- select: add parts support for placeholder, icon, text (#21108) (30a1c89)
- slides: update to swiper 5 (#20917) (4e28445), closes #20033
- textarea: add support for inputmode and enterkeyhint (#21106) (1622d9b)
- toast: add white-space variable for toast message (#20729) (e5e02d4), closes #20727
- toggle: add parts support for handle, track (#20962) (d2b772f)
- toggle: improve customization with css vars and auto-adjust handle width and height (#21050) (04ace4c), closes #19868 #20474