Skip to content

Releases: Automattic/php-toolkit

0.6.10

Choose a tag to compare

@artpi artpi released this 14 Jul 19:09
1f7f8f6
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

Choose a tag to compare

@artpi artpi released this 14 Jul 17:00
fb0042c
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

Choose a tag to compare

@artpi artpi released this 13 Jul 13:39
1dee745

This includes new preview branches support

More review fixes

Choose a tag to compare

@artpi artpi released this 19 Jun 11:28
d20aaa2
[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

Choose a tag to compare

@artpi artpi released this 10 Jun 13:45
0bcc980
[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

Choose a tag to compare

@artpi artpi released this 26 May 16:03
v0.6.5

fix(push-md): satisfy plugin checks

Prepare for .org plugin repo

Choose a tag to compare

@artpi artpi released this 20 May 12:24
f8aaa3d

What's Changed

  • [codex] Prepare Push MD for WordPress.org submission by @artpi in #51

Full Changelog: v0.6.2...v0.6.3

0.6.2

Choose a tag to compare

@artpi artpi released this 15 May 13:43
fe84056

Fix for some fatals on wordpress.com

0.6.1

Choose a tag to compare

@artpi artpi released this 15 May 11:20
d8e17a8

Small fixes

PushMD 0.6.0

Choose a tag to compare

@artpi artpi released this 12 May 17:44
a6b3c96
[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.