Skip to content

fix: use ns-nginx-cache slug and prevent unrelated plugin updates - #23

Closed
brianvarskonst wants to merge 1 commit into
mainfrom
codex/ns-nginx-cache-slug-20261019
Closed

brianvarskonst wants to merge 1 commit into
mainfrom
codex/ns-nginx-cache-slug-20261019

Conversation

@brianvarskonst

@brianvarskonst brianvarskonst commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Replaced by #24 after renaming the source branch to feat/change-plugin-slug. The source commit is unchanged.

The old nginx-cache slug can make WordPress offer an update from the unrelated WordPress.org plugin. Use ns-nginx-cache/ns-nginx-cache.php, display NS Nginx Cache, and declare the GitHub repository as the plugin's Update URI so WordPress.org excludes it from update responses while active or inactive. This uses WordPress's documented third-party update protection.

Align Composer's install name and kernel entry, release archive names/folders, PHPCS input, compiled settings-link hook, stylesheet URLs, and version lookups with the new entry. The Composer package remains sympress/nginx-cache; existing settings, queues, tables, cron hooks, REST routes, translation domain, and CLI commands keep their identifiers. Updates continue through Composer or release archives.

Existing installations: follow docs/migration.md to deactivate the old SymPress installation, switch the directory/entry, reactivate with the previous site/network scope, and refresh cached update notices. Keep old files outside the plugins directory; using Delete can invoke the existing delete-on-uninstall setting.

Validation:

  • composer validate --strict and composer qa: pass; 102 unit tests / 510 assertions.
  • Real WordPress 7.1.2 + MariaDB: 236 integration assertions; Multisite: 103 assertions. New checks exercise discovery, active/inactive update requests, unrelated updates, compiled settings links, archive metadata, stylesheet URLs, and Site Health version lookup. Harness HTTP is intercepted.
  • Direct WordPress.org API comparison with disposable inactive plugin metadata: the unguarded old slug was offered the unrelated nginx-cache 1.0.8 update; guarded old and new slugs received no update.
  • Hosted QA passed all eight jobs, including MariaDB/MySQL, Nginx and Redis. Archive build and archive check also passed, all on 4f92a2c9ea2db7271d6c49af101a4c63b6de65f4.
  • Downloaded archive inspection: exactly one ns-nginx-cache/ root, matching ns-nginx-cache.php, correct source SHA and Composer metadata, 2,468 verified checksums, 41 production dependencies and no installed development packages.

@brianvarskonst
brianvarskonst deleted the codex/ns-nginx-cache-slug-20261019 branch October 19, 2026 15:17
@brianvarskonst brianvarskonst mentioned this pull request Oct 19, 2026
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