Hello everyone,


As part of the effort to align Parsoid's output with the output of the legacy parser [1], we're introducing a backwards incompatible change [2] in the next Parsoid version (0.17.0-a7, to be deployed along with 1.40.0-wmf.12).


This new version modifies the target of the link to add "action=edit" and "redlink=1" to redlinks (wikilinks that point to a non-existing page).


We missed that this could have an impact on Parsoid clients, but this was caught by DiscussionTools [3]. Accordingly, we updated the Parsoid HTML Specification to explicitly add red links to the specification [4][5].


Parsoid clients that rely on wikilink targets should check for URL parameters and treat them accordingly.


As an advance notice, we will also eventually modify the "title" attribute of redlinks to add localized information about this state, as is the case in the legacy parser [1]. Please let us know of any input you may have on this topic by adding a comment on the corresponding Phabricator ticket so that we can discuss options [1].


Best regards,


Isabelle, for the Content Transform Team.


[1] https://phabricator.wikimedia.org/T309024 

[2] https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/816137/

[3] https://phabricator.wikimedia.org/T324028 

[4] https://www.mediawiki.org/wiki/Specs/HTML/2.6.0 

[5] This would technically have required a major bump in the specification version. Since we don't have a well-tested implementation for content negotiation and the RESTBase sunsetting work is in progress [6], bumping major versions wasn't an option. We overlooked bumping a minor version as a signal, because we assumed we had it covered in 2.6.0.

[6] https://phabricator.wikimedia.org/T262315 



--
Isabelle Hurbain-Palatin (she/her)
Senior Software Engineer
Wikimedia Foundation