Hey all,
TL;DR: In April 2017, the jQuery library in MediaWiki core was upgraded from 1.x to 3.x (the current stable version), with the jQuery Migrate plugin enabled to ease migration. We temporarily still load jQuery 1.x on Wikimedia wikis. Read about the API changes at https://jquery.com/upgrade-guide/3.0/
== Upgrade guide ==
An overview of the important changes is available at: https://jquery.com/upgrade-guide/3.0/ This page also contains advice on how to migrate your code. In most cases it involves fairly simple changes, such as using a different method name, or adding quotes in selectors.
The vast majority of the added requirements and removed methods are restored through the jQuery Migrate plugin with a deprecation warning in the console. As such, it's unlikely your code will require any immediate changes.
If you do find a deprecation warning in the console, you can use the warning documentation to find out more: https://github.com/jquery/jquery-migrate/blob/e967c3b98b/warnings.md
Once jQuery 3 is in Wikimedia production (with jQuery Migrate) it will be easy to find uses of deprecated methods with the deprecation warnings. However, you don't need to wait for August to start migrating. The methods removed in jQuery 3 have been deprecated for a while already, and their replacements are already available in jQuery 1.x in production, today.
== Timeline ==
* April 2017: jQuery 3 lands in MediaWiki core master with jQuery Migrate plugin. * April to July 2017: Testing and fixing of issues arising from the switch. * July 2017: jQuery 3 enabled in Wikimedia's Beta Cluster. [1] * August 2017: jQuery 3 enabled on Wikimedia wikis in production.
jQuery 3 will also be released as part of MediaWiki 1.30.0 (expected in November 2017). [2]
As part of MediaWiki 1.30, inclusion of jQuery Migrate will made configurable so that sites that have already migrated may disable the plugin for better run-time performance.
Track progress at https://phabricator.wikimedia.org/T124742.
-- Krinkle
[1] https://www.mediawiki.org/wiki/Beta_Cluster [2] https://www.mediawiki.org/wiki/MediaWiki_1.30
Excellent work! 👏
Breaking change and Feature: jQuery.Deferred is now Promises/A+ compatible
Yay! There are subtle but important differences, I recommend reading the deferred section of the upgrade-guide https://jquery.com/upgrade-guide/3.0/#deferred, which does a good job explaining the changes.
On Thu, Jun 29, 2017 at 10:34 PM Krinkle krinklemail@gmail.com wrote:
Hey all,
TL;DR: In April 2017, the jQuery library in MediaWiki core was upgraded from 1.x to 3.x (the current stable version), with the jQuery Migrate plugin enabled to ease migration. We temporarily still load jQuery 1.x on Wikimedia wikis. Read about the API changes at https://jquery.com/upgrade-guide/3.0/
== Upgrade guide ==
An overview of the important changes is available at: https://jquery.com/upgrade-guide/3.0/ This page also contains advice on how to migrate your code. In most cases it involves fairly simple changes, such as using a different method name, or adding quotes in selectors.
The vast majority of the added requirements and removed methods are restored through the jQuery Migrate plugin with a deprecation warning in the console. As such, it's unlikely your code will require any immediate changes.
If you do find a deprecation warning in the console, you can use the warning documentation to find out more: https://github.com/jquery/jquery-migrate/blob/e967c3b98b/warnings.md
Once jQuery 3 is in Wikimedia production (with jQuery Migrate) it will be easy to find uses of deprecated methods with the deprecation warnings. However, you don't need to wait for August to start migrating. The methods removed in jQuery 3 have been deprecated for a while already, and their replacements are already available in jQuery 1.x in production, today.
== Timeline ==
- April 2017: jQuery 3 lands in MediaWiki core master with jQuery Migrate
plugin.
- April to July 2017: Testing and fixing of issues arising from the switch.
- July 2017: jQuery 3 enabled in Wikimedia's Beta Cluster. [1]
- August 2017: jQuery 3 enabled on Wikimedia wikis in production.
jQuery 3 will also be released as part of MediaWiki 1.30.0 (expected in November 2017). [2]
As part of MediaWiki 1.30, inclusion of jQuery Migrate will made configurable so that sites that have already migrated may disable the plugin for better run-time performance.
Track progress at https://phabricator.wikimedia.org/T124742.
-- Krinkle
[1] https://www.mediawiki.org/wiki/Beta_Cluster [2] https://www.mediawiki.org/wiki/MediaWiki_1.30 _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On Fri, Jun 30, 2017 at 8:25 AM, Joaquin Oltra Hernandez < jhernandez@wikimedia.org> wrote:
Breaking change and Feature: jQuery.Deferred is now Promises/A+
compatible
Yay! There are subtle but important differences, I recommend reading the deferred section of the upgrade-guide https://jquery.com/upgrade-guide/3.0/#deferred, which does a good job explaining the changes.
One change to Promise behavior that I don't see mentioned there (although I may have missed it) that bit oojs-ui is that the behavior greatly changed when passing a promise (or any "thenable") as the first argument to .resolve(). Instead of resolving it with the given promise passed to the original promise's handlers as you might expect, Promises/A+ decided that you want to effectively retroactively reattach all the handlers to the new promise instead.
wikitech-l@lists.wikimedia.org