Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(breaking): add v8 browser and platform support #28368

Merged
merged 2 commits into from
Oct 19, 2023
Merged

Conversation

liamdebeasi
Copy link
Contributor

@liamdebeasi liamdebeasi commented Oct 17, 2023

Issue number: N/A


What is the current behavior?

As part of our Ionic 8 work, the team would like to define which browsers and platforms we will support.

What is the new behavior?

  • Chromium (Chrome + Edge) support has changed from 79+ to 89+
  • Firefox support has changed from 70+ to 75+
  • Safari/WebKit support has changed from 14+ to 15+
  • Angular support has changed from 14+ to 16+

A few notes on why I made these changes:

  • These browsers have full support for Web Animations Level 1. This allows us to remove the old CSS Animation fallback support from our animation library.
  • These browsers have native image lazy loading support (iOS has it starting in iOS 15.4) which allows us to reduce our dependency on ion-img.
  • These browsers have full support for CSS Logical Properties which will help improve our RTL support in Ionic.
  • This also gives us ~3 years of Firefox and Chrome support by the time Ionic 8 comes out. Firefox 75 came out April 2020, and Chrome 89 came out February 2021.
  • Dropping iOS 14 allows us to remove several iOS 14-related hacks in item, datetime, and more.
  • Dropping iOS 14 still lets us support >94% of iPhones and >91% of iPads as of May 2023 (https://developer.apple.com/support/app-store/).
  • Dropping Angular 14 and 15 allows us to remove several Angular specific hacks. Angular 14 LTS ends at the end of 2023, and Angular 15 LTS ends in May 2024, so these versions are not being supported by the Angular team for much longer. By the time Ionic 8 is out, Angular 17 should be released with Angular 18 coming soon.

Does this introduce a breaking change?

  • Yes
  • No

Other information

Comment on lines +34 to +35
| React | 17+ |
| Vue | 3.0.6+ |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't see a big need to change the supported React and Vue versions, so I left them alone for now.

@liamdebeasi liamdebeasi marked this pull request as ready for review October 17, 2023 16:02
@liamdebeasi liamdebeasi requested review from a team and brandyscarney and removed request for a team October 17, 2023 16:02
@brandyscarney brandyscarney requested a review from a team October 17, 2023 16:08
Copy link
Contributor

@thetaPC thetaPC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thetaPC thetaPC requested a review from a team October 17, 2023 18:09
@liamdebeasi
Copy link
Contributor Author

Re-requesting the team for review.

I wanted to propose changing the Chromium minimum version to 89+ instead of the previously noted 84+. The reason for this is targeting 89+ allows us to make use of CSS Logical Properties for improved RTL support. We make use of some today, but we'd be able to use even more starting in v8. This could also reduce our dependence on custom mixins for certain properties.

Copy link
Contributor

@thetaPC thetaPC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@liamdebeasi liamdebeasi merged commit 409df1b into feature-8.0 Oct 19, 2023
43 checks passed
@liamdebeasi liamdebeasi deleted the FW-5308 branch October 19, 2023 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants