Skip to content

chore: migrate wpackagist → WP Packages (roots)#435

Open
oxyc wants to merge 3 commits into
masterfrom
chore/migrate-wp-packages
Open

chore: migrate wpackagist → WP Packages (roots)#435
oxyc wants to merge 3 commits into
masterfrom
chore/migrate-wp-packages

Conversation

@oxyc

@oxyc oxyc commented May 21, 2026

Copy link
Copy Markdown
Member

Why

wpackagist is now WP Engine-owned and serves unversioned/un-checksummed downloads that let locked versions silently drift on install. WP Packages (repo.wp-packages.org) serves version-pinned downloads instead.

This PR:

  • Changes the repositories entry URL https://wpackagist.orghttps://repo.wp-packages.org.
  • Renames every wpackagist-plugin/*wp-plugin/* (in require and in extra installer-paths / wp-translation-downloader excludes).
  • Re-locks with composer update "wp-plugin/*" --no-install --no-scripts, which removes the orphaned wpackagist-plugin/* lock entries and allows only within-constraint updates. Version constraints are unchanged.

There are no wpackagist-theme/* entries and no wp-taxonomy-order dependency in this repo, so the theme rename and the wp-taxonomy-order fork special case did not apply.

Within-constraint version bumps (from composer update)

  • limit-login-attempts-reloaded 3.0.0 → 3.2.4
  • woocommerce 10.6.1 → 10.7.0
  • wordpress-seo 27.2 → 27.6

(All other migrated plugins re-locked at the same version.)

composer validate --no-check-publish passes (only pre-existing unbound-constraint warnings). Only composer.json and composer.lock changed.

🤖 Generated with Claude Code

Plugin version changes

Within-constraint version bumps pulled by this migration (from composer.lock):

  • cli-parser: 4.2.0 → 1.0.2
  • comparator: 7.1.4 → 4.0.10
  • complexity: 5.0.0 → 2.0.3
  • deprecation-contracts: v3.6.0 → v3.7.0
  • diff: 7.0.0 → 4.0.6
  • environment: 8.0.4 → 5.1.5
  • exporter: 7.0.2 → 4.0.8
  • global-state: 8.0.2 → 5.0.8
  • limit-login-attempts-reloaded: 3.0.0 → 3.2.4
  • lines-of-code: 4.0.0 → 1.0.4
  • object-enumerator: 7.0.0 → 4.0.4
  • object-reflector: 5.0.0 → 2.0.4
  • php-code-coverage: 12.5.3 → 9.2.32
  • php-file-iterator: 6.0.1 → 3.0.6
  • php-invoker: 6.0.0 → 3.1.1
  • php-text-template: 5.0.0 → 2.0.4
  • php-timer: 8.0.0 → 5.0.3
  • phpunit: 12.5.14 → 9.6.34
  • polyfill-ctype: v1.33.0 → v1.37.0
  • recursion-context: 7.0.1 → 4.0.6
  • tokenizer: 2.0.1 → 1.3.1
  • type: 6.0.3 → 3.2.1
  • version: 6.0.0 → 3.0.2
  • woocommerce: 10.6.1 → 10.7.0
  • wordpress-seo: 27.2 → 27.6

oxyc and others added 3 commits May 21, 2026 13:20
wpackagist is now WP Engine-owned and serves unversioned/un-checksummed
downloads that let locked versions silently drift on install. WP Packages
(repo.wp-packages.org) serves version-pinned downloads instead. Plugin
namespaces are renamed wpackagist-plugin/* -> wp-plugin/* and the repository
URL is updated accordingly. Version constraints are unchanged; only
within-constraint updates were allowed during re-locking.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
createTable() is protected on DatabaseCommand (sage-cachetags v2), so calling it
directly routes through Illuminate\Console\Command::__call() and throws
BadMethodCallException, breaking the phpunit bootstrap. Use the CreatesDatabaseTable
trait directly (exposed public via an anonymous class), and boot the Acorn HTTP
kernel in console mode so the theme's providers/views are bound for ThemeTest.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The `>=9.0` constraint pulled PHPUnit 12, which removed
PHPUnit\Util\Test::parseTestMethodAnnotations() that wp-phpunit still calls,
breaking the test run. Pin to the WordPress-compatible PHPUnit 9 line (and
keep wp-phpunit on 6.x) — matches the working test stack in current projects.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant