Social Relay 0.3.0 — manual send for any published post
Adds a manual send for any published post. One new button, no new settings.
Install
Download social-relay-0.3.0.zip below, then in WordPress: Plugins → Add New → Upload Plugin. Upgrading from 0.2.0 or 0.1.0 is a plain overwrite — no migration runs, and your settings are preserved.
Requires WordPress 6.5+ and PHP 8.2+.
sha256 375a43ab6d283f44109d3d244852e5fef2ca8a6b5c07a1ce9a3ac802a3c52609
Read this before you turn it on
This is the current stable release and the version readme.txt serves. "Stable" here means the code is released and verified by the test suite — not that a post has been observed landing on X.
No post from this plugin has reached X in production, and the POST /2/tweets path is still untested against the live API.
Press "Send test post" on the settings page before relying on it. That one click exercises credentials, signing and the create-post endpoint, and it settles two open questions at once — including whether an App outside a Project can write, which a developer-forum report suggests may return HTTP 403 on precisely this endpoint. With this release, "Post to X now" on any existing post is a second way to run that same live test, with a real post.
What's new
"Post to X now" appears in the Social Relay box on any published post whose status is Not scheduled or Cancelled — everything you published before the plugin was installed, anything that came in through an import or a bulk edit, a post you published with the box unticked, or one you cancelled and now want after all.
It asks you to confirm, then goes out at the next scheduler run rather than after the usual delay, billed like any other post. It uses the same scheduler and the same at-most-once check as an automatic send: it is a first send, not a second. The button does not appear on a post that is already Sent — for that, and only that, there is still "Repost now" — and not on a draft, which has no public link to send.
One behaviour change to "Repost now". Both buttons now tick the post's "Post to X" box for you. The button submits the whole box with it, so on a site whose master switch was off, an unticked checkbox was being stored a moment before the click was handled and the send you had just confirmed was cancelled with "Per-post switch was turned off". A confirmed click now outranks the checkbox.
Recorded as brief amendment 3 (FR-2.6), spec amendment 2 (TR-16) and ADR-006.
Versioning
MINOR under VERSIONING.md. New functionality, and nothing on that document's exhaustive breaking list applies: no settings key, hook, post meta key, table column or floor changes. The one new write is to the existing _srl_enabled key with a value it already takes, so no existing post's recorded state can be misread. schema_version stays at 1.
Verification
php -l, every file clean
vendor/bin/phpcs clean
vendor/bin/phpstan analyse [OK] No errors
phpunit, full suite (PHP 8.2/WP 6.5) OK (185 tests, 752 assertions)
CI: PHP 8.2 + 8.4, WP 6.5 + latest all green
bin/check-version.sh four version strings agree; tag matches
bin/build.sh 26 files, no dev or spec files
Full detail in CHANGELOG.md.
Full Changelog: v0.2.0...v0.3.0