Back to Ionic Framework

V5

CHANGELOG_ARCHIVE/v5.md

8.8.5157.0 KB
Original Source

5.9.3 (2021-12-15)

Bug Fixes

Performance Improvements

  • content: remove global click listener to improve interaction performance (#24360) (9c9e28c), closes #24359

5.9.2 (2021-12-07)

Bug Fixes

  • angular: improve typing when compiling with legacy View Engine (#24221) (816096f)
  • content: ensure fixed slot renders on top of content in iOS (#24300) (e41b0e0), closes #24286
  • popover: improve scrolling in popover when using header and footer (#24294) (f6a00ea)
  • react: present and dismiss hooks return promises (#24299) (4b26fea), closes #24293
  • react: properly check for custom elements to avoid errors in unit tests (#24156) (8f188ea), closes #24149
  • router: popping route now accounts for route params (#24315) (5e5054d), closes #24223
  • slides: update swiper instance after initialization (#24257) (89e4bc5), closes #19638
  • vue: ionic lifecycle hooks now run when using vue 3.2 setup syntax (#24253) (fb96ab5), closes #23824
  • vue: switching between tabs preserves query string (#24297) (047d3c7), closes #23699

5.9.1 (2021-11-17)

Bug Fixes

5.9.0 (2021-11-17)

Bug Fixes

Features

5.8.5 (2021-10-27)

Bug Fixes

  • menu: added focus trapping, improved compatibility with screen readers (#24076) (bdb268a)
  • vue: back button now selects correct route when navigating from view multiple times (#24060) (a09d7d4), closes #23987
  • vue: mount correct views when navigating (#24056) (24659a5), closes #23914

5.8.4 (2021-10-11)

Bug Fixes

5.8.3 (2021-10-07)

Bug Fixes

5.8.2 (2021-10-06)

Bug Fixes

  • alert: made it easier to tell if alert is scrollable in MD mode (#23976) (a262753)
  • angular: use initialize function when setting up ionic angular to avoid config errors (#24004) (f112ad4), closes #22853
  • item-sliding: closing an item can no longer be interrupted (#23973) (3ca0419), closes #23969
  • react: overlay hooks memorised properly to prevent re-renders (#24010) (2c97712), closes #23741
  • select-popover: non-scrollable popovers no longer have forced overscroll (#23972) (aa4ba89), closes #23971
  • status-bar: tapping status bar correctly scrolls content to top (#24001) (25eb8cd), closes #20423

5.8.1 (2021-09-22)

Bug Fixes

5.8.0 Calcium (2021-09-15)

Bug Fixes

Features

  • action-sheet, loading, modal, picker, popover: pass HTML attributes to host element (#23929) (bd96a81)
  • alert, toast: pass arbitrary HTML attributes to host element (#23891) (73a1daf), closes #23825

5.7.0 Potassium (2021-09-01)

Bug Fixes

  • alert: AlertButton role now has correct types (#23791) (864212b)
  • label: label now only takes up as much space as needed when slotted (#23807) (9932e26), closes #23806
  • reorder-group: dragging reorder item to bottom no longer gives out of bounds index (#23797) (02409f2), closes #23796
  • vue: router guards are now fire correctly when written in a component (#23821) (3c44222), closes #23820

Features

  • slides: add IonicSlides module for Swiper migration, deprecate ion-slides (#23844) (11fda41), closes #23447

Code Refactoring

  • virtual-scroll: deprecated virtual scroll in favor of solutions provided by JS frameworks (#23854) (a0229bc)

5.6.14 (2021-08-18)

Bug Fixes

5.6.13 (2021-08-04)

Bug Fixes

  • checkbox, radio: change event interfaces correctly use TypeScript generics for value (#23044) (8a941fd)
  • gesture: onEnd now correctly fires even if the event target was removed from the DOM (#23713) (4edb5e2), closes #22819
  • item-sliding: opening item while other items are open no longer requires multiple swipes (#23683) (792864f), closes #21579
  • react: IonTabs no longer causes SSR to fail (#23696) (f2a05be), closes #23651
  • vue: improve accuracy of ion-page dev warning (#23677) (fb260a9), closes #23675
  • vue: tabs warning about user-provided router outlet change is now correctly logged (#23724) (4a64e97), closes #23719

5.6.12 (2021-07-21)

Bug Fixes

  • action-sheet: header, subheader, and icon alignment better matches native ios (#23322) (39315bc), closes #23317
  • button: buttons are now disabled during page transitions (#23589) (3b803eb), closes #23588
  • item: mirror disabled prop to aria attribute (#23544) (9021e7c), closes #23513
  • menu-button: custom aria-label can now be set (#23608) (c08345d), closes #23604
  • overlays: overlay interfaces are now exported from framework packages and documented (#23619) (773bbcb), closes #22790
  • router-outlet: improve reliability of swipe back gesture when quickly swiping back (#23527) (fa06942), closes #22895

5.6.11 (2021-07-01)

Bug Fixes

  • animation: typescript interface has correct return value for progress methods (#23536) (f3d6abb)
  • ios, md: double tapping back button no longer causes app to go back 2 pages (#23526) (69be51d), closes #18455

5.6.10 (2021-06-22)

Bug Fixes

  • button: buttons using fill and color properties now account for hover and focused opacity variables (#23442) (68c0e71), closes #23441
  • item: using multiple items with inputs no longer results in console warnings (#23429) (e27b5b6), closes #23427
  • vue: IonTabs can now accept IonRouterOutlet, deprecated default router outlet in tabs (#23477) (a2a4cff), closes #23321

5.6.9 (2021-06-08)

Bug Fixes

  • modal: swipe to close modal is no longer swipeable on footer (#23401) (ae96563), closes #23398
  • title: inherit padding for iOS title in a toolbar (#23343) (82cfa55), closes #23072
  • vue: improve v-model integration for Vue 3.1.0+ (#23420) (f008628)
  • vue: prevent error from being thrown when testing on certain jest runners (#23421) (60bedb5), closes #23397

5.6.8 (2021-05-27)

Bug Fixes

5.6.7 (2021-05-13)

Bug Fixes

  • angular: warnings are no longer generated when running tests with ng test (#23292) (9cb6c80), closes #19926
  • overlays: screen readers no longer read content behind overlays (#23284) (a9b12a5), closes #22714
  • refresher: refresher now only activates when pulling down on MD (#23283) (1e1596f), closes #23245
  • vue: use correct history mode when doing ssr to avoid errors (#23255) (2e00dab), closes #23254

5.6.6 (2021-04-29)

Bug Fixes

  • angular: back button goes back to proper tab on angular 11.2.10 (#23238) (e436439), closes #23230
  • react: remove hardware back button event listener when NavManager is unmounted (#23224) (c501da7), closes #23170
  • slides: undefined error is no longer thrown after destroying and quickly re-creating ion-slides (#23239) (2ccaabb), closes #22289
  • vue: components inside of ion-nav are now unmounted properly (#23240) (f2f41e2), closes #23233
  • vue: overlay events can now be listened for without the "on" prefix, deprecated "on" prefix event listeners (#23227) (dab927d)

5.6.5 (2021-04-22)

Bug Fixes

  • content: only render a main element when content is being used in primary view (#23160) (2d07d82)
  • datetime, input, textarea: only add aria-labelledby if there is an adjacent label (#23211) (a31fb55)
  • radio-group: pressing spacebar correctly unselects radio with allow-empty-selection (#23194) (7139b3f), closes #22734
  • react: callback refs now work correctly with ionic components (#23152) (0dd189e), closes #23153
  • segment, segment-button: use tablist and tab roles (#23145) (91ac340)
  • vue: dynamic tabs are now correctly recognized (#23212) (004885b), closes #22847
  • vue: update props when navigating to new parameterized route (#23189) (35c8802)

5.6.4 (2021-04-08)

Bug Fixes

5.6.3 (2021-03-23)

Bug Fixes

5.6.2 (2021-03-22)

Bug Fixes

5.6.1 (2021-03-17)

Bug Fixes

  • custom-elements: overlays now present correctly when using custom elements build (#23039) (e4bf052), closes #23029
  • item: detail icon is no longer announced by screen readers (#23055) (c877061), closes #23054
  • label: properly float labels for non-input items (#23060) (c8a3999)
  • react: only pass tab event props from IonTabs to IonTabBar if defined (#23024) (f94e618), closes #23023
  • refresher: progressEnd no longer errors when pulling quickly in MD native refresher (#23056) (67617fb)
  • virtual-scroll: allow null in items property (#23047) (2a253a1)
  • vue: passing params as props are correctly updated when switching pages (#23049) (2f54bc1), closes #23043

5.6.0 Argon (2021-03-04)

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

5.5.5 (2021-02-26)

Bug Fixes

5.5.4 (2021-02-04)

Bug Fixes

5.5.3 (2021-01-28)

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)

5.5.2 (2020-12-09)

Bug Fixes

  • android: setting hardwareBackButton: false in config now disables default webview behavior (#22555) (dc9faa6), closes #18237
  • button: allow aria-label to be inherited on inner button (#22632) (818e387), closes #22629
  • react: hardware back button now navigates correctly (36939e1)
  • react: setting a ref now allows other props to be passed in (31f45cd), closes #22609
  • refresher: clean up old css if calling refresh method before native refresher is setup (#22640) (8d5ed47), closes #22636
  • refresher: refresher correctly detects native refresher when shown asynchronously (#22623) (5ed73cd), closes #22616
  • vue: adding non tab button elements inside ion-tab-bar no longer causes errors (#22643) (61cf0c5), closes #22642
  • vue: correctly handle navigation failures (#22621) (216f51b), closes #22591
  • vue: correctly remove old view when replacing route (#22566) (4f4f31b), closes #22492
  • vue: pass in correct route to props function (#22605) (01afdc4), closes #22602
  • vue: query strings are now correctly handled when navigating back (#22615) (a94e2a8), closes #22517
  • vue: swipe back gesture is properly disabled when swipeBackEnabled config is false (#22568) (9d04c12), closes #22567

For Ionic Vue Developers

Vue Router 4 has been released! Be sure to update from the release candidate to the latest stable version of Vue Router.

For more information on the changes in Vue Router 4, see https://github.com/vuejs/vue-router-next/releases/tag/v4.0.0.

npm install vue-router@4

5.5.1 (2020-11-25)

Bug Fixes

  • checkbox: click handler now fires properly (#22573) (0786835), closes #22557
  • radio: properly announce radios on screen readers and resolve axe errors (#22507) (afcc46e)
  • react: eliminate use of deprecated findDOMNode, resolves #20972 (5275332)
  • router: navigation guards now fire when navigating to a page with params (#22521) (1956f98), closes #22516
  • select: fix a11y issues with axe and screen readers (#22494) (04b874e), closes #21552 #21548
  • select: improvements for announcing placeholder and value on screenreaders (#22556) (ea52db6)
  • vue: onBeforeRouteLeave and onBeforeRouteUpdate hooks now fire properly (#22542) (8002114), closes #22540
  • vue: tabs now correctly fire lifecycle events (#22479) (cdc2fb6), closes #22466
  • vue: unit testing a routerLink-capable component no longer warns of missing router dependency (#22532) (4e23aad), closes #22506

For Ionic Vue Developers

When updating to Ionic Vue v5.5.1 make sure you are on the latest version of vue-router@next to take advantage of the bug fixes in this release:

npm install vue-router@next

5.5.0 Chlorine (2020-11-18)

Bug Fixes

Features

Performance Improvements

  • ios: move content to stacking context while preserving position: fixed behavior (#22489) (d77a9d5), closes #22473

5.4.4 (2020-11-12)

Bug Fixes

  • build: add missing es5 output (228d349)

5.4.3 (2020-11-06)

Bug Fixes

  • all add missing vendor prefixes to css (0989ea5)

5.4.2 (2020-11-05)

Bug Fixes

  • alert: correctly position alert when keyboard is open (#22425) (9752cd6)
  • ios: contenteditable elements are now selectable on iOS (#22404) (023fb18), closes #18368
  • item: only add click event listener to items with inputs (#22352) (9659ad6), closes #22011
  • range: gesture is now properly re-created on connectedCallback (#22407) (2fea36f), closes #22335
  • refresher: work properly in modal by waiting for content to be ready (#22390) (91d0414), closes #22256
  • segment-button: color property is now reactive if previously undefined (#22405) (04161c9), closes #20831
  • vue: correctly switch tabs after going back (#22309) (daf6a92), closes #22307
  • vue: ensure view is updated correctly when replacing a route outside of a nav guard (#22429) (5a4d0c0), closes #22412

Performance Improvements

  • ios: move content to stacking context to improve scrolling performance on iOS devices (#22180) (9f44966)

5.4.1 (2020-10-22)

Bug Fixes

5.4.0 Sulfur (2020-10-15)

This is the first stable release of Ionic Vue.

Enjoy the Vue! :tada:

New to Ionic Vue?

Check out our Quickstart Guide to get up and running. Then be sure to check out our Building Your First App Guide to learn how build a cross platform Ionic Vue application from start to finish!

5.4.0-rc.3 (2020-10-14)

This version is dedicated to our upcoming Ionic Vue release.

Bug Fixes

  • vue: ion-page component is now properly shown with HMR (#22319) (c5ab562)

Upgrade Steps

npm install @ionic/[email protected] @ionic/[email protected] --save-exact

New to Ionic Vue?

Check out our Quickstart Guide to get up and running. Then be sure to check out our Building Your First App Guide to learn how build a cross platform Ionic Vue application from start to finish!

5.4.0-rc.2 (2020-10-13)

This version is dedicated to our upcoming Ionic Vue release.

Bug Fixes

  • vue: do not hide page content when using ion-page in non-routing contexts (#22302) (fff82d0), closes #22300
  • vue: going back from tabs page to a non-tabs page now selects correct page (#22275) (b06ae16), closes #22258
  • vue: improve swipe to go back reliability (#22288) (c74fd41), closes #22237
  • vue: modal, popover, and nav are now created within application context (#22282) (6026c65), closes #22079
  • vue: pages now render in correct outlet when using multiple nested outlets (#22301) (52f655c), closes #22286

Upgrade Steps

npm install @ionic/[email protected] @ionic/[email protected] --save-exact

New to Ionic Vue?

Check out our Quickstart Guide to get up and running. Then be sure to check out our Building Your First App Guide to learn how build a cross platform Ionic Vue application from start to finish!

5.4.0-rc.1 (2020-10-08)

This version is dedicated to our upcoming Ionic Vue release.

Bug Fixes

Upgrade Steps

npm install @ionic/[email protected] @ionic/[email protected] --save-exact

New to Ionic Vue?

Check out our Quickstart Guide to get up and running. Then be sure to check out our Building Your First App Guide to learn how build a cross platform Ionic Vue application from start to finish!

5.3.5 (2020-10-07)

Bug Fixes

5.3.4 (2020-09-25)

Bug Fixes

  • alert: follow accessibility guidelines outlined by wai-aria (#22159) (e9b2cc8), closes #21744
  • overlays: return focus to presenting element after dismissal (#22167) (cc45ad8), closes #21768
  • picker-column: add cancelable check to avoid intervention error in chrome (#22140) (a24a041), closes #22137
  • radio: follow accessibility guidelines outlined by wai-aria (#22113) (ea0e049), closes #21743
  • reorder: allow click event propagation when reorder group is disabled (#21947) (baafe08), closes #21017
  • segment: do not allow text selection on desktop (#22158) (1526bdf)

Performance Improvements

  • segment: improve scrolling performance on ios when using segment (#22110) (68afc49), closes #22095

5.3.3 (2020-09-17)

Bug Fixes

5.3.2 (2020-08-27)

Bug Fixes

  • input: improve reliability of scroll assist when accessory bar is enabled (#21936) (22477fb), closes #21912
  • input: properly focus the input when clicking the item padding in WebKit (#21930) (e4964ff), closes #21509
  • input: remain focused in the input after pressing the clear button (#21985) (6878fb9), closes #21549
  • label: use translateY so input caret shows up due to webkit issue (#21949) (00eac33), closes #21943
  • overlays: prevent focus from being stolen when presenting another overlay from within a modal (#21856) (5c177d7), closes #21840
  • range: properly display stacked labels in an item with a range (#21944) (9f4b01e), closes #21625
  • react: export correct animation types (#21950) (36e4bf7)
  • react: removed exporting of ionRenderToString to decrease bundle size, closes #21917 (#21928) (434befe)
  • react: setting active tab properly on mount, closes #21830 (#21833) (f58424f)
  • react: fix tab currentHref when changing tabs, closes #21834 (#21835) (74468ab)

5.3.1 (2020-07-27)

Bug Fixes

  • react: properly extend HTMLElement for tabs (bfddb17), closes #21803

5.3.0 Phosphorus (2020-07-23)

Bug Fixes

Features

5.2.3 (2020-07-01)

Bug Fixes

5.2.2 (2020-06-17)

Bug Fixes

  • action-sheet, alert: resolve double click issue when running in iOS mode on chrome (#21506) (bcccc21), closes #21503
  • angular: fix issue where navAnimation was being incorrectly overridden (#21508) (e968bd0), closes #21495
  • input: add aria-label to clear button (#21538) (d8b377f), closes #21537
  • ios: respect toolbar opacity when doing nav transition (#21512) (24cfdc3)
  • segment: ensure checked classes get set after not having a value (#21547) (17308f2), closes #21546

5.2.1 (2020-06-11)

Bug Fixes

  • angular: resolve error when not using ngModel on components (4083e32)

5.2.0 Silicon (2020-06-10)

Bug Fixes

  • action-sheet, toast: allow button handler to return Promise<void> (#21259) (7703da2)
  • angular: patch FormControl methods to properly sync Ionic form classes (#21429) (e95b481)
  • datetime: ensure year-only values are not affected by timezone when parsing (#21309) (3937101)
  • header: large title transition now works on older versions of iOS (#21339) (2dac12c)
  • img: use setTimeout fallback on older versions of chrome (#21358) (0bf9449)
  • ios: add haptic drag gesture for action sheet and alert components (#21060) (33be1f0)
  • item: inherit align-items from parent item (#19278) (882f8fe), closes #18703
  • item: input-wrapper now inherits overflow (#21282) (29d208d)
  • menu-button: screen readers now properly announce menu button (#21324) (eaf4fb6)
  • modal: card style modal no longer gets stuck when swiping quickly (#21224) (448dfa0)
  • modal: set card-style modal height using the --height css variable (#21453) (a4f0bdb)
  • reorder-group: revert item to original position when passing false to complete (#21396) (5f2001c), closes #19128
  • router: use correct nav transition when going back (#21301) (c8db0d5)
  • scroll-assist: improve scroll detection accuracy (#21416) (137c49d)
  • slides: update Swiper dependency to resolve error when doing SSR (#21350) (3290604)
  • textarea: native textarea inherits max/min width and height (#21333) (2377480)

Features

  • alert: add destructive role to alert buttons (#21269) (e53f024)
  • alert: add support for custom input attributes (#21365) (1ed8169)
  • all: add all autocomplete values to input and searchbar (#21297) (4fd7c0c)
  • all: add optional generic typings for overlay component methods (#21393) (5bf83b8)
  • all: add shadow parts to missing components (#21436) (17375d2)
  • all: add support for configuring animations on a per-page basis (#21433) (f34d375)
  • angular: expose activatedView (#21302) (829a0d9)
  • angular: expose getPlatforms and isPlatform (#21308) (4af54a2)
  • angular: add strongly typed Ionic lifecycle hooks (#18044) (53fc8e3), closes #18043
  • fab-button: add close icon font size css variable (#19628) (df408f9)
  • fab-button: add closeIcon property (#19626) (698e526)
  • select-option: pass class from the option to the interface for individual styling (#21304) (5285824)

5.1.1 (2020-05-13)

Bug Fixes

  • all: improve scroll assist reliability for below the fold inputs (#21206) (7166a29)
  • all: overlay components no longer display outline when focused (#21226) (bb62023)
  • display: remove 1px gap between mutually exclusive breakpoints (#21276) (703ef5c), closes #20993 #20743
  • header: do not error on collapsible header on devices that do not support IntersectionObserve (#21222) (0c13f25)
  • input: check for tabindex and pass it properly to native input (#21170) (dd4cb70), closes #17515
  • ios: position page transition shadow properly under footer (#21095) (50678c0)
  • md: do not hide page when swipe gesture is cancelled (#21247) (f334e83)
  • overlays: respect keyboardClose property when opening overlays (#21240) (9d0dcbb)
  • picker: haptics now work properly (#21268) (8e11ecc)
  • refresher: correctly select shadow root on older browsers (#21237) (f23f1cb)
  • refresher: refresher completes even after switching to a new tab (#21236) (1e6f923)
  • segment-button: screen readers now announce selected state properly (#21273) (85cc35e)
  • toggle: screen readers now announce toggle properly (#21168) (1fbdb22)

5.1.0 Aluminum (2020-04-30)

Bug Fixes

Features

Performance Improvements

5.0.7 (2020-03-26)

Bug Fixes

  • modal: properly target card modal for iPadOS styles (#20884) (5816cf5)

5.0.6 (2020-03-25)

Bug Fixes

  • all only warn invalid mode if used on an ionic component (#20828) (6ed1c51), closes #20055
  • all properly scroll to input with scroll assist (#20742) (e24060e), closes #19589
  • angular: export Animation and Gesture related types (#20766) (2ece194)
  • angular: respect animation property for ion-router-outlet (#20767) (f2dbe1f), closes #20764
  • content: apply --offset-top and --offset-bottom values correctly (#20790) (2707289), closes #20735
  • content: set overscroll-behavior based on the scroll direction (#20011) (a3fc77b), closes #20010
  • item-divider: update design to match native iOS (#20854) (d91e22d)
  • item-sliding: account for swipe to go back gesture when opening item-options (#20777) (f23ac44), closes #20773
  • list: show bottom border on last item in a list followed by a list (#20798) (7bc5191)
  • modal: backdrop and box shadows no longer stack when opening multiple modals (#20801) (253cd96), closes #20800
  • modal: backdrop is no longer tappable on card-style modal on smaller screens (#20802) (12932dd), closes #20783
  • modal: properly apply border radius on card-style modal (#20852) (dff3816), closes #20851
  • modal: properly remove safe area padding on card-modal (#20853) (71f1182), closes #20799
  • modal: respect card-style modal spec for iPadOS (#20750) (75bae40), closes #20700
  • react: expose correct type for CreateAnimation (#20775) (0897c3f), closes #20771
  • refresher: properly dismiss refresher when completed synchronously (#20815) (b1a87c8), closes #20803
  • segment: automatically expand width for scrollable segment buttons (#20763) (cdfd50b), closes #20566
  • segment: scrollable segments only show scrollbar if they overflow (#20760) (ab146c9), closes #20758
  • slides: check that mutation observer is defined for ssr (#20791) (2d5d251)
  • textarea: properly adjust auto-grow textarea in scrolled content (#19776) (8bd5bac), closes #19193
  • title: improve reliability of large title ios nav transition (#20861) (3bd6b5d)
  • title: large title now inherits global color styling during nav transition (#20862) (321140f)

5.0.5 (2020-03-11)

Bug Fixes

  • button: allow overflow to be overridden by the CSS variable (#20738) (7ecde36), closes #20726
  • datetime: account for max property when hour, minute, or second is set to 0 (#20665) (2177461), closes #20652
  • header: collapsable header should default to using content background (#20736) (f6c3ba7), closes #20691
  • header: resolve undefined error on collapsible header when navigating quickly (#20728) (87a2721), closes #20725
  • ios: large title animation now works properly in a modal (#20703) (ec4878a), closes #20696
  • item: apply proper margin left for slotted icon in RTL (#20684) (d53595e), closes #20653
  • label: text overflow for slotted headings (#20690) (4d34ce6), closes #17087
  • modal: leave animation transitions modal completely out of viewport on ipad (#20702) (22d5256), closes #20697
  • angular exclude components from ssr (#20674) (f64b142)
  • modal: swipeable modal now works in firefox (#20714) (7d260b9), closes #20706
  • overlays: prevent accidental dismiss of overlays when tapping screen twice (#20683) (b6c2a77), closes #20608
  • segment: allow routerLink to work on segment buttons (#20682) (314dbb1), closes #20678
  • segment: iOS mode segment now works on older Android devices (#20673) (44993b7), closes #20648

5.0.4 (2020-02-27)

Bug Fixes

  • animation: reset all temporary flags when interrupting an animation (#20627) (0e0e401), closes #20602
  • buttons: use proper button colors based on CSS variables when inside of a toolbar (#20633) (c1d7bf2)

5.0.3 (2020-02-26)

Bug Fixes

  • menu: allow ssr to work properly with hardware back button updates (#20629) (fe8d74d)

5.0.2 (2020-02-26)

Bug Fixes

  • ios: large title transition works properly in tabbed applications (#20555) (7187541), closes #20482
  • menu: hardware back button now dismisses side menu if open in Cordova/Capacitor app (#20558) (6b2a929), closes #20559
  • modal: allow swipe to close animation to be overridden (#20585) (8d3ce8d), closes #20577
  • modal: card style modal now adds appropriate contrast (#20604) (b5310ef)
  • modal: allow swipeable modal background to be overridden (#20584) (ad6fac8), closes #20572
  • modal: swipeable modal styles only apply to ios (#20571) (3a2d828), closes #20569
  • refresher: ensure that translate is cleaned up to avoid stacking context (#20621) (e3e5c69), closes #17949
  • segment: segment functions properly on older versions of Android (#20554) (0224bed), closes #20466
  • select: properly align text, add icon-inner and placeholder part (#20605) (926ac3f)
  • slides: set height to 100% for vertical slides (#20603) (20af652), closes #17341

5.0.1 (2020-02-19)

Bug Fixes

5.0.0 Magnesium (2020-02-11)

Enjoy! :fire:

We recommend updating to version 4.11.10 before updating to this version in order to see deprecation warnings related to your app in the developer console.

Run the following commands based on your project type:

# for an angular app
npm i @ionic/angular@latest --save

# for a react app
npm i @ionic/react@latest --save
npm i @ionic/react-router@latest --save
npm i ionicons@latest --save

# for a stencil / vanilla JS app
npm i @ionic/core@latest --save

Then take a look at the Breaking Changes file for API changes.

5.0.0-rc.5 (2020-02-11)

Bug Fixes

5.0.0-rc.4 (2020-02-10)

Bug Fixes

  • content: only emit scroll events if enabled (#20401) (fd1b44a)
  • header: backdrop filter no longer distorts content with collapsible header (#20388) (11d3945), closes #20385
  • item: remove unneeded box-shadow CSS variable (#20412) (a6764c4), closes #20392
  • label: remove subpixel font-size to prevent visual glitches (#20415) (3d6f287), closes #20407
  • segment: add activated class directly to segment button (#20400) (e8886e9)

5.0.0-rc.3 (2020-02-05)

Bug Fixes

  • refresher: ensure gesture does not interfere with item-sliding (#20380) (8983c70), closes #20379
  • refresher: translate background content when refreshing (#20378) (cf70916), closes #20377
  • segment: allow background to be set on iOS segment in a toolbar (#20350) (0f31624)
  • toolbar: properly apply safe area and border (#20375) (4971499), closes #20354

5.0.0-rc.2 (2020-01-30)

Bug Fixes

  • header: fix race condition in collapsible header (#20334) (215d55f)
  • ios: translucent toolbar blur no longer obscures entering page toolbar content (#20314) (e580b88), closes #19158
  • radio: do not clear radio group value from radio (#20343) (ff78e6e), closes #20323
  • radio: set default radio value if undefined (#20329) (eb57723)
  • refresher: add correct fallbacks for native refreshers (#20333) (fd55427)
  • refresher: resolve undefined issues when updating component (#20322) (59d8687), closes #20320

5.0.0-rc.1 (2020-01-27)

Bug Fixes

  • components: use proper colors for button states and add back input highlight (#20278) (628db18), closes #20276
  • components: inherit text indent in all components with text inherit (#20300) (767b005), closes #17786
  • content: resolve height inheritance issues (#20309) (09bef71), closes #20305
  • picker: include showBackdrop in interface (#20301) (33186ba), closes #18893
  • react: export proper types of animations and gestures (#20311) (0034088)
  • refresher: update animation for dashed property values (#20310) (44211c1)
  • toast: inherit color in cancel button for a toast with color (#20299) (7b44ae2), closes #20139

5.0.0-rc.0 (2020-01-23)

Release Candidate is here! :tada:

5.0.0-beta.6 (2020-01-23)

Bug Fixes

Features

  • components: improve button states and add new css properties (#19440) (9415929), closes #20213 #19965
  • react: add Ionic Animations wrapper (experimental) (#20273) (b59d764)
  • segment-button: add --indicator-height property to segment button (#19653) (d76a503)

BREAKING CHANGES

We recommend updating to the latest version of 4.x before trying out version 5 in order to see deprecation warnings related to your app in the developer console.

Activated Class

The activated class that is automatically added to buttons on press has been renamed to ion-activated. This will be more consistent with our ion-focused class we add and also will reduce conflicts with users' CSS.

CSS Variables

The --background-hover, --background-focused and --background-activated CSS variables on components that render native buttons will now have an opacity automatically set. If you are setting any of these like the following:

--background-hover: rgba(44, 44, 44, 0.08);

You will likely not see a hover state anymore. It should be updated to only set the desired color:

--background-hover: rgba(44, 44, 44);

If the opacity desired is something other than what the spec asks for, use:

--background-hover: rgba(44, 44, 44);
--background-hover-opacity: 1;

5.0.0-beta.5 (2020-01-17)

Bug Fixes

  • action-sheet: allow scrollable action sheet with many options (#20145) (53fad97), closes #17311
  • card: remove top padding of content in iOS if under header (#20223) (9232f16)
  • content: scroll-content div now takes up full height of container (#20194) (9d63b41), closes #20185
  • header: header opacity properly resets on collapsible titles (#20202) (8e11f79)
  • modal: prevent double dismiss via gesture and backdrop tap on card-style modal (#20203) (5b0400d)
  • picker: pick correct option at low velocities (#19660) (39d1262), closes #19659
  • react: updating icon type and add caret to internal icons (#20216) (dc78f98)
  • ssr: add reflect content-id attribute to applicable properties (#20169) (3aa47e6)

Code Refactoring

  • removed checked/selected properties in favor of setting value on parent (#19449) (a5229d9)

Features

BREAKING CHANGES

We recommend updating to the latest version of 4.x before trying out version 5 in order to see deprecation warnings related to your app in the developer console.

  • The following components have been updated to remove the checked or selected properties:
  • Radio
  • Segment Button
  • Select

Developers should set the value property on the respective parent components in order to managed checked/selected status. See the Breaking Changes document for updated usage examples.

  • Controller components have been removed. Developers should user their respective imports instead. This only affects vanilla JS applications.

Before:

html
<ion-modal-controller></ion-modal-controller>

After:

javascript
import { modalController } from '@ionic/core';

5.0.0-beta.4 (2020-01-06)

Features

5.0.0-beta.3 (2020-01-03)

Bug Fixes

Code Refactoring

Features

BREAKING CHANGES

We recommend updating to the latest version of 4.x before trying out version 5 in order to see deprecation warnings related to your app in the developer console.

  • searchbar: The inputmode property for ion-searchbar now defaults to undefined. To get the old behavior, set the inputmode property to "search".

5.0.0-beta.2 (2019-12-11)

Bug Fixes

  • animation: convert hyphenated properties to camel case when using Web Animations (#20059) (56f67bd), closes #20058
  • animation: properly update Web Animation object (#19964) (e766194)
  • picker: pass selected value to handler on dismiss (#20042) (6e0b9c4), closes #20036
  • tabs: preserve route navigation extras when changing tabs (#18493) (4c8f32f), closes #18717
  • title: add correct safe area to large title nav transition (#20029) (300d543), closes #20028

Features

  • modal: add card-style presentation with swipe to close gesture (#19428) (b3b3312), closes #18660

5.0.0-beta.1 (2019-11-20)

Bug Fixes

Features

  • animation: animation identifiers (#19771) (7d41715), closes #19550
  • animation: cubic-bezier easing conversion utility (experimental) (#19788) (96a5e60), closes #19789
  • alert: add support for textarea inputs (#16851) (b28cf02), closes #14153
  • angular: expose Ionic Animations via AnimationController (#19745) (67a7e23)
  • angular: expose Ionic Gestures via GestureController (#19864) (48a7662)
  • searchbar: add --box-shadow variable to style searchbar input (#19838) (1ab7066)
  • select: add --placeholder-opacity and --placeholder-color, expose shadow parts (#19893) (bef0f53), closes #17446
  • split-pane: convert to shadow component, add width, max-width, and min-width vars (#19754) (d80f455), closes #17088

Breaking Changes

We recommend updating to the latest version of 4.x before trying out version 5 in order to see deprecation warnings related to your app in the developer console.

5.0.0-beta.0 (2019-10-15)

Bug Fixes

Features

Performance Improvements

Breaking Changes

We recommend updating to the latest version of 4.x before trying out version 5 in order to see deprecation warnings related to your app in the developer console.

  • all: mode is now cascaded from parent to child component. If this is not desired set a different mode on the child component. (#19369) (55462d7)

  • anchor: remove ion-anchor, use ion-router-link instead. (#18935) (e7cd197)

  • card: convert card to shadow. (#19395) (08bb60d)

  • css: responsive display media queries in the display CSS file have been updated. Instead of using the maximum value of that breakpoint (for .ion-hide-{breakpoint}-down classes) the maximum of the media query will be the minimum of that breakpoint. (#18601) (40a8bff)

  • css: remove all CSS utility attributes. Use CSS classes instead. See the documentation for the correct class names: https://ionicframework.com/docs/layout/css-utilities (#18956) (04862df)

    BEFORE:

    html
    <ion-header text-center></ion-header>
    <ion-content padding></ion-content>
    <ion-label text-wrap></ion-label>
    <ion-item wrap></ion-item>
    

    AFTER:

    html
    <ion-header class="ion-text-center"></ion-header>
    <ion-content class="ion-padding"></ion-content>
    <ion-label class="ion-text-wrap"></ion-label>
    <ion-item class="ion-wrap"></ion-item>
    
  • events: remove the Events service. (#19600) (8d4a721)

  • header/footer: remove no-border attribute from header/footer, use ion-no-border class instead. (#18954) (d9f6119)

  • menu: iOS menu now defaults to overlay, set type to "reveal" to get the old behavior. (#19063) (ccb54a1)

  • menu-controller: remove swipeEnable(), use swipeGesture() instead. (#19526) (30bd8fd)

  • nav: remove ion-nav-pop, ion-nav-push and ion-nav-set-root. Use ion-nav-link with routerDirection instead. (#19240) (e334d73)

  • searchbar: remove boolean values from showCancelButton, use string values: "always", "focus", "never". (#18953) (508e186)

    BEFORE:

    html
    <ion-searchbar show-cancel-button>
    <ion-searchbar show-cancel-button="true">
    <ion-searchbar show-cancel-button="false">
    

    AFTER:

    html
    <ion-searchbar show-cancel-button="focus">
    <ion-searchbar show-cancel-button="focus">
    <ion-searchbar show-cancel-button="never">
    
  • scss: remove scss files from dist/, use CSS variables to theme instead. (#19292) (6450aff)

  • skeleton-text: remove width property. Use CSS instead. (#18936) (7c3db79)

  • split-pane: remove main attribute. Use contentId instead. (#19511) (02d7841)

    BEFORE:

    html
    <ion-split-pane>
      ...
      <div main>...</div>
    </ion-split-pane>
    

    AFTER:

    html
    <ion-split-pane content-id="main-content">
      ...
      <div id="main-content">...</div>
    </ion-split-pane>
    
  • theming: ionic default colors have been updated. (#19279) (7f4cf08)

  • toast: remove showCloseButton and closeButtonText, add a button using the buttons property with role: 'cancel' instead. (#18957) (ad7f112)