Saltar al contenido principal

Multi-Tenancy Changelog

Version 1.1.2-beta.1 - Released on 2026-05-13

  • Beta: First beta of 1.1.2 — see entry below for the full change list.

Version 1.1.2 - Released on 2026-XX-XX

  • Fix: Add missing add_remote_sites_menu method on Remote_SSO_Handler to resolve admin menu error
  • Fix: Route separate_db site creation through the configured node provider so per-site databases are provisioned consistently (#19)
  • Chore: Rebrand marketplace URLs from multisiteultimate.com to ultimatemultisite.com (Plugin URI, Author URI, package homepage, author email)
  • Chore: Harden composer archive excludes so internal dev directories (.beads, .agents, AGENTS.md, etc.) are not shipped to customers

Version 1.1.1 - Released on 2026-05-06

  • Fix: Resolved parse error caused by duplicate handle_sso_login function definition
  • Fix: SSO token validation now accepts simpler tokens issued by the main site's login flow
  • Fix: Updated deprecated wu_sso_verify action to the current sso_verify parameter

Version 1.1.0 - Released on 2026-04-29

  • New: Network Registry compiler generates a flat PHP file for request-time domain resolution without DB queries
  • New: Credential Store with sodium encryption for secure database credential storage (env/file/meta refs)
  • New: Database Router for single-DB-per-request routing, delegates to existing db-config for host network
  • New: db-config.php overlay installed to WP_CONTENT_DIR on activation (LudicrousDB integration)
  • New: Local Provider for MySQL database and user provisioning with dedicated DDL user
  • New: Tenant filesystem class for per-tenant uploads, cache, and plugin directory isolation
  • New: Per-tenant Docket Cache isolation with renamed overlay directories
  • New: Privileged sidecar daemon and client for cross-server provisioning
  • New: Marketplace catalog with BerlinDB table, model, and entitlement-gated install/uninstall
  • New: MySQL grants auditor and cross-network query guard for security hardening
  • New: WP-CLI tenant exec wrapper for running commands in tenant context
  • New: WP-CLI tenant command for provisioning management
  • New: WP-CLI static-site commands for per-domain static site serving
  • New: Addon sunrise.php for customer network domain override at earliest WordPress lifecycle
  • New: Subdomain resolution within tenant networks (e.g. restaurant.tenant.host)
  • New: Loco Translate isolation directory in tenant layout
  • Fix: Credential Store writes directly to host DB via mysqli, bypassing update_site_option() cross-table routing
  • Fix: Network Registry fetch_customer_networks() uses direct host DB connection, prevents registry corruption in tenant context
  • Fix: host_domains() uses direct host DB connection and base_prefix instead of blog-specific table_prefix
  • Fix: Sunrise global declarations so overrides survive WP Ultimo method scope inclusion
  • Fix: Sunrise resolves HTTP_HOST against tenant DB wp_blogs for correct subsite routing
  • Fix: Symlink handling in regenerate() preserves Trellis shared files
  • Fix: FrankenPHP socket compatibility (localhost to 127.0.0.1 for TCP)
  • Fix: WP_HOME/WP_SITEURL constant override for tenant networks
  • Improved: Build pipeline using composer archive matching WooCommerce addon pattern
  • Improved: Deploy workflow with automated GitHub Release and WooCommerce marketplace delivery

Version 1.0.0 - Released on 2026-04-28

  • New: Network-level database routing — per-request DB isolation via db-config.php overlay
  • New: Credential Store with sodium encryption (env/file/meta credential references)
  • New: Network Registry compiler — fast flat-PHP file read by db-config.php overlay
  • New: Privileged sidecar daemon with Unix socket client and provider
  • New: Tenant filesystem support with Local_Provider integration and sunrise constant injection
  • New: Marketplace catalog with BerlinDB table, model, and entitlement-gated install/uninstall
  • New: WP tenant CLI command for provisioning and tenant management
  • New: Dedicated MySQL user for DDL provisioning operations (separate from query user)
  • New: WP-CLI tenant exec wrapper for running commands in a specific tenant context
  • New: Static filesystem class for per-domain static site serving
  • New: WP-CLI static-site commands
  • New: Addon sunrise.php for customer network override on early WordPress boot
  • New: Resolve subdomain subsites within tenant networks
  • New: Per-tenant Docket Cache isolation with renamed overlay directories
  • New: Loco Translate isolation via per-tenant loco/ directory in tenant layout
  • New: 12 hosting provider integrations (cPanel, Cloudways, RunCloud, GridPane, ServerPilot, Closte, Hestia, Enhance, Rocket.net, WP Engine, WPMUDEV, Cloudflare)
  • New: MySQL grants auditor and cross-network query guard for security hardening
  • Fix: PHP 8.2+ typed properties for database table instances
  • Fix: FrankenPHP socket compatibility and sunrise customer network override
  • Fix: Database Router fallback to include_once in sunrise context
  • Fix: BerlinDB tables auto-install on activation
  • Fix: Credential store writes directly to host DB; registry always reads host blogs table
  • Fix: host_domains() uses direct host DB connection and base_prefix (not blog-specific prefix)
  • Fix: fetch_customer_networks uses direct host DB query (not BerlinDB ORM)
  • Fix: Resolve symlinks in regenerate() to preserve Trellis shared files
  • Fix: Override WP_HOME/WP_SITEURL constants correctly for tenant networks
  • Fix: Add global declarations so sunrise overrides survive method scope
  • Fix: Use explicit DB name for subsite blog lookups in sunrise
  • Improved: Skip plugin autoloader when Bedrock root autoloader has already loaded dependencies