Hey all,
TLDR: your extension CI might break due to hard deprecation of Revision class.
Today a Gerrit change[1] has been merged, hard deprecating MediaWiki core Revision class. Loads of work has been done to prepare for this moment, mostly by a volunteer developer DannyS712 with code review support from almost every corner of the MediaWiki developer universe. You can judge the amount of work by the number of subtasks in the tracking ticket[2]
A lot of effort has been done to update all the WMF deployed extensions and some non-deployed ones to the new code, In accordance with stable interface policy deprecation section[3]. However due to the gravity of a change, we might have missed some corner cases. Missed usages will not cause problems in production since the only consequence of using hard deprecated code is a log message, but some CI tests might start failing. If you find your tests failing, please replace all the usages of the Revision class according to 1.35 release notes, and your tests should start passing again. In case you’re having troubles doing it, please reach out to core platform team and we will try to help.
This is a huge milestone in decoupling MediaWiki core! We understand that this might cause some inconveniences, apologize for them and are hoping we can help with resolving any issues.
Cheers. Petr Pchelko
1. https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608845 2. https://phabricator.wikimedia.org/T246284 3. https://www.mediawiki.org/wiki/Stable_interface_policy#Deprecation
<nerd type=jargon> I think you might be better calling that "removed"; the entire *point* of the jargon usage of 'deprecated' is "it's still there and working, but start moving off it soon, cause we're gonna remove it". </nerd>
----- Original Message -----
From: "Petr Pchelko" ppchelko@wikimedia.org To: "Wikimedia developers" wikitech-l@lists.wikimedia.org Sent: Monday, July 6, 2020 4:18:34 PM Subject: [Wikitech-l] Hard deprecation of the Revision class
Hey all,
TLDR: your extension CI might break due to hard deprecation of Revision class.
Today a Gerrit change[1] has been merged, hard deprecating MediaWiki core Revision class. Loads of work has been done to prepare for this moment, mostly by a volunteer developer DannyS712 with code review support from almost every corner of the MediaWiki developer universe. You can judge the amount of work by the number of subtasks in the tracking ticket[2]
A lot of effort has been done to update all the WMF deployed extensions and some non-deployed ones to the new code, In accordance with stable interface policy deprecation section[3]. However due to the gravity of a change, we might have missed some corner cases. Missed usages will not cause problems in production since the only consequence of using hard deprecated code is a log message, but some CI tests might start failing. If you find your tests failing, please replace all the usages of the Revision class according to 1.35 release notes, and your tests should start passing again. In case you’re having troubles doing it, please reach out to core platform team and we will try to help.
This is a huge milestone in decoupling MediaWiki core! We understand that this might cause some inconveniences, apologize for them and are hoping we can help with resolving any issues.
Cheers. Petr Pchelko
- https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608845
- https://phabricator.wikimedia.org/T246284
- https://www.mediawiki.org/wiki/Stable_interface_policy#Deprecation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Hard deprecated = generates warnings if $wgEnableDevelopmentWarnings is on (which in turn cause unit tests to fail, as warnings are considered errors in a test). The code is still there and working for the moment.
-- Brian
On Monday, July 6, 2020, Jay R. Ashworth jra@baylink.com wrote:
<nerd type=jargon> I think you might be better calling that "removed"; the entire *point* of the jargon usage of 'deprecated' is "it's still there and working, but start moving off it soon, cause we're gonna remove it". </nerd>
----- Original Message -----
From: "Petr Pchelko" ppchelko@wikimedia.org To: "Wikimedia developers" wikitech-l@lists.wikimedia.org Sent: Monday, July 6, 2020 4:18:34 PM Subject: [Wikitech-l] Hard deprecation of the Revision class
Hey all,
TLDR: your extension CI might break due to hard deprecation of Revision class.
Today a Gerrit change[1] has been merged, hard deprecating MediaWiki core Revision class. Loads of work has been done to prepare for this moment, mostly by a volunteer developer DannyS712 with code review support from almost every corner of the MediaWiki developer universe. You can judge the amount of work by the number of subtasks in the tracking ticket[2]
A lot of effort has been done to update all the WMF deployed extensions
and
some non-deployed ones to the new code, In accordance with stable interface policy deprecation section[3].
However
due to the gravity of a change, we might have missed some corner cases. Missed usages will not cause problems in production since the only consequence of using hard deprecated code is a log message, but some CI tests might start failing. If you find your tests failing, please replace all the usages of the Revision class according to 1.35 release notes, and your tests should start passing again. In case you’re having troubles doing it, please reach out to core platform team and we will try to help.
This is a huge milestone in decoupling MediaWiki core! We understand that this might cause some inconveniences, apologize for them and are hoping we can help with resolving any issues.
Cheers. Petr Pchelko
- https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608845
- https://phabricator.wikimedia.org/T246284
- https://www.mediawiki.org/wiki/Stable_interface_policy#Deprecation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- Jay R. Ashworth Baylink jra@baylink.com Designer The Things I Think RFC 2100 Ashworth & Associates http://www.bcp38.info 2000 Land Rover DII St Petersburg FL USA BCP38: Ask For It By Name! +1 727 647 1274
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Thank you to everyone who worked on this, and especially to DannyS712, your work is valued & appreciated!
Kosta -- Kosta Harlan (he/him) Sr Software Engineer Wikimedia Foundation
On Mon, Jul 6, 2020 at 10:19 PM Petr Pchelko ppchelko@wikimedia.org wrote:
Hey all,
TLDR: your extension CI might break due to hard deprecation of Revision class.
Today a Gerrit change[1] has been merged, hard deprecating MediaWiki core Revision class. Loads of work has been done to prepare for this moment, mostly by a volunteer developer DannyS712 with code review support from almost every corner of the MediaWiki developer universe. You can judge the amount of work by the number of subtasks in the tracking ticket[2]
A lot of effort has been done to update all the WMF deployed extensions and some non-deployed ones to the new code, In accordance with stable interface policy deprecation section[3]. However due to the gravity of a change, we might have missed some corner cases. Missed usages will not cause problems in production since the only consequence of using hard deprecated code is a log message, but some CI tests might start failing. If you find your tests failing, please replace all the usages of the Revision class according to 1.35 release notes, and your tests should start passing again. In case you’re having troubles doing it, please reach out to core platform team and we will try to help.
This is a huge milestone in decoupling MediaWiki core! We understand that this might cause some inconveniences, apologize for them and are hoping we can help with resolving any issues.
Cheers. Petr Pchelko
- https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608845
- https://phabricator.wikimedia.org/T246284
- https://www.mediawiki.org/wiki/Stable_interface_policy#Deprecation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
It's great to see this finally happening!
A big THANK YOU to DannyS712, Petr, and everyone involved! The Revision class had been "soft" deprecated every since we introduced RevisionStore and RevisionRecord in 1.31. Getting the necessary work scheduled for removing hundreds of usages proved difficult. Now DannyS712 just dove in and tackled the beast. Thank you again! It's great to see volunteers take on tasks like this. Open Source rocks, and our community is awesome!
-- daniel
Am 06.07.20 um 22:18 schrieb Petr Pchelko:
Hey all,
TLDR: your extension CI might break due to hard deprecation of Revision class.
Today a Gerrit change[1] has been merged, hard deprecating MediaWiki core Revision class. Loads of work has been done to prepare for this moment, mostly by a volunteer developer DannyS712 with code review support from almost every corner of the MediaWiki developer universe. You can judge the amount of work by the number of subtasks in the tracking ticket[2]
A lot of effort has been done to update all the WMF deployed extensions and some non-deployed ones to the new code, In accordance with stable interface policy deprecation section[3]. However due to the gravity of a change, we might have missed some corner cases. Missed usages will not cause problems in production since the only consequence of using hard deprecated code is a log message, but some CI tests might start failing. If you find your tests failing, please replace all the usages of the Revision class according to 1.35 release notes, and your tests should start passing again. In case you’re having troubles doing it, please reach out to core platform team and we will try to help.
This is a huge milestone in decoupling MediaWiki core! We understand that this might cause some inconveniences, apologize for them and are hoping we can help with resolving any issues.
Cheers. Petr Pchelko
- https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608845
- https://phabricator.wikimedia.org/T246284
- https://www.mediawiki.org/wiki/Stable_interface_policy#Deprecation
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
The Revision -> RevisionRecord switch was a key part of both making MediaWiki dependency-injection-friendly and making it aware of multiple content slots per revision. It's great to see us following through on a large-scale refactoring like that. Huge thanks to DannyS712 (who as done awesome work on a number of other deprecations too), the Core Platform Team, and everyone else who has been working on it!
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
On 2020-07-06 13:18, Petr Pchelko wrote:
TLDR: your extension CI might break due to hard deprecation of Revision class.
Unfortunately, this is happening to a significant amount of extensions. The latest libup security run shows failures across 50+ repos[1]. My spot checks showed the nearly all are due to the Revision deprecation (a few are also showing skin deprecation failures).
Normally we'd just file bugs against the failing repos but that's not as feasible with this many failing repositories. Given that we're so close to the branch cut I think we need to either put together an effort to fix most of these or consider backing out the hard deprecation from 1.35. I don't think it's a good idea to go into the release with this many broken repositories.
[1] https://gerrit.wikimedia.org/r/q/owner:tools.libraryupgrader%2540tools.w mflabs.org+status:open+label:Verified-1
- -- Legoktm
wikitech-l@lists.wikimedia.org