Jump to content

Parsoid/Deployments

From mediawiki.org

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.46/Roadmap#Schedule for the deployments.

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

v0.23.0-a20, not put on train

[edit]

Issues with backward compatibility of page bundle data; resolved by Revert changes to counter initialization values (1247662)

  • DOMDataUtils: Get rid of unused $options to visitAndLoadDataAttribs
  • DOMDataUtils: prepareDoc -> prepareAndLoadDoc and remove boilerplate
  • Init PB counters + update unit tests to be consistent with DataBag
  • LanguageConverter: ensure zh language converter is actually disabled, T346657, T418549
  • Grammar: Allow pipe in table attribute value, T406187
  • Fix the RE used to detect lang-variant corruption, T418549
  • WTUtils: Add fromTemplatedContent helper & export it into Ext/
  • Script to fetch problematic ve-edits on zhwiki

Feb 24-26 Yes V0.23.0-a19 for 1.46.0-wmf.18

[edit]
  • Fix newline constraints after encapsulated content
  • composer: Loosen wikimedia/idle-dom requirements
  • Tweak test file to ensure prepareDoc is followed by visitAndLoad*
  • DOMDataUtils: Remove dead code
  • Follow redirects when expanding templates using API; record original title
  • Sync parser tests with core
  • Make rich attributes enumerate their embedded document fragments, T348165
  • TableFixups: Fix edge case in attribute reparsing, T417728
  • Rename TempData::NO_ATTRS to ::TABLE_CELL_WITH_NO_ATTRIBUTE_SYNTAX
  • When missing counters, don't create data-mw if it doesn't already exist
  • Assorted cleanup of table fixups related code:

v0.23.0-a18, not put on train

[edit]

Issues with empty data-mw; resolved by When missing counters, don't create data-mw if it doesn't already exist (1242597)

  • prepare_vendor_patch: tag validity check + force lowercase
  • Permit the use of wikimedia/json-codec 5.0.0
  • Add max annotation-id and about-id counter values to pagebundle
  • WTUtils: Remove dead code

Feb 24-26 Yes V0.23.0-a17 for 1.46.0-wmf.17

[edit]
  • Sync parserTests with core
  • Support Japanese wiki use of double-wide hash and colon, T415405
  • BasePageBundle: don't create counters array unless needed
  • Remove AllowDynamicProperties stub, unneeded under PHP 8.2, T417921
  • Sync parserTests with core.
  • DOMCompat::replaceChildren(): work around bug in PHP 8.3
  • [tests] *Actually* skip +langconv tests, T380517
  • build: Upgrade mediawiki-phan-config for PHP 8.5 support, T406326
  • DOMRangeInfo: Tighten types and remove dead code
  • Cleanup after processing embeded docs, T415220
  • Use wikipeg 6.1.1
  • Unbreak dead-NodeData-use protection
  • Backward compatibility for REST page bundle format
  • Add default val for parsoid counter
  • Preserve original id in html when reset to store in pb, T415477
  • parsertests: Skip +langconv tests, T380517
  • Language Converter: parse embedded wikilinks and images correctly, T417533
  • Allow remex-html ^6.0.0
  • Move shadowing of Parsoid-like ids to sanitizer

Feb 17-19 Yes V0.23.0-a16.2 for 1.46.0-wmf.16

[edit]
  • Backward compatibility for REST page bundle format

v0.23.0-a16.1 contained:

  • Add default val for parsoid counter

v0.23.0-a16 contained:

  • BasePageBundle: Add counters top-level property
  • PipelineContentCache: Track frame source of cached content
  • Implement sanitization of meta/link tags with schema.org microdata, T408915
  • SiteConfig: Use Psr/Log classes
  • Ensure round trip testing doesn't hang forever on large pages
  • Use DocumentFragment for data-mw.body.html and <embedtag>
  • Grammar.pegphp: Fix edge case parsing table attributes
  • DomPageBundle/HtmlPageBundle: reorder SiteConfig argument, make non-optional
  • DomPageBundle/HtmlPageBundle: Deprecate passing SiteConfig in $options
  • ParsoidTest: use HtmlPageBundle class not deprecated PageBundle
  • Add alias for DOMCompat/TokenList
  • DOMDataUtils::storeDataAttribs is always called with options array

Feb 10-12 Yes V0.23.0-a15 for 1.46.0-wmf.15

[edit]
  • Forward-compatibility with PageBundle counter encoding change
  • Create a CounterType enum to replace hardcoded strings for ids
  • WikiLinkHandler Cache: Update tsr source property as well
  • Fix Ext\DOMDataUtils::cloneNode/cloneElement to match DOMDataUtils
  • Update Parsoid use statements for SourceRange to reflect its move to Core
  • Update Parsoid use statements for DOMCompat to reflect its move to Core
  • SectionMetadata: update documentation, T407379
  • Use mb_strtolower for html tag name normalization
  • Move Tokens/SourceRange to Core/SourceRange
  • Move ContentUtilsTest to tests/phpunit/Parsoid/Utils

Feb 3-5 Yes V0.23.0-a14 for 1.46.0-wmf.14

[edit]
  • Add ContentUtils::createAndLoad* to Ext\ContentUtils, T332457
  • Don't clobber serializeNewEmptyDp in setupTopLevelDoc
  • Move Utils/DOMCompat to Core/DOMCompat, since it is stable to use, T332457
  • URL-encode backslashes in title hrefs, T415315
  • Revert "Hard-deprecate ParsoidExtensionAPI::domToWikitext called with an Element"
  • Cleanup: Remove unnecessary id trimming + rename method for clarity
  • Add DOMUtils::parseHTML/::parseHTMLToFragment to Ext\DOMUtils, T332457
  • Deprecate DOMDataUtils::{get,set}JSONAttribute
  • Hard-deprecate ParsoidExtensionAPI::domToWikitext called with an Element
  • Remove ExtensionTagHandler::processAttributeEmbeddedHTML()
  • ContentUtils: pass top level document to ParsoidExtensionAPI wrapper
  • ContentUtilsTest: use PageBundle methods for serialization
  • Deprecate ParsoidExtensionAPI::htmlToDom() with $doc or $options
  • DOMDataUtils: Fix unintended attribute removal, T415888
  • bin/parserTests.php: Make --quiet output quieter, but not as quiet as --quieter
  • Ignore redirect wikitext coming from templates, T398962
  • DOMDataUtils: replace ::getNodeDataIfExists() with ::getDataMwIfExists()
  • StubMetadataCollector::getPageProperty: Correct type hint, this can be numeric if setNumericPageProperty() was used
  • build: Upgrade PHPUnit from 10.5.58 to 10.5.62 to unblock CI, T415723
  • build: Drop back-compatibility for testing-access-wrapper, 4+ required for PHP 8.5

Jam 30/Feb 2 Yes V0.23.0-a13.1 backport to 1.46.0-wmf.13

[edit]
  • Don't clobber serializeNewEmptyDp in setupTopLevelDoc
  • ContentUtils: pass top level document to ParsoidExtensionAPI wrapper
  • DOMDataUtils: Fix unintended attribute removal, T415888

Jan 27 - Jan 29 Yes V0.23.0-a13 as part of 1.46.0-wmf.13

[edit]
  • Always fall back to generic case when setting data-mw to null
  • Move the setters to NodeData as well
  • Update redirected links in grammar
  • Prefer union type to Assert::parameterType
  • Clean up code related to codec hints
  • Don't try to variant-convert redlinks when skipLanguageConversionPass=true
  • DOMDataUtils: Don't redundantly load node data
  • Use new 'template3' token for `{{#...}}` constructs, T394834, T390344
  • MicroOpt: Remove redundant getDataParsoid calls
  • html2wt: Don't use data-parsoid.srcTagName blindly, T415233
  • Linter: Partial disable template-arg-in-extension-tag, T348722
  • Log a warning if extension src isn't present when linting, T415220
  • TestUtils::stripParsoidIds(): strip backslash-escaped IDs as well
  • Fix PHP 8.3 deprecation in Linter::lintTemplateArgInExtensionTag, T414712
  • ParsoidExtensionAPI: avoid round-tripping through HTML string
  • TableFixups: Fix regexp preventing cell splitting for empty cells, T415000
  • Instead of 'markNew', add toplevel option to serialize new & empty dps
  • bin/parse: Better comply with new API rate limits; support personal token
  • SiteConfig: Do not call ord() with more than one byte string
  • Remove register_argc_argv check
  • Define fatalError for standalone mode
  • Sync parserTests with core

Jan 20 - Jan 22 Yes V0.23.0-a12 as part of 1.46.0-wmf.12

[edit]
  • Add more complex DomPageBundleTest test + fix another bug
  • Fix bug caused by using falsy checks instead of explicit null checks
  • Don't move out format tags when originating as piped, T409669
  • Rearrange conditions in TokenUtils::tokensToString
  • Restore bullets before retokenizing expanded attrs, T394662
  • Remove code which was deprecated-with-warnings in Parsoid 0.22
  • ContentUtils::createAndLoadDocumentFragment(): deprecate & ignore $options
  • Ensure codec options aren't clobbered by the Cite extension
  • DOMDataUtils: use ::setAttributeObject() in ::setData{Parsoid,Mw}()
  • Linter: Add lint for usage of template arguments inside tags, T348722
  • Clarify isExtensionOutputtingCoreMwDomSpec
  • Fix moving format tags out of wikilinks with spaces in target, T409669
  • Stop marking extension wrapper as empty
  • Remove 'validateXMLNames' from the document loading options
  • Remove Env as an option to TokenUtils::tokensToString
  • build: Updating api-testing to 1.7.2
  • Optionally pass a base to sync-parserTests.js, T413524
  • Stop using null as an array offset
  • composer.json: Upgrade mediawiki/mediawiki-phan-config to 0.18.0
  • composer.json: Add symfony/polyfill-php85
  • DOMCompatTest: Remove PHP_VERSION checks against 8.1.20
  • .phan/config.php: Set min PHP version to 8.2
  • Drop PHP <= 8.0 compat code
  • DOMDataUtils: Simplify ::getDataParsoid() and ::getDataMw()
  • Token.php: Fix polarity of check to undo incorrect js -> php port
  • DataParsoid: Optimize isEmpty by using short-circuits
  • DataParsoid: isEmpty is a better method name than isModified
  • Implement lazy loading of data-mw and data-parsoid attributes, T409751

Jan 13 - Jan 15 Yes V0.23.0-a11 as part of 1.46.0-wmf.11

[edit]
  • Add (unreachable) class declarations to four files in `src/DOM`, T409283
  • Swap instructions in prepare vendor patch script
  • Strip ids in data-mw when normalizing for rt testing
  • Add a regression test for leaking fragment marker, T398969

Jan 6 - Jan 8 Yes V0.23.0-a10 as part of 1.46.0-wmf.10

[edit]
  • Fixed typo for compatibility in SelserData.php, T201491
  • Drop support for PHP 8.1
  • composer.json: Allow psr/log ^3.0.0, T356451
  • composer.json: Allow wikimedia/testing-access-wrapper 4.0.0, T412518
  • PHPUtils: Do not call ord() with more than one byte string
  • Remove useages of curl_close in ScopedCallback's, T413538
  • Remove temporary fragment normalization
  • ParserTests: Allow shorthand for testing multiple language variants
  • build: Drop IP Utils 5, require 6
  • Parser test sync
  • AddRedLinks: Support coloring wrt. default caption, T392775
  • Use DOMCompat to append document fragment, T409608
  • Sync parserTests with core
  • build: Updating eslint-config-wikimedia to 0.32.3

Deployments from previous years

[edit]