mediawiki/services/parsoid: main (log #2422181)

sourcepatches

This run took 131 seconds.

$ date
--- stdout ---
Tue Mar 31 09:43:14 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-services-parsoid.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
9bae86f8e93679f89ffbec8bf6ee5ca92fdd18aa refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "ajv": {
      "name": "ajv",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1113714,
          "name": "ajv",
          "dependency": "ajv",
          "title": "ajv has ReDoS when using `$data` option",
          "url": "https://github.com/advisories/GHSA-2g4f-4pwh-qvx6",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<6.14.0"
        }
      ],
      "effects": [],
      "range": "<6.14.0",
      "nodes": [
        "node_modules/ajv"
      ],
      "fixAvailable": true
    },
    "brace-expansion": {
      "name": "brace-expansion",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1115540,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
          "url": "https://github.com/advisories/GHSA-f886-m6hf-6m8v",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
          },
          "range": "<1.1.13"
        },
        {
          "source": 1115541,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
          "url": "https://github.com/advisories/GHSA-f886-m6hf-6m8v",
          "severity": "moderate",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"
          },
          "range": ">=2.0.0 <2.0.3"
        }
      ],
      "effects": [],
      "range": "<1.1.13 || >=2.0.0 <2.0.3",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion",
        "node_modules/brace-expansion"
      ],
      "fixAvailable": true
    },
    "diff": {
      "name": "diff",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1112705,
          "name": "diff",
          "dependency": "diff",
          "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
          "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
          "severity": "low",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=5.0.0 <5.2.2"
        }
      ],
      "effects": [],
      "range": "5.0.0 - 5.2.1",
      "nodes": [
        "node_modules/diff"
      ],
      "fixAvailable": true
    },
    "flatted": {
      "name": "flatted",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1114526,
          "name": "flatted",
          "dependency": "flatted",
          "title": "flatted vulnerable to unbounded recursion DoS in parse() revive phase",
          "url": "https://github.com/advisories/GHSA-25h7-pfq9-p65f",
          "severity": "high",
          "cwe": [
            "CWE-674"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.4.0"
        },
        {
          "source": 1115357,
          "name": "flatted",
          "dependency": "flatted",
          "title": "Prototype Pollution via parse() in NodeJS flatted",
          "url": "https://github.com/advisories/GHSA-rf6f-7fwh-wjgh",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<=3.4.1"
        }
      ],
      "effects": [],
      "range": "<=3.4.1",
      "nodes": [
        "node_modules/flatted"
      ],
      "fixAvailable": true
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1109540,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/form-data"
      ],
      "fixAvailable": false
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112715,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": ">=4.0.0 <4.1.1"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "4.0.0 - 4.1.0",
      "nodes": [
        "node_modules/mocha/node_modules/js-yaml"
      ],
      "fixAvailable": false
    },
    "lodash": {
      "name": "lodash",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112455,
          "name": "lodash",
          "dependency": "lodash",
          "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
          "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"
          },
          "range": ">=4.0.0 <=4.17.22"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.17.21",
      "nodes": [
        "node_modules/lodash"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096485,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        },
        {
          "source": 1113459,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113465,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=9.0.0 <9.0.6"
        },
        {
          "source": 1113538,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113544,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=9.0.0 <9.0.7"
        },
        {
          "source": 1113546,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.4"
        },
        {
          "source": 1113552,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=9.0.0 <9.0.7"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=3.1.3 || 9.0.0 - 9.0.6",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/minimatch",
        "node_modules/@humanwhocodes/config-array/node_modules/minimatch",
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/eslint/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": false
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": true,
      "via": [
        "diff",
        "js-yaml",
        "minimatch",
        "nanoid",
        "serialize-javascript"
      ],
      "effects": [],
      "range": "5.1.0 - 12.0.0-beta-2",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": false
    },
    "nanoid": {
      "name": "nanoid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109563,
          "name": "nanoid",
          "dependency": "nanoid",
          "title": "Predictable results in nanoid generation when given non-integer values",
          "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55",
          "severity": "moderate",
          "cwe": [
            "CWE-835"
          ],
          "cvss": {
            "score": 4.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<3.3.8"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<3.3.8",
      "nodes": [
        "node_modules/nanoid"
      ],
      "fixAvailable": false
    },
    "picomatch": {
      "name": "picomatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1115549,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
          "url": "https://github.com/advisories/GHSA-3v7f-55p6-f55p",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<2.3.2"
        },
        {
          "source": 1115551,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
          "url": "https://github.com/advisories/GHSA-3v7f-55p6-f55p",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": ">=4.0.0 <4.0.4"
        },
        {
          "source": 1115552,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch has a ReDoS vulnerability via extglob quantifiers",
          "url": "https://github.com/advisories/GHSA-c2c7-rcm5-vvqj",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<2.3.2"
        },
        {
          "source": 1115554,
          "name": "picomatch",
          "dependency": "picomatch",
          "title": "Picomatch has a ReDoS vulnerability via extglob quantifiers",
          "url": "https://github.com/advisories/GHSA-c2c7-rcm5-vvqj",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=4.0.0 <4.0.4"
        }
      ],
      "effects": [],
      "range": "<=2.3.1 || 4.0.0 - 4.0.3",
      "nodes": [
        "node_modules/@stylistic/eslint-plugin/node_modules/picomatch",
        "node_modules/picomatch",
        "node_modules/ts-declaration-location/node_modules/picomatch"
      ],
      "fixAvailable": true
    },
    "qs": {
      "name": "qs",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1113161,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in comma parsing allows denial of service",
          "url": "https://github.com/advisories/GHSA-w7fw-mjwx-w883",
          "severity": "low",
          "cwe": [
            "CWE-20"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.7.0 <=6.14.1"
        },
        {
          "source": 1113719,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
          "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
          "severity": "moderate",
          "cwe": [
            "CWE-20"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<6.14.1"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<=6.14.1",
      "nodes": [
        "node_modules/qs",
        "node_modules/request/node_modules/qs"
      ],
      "fixAvailable": false
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "form-data",
        "qs",
        "tough-cookie"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "serialize-javascript": {
      "name": "serialize-javascript",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113686,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript is Vulnerable to RCE via RegExp.flags and Date.prototype.toISOString()",
          "url": "https://github.com/advisories/GHSA-5c6j-r48x-rmvq",
          "severity": "high",
          "cwe": [
            "CWE-96"
          ],
          "cvss": {
            "score": 8.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=7.0.2"
        },
        {
          "source": 1115519,
          "name": "serialize-javascript",
          "dependency": "serialize-javascript",
          "title": "Serialize JavaScript has CPU Exhaustion Denial of Service via crafted array-like objects",
          "url": "https://github.com/advisories/GHSA-qj8w-gfj5-8c6v",
          "severity": "moderate",
          "cwe": [
            "CWE-400",
            "CWE-834"
          ],
          "cvss": {
            "score": 5.9,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<7.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=7.0.4",
      "nodes": [
        "node_modules/serialize-javascript"
      ],
      "fixAvailable": false
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "yaml": {
      "name": "yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1115556,
          "name": "yaml",
          "dependency": "yaml",
          "title": "yaml is vulnerable to Stack Overflow via deeply nested YAML collections",
          "url": "https://github.com/advisories/GHSA-48c2-rrv3-qjmp",
          "severity": "moderate",
          "cwe": [
            "CWE-674"
          ],
          "cvss": {
            "score": 4.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=2.0.0 <2.8.3"
        }
      ],
      "effects": [],
      "range": "2.0.0 - 2.8.2",
      "nodes": [
        "node_modules/yaml"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 1,
      "moderate": 8,
      "high": 5,
      "critical": 2,
      "total": 16
    },
    "dependencies": {
      "prod": 80,
      "dev": 350,
      "optional": 1,
      "peer": 1,
      "peerOptional": 0,
      "total": 429
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 86 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking danog/advanced-json-rpc (v3.2.3)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.6)
  - Locking justinrainbow/json-schema (v6.7.2)
  - Locking liuggio/statsd-php-client (v1.0.18)
  - Locking marc-mabe/php-enum (v4.7.2)
  - Locking mediawiki/mediawiki-codesniffer (v50.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.20.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (9.1.0)
  - Locking monolog/monolog (2.11.0)
  - Locking myclabs/deep-copy (1.13.4)
  - Locking netresearch/jsonmapper (v5.0.1)
  - Locking nikic/php-parser (v5.7.0)
  - Locking ockcyp/covers-validator (v1.7.0)
  - Locking phan/phan (6.0.2)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - Locking phar-io/manifest (2.0.4)
  - Locking phar-io/version (3.2.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (6.0.3)
  - Locking phpdocumentor/type-resolver (2.0.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking phpunit/php-code-coverage (10.1.16)
  - Locking phpunit/php-file-iterator (4.1.0)
  - Locking phpunit/php-invoker (4.0.0)
  - Locking phpunit/php-text-template (3.0.1)
  - Locking phpunit/php-timer (6.0.0)
  - Locking phpunit/phpunit (10.5.62)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (6.0.1)
  - Locking sebastian/cli-parser (2.0.1)
  - Locking sebastian/code-unit (2.0.0)
  - Locking sebastian/code-unit-reverse-lookup (3.0.0)
  - Locking sebastian/comparator (5.0.5)
  - Locking sebastian/complexity (3.2.0)
  - Locking sebastian/diff (5.1.1)
  - Locking sebastian/environment (6.1.0)
  - Locking sebastian/exporter (5.1.4)
  - Locking sebastian/global-state (6.0.2)
  - Locking sebastian/lines-of-code (2.0.2)
  - Locking sebastian/object-enumerator (5.0.0)
  - Locking sebastian/object-reflector (3.0.0)
  - Locking sebastian/recursion-context (5.0.1)
  - Locking sebastian/type (4.0.0)
  - Locking sebastian/version (4.0.1)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v6.4.35)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php83 (v1.33.0)
  - Locking symfony/polyfill-php84 (v1.33.0)
  - Locking symfony/polyfill-php85 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v7.4.6)
  - Locking theseer/tokenizer (1.3.1)
  - Locking webmozart/assert (2.1.6)
  - Locking wikimedia/alea (1.0.1)
  - Locking wikimedia/assert (v0.5.1)
  - Locking wikimedia/base-convert (v2.0.2)
  - Locking wikimedia/bcp-47-code (v2.0.3)
  - Locking wikimedia/dodo (v0.7.1)
  - Locking wikimedia/idle-dom (v2.1.1)
  - Locking wikimedia/ip-utils (6.0.1)
  - Locking wikimedia/json-codec (v4.0.0)
  - Locking wikimedia/langconv (0.5.0)
  - Locking wikimedia/object-factory (v6.0.0)
  - Locking wikimedia/remex-html (5.1.0)
  - Locking wikimedia/testing-access-wrapper (4.0.0)
  - Locking wikimedia/utfnormal (4.0.0)
  - Locking wikimedia/wikipeg (6.1.1)
  - Locking wikimedia/zest-css (4.1.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 86 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing marc-mabe/php-enum (v4.7.2): Extracting archive
  - Installing justinrainbow/json-schema (v6.7.2): Extracting archive
  - Installing liuggio/statsd-php-client (v1.0.18): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v50.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing symfony/string (v7.4.6): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v6.4.35): Extracting archive
  - Installing sabre/event (6.0.1): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Installing netresearch/jsonmapper (v5.0.1): Extracting archive
  - Installing webmozart/assert (2.1.6): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (6.0.3): Extracting archive
  - Installing danog/advanced-json-rpc (v3.2.3): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (6.0.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (9.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.20.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing monolog/monolog (2.11.0): Extracting archive
  - Installing sebastian/version (4.0.1): Extracting archive
  - Installing sebastian/type (4.0.0): Extracting archive
  - Installing sebastian/recursion-context (5.0.1): Extracting archive
  - Installing sebastian/object-reflector (3.0.0): Extracting archive
  - Installing sebastian/object-enumerator (5.0.0): Extracting archive
  - Installing sebastian/global-state (6.0.2): Extracting archive
  - Installing sebastian/exporter (5.1.4): Extracting archive
  - Installing sebastian/environment (6.1.0): Extracting archive
  - Installing sebastian/diff (5.1.1): Extracting archive
  - Installing sebastian/comparator (5.0.5): Extracting archive
  - Installing sebastian/code-unit (2.0.0): Extracting archive
  - Installing sebastian/cli-parser (2.0.1): Extracting archive
  - Installing phpunit/php-timer (6.0.0): Extracting archive
  - Installing phpunit/php-text-template (3.0.1): Extracting archive
  - Installing phpunit/php-invoker (4.0.0): Extracting archive
  - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
  - Installing theseer/tokenizer (1.3.1): Extracting archive
  - Installing nikic/php-parser (v5.7.0): Extracting archive
  - Installing sebastian/lines-of-code (2.0.2): Extracting archive
  - Installing sebastian/complexity (3.2.0): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
  - Installing phpunit/php-code-coverage (10.1.16): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.4): Extracting archive
  - Installing myclabs/deep-copy (1.13.4): Extracting archive
  - Installing phpunit/phpunit (10.5.62): Extracting archive
  - Installing ockcyp/covers-validator (v1.7.0): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-php85 (v1.33.0): Extracting archive
  - Installing wikimedia/alea (1.0.1): Extracting archive
  - Installing wikimedia/bcp-47-code (v2.0.3): Extracting archive
  - Installing wikimedia/zest-css (4.1.1): Extracting archive
  - Installing wikimedia/utfnormal (4.0.0): Extracting archive
  - Installing wikimedia/remex-html (5.1.0): Extracting archive
  - Installing wikimedia/idle-dom (v2.1.1): Extracting archive
  - Installing wikimedia/dodo (v0.7.1): Extracting archive
  - Installing wikimedia/base-convert (v2.0.2): Extracting archive
  - Installing wikimedia/ip-utils (6.0.1): Extracting archive
  - Installing wikimedia/json-codec (v4.0.0): Extracting archive
  - Installing wikimedia/assert (v0.5.1): Extracting archive
  - Installing wikimedia/langconv (0.5.0): Extracting archive
  - Installing wikimedia/object-factory (v6.0.0): Extracting archive
  - Installing wikimedia/testing-access-wrapper (4.0.0): Extracting archive
  - Installing wikimedia/wikipeg (6.1.1): Extracting archive
  0/84 [>---------------------------]   0%
 20/84 [======>---------------------]  23%
 28/84 [=========>------------------]  33%
 45/84 [===============>------------]  53%
 58/84 [===================>--------]  69%
 67/84 [======================>-----]  79%
 80/84 [==========================>-]  95%
 84/84 [============================] 100%
13 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
Class Test\Utils\ContentUtilsTest located in ./tests/phpunit/Parsoid/Utils/ContentUtilsTest.php does not comply with psr-4 autoloading standard (rule: Test\ => ./tests/phpunit). Skipping.
44 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:api-testing from 1.7.2 -> 1.7.3
$ /usr/bin/npm install
--- stderr ---
npm WARN skipping integrity check for git dependency ssh://git@github.com/arlolra/mocha.git 
npm WARN deprecated har-validator@5.1.3: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.6.11: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 428 packages, and audited 429 packages in 7s

104 packages are looking for funding
  run `npm fund` for details

16 vulnerabilities (1 low, 8 moderate, 5 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN skipping integrity check for git dependency ssh://git@github.com/arlolra/mocha.git 
npm WARN deprecated har-validator@5.1.3: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.6.11: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 428 packages, and audited 429 packages in 8s

104 packages are looking for funding
  run `npm fund` for details

16 vulnerabilities (1 low, 8 moderate, 5 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---

> parsoid@0.11.0 test
> npm run eslint


> parsoid@0.11.0 eslint
> eslint --cache --ext .js,.json .


/src/repo/bin/benchmark.js
   84:4   warning  Don't use process.exit(); throw an error instead                            n/no-process-exit
  132:9   warning  Found existsSync from package "fs" with non literal argument at index 0     security/detect-non-literal-fs-filename
  132:35  warning  Found readFileSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename
  190:4   warning  Found writeFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  252:32  warning  Found existsSync from package "fs" with non literal argument at index 0     security/detect-non-literal-fs-filename
  269:26  warning  Found readFileSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename
  285:15  warning  Found readFileSync from package "fs" with non literal argument at index 0   security/detect-non-literal-fs-filename
  353:4   warning  Don't use process.exit(); throw an error instead                            n/no-process-exit

/src/repo/bin/diff.html.js
    1:1   warning  ES2023 Hashbang comments are forbidden                                     es-x/no-hashbang
   34:22  warning  Unsafe Regular Expression                                                  security/detect-unsafe-regex
  150:16  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  151:17  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  177:27  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/bin/domdiff.test.js
   1:1   warning  ES2023 Hashbang comments are forbidden                             es-x/no-hashbang
   7:23  warning  Can't resolve '../lib/html2wt/DOMDiff.js' in '/src/repo/bin'       n/no-missing-require
  10:29  warning  Can't resolve '../lib/logger/ParsoidLogger.js' in '/src/repo/bin'  n/no-missing-require
  88:2   warning  Don't use process.exit(); throw an error instead                   n/no-process-exit

/src/repo/bin/inspectTokenizer.js
    1:1   warning  ES2023 Hashbang comments are forbidden                                          es-x/no-hashbang
   76:10  warning  Found createWriteStream from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
   83:22  warning  Found readFileSync from package "fs" with non literal argument at index 0       security/detect-non-literal-fs-filename
  227:2   warning  Don't use process.exit(); throw an error instead                                n/no-process-exit

/src/repo/bin/langconv-test.js
    1:1   warning  ES2023 Hashbang comments are forbidden                                   es-x/no-hashbang
   12:51  warning  Can't resolve '../lib/mw/ApiRequest.js' in '/src/repo/bin'               n/no-missing-require
   17:41  warning  Can't resolve '../lib/config/MWParserEnvironment.js' in '/src/repo/bin'  n/no-missing-require
   20:37  warning  Can't resolve '../lib/mw/ApiRequest.js' in '/src/repo/bin'               n/no-missing-require
  405:5   warning  Found non-literal argument in require                                    security/detect-non-literal-require
  625:4   warning  Don't use process.exit(); throw an error instead                         n/no-process-exit

/src/repo/bin/normalize.test.js
   1:1  warning  ES2023 Hashbang comments are forbidden            es-x/no-hashbang
  64:2  warning  Don't use process.exit(); throw an error instead  n/no-process-exit

/src/repo/bin/roundtrip-test.js
     1:1  warning  ES2023 Hashbang comments are forbidden            es-x/no-hashbang
  1009:4  warning  Don't use process.exit(); throw an error instead  n/no-process-exit

/src/repo/lib/config/ParsoidConfig.js
  157:19  warning  Found non-literal argument in require                                     security/detect-non-literal-require
  630:8   warning  Found statSync from package "fs" with non literal argument at index 0     security/detect-non-literal-fs-filename
  636:14  warning  Found readdirSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  643:9   warning  Found statSync from package "fs" with non literal argument at index 0     security/detect-non-literal-fs-filename
  656:12  warning  Found non-literal argument in require                                     security/detect-non-literal-require

/src/repo/lib/html2wt/DOMNormalizer.js
  284:17  warning  Found non-literal argument to RegExp Constructor  security/detect-non-literal-regexp
  372:44  warning  Unsafe Regular Expression                         security/detect-unsafe-regex

/src/repo/lib/html2wt/WTSUtils.js
  13:20  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/lib/utils/Diff.js
  142:24  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/lib/utils/TokenUtils.js
  26:10  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/lib/utils/Util.js
  159:10  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/lib/utils/WTUtils.js
  137:37  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/lib/utils/jsutils.js
  280:10  warning  Found non-literal argument to RegExp Constructor  security/detect-non-literal-regexp

/src/repo/tests/TestUtils.js
  155:12  warning  Unsafe Regular Expression  security/detect-unsafe-regex

/src/repo/tests/api-testing/Parsoid.js
  669:26  warning  Found non-literal argument to RegExp Constructor  security/detect-non-literal-regexp
  681:26  warning  Found non-literal argument to RegExp Constructor  security/detect-non-literal-regexp

/src/repo/tests/testreduce/rtTestWrapper.js
  13:9  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tools/ScriptUtils.js
  57:4  warning  Don't use process.exit(); throw an error instead  n/no-process-exit

/src/repo/tools/build-langconv-fst.js
    1:1   warning  ES2023 Hashbang comments are forbidden                                 es-x/no-hashbang
   84:21  warning  Can't resolve '../lib/language/FST.js' in '/src/repo/tools'            n/no-missing-require
  109:13  warning  Found openSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  302:14  warning  Found openSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tools/compare.linter.results.js
    1:1   warning  ES2023 Hashbang comments are forbidden            es-x/no-hashbang
  105:2   warning  Don't use process.exit(); throw an error instead  n/no-process-exit
  108:18  warning  Found non-literal argument in require             security/detect-non-literal-require
  112:2   warning  Don't use process.exit(); throw an error instead  n/no-process-exit
  115:18  warning  Found non-literal argument in require             security/detect-non-literal-require
  118:2   warning  Don't use process.exit(); throw an error instead  n/no-process-exit

/src/repo/tools/fetch-parserTests.js
  1:1  warning  ES2023 Hashbang comments are forbidden  es-x/no-hashbang

/src/repo/tools/fetch-revision-data.js
   1:1   warning  ES2023 Hashbang comments are forbidden                                     es-x/no-hashbang
  20:31  warning  Can't resolve '../lib/mw/ApiRequest.js' in '/src/repo/tools'               n/no-missing-require
  22:35  warning  Can't resolve '../lib/config/MWParserEnvironment.js' in '/src/repo/tools'  n/no-missing-require

/src/repo/tools/fetch_stray_toc_edits.js
  138:13  warning  Found non-literal argument to RegExp Constructor  security/detect-non-literal-regexp

/src/repo/tools/gen_timing_data.js
  135:17  warning  Found non-literal argument in require                                         security/detect-non-literal-require
  151:22  warning  Can't resolve './configs/common/cache_purge.adaptor.js' in '/src/repo/tools'  n/no-missing-require
  152:9   warning  Found existsSync from package "fs" with non literal argument at index 0       security/detect-non-literal-fs-filename
  153:24  warning  Found readFileSync from package "fs" with non literal argument at index 0     security/detect-non-literal-fs-filename
  187:3   warning  Found writeFileSync from package "fs" with non literal argument at index 0    security/detect-non-literal-fs-filename
  189:3   warning  Found writeFileSync from package "fs" with non literal argument at index 0    security/detect-non-literal-fs-filename

/src/repo/tools/gen_visualdiff_titles.js
  15:2  warning  Don't use process.exit(); throw an error instead                           n/no-process-exit
  34:3  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tools/runRtTests.js
  1:1  warning  ES2023 Hashbang comments are forbidden  es-x/no-hashbang

/src/repo/tools/sync-parserTests.js
    1:1  warning  ES2023 Hashbang comments are forbidden            es-x/no-hashbang
  263:2  warning  Don't use process.exit(); throw an error instead  n/no-process-exit

✖ 75 problems (0 errors, 75 warnings)


--- end ---
Upgrading c:phpunit/phpunit from 10.5.62 -> 10.5.63
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading phpunit/phpunit (10.5.62 => 10.5.63)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Upgrading phpunit/phpunit (10.5.62 => 10.5.63): Extracting archive
Generating optimized autoload files
Class Test\Utils\ContentUtilsTest located in ./tests/phpunit/Parsoid/Utils/ContentUtilsTest.php does not comply with psr-4 autoloading standard (rule: Test\ => ./tests/phpunit). Skipping.
44 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
--- stdout ---

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
Class Test\Utils\ContentUtilsTest located in ./tests/phpunit/Parsoid/Utils/ContentUtilsTest.php does not comply with psr-4 autoloading standard (rule: Test\ => ./tests/phpunit). Skipping.
44 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint . --exclude vendor --exclude node_modules
> phpcs -p -s
> minus-x check .
> covers-validator
> bash bin/nodenamecheck.sh

# Ensure lint output (exactly 1 line) is present!
x=`git grep "$grepPhrase" $BIN/.. | wc -l`
if [ ! $x -eq 1 ]
then
    echo "Uses of $badWords found! :("
    git grep "$grepPhrase" $BIN/..
    exit -1
fi
echo "No new uses of $badWords found! :)"
> bash bin/getattributecheck.sh

# exclude DOMCompat
FILES=$(git grep -l '[-]>')

# Ensure exactly 1 line is present (in DOMCompat::getAttribute itself)
x=`git grep "$grepPhrase" $FILES | wc -l`
if [ ! $x -eq 1 ]
then
    echo "Uses of $badWords found! :("
    git grep -P "$grepPhrase" $FILES
    exit -1
fi
echo "No new uses of $badWords found! :)"
> bash bin/childnodescheck.sh

FILES=$(git grep -l '[-]>')

# Ensure exactly two matches are present:
#  One in DOMUtils and one in Ext/DOMUtils in the documentation comment
#  for DOMUtils::childNodes()
x=`git grep "$grepPhrase" $FILES | wc -l`
if [ ! $x -eq 2 ]
then
    echo "Uses of $badWords found! :("
    git grep -P "$grepPhrase" $FILES
    exit -1
fi
echo "No new uses of $badWords found! :)"
> phan -p --config-file=.phan/standalone.php --long-progress-bar
Parsing files...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   54 / 3379 (  2%) 67MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  108 / 3379 (  3%) 79MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  162 / 3379 (  5%) 87MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  216 / 3379 (  6%) 107MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  270 / 3379 (  8%) 128MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  324 / 3379 ( 11%) 152MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  378 / 3379 ( 12%) 165MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  432 / 3379 ( 14%) 176MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  486 / 3379 ( 16%) 185MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  540 / 3379 ( 16%) 185MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  594 / 3379 ( 18%) 192MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  648 / 3379 ( 19%) 202MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  702 / 3379 ( 21%) 219MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  756 / 3379 ( 23%) 226MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  810 / 3379 ( 25%) 233MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  864 / 3379 ( 29%) 237MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  918 / 3379 ( 29%) 237MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  972 / 3379 ( 29%) 237MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1026 / 3379 ( 31%) 252MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1080 / 3379 ( 34%) 280MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1134 / 3379 ( 34%) 280MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1188 / 3379 ( 38%) 287MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1242 / 3379 ( 38%) 287MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1296 / 3379 ( 40%) 293MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1350 / 3379 ( 40%) 293MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1404 / 3379 ( 42%) 303MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1458 / 3379 ( 45%) 311MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1512 / 3379 ( 45%) 311MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1566 / 3379 ( 48%) 315MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1620 / 3379 ( 48%) 315MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1674 / 3379 ( 50%) 320MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1728 / 3379 ( 52%) 326MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1782 / 3379 ( 54%) 332MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1836 / 3379 ( 54%) 332MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1890 / 3379 ( 57%) 339MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1944 / 3379 ( 59%) 348MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1998 / 3379 ( 59%) 348MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2052 / 3379 ( 61%) 354MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2106 / 3379 ( 64%) 362MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2160 / 3379 ( 64%) 362MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2214 / 3379 ( 67%) 369MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2268 / 3379 ( 67%) 369MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2322 / 3379 ( 68%) 379MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2376 / 3379 ( 70%) 387MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2430 / 3379 ( 71%) 395MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2484 / 3379 ( 74%) 411MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2538 / 3379 ( 76%) 425MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2592 / 3379 ( 79%) 432MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2646 / 3379 ( 79%) 432MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2700 / 3379 ( 81%) 436MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2754 / 3379 ( 81%) 439MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2808 / 3379 ( 83%) 449MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2862 / 3379 ( 84%) 460MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2916 / 3379 ( 86%) 500MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 2970 / 3379 ( 88%) 520MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3024 / 3379 ( 90%) 524MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3078 / 3379 ( 93%) 528MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3132 / 3379 ( 93%) 528MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3186 / 3379 ( 95%) 532MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3240 / 3379 ( 97%) 541MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3294 / 3379 ( 98%) 550MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 3348 / 3379 ( 99%) 561MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░                        3379 / 3379 (100%) 561MB
Analyzing classes...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 737MB
Analyzing functions...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 742MB
Analyzing methods...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 796MB
Analyzing files...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  54 / 334 ( 16%) 846MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 108 / 334 ( 32%) 855MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 162 / 334 ( 49%) 867MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 216 / 334 ( 64%) 878MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 270 / 334 ( 80%) 889MB
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 324 / 334 ( 97%) 912MB
░░░░░░░░░░                                             334 / 334 (100%) 912MB

> phpunit
PHPUnit 10.5.63 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.4.18
Configuration: /src/repo/phpunit.xml.dist

.............................................................   61 / 9297 (  0%)
.............................................................  122 / 9297 (  1%)
.............................................................  183 / 9297 (  1%)
.............................................................  244 / 9297 (  2%)
.............................................................  305 / 9297 (  3%)
.............................................................  366 / 9297 (  3%)
.............................................................  427 / 9297 (  4%)
.............................................................  488 / 9297 (  5%)
.............................................................  549 / 9297 (  5%)
.............................................................  610 / 9297 (  6%)
.............................................................  671 / 9297 (  7%)
.............................................................  732 / 9297 (  7%)
.............................................................  793 / 9297 (  8%)
.............................................................  854 / 9297 (  9%)
.............................................................  915 / 9297 (  9%)
.............................................................  976 / 9297 ( 10%)
............................................................. 1037 / 9297 ( 11%)
............................................................. 1098 / 9297 ( 11%)
............................................................. 1159 / 9297 ( 12%)
............................................................. 1220 / 9297 ( 13%)
............................................................. 1281 / 9297 ( 13%)
............................................................. 1342 / 9297 ( 14%)
............................................................. 1403 / 9297 ( 15%)
............................................................. 1464 / 9297 ( 15%)
............................................................. 1525 / 9297 ( 16%)
............................................................. 1586 / 9297 ( 17%)
............................................................. 1647 / 9297 ( 17%)
............................................................. 1708 / 9297 ( 18%)
............................................................. 1769 / 9297 ( 19%)
............................................................. 1830 / 9297 ( 19%)
............................................................. 1891 / 9297 ( 20%)
............................................................. 1952 / 9297 ( 20%)
............................................................. 2013 / 9297 ( 21%)
............................................................. 2074 / 9297 ( 22%)
............................................................. 2135 / 9297 ( 22%)
............................................................. 2196 / 9297 ( 23%)
............................................................. 2257 / 9297 ( 24%)
............................................................. 2318 / 9297 ( 24%)
............................................................. 2379 / 9297 ( 25%)
............................................................. 2440 / 9297 ( 26%)
............................................................. 2501 / 9297 ( 26%)
............................................................. 2562 / 9297 ( 27%)
............................................................. 2623 / 9297 ( 28%)
............................................................. 2684 / 9297 ( 28%)
............................................................. 2745 / 9297 ( 29%)
............................................................. 2806 / 9297 ( 30%)
............................................................. 2867 / 9297 ( 30%)
............................................................. 2928 / 9297 ( 31%)
............................................................. 2989 / 9297 ( 32%)
............................................................. 3050 / 9297 ( 32%)
............................................................. 3111 / 9297 ( 33%)
............................................................. 3172 / 9297 ( 34%)
............................................................. 3233 / 9297 ( 34%)
............................................................. 3294 / 9297 ( 35%)
............................................................. 3355 / 9297 ( 36%)
............................................................. 3416 / 9297 ( 36%)
............................................................. 3477 / 9297 ( 37%)
............................................................. 3538 / 9297 ( 38%)
............................................................. 3599 / 9297 ( 38%)
............................................................. 3660 / 9297 ( 39%)
............................................................. 3721 / 9297 ( 40%)
............................................................. 3782 / 9297 ( 40%)
............................................................. 3843 / 9297 ( 41%)
............................................................. 3904 / 9297 ( 41%)
............................................................. 3965 / 9297 ( 42%)
............................................................. 4026 / 9297 ( 43%)
............................................................. 4087 / 9297 ( 43%)
............................................................. 4148 / 9297 ( 44%)
............................................................. 4209 / 9297 ( 45%)
............................................................. 4270 / 9297 ( 45%)
............................................................. 4331 / 9297 ( 46%)
............................................................. 4392 / 9297 ( 47%)
............................................................. 4453 / 9297 ( 47%)
............................................................. 4514 / 9297 ( 48%)
............................................................. 4575 / 9297 ( 49%)
............................................................. 4636 / 9297 ( 49%)
............................................................. 4697 / 9297 ( 50%)
............................................................. 4758 / 9297 ( 51%)
............................................................. 4819 / 9297 ( 51%)
............................................................. 4880 / 9297 ( 52%)
............................................................. 4941 / 9297 ( 53%)
............................................................. 5002 / 9297 ( 53%)
............................................................. 5063 / 9297 ( 54%)
............................................................. 5124 / 9297 ( 55%)
............................................................. 5185 / 9297 ( 55%)
............................................................. 5246 / 9297 ( 56%)
............................................................. 5307 / 9297 ( 57%)
............................................................. 5368 / 9297 ( 57%)
............................................................. 5429 / 9297 ( 58%)
............................................................. 5490 / 9297 ( 59%)
............................................................. 5551 / 9297 ( 59%)
............................................................. 5612 / 9297 ( 60%)
............................................................. 5673 / 9297 ( 61%)
............................................................. 5734 / 9297 ( 61%)
............................................................. 5795 / 9297 ( 62%)
............................................................. 5856 / 9297 ( 62%)
............................................................. 5917 / 9297 ( 63%)
............................................................. 5978 / 9297 ( 64%)
............................................................. 6039 / 9297 ( 64%)
............................................................. 6100 / 9297 ( 65%)
............................................................. 6161 / 9297 ( 66%)
............................................................. 6222 / 9297 ( 66%)
............................................................. 6283 / 9297 ( 67%)
............................................................. 6344 / 9297 ( 68%)
............................................................. 6405 / 9297 ( 68%)
............................................................. 6466 / 9297 ( 69%)
............................................................. 6527 / 9297 ( 70%)
............................................................. 6588 / 9297 ( 70%)
............................................................. 6649 / 9297 ( 71%)
............................................................. 6710 / 9297 ( 72%)
............................................................. 6771 / 9297 ( 72%)
............................................................. 6832 / 9297 ( 73%)
............................................................. 6893 / 9297 ( 74%)
............................................................. 6954 / 9297 ( 74%)
............................................................. 7015 / 9297 ( 75%)
............................................................. 7076 / 9297 ( 76%)
............................................................. 7137 / 9297 ( 76%)
............................................................. 7198 / 9297 ( 77%)
............................................................. 7259 / 9297 ( 78%)
............................................................. 7320 / 9297 ( 78%)
............................................................. 7381 / 9297 ( 79%)
............................................................. 7442 / 9297 ( 80%)
............................................................. 7503 / 9297 ( 80%)
............................................................. 7564 / 9297 ( 81%)
............................................................. 7625 / 9297 ( 82%)
............................................................. 7686 / 9297 ( 82%)
............................................................. 7747 / 9297 ( 83%)
............................................................. 7808 / 9297 ( 83%)
............................................................. 7869 / 9297 ( 84%)
............................................................. 7930 / 9297 ( 85%)
............................................................. 7991 / 9297 ( 85%)
............................................................. 8052 / 9297 ( 86%)
............................................................. 8113 / 9297 ( 87%)
............................................................. 8174 / 9297 ( 87%)
............................................................. 8235 / 9297 ( 88%)
............................................................. 8296 / 9297 ( 89%)
............................................................. 8357 / 9297 ( 89%)
............................................................. 8418 / 9297 ( 90%)
............................................................. 8479 / 9297 ( 91%)
............................................................. 8540 / 9297 ( 91%)
............................................................. 8601 / 9297 ( 92%)
............................................................. 8662 / 9297 ( 93%)
............................................................. 8723 / 9297 ( 93%)
............................................................. 8784 / 9297 ( 94%)
............................................................. 8845 / 9297 ( 95%)
............................................................. 8906 / 9297 ( 95%)
............................................................. 8967 / 9297 ( 96%)
............................................................. 9028 / 9297 ( 97%)
............................................................. 9089 / 9297 ( 97%)
............................................................. 9150 / 9297 ( 98%)
............................................................. 9211 / 9297 ( 99%)
............................................................. 9272 / 9297 ( 99%)
.......Segmentation fault
Script phpunit handling the phpunit event returned with error code 139
Script @phpunit was called via test
--- stdout ---
PHP 8.4.18 | 10 parallel jobs
............................................................  60/460 ( 13%)
............................................................ 120/460 ( 26%)
............................................................ 180/460 ( 39%)
............................................................ 240/460 ( 52%)
............................................................ 300/460 ( 65%)
............................................................ 360/460 ( 78%)
............................................................ 420/460 ( 91%)
........................................                     460/460 (100%)


Checked 460 files in 1.6 seconds
No syntax error found
.......................................................... 58 / 58 (100%)


Time: 7.46 secs; Memory: 10MB

MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.........................................
All good!
CoversValidator 1.7.0

Validation complete. All @covers tags are valid.
No new uses of $node->nodeName found! :)
No new uses of $node->getAttribute( found! :)
No new uses of $node->childNodes found! :)

--- end ---
Traceback (most recent call last):
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1268, in main
    libup.run()
    ~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 1203, in run
    self.composer_upgrade(plan)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 986, in composer_upgrade
    self.composer_test()
    ~~~~~~~~~~~~~~~~~~^^
  File "/venv/lib/python3.13/site-packages/runner/__init__.py", line 309, in composer_test
    self.check_call(["composer", "test"])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.13/site-packages/runner/shell2.py", line 66, in check_call
    res.check_returncode()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/subprocess.py", line 508, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
                             self.stderr)
subprocess.CalledProcessError: Command '['/usr/bin/composer', 'test']' returned non-zero exit status 139.
Source code is licensed under the AGPL.