Skip to content

Tooling: Enforce minimum WordPress compatibility. - #17

Merged
JJJ merged 6 commits into
masterfrom
feature/phpstan-level-7
Oct 2, 2026
Merged

JJJ merged 6 commits into
masterfrom
feature/phpstan-level-7

Conversation

@JJJ

@JJJ JJJ commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

This adds PHPStan level 7 while preserving the historical integer asset version through a narrow PHPStan compatibility stub.

WordPress 7.1 stubs now provide current API signatures while WPCompat checks unguarded API usage against the declared WordPress 6.4 minimum. The shared CI and release callers are pinned to the reviewed central contract.

@JJJ JJJ changed the title Tooling: Add PHPStan level 7 Tooling: Enforce minimum WordPress compatibility. Oct 2, 2026
@JJJ
JJJ marked this pull request as ready for review October 2, 2026 08:51
Copilot AI balanced review requested due to automatic review settings October 2, 2026 08:51
@JJJ
JJJ merged commit 50439c2 into master Oct 2, 2026
11 checks passed
@JJJ
JJJ deleted the feature/phpstan-level-7 branch October 2, 2026 08:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The compatibility tooling, dependency lock, artifact exclusions, and reusable workflow contracts are consistent and complete.

Review effort: Balanced
Findings: None

What changed in this PR

Adds PHPStan level 7 and WordPress 6.4 compatibility enforcement while preserving integer asset versions.

Changes:

  • Adds PHPStan, WPCompat, and WordPress 7.1 stubs.
  • Excludes analysis artifacts from releases.
  • Updates managed CI and release workflow contracts.
File Description
wp-reset-filters.php Documents the enqueue callback return type.
phpstan.neon.dist Configures PHPStan and WPCompat.
phpstan-wordpress-compat.stub Permits historical integer asset versions.
composer.json Adds analysis dependencies and script.
composer.lock Locks the new tooling dependencies.
.gitignore Ignores PHPStan build output.
.gitattributes Excludes analysis files from releases.
.github/​workflows/​ci.yml Pins the updated shared CI workflow.
.github/​workflows/​release.yml Pins the release workflow and passes reviewed notes.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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.

2 participants