Releases: Automattic/php-toolkit
Releases · Automattic/php-toolkit
Release list
0.6.10
Fix Push MD release bundle and show PR URL after push (#78) ## What changed - include the Merge diff runtime used by Pull Request views in the Push MD toolkit manifest - make ZIP inspection autoload `LineDiffer` from the built artifact and execute a smoke diff - print the matching Pull Request admin URL after every successful preview-branch push ## Why The v0.6.9 WordPress.org artifact fatals while rendering a Pull Request because `PushMDVendor\WordPress\Merge\Diff\LineDiffer` is not present in the release bundle. Development and E2E installs use the monorepo source tree, which masked the missing manifest entries. Returning the Pull Request URL also lets the person pushing open the review directly from the terminal. ## Validation - `bash bin/build-plugins.sh` - `bash bin/inspect-push-md-zip.sh` - `vendor/bin/phpunit plugins/push-md/Tests/` (31 tests, 36 assertions, 12 skipped E2E tests) - full Push MD E2E suite on a clean WordPress install (31 tests, 700 assertions) - full Push MD E2E suite against an install using the generated ZIP before the URL addition (31 tests, 698 assertions) - targeted PHPCS on `plugins/push-md/class-push-md-plugin.php` - `bash -n bin/inspect-push-md-zip.sh` - `git diff --check` `composer lint` still exits non-zero on existing repository warnings; changed production PHP passes targeted PHPCS.
0.6.9
Add Pull Request reviews to Push MD (#77) ## Summary - store preview branches as a private `push_md_pull_request` CPT with native lifecycle statuses - add WordPress Notes for general and inline diff comments - add comment-driven, extensible PR review states - add editable PR descriptions and commit history with commit message bodies - add a GitHub-like review UI with previews, diffs, lifecycle groups, and merge actions - migrate legacy branch preview options and remove PR data on uninstall ## REST and permissions - use the native post and comment REST controllers - expose calculated changed files, line diffs, preview URLs, and commit history as read-only fields - allow admins to update only the description of active PRs - keep lifecycle, protected metadata, merged/closed PRs, and state-changing Notes guarded ## Testing - `vendor/bin/phpcs plugins/push-md` - `vendor/bin/phpunit plugins/push-md/Tests/` - full WordPress E2E: 31 tests, 698 assertions - `node --check plugins/push-md/admin-shell.js` - `git diff --check`
Preview branches
This includes new preview branches support
More review fixes
[codex] Fix Push MD live round trips Fix Push MD bundle scoping so class-body trait references do not resolve relative to scoped vendor namespaces, and export non-empty classic/freeform Markdown content created through REST instead of dropping unnamed parse_blocks() entries.
PushMD reviewer feedback - more fixes
[codex] Fix Push MD plugin review blockers (#63) ## Summary - remove the reviewer-visible `error_reporting()` call from Push MD warning handling - scope the generated Push MD toolkit bundle under `PushMDVendor\...` during plugin packaging - add zip inspection checks for the exact wordpress.org review issues: `error_reporting()`, unscoped bundled namespaces, and unprefixed PHP 8 polyfill stub autoload keys ## Root cause The submitted plugin zip bundled toolkit and Markdown vendor code with public namespaces such as `WordPress\...`, `League\...`, and `Nette\...`. It also exposed Symfony PHP 8 polyfill stubs under global names in generated autoload metadata. The review scanner treated those as generic plugin globals. Separately, the plugin warning bridge called `error_reporting()`, which the plugin review team does not allow in production plugin code. ## Validation - `bash bin/build-plugins.sh` - `bash bin/inspect-push-md-zip.sh dist/plugins/push-md.zip` - extracted `dist/plugins/push-md.zip` and ran `php -l` over all bundled PHP files - packaged autoloader smoke test for `PushMDVendor\WordPress\Markdown\MarkdownConsumer` - `vendor/bin/phpunit plugins/push-md/Tests` (17 tests, 5 skipped) - `vendor/bin/phpcs -d memory_limit=1G bin/scope-push-md-bundle.php plugins/push-md/class-push-md-plugin.php` ## Notes Full `composer lint` still reports existing repo-wide warnings outside this change set, including unrelated CORSProxy and component warnings. The touched PHP files pass focused PHPCS.
Reviewer feedback - fixes
v0.6.5 fix(push-md): satisfy plugin checks
Prepare for .org plugin repo
What's Changed
Full Changelog: v0.6.2...v0.6.3
0.6.2
0.6.1
PushMD 0.6.0
[codex] Configure Push MD release workflow (#44) ## Summary - Convert the publish workflow into a Push MD-only release asset workflow triggered by published GitHub Releases. - Add a release-version helper that updates the Push MD plugin header, readme stable tag, and admin asset version from the release tag. - Temporarily disable legacy Composer/PHAR/example/other-plugin release work while keeping it visible for later restoration. ## Impact Publishing a GitHub Release for a tag such as `v0.6.0` now builds and uploads `push-md.zip` to that existing release. The workflow commits Push MD version metadata back to `trunk` without moving or recreating the tag. ## Validation - `bash -n bin/build-plugins.sh` - `php -l bin/update-push-md-version.php` - Version helper tested against a temporary Push MD copy - `bash bin/build-plugins.sh` - `zipinfo -1 dist/plugins/push-md.zip` confirmed expected runtime/toolkit files and excluded dev/test/docs files - `vendor/bin/phpcs -d memory_limit=1G bin/update-push-md-version.php plugins/push-md/push-md.php plugins/push-md/class-pmd-admin.php` - `vendor/bin/phpunit --testsuite "Push MD E2E"` passed locally as skipped because `PUSH_MD_E2E_*` env vars were not set ## Notes `composer lint` still exits nonzero from existing repository warnings outside this change; the touched PHP files pass targeted PHPCS.