-
-
Notifications
You must be signed in to change notification settings - Fork 79k
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
Update Popper.js to v2.x #29842
Comments
Sorry, v2.0.0 isn't released. When this happen we'll revisit it later. |
We just released the first alpha ( It would be awesome to get some feedback. |
@Johann-S any thoughts how to proceed with the 2.x update? I see popper.js 2.x doesn't properly support IE 11 and requires polyfills... |
We left a note about the IE support: Now that Microsoft ships a browser, compatible with old Microsoft operative systems, with support for compatibility mode, there's no reason for anyone to stick to Internet Explorer. Big corporations can upgrade to a Microsoft browser, and keep their legacy websites working. Users can upgrade even if they run an operative system that didn't support Edge before. In any case, with polyfills, Popper 2 should just work. I'm quite sure websites that support IE need to include polyfills for several reasons already. Bootstrap itself ships polyfills with it, but it embeds them, making it impossible for consumers to reuse them in other parts of the application. |
As much as it might seem logical to you (and me), things aren't like that. The fact that Microsoft switched to another engine means nothing for corporate environments, despite them (Microsoft) trying to ignore this fact. IE cannot be diminished in one day. That being said, and since we are already late in releasing v5, I think we might as well drop IE 11 support. As long as we offer a solution for people regarding the JS part. The problem is that if we are going to really drop IE support (since this is the only thing that would really benefit us size-wise), things would start looking broken. I'm not sure we are this point yet. Which means, we'd need to semi drop IE support. And that's something that I'm not sure it's good either. |
As I said, Popper 2 should work fine on IE 11 (and we are willing to accept PRs to fix what may be broken, if that doesn't require too many hacks) A good plan to me would be to drop polyfills from Bootstrap, and ask users to import them manually, with a tool such as polyfill.io |
With polyfills. So, as things are now, we have these solutions as far as I'm concerned:
The 3rd solution is something I don't think we are ready to do. The second solution doesn't really gain us anything in the sense that the CSS prefixes will still need to be there and we will still be limited in the CSS features we use. |
I think 2 would be a good solution. If we received feedback earlier during the development phase we could have came up with a better plan probably. |
I agree that 2 is best. Users should polyfill based on their target browser requirements rather than Bootstrap bundling them in.
It would be a shame if Bootstrap didn't migrate to Popper 2, as we won't be maintaining v1 anymore. Users will likely be making issues for it due to Bootstrap's large adoption, and it will be a problem for the whole ecosystem. As for the CSS prefixes, you could ship a "modern" build and a "legacy" build for CDN - for module bundlers the modern one will use the consumer's autoprefixer setup to automatically prefix based on their target browser requires like polyfill.io |
I would prefer if we can drop IE.
That's why I would prefer the third solution. |
Polyfill.io can polyfill
Source code: |
Let's try one more time and if now the polyfill works fine we can drop the built-in ones and unblock the popper.js update. The only downside is that we'd need to change all templates and examples to include the polyfill. Or we could just mention it in the migration notes and in the browsers and devices page with a huge warning regarding IE support. |
I think the huge warning regarding IE support is the way to go, it's okay to support ancient browsers, but it's not okay to tailor the whole process to take them in consideration. People who want to support such old browsers should take extra care. |
I think we should indeed leave IE behind. @FezVrasta said a good point. |
Bootstrap dropping IE11 support would be a big step to ensuring it dies off quicker. The longer we support IE the longer it will stick around... |
If anyone can help us with dropping our custom polyfills and updating the docs accordingly, this is one less thing that's blocking us for v5. Don't forget to CC me if you make a PR. |
In the last team group call, we decided that at this point, it might be easier for us to drop IE 11 support from v5. v4 will be supported for as long as we can (we'll update the release repo to reflect his when we release v5), so people who want to support IE can still use v4. After we remove IE 11 support from master, we can use any help available to update the docs, update popper.js to v2 and so on. Generally, we could use any help we could get in the JS department, so if anyone's interested in helping us out, please drop by our Slack and DM me. |
Drupal 9 is upgrading to popper 2 https://www.drupal.org/node/3112670 |
PRs welcome as usual for master. |
👋 I just published a new It's meant to be used by those libraries that aren't willing to update to 2.x for whatever reason (for example, Bootstrap 4.x may never update so this LTS allows to not show the deprecation warning to the users). |
Thx for doing this, however I have a question. With NPM I installed bootstrap (4.4.1) en this 1.16.1-lts version of popper.js, but npm install still gives me this message:
Any way to get rid of that? |
Bootstrap will need to update its peerDependencies to explicitly allow this new version. |
They require ^1.16.0 currently. Does the use of letters (-lts) in this version number confuse npm or bootstrap that it doesn't recognize it as a correct version? Or should versioning this version of popper.js not have been 1.16.2 in that case? (mind you I do not have much experience with NPM and the way it checks dependencies etc) |
the The |
Gotcha. So now we have to wait until Bootstrap includes the -LTS version as an allowed peerDependency. |
Are the bootstrap devs aware of this fact? |
We are and keeping spamming us is not helpful. |
I'm sorry. I never looked at the address bar in my browser. I thought I was on the popper.js repo 😊 Wasn't my intention to spam you guys. |
Congrats on releasing Bootstrap 5 alpha 🎉 I noticed it's still using Popper v1 though, are there plans to migrate to v2 before beta/final release? |
Yes we plan to do it ASAP |
Can we make Popper.js optional somehow? We don't even use any Bootstrap features that require Popper, but we see this annoying warning every day. |
Sorry to bother all of you, but could you provide any updates, please? |
Until v2 is supported - see twbs/bootstrap#29842
Popper modifiers are different in v2, you can't do that |
Hello
Could you please plan the process of updating Popper.js to ver2.0.0. X ?
As a result, a lot of bugs will be fixed: https://github.com/popperjs/popper.js/labels/Fixed%20in%20v2
One of them is my floating-ui/floating-ui#835
I'll be appreciated.
Regards, Dmytro
The text was updated successfully, but these errors were encountered: