Go to file
Subramanya Sastry 0f99a8044c Bump wikimedia/parsoid to 0.19.0-a8
Bug: T314096
Bug: T314825
Bug: T343314
Bug: T350844
Bug: T352559
Change-Id: Id146aa6f0a808a9ba75e796ff6866975cd35680d
2023-12-11 15:26:32 -06:00
bacon/bacon-qr-code Add endroid/qr-code 4.6.1 2023-09-29 16:29:50 -04:00
beberlei/assert Upgrading beberlei/assert (v3.3.1 => v3.3.2) 2022-02-01 18:16:36 +00:00
brick/math Updating brick/math (0.8.15 => 0.8.17) 2020-09-18 22:42:22 +01:00
christian-riesen/base32 Upgrading christian-riesen/base32 (1.4.0 => 1.6.0) 2022-02-01 22:51:20 +00:00
composer Bump wikimedia/parsoid to 0.19.0-a8 2023-12-11 15:26:32 -06:00
cssjanus/cssjanus Upgrading cssjanus/cssjanus (v2.1.0 => v2.1.1) 2023-01-10 02:10:52 +00:00
dasprid/enum Add endroid/qr-code 4.6.1 2023-09-29 16:29:50 -04:00
data-values Update data-values/* 2022-10-25 13:36:10 +02:00
defuse/php-encryption Upgrading defuse/php-encryption (v2.2.1 => v2.3.1) 2021-10-12 21:12:09 -07:00
diff/diff Update diff/diff from 3.2.0 to 3.3.1 2022-10-06 11:37:17 +02:00
elasticsearch/elasticsearch Updating elasticsearch related libraries 2023-01-15 16:17:32 +00:00
endroid/qr-code Add endroid/qr-code 4.6.1 2023-09-29 16:29:50 -04:00
ezimuel Updating elasticsearch related libraries 2023-01-15 16:17:32 +00:00
fgrosse/phpasn1 Upgrading fgrosse/phpasn1 (v2.4.0 => v2.5.0) 2023-06-06 14:03:30 +01:00
firebase/php-jwt Upgrading firebase/php-jwt (v5.5.1 => v6.4.0) 2023-04-24 16:53:33 +00:00
geoip2/geoip2 Upgrading geoip2/geoip2 (v2.12.2 => v2.13.0) 2022-09-30 12:24:54 +01:00
guzzlehttp Upgrading guzzlehttp/* 2023-10-03 13:07:38 -04:00
jakobo/hotp-php Updating jakobo/hotp-php (1.0.1 => 2.0.0) 2020-12-28 03:46:43 +00:00
james-heinrich/getid3 Replace wikimedia/getid3 v1.9.22.2 with james-heinrich/getid3 v1.9.23 2023-10-19 09:37:35 -04:00
justinrainbow/json-schema Upgrading justinrainbow/json-schema (5.2.12 => v5.2.13) 2023-10-03 13:09:19 -04:00
lcobucci Revert "Upgrading lcobucci/jwt (4.1.5 => 4.3.0)" 2023-03-16 13:57:56 -04:00
league Upgrading league/uri (6.4.0 => 6.7.2) 2022-09-30 12:25:58 +01:00
liuggio/statsd-php-client Update liuggio/statsd-php-client to 1.0.18 2015-11-26 00:41:34 +00:00
maxmind/web-service-common Update maxmind/web-service-common to 0.9.0 2022-09-29 23:46:49 +01:00
maxmind-db/reader Upgrading maxmind-db/reader (v1.10.1 => v1.11.0) 2022-02-01 18:09:15 +00:00
monolog/monolog Updating monolog/monolog (2.1.1 => 2.2.0) 2021-01-12 16:40:08 +00:00
mustangostang/spyc Updating mustangostang/spyc (0.6.2 => 0.6.3) 2020-01-08 16:57:53 -08:00
nikic/php-parser Upgrading nikic/php-parser (v4.15.2 => v4.17.1) 2023-10-03 13:02:48 -04:00
nyholm/dsn Upgrade to Elastica 7.1.5 2022-08-29 11:50:18 -07:00
onoi/message-reporter Raise onoi/message-reporter to 1.4.2 for PHP 8.0 compat 2022-09-29 10:32:01 -04:00
oojs/oojs-ui Update OOUI to v0.48.3 2023-12-06 18:16:25 -05:00
opis/json-schema Add opis/json-schema and symfony/yaml for Wikifunctions 2021-11-05 15:53:31 +00:00
pear Upgrading pear/pear-core-minimal (v1.10.11 => v1.10.13) 2023-10-03 13:07:04 -04:00
pimple/pimple Upgrading pimple/pimple (v3.4.0 => v3.5.0) 2022-02-01 22:45:25 +00:00
psr Update psr/http-{client,factory} 2023-10-03 13:00:38 -04:00
psy/psysh Upgrading psy/psysh (v0.11.10 => v0.11.21) 2023-10-03 13:01:36 -04:00
ralouphie/getallheaders Update ralouphie/getallheaders and guzzlehttp/psr7 2019-11-01 13:36:17 -07:00
ramsey Upgrading ramsey/collection (1.2.2 => 1.3.0) 2023-03-10 15:43:05 -05:00
react/promise Upgrading react/promise (v2.8.0 => v2.9.0) 2022-02-14 23:11:42 +00:00
ruflin/elastica Updating elasticsearch related libraries 2023-01-15 16:17:32 +00:00
serialization/serialization Upgrade serialization/serialization to 4.0.0 2018-10-02 14:58:53 +01:00
spomky-labs Upgrading spomky-labs/cbor-php (v1.1.1 => v2.1.0) 2022-09-30 12:25:29 +01:00
swaggest/json-diff Bump swaggest/json-diff to 3.10.5 2023-11-17 16:05:57 +00:00
symfony Install symfony/polyfill-php83 2023-10-05 11:18:46 -04:00
thecodingmachine/safe Update web-auth/* 2021-03-20 22:25:27 +00:00
web-auth Update web-auth/* 2022-03-25 13:45:29 +00:00
wikimedia Bump wikimedia/parsoid to 0.19.0-a8 2023-12-11 15:26:32 -06:00
wmde/php-vuejs-templating Update php-vuejs-templating to 2.0.0 2022-11-07 16:52:35 +01:00
zordius/lightncandy Upgrading zordius/lightncandy (v1.2.5 => v1.2.6) 2021-10-08 23:40:32 +01:00
.gitignore .gitignore: Update exclusions and rebuild composer files 2023-10-10 15:09:06 +01:00
.gitreview Merge remote-tracking branch 'origin/es5' 2017-03-09 14:17:39 +01:00
.htaccess Add .htaccess to disallow web access 2017-11-15 00:07:50 +00:00
README.md Update wikimedia/minify to 2.5.1 2023-10-12 21:06:38 -07:00
autoload.php Rebuild vendor on composer 2.5.1 2023-01-06 17:02:16 +00:00
composer.json Bump wikimedia/parsoid to 0.19.0-a8 2023-12-11 15:26:32 -06:00
composer.lock Bump wikimedia/parsoid to 0.19.0-a8 2023-12-11 15:26:32 -06:00
wip-requires.sh Add requires.sh to keep track of where requires come from 2019-10-30 14:21:21 +00:00

README.md

MediaWiki-Vendor

Composer managed libraries required or recommended for use with MediaWiki. This repository is maintained for use on the Wikimedia Foundation production and testing clusters, but may be useful for anyone wishing to avoid directly managing MediaWiki dependencies with Composer.

Usage

Checkout this library into $IP/vendor using git clone <URL> or add the repository as a git submodule using git submodule add <URL> vendor followed by git submodule update --init.

Adding or updating libraries

  1. Read the documentation on the process for adding new libraries.
  2. Ensure you're using version 2.6.4 of composer via composer --version. Everyone using the same version means that diffs from the autoloader are minimal and so easier to validate and manually rebase. This is most easily done with Docker. For example, to run composer update --no-dev do:
    docker run --rm -it -u "$(id -u):$(id -g)" -v "$PWD/.git:/src/.git:ro" -v "$PWD:/src" -w /src docker-registry.wikimedia.org/releng/composer-php74:0.3.2-s1 update --no-dev
    
  3. Edit the composer.json file to add/update the libraries you want to change. It is recommended that you use composer require <package> <version> --no-update to do so as composer will then automatically sort the composer.json file.
  4. Run composer update --no-dev to download files and update the autoloader.
  5. Add all the new dependencies that got installed to composer.json as well, so that everything has their version pinned. (You can look at the changes in composer.lock or composer/installed.json to see what they are.)
  6. In some cases, the libraries might include not needed files (e.g. test files, project files, etc). If you cannot exclude them from library's archive (e.g. by export-ignoreing unwanted files in library's .gitattributes file), you can skip checking them in by listing them in .gitignore file.
  7. Rarely, lint checks fail because test files in some library were written for an unsupported PHP version. In that case add the test directories to the --exclude parameter in the script > test field in composer.json, and to .gitignore.
  8. Add and commit changes as a gerrit patch.
  9. Review and merge changes.

Note that you MUST pair patches changing versions of libraries used by MediaWiki itself with ones for the "core" repo. Specifically, the patch in mediawiki/core must have a Depends-On footer to the patch in mediawiki/vendor.

The vendor repo has special configuration, which skips the integrity checks and so allowing a circular dependency Gordian knot to be fixed. However, this means that, if merged alone without a pair, you'll cause ALL patches in MediaWiki and ALL extensions to fail their continuous integration tests.

If in doubt, seek advice from regular commiters to this repository.