Skip to content

Releases: Interplay-Design/interplay-services

Interplay Services 0.2.0

Choose a tag to compare

@interplaydesign interplaydesign released this 21 Jul 23:29

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)

Choose a tag to compare

@interplaydesign interplaydesign released this 11 May 22:04

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

Choose a tag to compare

@interplaydesign interplaydesign released this 11 May 17:37

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

Choose a tag to compare

@interplaydesign interplaydesign released this 11 May 17:03

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

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 23:09

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

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 23:03

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

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 22:54

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

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 22:30

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 \stdClass type 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() and UpdateManager::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_once across the bootstrap and autoloader.
  • GitHubReleasesSource caches plain arrays instead of UpdateResult instances, so changes to the result class shape can no longer poison cached transients.
  • Client::is_github_url() uses exact-host / proper-subdomain matching (was matching evilgithub.com); adds codeload.github.com and objects.githubusercontent.com for redirect targets.
  • DownloadProxy stamps the proxied URL on each download and feeds it into upgrader_source_selection so 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_php keys to theme update entries.
  • Bumps Requires PHP header 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

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 21:14

Test release for update detection and install flow validation.

v0.1.3

Choose a tag to compare

@interplaydesign interplaydesign released this 08 May 20:33

Test release to validate plugin update detection and install flow.