-
Notifications
You must be signed in to change notification settings - Fork 40
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
Add jQuery 4.x as additional option #6404
Comments
Another idea: fix all problems in our own code, then check which removed jQuery functions are missing re 3rd party stuff and provide those functions as bc-layer in core, or use jquery-migrate. I know, that's just postponing the problem, but... that would allow us to integrate jQuery v4 faster without having to fork the unmaintained stuff, or even decide whether we should fork. |
A little overview re 3rd party scripts: jQuery.isArray jQuery.isFunction jQuery.isNumeric jQuery.trim So there are 4 incompatible scripts (one of them not in use in core), relying on 4 deprecated/removed functions. |
A PR is available to play with. To see jQuery 4 in action, go to admin/config/development/jquery, check "jQuery 4 (experimental)" and save. On that same page you can open a browser console and run Click around, do some AJAX stuff (with nodes, fields, layouts, views...). In theory everything works.
As jQuery 4 is still Beta, anyway, we have some time to make up our minds. |
Thank you @indigoxela 🙏🏼 ❤️ I don't have all the answers to the above questions, but here are some thoughts:
I can't think any reason why that would be a problem. That form is not "busy", and besides, people would only visit that once every so to configure the version they want, then forget about it if their site works fine.
We should add telemetry on this, then as new versions of jQuery are coming out and older ones get deprecated/EoL'ed we can consider removing/adding versions as needed. We can change the default for new installations as soon as one version has been tested enough and any bugs have been surfaced/squashed. And finally, we can consider moving old versions to contrib.
As soon as there's a stable release I think. We can still keep it with the "experimental" indication, and leave v3 as the default. Then as we get more confident, we can change the default to v4 in a future core release. How confidence will be gained:
Yes 👍🏼 ...and even if v4 stable gets released, we don't have to rush then either. |
@klonos many thanks for your thoughts, that's mostly, what I had in mind. 🙏 Another thing to keep in mind: contrib. Many modules aren't even fully compatible with 3.x, yet. So I think, there's still a way to go, before we could consider switching the default (for new sites) to 4.x. But as you stated - no need to rush. |
Something else to consider re my proposal to add a (small) bc layer for jQuery 4: contrib projects. I'd assume, that many contrib modules aren't fully compatible with jQuery 3, yet, let alone jQuery 4. |
Time for a rebase - done. 😉 Currently the jQuery 4.0.0 milestone has only one open issue. But, of course, there's no due date. But let's keep an eye on it. |
Oh, jQuery.UI got updated: https://blog.jqueryui.com/2024/05/jquery-ui-1-14-0-beta-1-released/ |
Rebased to get back a PR sandbox - for a very short time. 😉 |
They just announced the release of a Second Beta of jQuery 4.0.0. Most of the changes seem related to test and build infrastructure: https://github.com/jquery/jquery/releases/tag/4.0.0-beta.2 On Mastodon it seems like they're leaning towards "RC next"? Maybe... https://social.lfx.dev/@jquery/112803865842862230 😉 So I updated my experimental PR - it needed another rebase, anyway. Happy testing in the fresh sandbox! |
For anyone else, like me, wondering what jquery 4 brings here is a post that may help, https://medium.com/@alexefimenko/jquery-4-a-new-era-3695332777ef |
The first 4.x Beta for jQuery has been published recently.
It brings several changes that affect core code. We should start to prepare for a stable 4.x release.
Are we there, yet? Short answer: no.
We have some (not many) usages of deprecated (and removed in 4) functions, covered in #6248 👈 I'd suggest to start there.
We have to decide on a strategy with third party code that isn't compatible anymore and isn't maintained anymore:
While we might consider to just drop jquery.cookie.js and possibly jquery.timeentry.js, that's no option for jquery.form.js.
Note that Drupal struggles with a similar problem: https://www.drupal.org/project/drupal/issues/3419734 Let's keep an eye on their considerations.
The text was updated successfully, but these errors were encountered: