Skip to content

Only install the release's attached zip when updating - #10

Merged
howarddc merged 2 commits into
mainfrom
fix/require-release-assets
Oct 4, 2026
Merged

howarddc merged 2 commits into
mainfrom
fix/require-release-assets

Conversation

@howarddc

@howarddc howarddc commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Problem

The update checker calls enableReleaseAssets() with the default PREFER_RELEASE_ASSETS behavior. If a release is ever published without everyalt-<version>.zip attached (or with a differently named file), it falls back to GitHub's auto-generated source zip. That zip doesn't contain vendor/plugin-update-checker (it's bundled by build.sh, not committed), so any site that installs it silently stops receiving updates.

Fix

  • REQUIRE_RELEASE_ASSETS, so a release without a matching asset is skipped instead of falling back to the source zip.
  • A name filter (/^everyalt-[0-9][0-9A-Za-z.\-]*\.zip$/), so only the built plugin zip counts as the asset.
  • An "Unreleased" changelog entry in the README.

Same change as Site Manager 1.0.0 (howarddc/site-manager-plugin).

Testing

On a local WordPress 7.1 / PHP 8.5 site, using a zip built from this branch with its version lowered to 1.0.0:

  • Update detected: WordPress offered 1.1.0, the latest published release (the 1.1.1 draft is correctly ignored), with download URL releases/download/v1.1.0/everyalt-1.1.0.zip.
  • Update installed: wp plugin update everyalt installed it, and vendor/plugin-update-checker was still present afterwards.
  • Missing asset skipped: with the name filter changed to match nothing (simulating a release without its zip), no update is offered. The old behavior would have offered GitHub's source zip.
  • php -l passes and ./build.sh builds.

Note on rollout

The fix only protects sites once they're running a version that includes it. The current v1.1.1 draft was built from main before this change. Either merge this and rebuild and re-attach the 1.1.1 zip (moving the v1.1.1 tag), or ship it in 1.1.2.

🤖 Generated with Claude Code

howarddc and others added 2 commits October 4, 2026 10:01
Use REQUIRE_RELEASE_ASSETS with an everyalt-<version>.zip name filter so
the update checker never falls back to GitHub's auto-generated source zip.
That zip doesn't include vendor/plugin-update-checker, so installing it
would silently end automatic updates on that site. A release published
without its zip is now skipped instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@howarddc
howarddc merged commit ce4ed4c into main Oct 4, 2026
4 checks passed
@howarddc
howarddc deleted the fix/require-release-assets branch October 4, 2026 16:03
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