Parsoid/Deployments

Planned deployments, linked from Deployments. For a list of past deployments, look for 'parsoid' in Server Admin Log.

For the current train deploy schedule, see MediaWiki 1.37/Roadmap.

See Parsoid to learn how to deploy a new version of Parsoid.

June 29-July 1:

 * html2wt: Simplify mergeSeparatorConstraints
 * T280381, T211946, T239841: Enforce wikitext limits like in the legacy parser
 * T283273: Replace freenode references with libera references
 * T283961: Prevent inline breaks in language variant text

June 8-10: ✅

 * Followup on : Add missing update to DDHandler

May 25-27: ✅

 * T247143: Extension: require MW 1.37+ and remove support for Revision objects
 * Minor cleanups: Remove dead code, use foreach, simplify exprs
 * Merge encapsulateTemplate and encapTokens
 * Pass media structure to figure handler

May 18-20: ✅

 * Account for all trailing newlines when wrapping text nodes
 * Upgrade to mediawiki/mediawiki-codesniffer 36
 * Only select on mw:Image when adding info
 * Magic word pipe isn't going to match table_start_tag

May 4-6: ✅

 * T279682: Handle optional spaces after table_attributes for table_row_tag
 * T279963: Fix interplay between recoverTrimmedWhitespace and DisplaySpace
 * T278565: Don't p-wrap tags in extension HTML
 * Always provide string to preg_match subject param

April 27-29: ✅

 * Bump wikimedia/zest-css version
 * T279682: Don't break on pipe in linkdescs if we're in an ext tag
 * T279803: Fixing asserting an about id
 * T264028: Disable single line context when serializing nowikis
 * T280050: UnpackDOMFragments: Improve DSR fixup for misnested A tags
 * T279867: Fix collecting attributish content in table fixups
 * html2wt: Use trimmed whitespace recovery heuristics only if needed
 * T280449: Add some logging around failing preg_match when serializing
 * T280672: Account for nested transclusions in table fixups

Apr 13-15: ✅

 * T279451: Use a protected key to distinguish comments internal to Parsoid
 * Remove option to
 * T279184: Fix undefined DSR notice
 * T279182: Handle comments that decode to valid json
 * T279223: Handle empty text nodes in Selective Serializer
 * Only call encapTokens if we're wrapping

Apr 6-8: ✅

 * Process jsconfigvars from core parser output
 * Minor bug fix in handling of in TemplateHandler
 * T277800: Add some logging around failing preg_replace when serializing

Mar 30-Apr 2: ✅

 * T269749, T277415: ListHandler: when in EOL state, close lists always
 * DOMPostProcessor: Extract function to update classes
 * DOMPostProcessor: Extract function to export style modules in
 * T276620: html2wt: Improve heuristics enabling reuse of separators from source
 * T274521, T30980: Be more permissive for extension tag names
 * T278074: Handle wikilinks misnested in media links
 * T278074: Log an error if media structure is messed up
 * Allow use of newest version of wikimedia/remex-html

Mar 23-25: ✅

 * T275918: French spacing: don't require non-space before French spacing
 * T223797: Strip newlines from Category sortkeys
 * ListHandler: Close holes in tracing code
 * WrapTemplates: Extract functions to improve code comprehensibility

Mar 17-18: ✅

 * Fix roundtripping interwiki links with complex targets that have colons (follow up to patch in -a27 for T276649 to fix regression).
 * Separators: Code cleanup and documentation fixes

Mar 16-18: ✅

 * T199070: More permissive regexp for nested extension start tags
 * No need to protect opening angle bracket in extension tag
 * Stop allowing spaces before extension closing tag name
 * Add some explanatory comments for ref in ref
 * T276649: Subpages on interwiki / language links are invalid
 * T276388: Check for multiples doesn't apply to follows

Mar 2-4: ✅

 * T248369: Follow on patch to wikilink in extlink for video and audio content
 * T248369: Adding linter case for media in extlink
 * T275503: WTUtils::isFirstEncapsulationWrapperNode expects a node
 * TplWrap: Fix edge case bug that expanded template scope unnecessarily
 * T240642: WrapSections: Don't crash if we have incomplete DSR information

Feb 23-25: ✅

 * T215999 Lint duplicated media width options; lint bogus media width options
 * T255007 Don't apply French spacing in raw text elements
 * T272232 Modify UTF-8 regex to use builtin PCRE validation
 * T242068 Add lint for Parsoid wikilinks in extlinks with italic or bold
 * T265720 TableFixups: One more mishandled scenario with newlines
 * Minor robustness fix in WikitextEscapeHandlers
 * WrapTempates: Get rid of unused property in template ranges

Feb 16: ✅

 * TableFixups: Minor tweaks
 * Don't apply border class to thumbs

Feb 16: ✅

 * Template Wrapping: don't expand range unnecessarily
 * T270373: Use prefixed text for content of links up the path
 * Separate arguments to getPipeline
 * Get rid of parseToplevelDoc
 * Add $frame to ParserPipeline and remove from pipeline stages
 * Refactor sanitization in a normalizeKey function
 * T267974: Contract multiple underbars in a row in refnames to a single underbar
 * Get rid of rtTestMode (used for pre-production testing only)

Jan 18 - 22: No deploy
No deploy due to week shortened by WMF holiday.

Jan 11 - 15: ✅

 * T270180: Handle selser edge case for first content-node of (follow up to T262448 patch included in )
 * T267974: Fix for Parsoid Cite refname whitespace handling
 * T237538: Disentangle Disambiguator extension from Parsoid
 * T260082, T271357: More papering over in References.php (follow up to T259676 patch included in )
 * T265094: Handle newlines in wikilinks for selser as well (follow up to T265094 patch included in )
 * Other: Disable rt-testing mode, clean up most old code from Parsoid/JS, tweak rt test configuration

Jan 5 - 7: ✅

 * T251641: Emit span tags instead of figure-inline
 * Bump output content version to 2.2.0
 * T51538: Add parameters to various cite errors
 * T270307: Allow Parsoid extension modules to be unregistered
 * Tokenizer: Don't eat leading spaces from template values
 * T269719: PHP 8.0 compatibility, Remove PHPUtils::coalesce