Releases: Interplay-Design/interplay-services
Release list
Interplay Services 0.2.0
Registered Products now covers the full Interplay catalogue and can install missing plugins.
- Central product catalogue: Interplay SEO, Interplay Reports, GF Jobber Sync, and the Intro Block Validator and Normalizer are registered by default alongside Intro and Interplay Services itself
- Missing plugins appear as 'Not installed' with a one-click Install button (authenticated GitHub release download, same pipeline as updates)
- Not-installed plugins are excluded from WordPress update checks
- Product plugins can still self-register/override via interplay_services_registry_loaded
v0.1.11 - AJAX products table (test build)
Pre-release built from feature/ajax-products-table for testing PR #2 end-to-end. Promotes to main once verified.
v0.1.10 - Test target
Version-only bump. Update target for v0.1.9 installs to validate the auto-update path with the new Logger and Activity Log surfacing every step.
v0.1.9 - Activity Log
Adds a real logger and an Activity Log section to the settings page.
Highlights
- Always-on logging for errors, warnings, info. Previously every log call was `WP_DEBUG`-gated, so production sites recorded nothing on failure.
- Last 100 entries (non-debug) are stored in a `wp_options` ring buffer (`autoload=false`) so the admin UI can show them without grepping disk.
- New "Activity Log" section under Settings → Interplay Services: time, level, message, expandable JSON context.
- DownloadProxy and UpdateManager log the positive path too — update detected, download bytes/ms, source rename — not just failures.
- `Clear log` button (AJAX, nonce-protected).
Notes for local debugging
- All entries also go through `error_log()`, which lands in `wp-content/debug.log` when `WP_DEBUG_LOG` is enabled.
- Tail with `tail -f wp-content/debug.log | grep "Interplay Services"` for a live stream.
v0.1.8 - Test bump
Version-only bump, no code changes from v0.1.7. Provides a target for testing the auto-update path.
v0.1.7 - Fix install-slug rename
Fixes the actual root cause of the self-update folder-rename bug, surfaced by v0.1.6 diagnostics. WP 6.7+ omits 'type' from upgrader_source_selection hook_extra; resolver now infers it. Also pre-loads classes that the autoloader can't resolve mid-upgrade.
v0.1.6 - Diagnostics
Adds WP_DEBUG-gated logging around the update flow to diagnose why upgrader_source_selection rename can fail. Same fixes as v0.1.5 plus instrumentation.
v0.1.5 - Harden update flow
Fixes fatal errors in the self-update flow that caused the previous v0.1.4 release to break theme/plugin update transients.
Highlights
- Drop strict
\stdClasstype hints from filter callbacks (pre_set_site_transient_update_*,themes_api,plugins_api); guard with runtime type checks. Non-stdClass values from core/other plugins no longer TypeError. Plugin::boot()andUpdateManager::register_hooks()are idempotent — safe under self-update reactivation, where WordPress re-includes the plugin bootstrap in the same request.- Defensive constant defines and
require_onceacross the bootstrap and autoloader. GitHubReleasesSourcecaches plain arrays instead ofUpdateResultinstances, so changes to the result class shape can no longer poison cached transients.Client::is_github_url()uses exact-host / proper-subdomain matching (was matchingevilgithub.com); addscodeload.github.comandobjects.githubusercontent.comfor redirect targets.DownloadProxystamps the proxied URL on each download and feeds it intoupgrader_source_selectionso the slug resolver can map the extracted folder back to product metadata reliably.- Cleans up temp file on every download error path; verifies the streamed download is non-empty.
- Adds missing
requires/requires_phpkeys to theme update entries. - Bumps
Requires PHPheader to 8.1 to match readonly/promoted-constructor usage.
Note
The v0.1.4 release ships pre-fix code and should not be installed.
v0.1.4
Test release for update detection and install flow validation.
v0.1.3
Test release to validate plugin update detection and install flow.