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

Drop Legacy Edge support. #31972

Merged
merged 3 commits into from
Nov 5, 2020
Merged

Drop Legacy Edge support. #31972

merged 3 commits into from
Nov 5, 2020

Conversation

XhmikosR
Copy link
Member

@XhmikosR XhmikosR commented Oct 26, 2020

Needs thorough review in case something is wrong, for example some of the vendor prefixes.

Also, it seems we can drop more code like the Polyfills, but I need some help with that.

Preview: https://deploy-preview-31972--twbs-bootstrap.netlify.app/

Closes #32017 along the way

@XhmikosR XhmikosR marked this pull request as ready for review October 29, 2020 17:28
@XhmikosR XhmikosR requested review from a team as code owners October 29, 2020 17:28
@XhmikosR XhmikosR added the v5 label Oct 29, 2020
@XhmikosR
Copy link
Member Author

Split from #30986. I think we are going to leave any further JS code cleanup for later.

@twbs/css-review please make sure I didn't remove something that's still needed 🙂

Copy link
Member

@mdo mdo left a comment

Choose a reason for hiding this comment

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

Looks great for CSS! Stoked to drop so much for even the form range component. Crazy how much those pseudo elements add.

@@ -9,6 +9,10 @@ toc: true

## v5.0.0-alpha3

### Browser support

- Dropped support for Microsoft Legacy Edge. See [here](#browser-support-1) for the previous browser support changes.
Copy link
Member Author

Choose a reason for hiding this comment

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

Not sure if there is any other way to do this so that it's foolproof; now it's fragile and will break if we add another Browser support heading.

Copy link
Contributor

Choose a reason for hiding this comment

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

@MartijnCuppens
Copy link
Member

Still spotted some Edge references in the md files (browsers-devices.md for example). CSS wise it looks ok.

@XhmikosR
Copy link
Member Author

XhmikosR commented Oct 29, 2020 via email

@MartijnCuppens
Copy link
Member

Yeah, this seems to be incorrect now:

Bootstrap supports the **latest, stable releases** of all major browsers and platforms. This also includes the latest version of Legacy Edge (EdgeHTML layout engine).

Just spotted this could also be removed:

//
// Fallback for classic Edge
//
@supports (-ms-ime-align: auto) {
.form-floating {
display: flex;
flex-direction: column-reverse;
}
.form-floating > label {
position: static;
padding: 0;
margin-bottom: calc(#{$form-floating-padding-y} / 2); // stylelint-disable-line function-disallowed-list
border: 0;
@include transition(none);
}
.form-floating > .form-control::-ms-input-placeholder {
color: $input-placeholder-color;
}
}

@XhmikosR
Copy link
Member Author

XhmikosR commented Oct 29, 2020 via email

@XhmikosR
Copy link
Member Author

PR updated. The only thing I'm not sure about is this:

This approach works in the new Microsoft Edge built on Chromium and gracefully degrades on older versions.

@ffoodd
Copy link
Member

ffoodd commented Oct 30, 2020

Sidenote here about our philosophy: shouldn't we use progressive enhancement as a basis, to ensure nothing's broken on unsupported browsers? I'm thinking of our new floating labels—as far as I remember they were barely unusable no Edge before I added a few things— but there might be more cases.

Could be as easy as wrapping our code in @supports() rules.

@mdo
Copy link
Member

mdo commented Oct 30, 2020

Good question @ffoodd. I think our approach needs to be more about embracing the future, and less about making the old stuff work. At least with our major version releases. If folks need to support older browsers, they should continue using v4. We should codify that maybe in these docs and update that snippet that @XhmikosR highlighted.

@XhmikosR
Copy link
Member Author

XhmikosR commented Nov 3, 2020

I think this is ready for a final review. I made #32057 for the polyfills, but I could also move that change here.

I assume we all stick with the decision to drop Legacy Edge support, right?

Unfortunately, there's no sweet spot between size/redundant code and progressive enhancement AFAICT; we either keep some dead code or forget about progressive enhancement.

Copy link
Member

@Johann-S Johann-S left a comment

Choose a reason for hiding this comment

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

LGTM 👍 happy to see those polyfills gone

@XhmikosR
Copy link
Member Author

XhmikosR commented Nov 4, 2020

Merged the polyfills removal to this PR so that we have everything in one place.

I think the only thing left is this: #31972 (comment)

PR updated. The only thing I'm not sure about is this:

This approach works in the new Microsoft Edge built on Chromium and gracefully degrades on older versions.

@mdo
Copy link
Member

mdo commented Nov 4, 2020

This approach works in the new Microsoft Edge built on Chromium and gracefully degrades on older versions.

I'd say remove that sentence entirely @XhmikosR.

.browserslistrc Outdated
@@ -5,7 +5,9 @@ last 1 major version
not dead
Chrome >= 60
Firefox >= 60
Edge >= 16
# needed since Edge still has usage;
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should probably say 'needed since Edge Legacy still has usage;'

.browserslistrc Outdated
@@ -5,7 +5,9 @@ last 1 major version
not dead
Chrome >= 60
Firefox >= 60
Edge >= 16
# needed since Edge still has usage;
# 79 was the first Edgium version
Copy link
Contributor

Choose a reason for hiding this comment

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

'Edgium' was a nickname and not an official term. I suggest it says 'Chromium' or 'Blink' instead.

@@ -9,6 +9,10 @@ toc: true

## v5.0.0-alpha3

### Browser support

- Dropped support for Microsoft Legacy Edge. See [here](#browser-support-1) for the previous browser support changes.
Copy link
Contributor

Choose a reason for hiding this comment

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

This allows us to move forward without being held back. Microsoft already replaces the Legacy Edge with the new one on supported Windows versions.
@XhmikosR XhmikosR merged commit f989f8f into main Nov 5, 2020
@XhmikosR XhmikosR deleted the main-xmr-drop-edge branch November 5, 2020 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

v5: Drop unused polyfills
7 participants