Parsoid/Deployments

Planned deployments, linked from wikitech:Deployments. For a list of past deployments, look for 'parsoid' in wikitech:Server Admin Log. See also Parsoid/Releases for non-alpha versions.

For the current train deploy schedule, see MediaWiki 1.43/Roadmap#Schedule for the deployments.

See wikitech:Parsoid#Deploying changes to learn how to deploy a new version of Parsoid.

May 7 Yes V0.22.0-a1 as part of 1.45.0-wmf.1

edit

This tag is identical to v0.21.0 and begins the 0.22.0 series for Parsoid, ultimately intended for MediaWiki 1.45.0.

May 7 Yes V0.21.0

edit

This tag is identical to v0.21.0-a28, and is for the REL1_44 branch of MediaWiki and its upcoming 1.44.0 release.

May 6 - May 8 Yes V0.21.0-a28 as part of 1.44.0-wmf.28

edit
  • Track MediaWiki extension which registered the Parsoid extension module
  • tests: Make PHPUnit data provider static, T332865
  • tests: Remove unused mocks from DOMTraverserTest
  • Grammar: Refactor template-name & tpl-arg-name rules, T306679
  • PegTokenizer: Cache PEG tokenizer output, T306679
  • DOMCompat: A note about ::nodeName()
  • XMLSerializer: handle <template> node in a spec-compliant way
  • Use Parsoid's DOMBuilder consistently to DRY out code
  • Use DOMUtils::parseHTML() not the non-standard DOMDocument::loadHTML()
  • Remove temporary $wgParsoidFragmentInput support, T268144
  • LanguageConverter/AddRedLinks: use Parsoid's Document, not \DOMDocument
  • PreHandler: Skip onAny handler for EOFTk and NlTk
  • The onAny handler is only called if onAnyEnabled
  • Remove unused TemplateHandler::flattenAndAppendToks
  • Remove TokenHandlerResult class and return arrays instead
  • DOMDiff tracing: Use closure, restore JSON encoding
  • Return null if a token-handler didn't modify its input
  • TableFixups: Update getReparseType to not rely on outerHTML
  • Sanitizer: Minor tweaks
  • TokenHandlerResult: Get rid of useless validation
  • TokenHandlerResult: Simplify and get rid of skipOnAny signal
  • Simplify hacky_dl_uses rule
  • Use Env::trace() in WikitextSerializer and TokenHandlerPipeline
  • Add Env::trace() to more efficiently short-circuit tracing when disabled
  • Grammar 'table_line' rule: Extract common prefix out of its subrules
  • DOMDiff: use improved log formatter and remove unnecessary wrapper function
  • ParsoidLogger: improve formatting of log messages
  • ComputeDSR: remove a trace shortcut that is no longer necessary
  • composer.json: Allow wikimedia/wikipeg ^5.0.0
  • build: Updating formidable to 3.5.4
  • Make Tokens JsonCodecable
  • Remove a few DOMUtils::assertElt with types / phan-assertions
  • DOMCompat::nodeName: Get rid of unnecessary strtolower
  • Env: Add types for all property declarations
  • DOMUtils & WTUtils: Remove useless doc types
  • DOMUtils & WTUtils: Minor simplifiations & tweaks
  • Avoid extending DefaultTracer

Apr 28 - Apr 30 Yes V0.21.0-a27 as part of 1.44.0-wmf.27

edit
  • Tracing: Get rid of closures to json_encode tokens
  • Grammar: Ensure href attributes are strings, not arrays, T391416
  • Add start character to grammar trace output
  • Grammar: short-circuit checks for annotations
  • parserTests.php: Divide by 1M, not 1K for ns -> ms conversion
  • SiteConfig: allow listing pfragment handlers & record where they were defined, T392436
  • Remove PageConfig::getRevisionUser(), ::getRevisionUserId(), T329457
  • Audit Parsoid's Title::newFromText() against core's TitleParser, T329457
  • PreHandler: Use constant array in logging statements
  • Grammar: Move options assertion to constructor from sol rule
  • Fix --profile to use nanosecond resolution timer, T391416
  • Grammar: Don't add about ids to extension tokens
  • Minor: Emit profiles only for top-level full-parse pipeline
  • bin/parse.php: use --page and --title options like action=parse does
  • Run a few more passes on nested pipelines, T346196
  • Fix deprecation warnings and unpin wikimedia/remex-html
  • Sync parserTests with core
  • Minor: Fix casing of method name
  • DataMw::{get,set}ExtAttrib(): fix handling of numeric attribute names
  • Fix undefined access, T391869
  • Suppress warning in test
  • Add documentation about the log redirection for the test server
  • Turn $wgParsoidFragmentInput on to test new core side code
  • bin/parse.php: Add --record/--replay options for local benchmarking
  • Add DataMw:{get,set}ExtAttrib(), T367616
  • Avoid some work in attribute expansion
  • {{#interlanguage}} tests should be integrated-mode only
  • Lint empty headings, T368722
  • Update systemd unit names in testing scripts for PHP 8.1, T380485
  • build: Updating api-testing to 1.7.1
  • Add script to gather legacy & parsoid timing data from limit report
  • StripState::addAllFrom() bug fix

Apr 15 - Apr 17 Yes V0.21.0-a26 as part of 1.44.0-wmf.25

edit
  • Stop linting missing alt text, T344378
  • Introduce DataMwBody for data-mw.body

Apr 8 - Apr 19 Yes V0.21.0-a25 as part of 1.44.0-wmf.24

edit
  • Selective update of addmetadata should run on the entire doc
  • Rename FragmentHandler to PFragmentHandler, with compatibility alias
  • FragmentHandler: HtmlPFragment/DomPFragment should have mw:ParserFunction, T391007
  • Sync parserTests with core
  • Reintroduce fake timing flag whether timing is observing time, T359388
  • Reapply "Remove native special page transclusion implementation"
  • Localize fallback message used for not-ready-yet Asynchronous content, T390341
  • FragmentHandler support: Don't pass a empty string if no args are given
  • Arguments: documentation improvements
  • Allow extension modules to register PFragment subtypes
  • Fix incorrect broken-wikilink handling (alternative), T374156, T389623
  • Improve documentation for Ext\ExtensionModule
  • Revert "Revert changes to indicator processing"

Apr 4 Yes V0.21.0-a24 (early release for Abstract Wikipedia)

edit
  • FragmentHandler: new parser function API, T268144, T373255, T204307, T268144
  • Remove last use of Utils::clone() in ParserTests\Test and deprecate it
  • Rename saveDP and run it in full parse embedded-docs pipeline
  • Computation of idIndex should include extension-generated & embedded content
  • Only process captions *once* when traversing.
  • v3 parser function DOM spec: add /<key> suffix to mw:ParserFunction
  • Add json-schema for extension module configuration array, and validate it
  • Enable 'v3' parsoid fragment support for RT Testing
  • Remove no longer valid comment
  • Don't rerun gen-anchors in selective-update-global-dom-transforms
  • Small doc improvements for some function arguments
  • Add ParsoidExtensionAPI::preprocessFragment()
  • Match legacy section numbering with sol transparent on line, T384490, T214538
  • Add some self type declaration to functions
  • Update --dump tplsrc output to dump pfragment map
  • Revert "metrics: Fix scaling of values when we use a fake timing"
  • DOMDataUtils: Add a space to error message, T390629
  • Don't use Utils::clone() in AttributeExpander; add token __clone methods, T390499
  • Use rich attribute (live DocumentFragment) for data-mw.caption
  • build: Updating eslint-config-wikimedia to 0.29.1
  • metrics: Fix scaling of values when we use a fake timing, T359388

Apr 1 - Apr 3 Yes V0.21.0-a23 as part of 1.44.0-wmf.23

edit
  • Fix parse.php --integrated
  • Make "native template expansion" output more consistent with integrated output
  • DRY out registration/unregistration mechanism for standalone parser tests
  • Minor: fix typo in comment
  • Do not delete old Flow board images when converting to wikitext, T388687
  • Add PFragment::containsMarker() and PFragment::split()
  • Add a type declaration in generateCiteLanguageCSS.php
  • ListHandler: Refactor onAny for clarity
  • Api/SiteConfig: Update list of legacy-registered parser functions
  • Add PFragment helper methods ::killMarkers() and ::markerSkipCallback()
  • Throw on error in json_decode of knownFailures
  • Remove unused Utils::isLinkTrail()
  • Fix longstanding gap handling table elt syntax outside tables
  • Process new line tokens after <p> tags out of order in Remex, T368720
  • Add type declaration to undocumented class properties
  • Convert some static class properties to real const
  • Add unicode modifier for Utils::$linkTrailRegex regex

Mar 25 - Mar 27 Yes V0.21.0-a22 as part of 1.44.0-wmf.22

edit
  • Tweak extension argument normalization API, T386713
  • Fix full table parsing of multiline inline table data cells, T389555, T389573
  • Revert "Add new indicator test with a named ref tag defined in main doc"
  • Rich attribute support, phase 1b, T348161
  • Re-enable Parsoid fragment support v2 for RT testing, T380758
  • Match legacy output for category in wikilink, T389446
  • Add TokenUtils::is{TemplateArg,Extension,AnnotationMeta}Token()
  • Load data-parsoid and data-mw directly from page bundle
  • Save rich attributes when using 'saveData' option to XMLSerializer::serialize
  • Inspect dom fragments for pwrap optional children, T387937

Mar 18 - Mar 20 Yes V0.21.0-a21 as part of 1.44.0-wmf.21

edit
  • Add DataMwBody::new() as transitional support for the Cite extension
  • Revert changes to indicator processing
  • Add new indicator test with a named ref tag defined in main doc
  • Ensure multi-line table captions are accepted
  • Add ::processAttributeEmbeddedDom() methods
  • Fix quoting in exception error message, T388173
  • Improve debugabbility of JsonString decoding issues on data-mw, T388160
  • Revert "Temporarily disable insertion between WikitextPFragments"
  • Move doc prep out of setupTopLevelDoc
  • Make whitespace normalization of extension options configurable, T386713
  • Fix parsoid parser tests for fragment v2; sync parserTests with core
  • Sync parserTests with core
  • Grammar: Ensure nested blocks don't consume SOLs in isolation, T387922
  • Add v3ParserFunctions.txt to parserTests.json
  • Stop emitting dp->isIW

Mar 11 - Mar 13 Yes V0.21.0-a20 as part of 1.44.0-wmf.20

edit
  • Ignore data-parsoid href for invalid interwiki prefix, T385132
  • bin/parse.php: Use namespaced Title class
  • Support {{!}} as a top level wikilink seperator, T290526
  • Add shadow attribute for media link href
  • Fix here doc expansion happening client side
  • Disable ParsoidFragmentSupport in rt-testing (not enabled in prod)
  • Test for dirty tree before starting rt

Mar 4 - Mar 6 Yes V0.21.0-a19 as part of 1.44-wmf.19

edit
  • Revert "Process white space tokens after <p> tags out of order in Remex"
  • Revert "Remove native special page transclusion implementation"
  • Remove pipeTrick from dp
  • Rename fetchHTML to parseToHTML
  • Remove native special page transclusion implementation, T356718
  • Remove html pre b/c, T335843
  • Process white space tokens after <p> tags out of order in Remex, T368720
  • Update copyright year
  • Fix processing pipe magic word in bailing wikilinks, T387237, T290526
  • Stop combining displayspace and linkattributes passes, T387170

Feb 27 Yes V0.21.0-a18

edit

Cherry-picked mid-week release.

Feb 25 - Feb 27 Yes V0.21.0-a17 as part of 1.44-wmf.18

edit
  • Remove mention of tidy.conf and add missing empty tags
  • Add source tags to OnlyInlineElements, T386647
  • Tweak ContentUtils::createAndLoadDocument default declaration

Feb 18 - Feb 20 Yes V0.21.0-a16 as part of 1.44-wmf.17

edit
  • Call Assert::parameterType with array for type list
  • Re-enable "Turn on Parsoid Fragment Support v2 for RT testing""
  • Temporarily disable insertion between WikitextPFragments, T386233
  • Replace call_user_func with dynamic function calls
  • Replace DOMDataUtils::validDataMw() with DataMw::isEmpty()
  • Remove unused ContentUtils::createDocument()
  • Only combine when cell is the first node of a template
  • Replace call_user_func_array with dynamic function call
  • Use constant in test
  • Migrate langconv metrics to using statslib, T359393
  • Finish refactoring PageBundle/DomPageBundle
  • Account for dsr adjustments to cell source, T384737

Feb 11 - Feb 13 Yes V0.21.0-a15 as part of 1.44-wmf.16

edit
  • Followup to 7f4d47f5: Handle null currListFrame case
  • Definition Lists & T2529: 3rd time lucky: Get it right this time, T385897
  • Temporary Revert "Turn on Parsoid Fragment Support v2 for RT testing"
  • Turn on Parsoid Fragment Support v2 for RT testing, T374661
  • PFragment support: expand parser function result to tokens not DOM
  • Remove old broken caching code
  • Improve type annotations in SiteConfig
  • Add DataMwError::equals()
  • definitionLists.txt: Remove 'Definition Lists' prefix from test names
  • definitionLists.txt: Remove a couple convoluted tests
  • Only look for combining scenarios from templates, T384738
  • Sync parserTests with core
  • Add experimental v3 parser function output for use by wikifunctions, T373253, T385129
  • build: Updating mediawiki/mediawiki-codesniffer to 46.0.0
  • Move TemplateHandler::processTemplateSource to PipelineUtils
  • Clean up tplsrc dump for fragments

Feb 4 - Feb 6 Yes V0.21.0-a14 as part of 1.44-wmf.15

edit
  • Don't serialize/unserialize DOMFragments, just copy node data
  • Keep stx info for all headings, T100856, T373400
  • ParserTests: Support improved <spantag>/<divtag>
  • ListHandler: Fix dl-list breakage from ef86d93bc
  • Remove no longer relevant condition
  • Better handle expanded attrs when converting in table fixups, T384739
  • Fixups to table fixups
  • Sync parserTests with core
  • Duplicate heading tests now result in identical metadata for parsoid and legacy
  • Add a remark about test end-of-lines
  • Rename DOMPostProcessor to DOMProcessorPipeline, T382912
  • Rename TokenTransformManager to TokenHandlerPipeline, T382912
  • Move DOMPPTraverser to src/Wt2Html/DOM/Processors, T382912
  • Remove a bunch of backwards compatibility, T335843

Jan 28 - Jan 30 Yes V0.21.0-a13 as part of 1.44-wmf.14

edit
  • Remove all T2529 support code in integrated mode, T382464
  • Sync parserTests with core
  • Fix fostered flag confusion between pipelines, T384644
  • Unbreak Parsoid CI: Disable wgParsoidNewTemplateExpansionMode
  • parsoid: migrate linting metrics to prometheus, T359392

Jan 21 - Jan 23 Yes V0.21.0-a12 as part of 1.44-wmf.13

edit
  • Set TrackingCategory from __HIDDENCAT__, T372010
  • Set OutputFlag from __NOGALLERY__, T367846
  • Fix cardinality restriction on User-Agent, T383712
  • Add formats to REST routes
  • TemplateHandler: Support --dump tplsrc for fragment expansions
  • TableFixups: Handle gaps in capabilities

Jan 14 - Jan 16 Yes V0.21.0-a11 as part of 1.44-wmf.12

edit
  • build: Updating mediawiki/mediawiki-phan-config to 0.15.1
  • Sync parserTests with core
  • tools/FetchWt.php: Fix to run script on parsoidtest1001
  • Remove stale comment from DOMPostProcessor
  • Tests: Turn on integrated mode for tableFixupsParserTests.txt
  • Add further testing of wikilinks preventing cell merging
  • Sync parserTests with core + update code to pass tests, T71997, T382963
  • Revert "Turn on Parsoid Fragment Support v2 for RT testing"
  • Turn on Parsoid Fragment Support v2 for RT testing, T374661
  • Sync parserTests with core

Deployments from previous years

edit