-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
[material-ui] Update browser supports in v6 #40958
Comments
Hey, @oliviertassinari! This is considered for v6 👍🏼. I don't think we need this issue as an umbrella, we should rather have:
Do you agree? I can create the missing ones The v6 brainstorm list idea was moved here and linked in the #30660 issue. Some of these already have github issues that are included in the v6 milestone (for example #30671, #32546) but not all yet. This was done to make the #30660 issue more concise. |
@DiegoAndai It can make sense but I think we also need to know the full picture of v6 browser support. I needed this issue to know if my comment in #40258 (comment) is right or wrong. We can't make a tradeoff on the supported versions with each browser in isolation, it's the whole that matters since developers ship the same JavaScript file for all their clients.
Alright, let's get this list to GitHub, the sooner the better. I created a new one: #40960. |
A requirement: we probably want to make sure we can use flex gap, e.g. https://github.com/mui/mui-x/pull/11529/files#diff-47ba3ae9e7d214448776b30bfed8130d9cae1a144ee7a768f1ba771f75386d94R67 with Material UI v6. |
Depending on the browsers we drop support for, we might no longer need the @babel/runtime transpilation util. For example #41071 that needs it for the spread operator for IE 11 partial support https://caniuse.com/?search=spread%20operator |
It would be great to define right now what's going to be Material UI v6 browser support so that MUI X v7 @flaviendelangle @cherniavskii @DiegoAndai can make the corresponding breaking changes, we would eventually be in sync in the BC slots of 2024. So far, I'm only aware of:
The main difference would be the Safari bump from 12.5, released around 2019 to 14.1 released in Apr 29, 2021. But is this wise? I guess Safari is the bottleneck, so it's about checking the release notes of Safari: https://webkit.org/blog/category/news/ to find more constraining limits 🤔:
Looking at the use of Safari out there, it seems that we could go up to have Safari 16.0 as the minimum version (released Sep 12, 2022), per https://caniuse.com/css-container-queries, the % of browsers left on the side looks within what's acceptable. Should we go higher? Unclear. |
We'll need I added this topic for the next Material UI meeting, which is next Tuesday 27; let me know if we need an answer sooner than that. |
@DiegoAndai Today, Safari v16.2 feels a bit borderline, 3% of global usage would be missing: but 2024 Q4, this sounds ok. Maybe it could be:
|
We have one |
Sounds good to me 👍🏼 |
We discussed with the Core styled team today, and we settled on Safari v15.4 for v6 👍🏼 For v7, Safari v16.2 is the initial idea, but we'll have to discuss further with the Base UI team when work for that version starts. |
BTW, we have a |
imho, Targeting iOS 14 for V6 makes more sense for the case above, as the to-be-released Expo v51 probably would start to target iOS 14 also. EDIT: if MUI starts targeting iOS 15.4 as the minimum, it'd be great to have a list of specific iOS >=15.4 features you plan to use, so any mui's user could attempt to polyfill them. |
@DiegoAndai you don’t need Moreover, even if color-mix was available in all browsers, all CSS calculations are slower than build-time calculations that would result in literals, so there’s a minor side benefit of a build-time color calculation |
Hey @o-alexandrov, thanks for reaching out and making us aware of the ReactNative compatibility. I'll discuss v6 and v7's safari version with the team once more taking your comment into consideration.
Have you been using this? I'm curious about the results 😊 |
@DiegoAndai yes, I am currently using react-native-webview in a couple of active projects and plan to continue creating web-based react native apps. |
I think we could target Safari 14 as a minimum for v6 because the main goal is to add support for Pigment CSS. I don't think we will change any of the CSS implementations like In v7, we could bump to |
@o-alexandrov I see that Expo SDK 51 has been in I couldn't find anything on their GitHub page indicating that they are upgrading to iOS 14 on SDK 51. Do you have a reason to believe they will target this version? As @siriwatknp mentioned, from the core team, we don't have a strong argument for going higher than 14 for v6. @cherniavskii @flaviendelangle @oliviertassinari, what do you think about this discussion? Would you be on board with being more cautious: Safari |
@DiegoAndai I thought Expo would start to target iOS 14, but Expo keeps the target at iOS 13.4. I just manually confirmed w/
I guess they rush it due to iOS Privacy manifest config field new requirement set by Apple by May 1st, 2024. Expo has a discord server, you can ask them directly |
Hey @o-alexandrov! We've discussed it once more, and the final decision is to go to safari We will need I'm sorry to say we won't adhere to React Native / Expo's supported versions, as that seems like too much of a constraint. I hope this is not much of an inconvenience, and as always if you need help with anything feel free to reach out! |
@DiegoAndai could you please consider to create a notice of the iOS 14+ features you use? MUI users would then know what to polyfill |
@o-alexandrov at the moment, the It might be difficult for us to keep track of features that need to be polyfilled on versions we no longer support. Removing support for certain versions keeps the scope manageable, which is not possible if we need to track every feature that might require polyfills. What I think might work better is that if anyone finds something that needs to be polyfilled in the future, they can open an issue from which we can create guides on how to polyfill that particular feature. |
@DiegoAndai while creation of guides would ease the work for the user, even keeping a list of iOS 14+ features would already simplify the work for anyone who needs to polyfill. I'd be happy to see such list in a little paragraph where the breaking changes are mentioned: |
That makes sense 👍🏼 I'll look into it |
All tasks completed |
Summary
We plan to release Material UI and MUI System to v6. It's a great opportunity to update https://mui.com/material-ui/getting-started/supported-platforms/#browser.
To do
material-ui/packages/mui-utils/src/scrollLeft.js
Line 23 in b3548fa
Motivation
Remove outdated code => lighter bundle => better UX.
Off-topic
@DiegoAndai I wonder in #30660, did we move all of the checkboxes to dedicated GitHub issues?
For example, it couldn't find this issue. There might be 10 new GitHub issues to create.
Search keywords: update browser support
The text was updated successfully, but these errors were encountered: