Bug Fixes
- react: do not unmount overlay inner component until overlay is dismissed (#22813) (ab1fc8f), closes #22761
- react: adding dynamic class to ion-page no longer hides component (#22666) (a01bdb8), closes #22631
- react: improve view matching logic (#22569) (f891f66)
- react, vue: do not show back button when replacing to root page (#22750) (9e9a372), closes #22528
- refresher: correctly detect spinner when using native refresher (#22800) (e2d8e5c), closes #22706
- title: only add large title transition when using collapsible header (#22762) (348c50b), closes #22760
- vue: all ionic vue components can now use router link (#22743) (3d6ac13)
- vue: correctly determine leaving view when transitioning to a new instance of a previous page (#22655) (e3a05bf), closes #22654 #22658
- vue: ensure v-model value is properly synced before ionChange event (#22749) (e1d6627), closes #22610
- vue: improve path matching with tabs, deprecated adding additional pages as children of tabs without a router outlet (#22807) (2a3ce9a), closes #22519
- vue: improve v-model binding sync between vue wrappers and web components (#22745) (64719f4), closes #22731
- vue: output commonjs format for node environments (#22766) (7ecae2e)
- vue: tab bar is now correctly hidden when keyboard is open (#22687) (5c27dd8)