Skip to content

chore: 2.2.1 — WordPress.org-compliant build#33

Merged
cport1 merged 1 commit into
mainfrom
chore/wporg-build
Jul 20, 2026
Merged

chore: 2.2.1 — WordPress.org-compliant build#33
cport1 merged 1 commit into
mainfrom
chore/wporg-build

Conversation

@cport1

@cport1 cport1 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Prepares the plugin to pass WordPress.org review (first-time submission).

Review blockers fixed

  • Self-updater (directory forbids plugins serving their own updates): extracted into includes/class-webdecoy-updater.php, loaded only under WEBDECOY_SELF_HOSTED + file_exists(). build.sh --org omits the file, so the .org build has no update-override hooks. CDN builds keep it (behavior-identical).
  • Bundled minified clearance client (reviewers require source for minified JS): excluded from the .org build. It's a cloud/enforcement feature needing a publishable site key anyway, so the .org build is fully local. Enqueue no-ops when the bundle is absent.
  • Chart.js from jsDelivr (remote-loading executable JS): now bundled locally (admin/js/vendor/chart.umd.min.js v4.4.9). The plugin makes zero external requests until a WebDecoy Cloud account is connected.
  • External Services disclosure: readme corrected — removed the stale jsDelivr claim, documented the opt-in cloud endpoints, what data is sent and when, and TOS/privacy links.

Two builds, one codebase

  • ./build.sh 2.2.1 → CDN/self-hosted zip (updater + clearance included)
  • ./build.sh 2.2.1 --orgwebdecoy-2.2.1-wporg.zip for WordPress.org (both stripped)

Verified the .org zip contains no self-update hooks, no cdn.webdecoy.com refs, no clearance bundle, tests excluded, Chart.js local; the CDN zip still includes everything. Bumped to 2.2.1 (Chart.js-local is a user-visible change). Full test suite green (41).

Prepares the plugin for WordPress.org submission (directory guidelines forbid
self-updating and flag unexplained minified JS).

- Extract the self-hosted updater into includes/class-webdecoy-updater.php,
  required only under WEBDECOY_SELF_HOSTED + file_exists (behavior-identical
  for CDN builds).
- build.sh --org: produces webdecoy-<v>-wporg.zip that strips the self-updater
  and the bundled clearance client, and drops CDN release tooling. Verified:
  no update-override hooks, no cdn.webdecoy.com refs, no minified clearance
  bundle in the .org zip; CDN build still includes both.
- Bundle Chart.js locally (admin/js/vendor/chart.umd.min.js v4.4.9) instead of
  loading from jsDelivr; enqueue points at the local copy. Plugin now makes
  zero external requests until a WebDecoy Cloud account is connected.
- readme.txt: accurate External Services disclosure (removed the stale
  jsDelivr claim; documented the opt-in cloud endpoints, data, TOS/privacy).
- Clearance enqueue no-ops when the bundle is absent (clean .org degradation).
- Bump to 2.2.1; RELEASING.md documents the two-build process.
@cport1
cport1 merged commit 350cc75 into main Jul 20, 2026
3 checks passed
@cport1
cport1 deleted the chore/wporg-build branch July 20, 2026 00:14
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