Skip to main content

Changelog

A running log of user-facing changes in each SyteOps release. Only features, improvements, and fixes that affect the admin experience are listed here.

v1.3.040

  • Fixed: The Show button on the Management Server Secret now reveals the actual token instead of encrypted:sodium:… text
  • Fixed: Request Connection from an endpoint now succeeds — the token sent to the Management Server is the real secret, so authentication passes
  • Fixed: Plugin updates from the GitHub source now work after a fresh endpoint connection — the GitHub token is no longer scrambled when the Management Server returns it to the endpoint
  • Fixed: Re-pasting a secret that was previously revealed (and copied) no longer corrupts the stored value
  • Fixed: A stale "connection failed" notice no longer persists after a successful retry
  • Improved: The "unauthorized domain" message from the Management Server is now clean — no debug-flavored tail in the toast

v1.3.039

  • Added: Row-based add/remove controls for the REST API custom allowlist — each saved endpoint is its own row with a small × remove button, plus a separate input + Add button that appends one path at a time
  • Added: Built-in rule collision check on the custom allowlist — paths already covered by a built-in rule are rejected with a clear message so you don't end up with redundant entries
  • Added: Integration tier system — every integration card now shows a discreet Basic, Extended, or AI-Powered badge so you can tell at a glance how involved each integration is
  • Added: Dedicated documentation pages for AWS SES, Fluent Forms, WooCommerce, Wordfence, and Google Site Kit integrations
  • Added: Dedicated documentation page for the Banners module
  • Changed: Notice Management unified into a single notice-suppression flow — paste a notice, capture the last one, or pick from visible notices on the page
  • Changed: Wordfence REST allowlist widened to the full v1 namespace so all Wordfence endpoints work under REST API Restriction (not just /authenticate)
  • Removed: Monday integration and its documentation
  • Improved: Custom allowlist changes save immediately — no longer coupled to the Save Access Control button
  • Improved: Variable Sets documentation rewritten in plain language — leads with a clear introduction before introducing technical terms
  • Improved: Documentation jargon cleanup across the overview, FlowMattic, and troubleshooting pages for easier reading
  • Improved: Documentation sidebar now includes every integration and feature page for complete navigation
  • Fixed: Notice Management no longer blanket-hides every SyteOps toast when suppressions exist — only the toasts you actually target
  • Fixed: WordPress "Dismiss this notice" button text is stripped before notice messages are captured in the picker or matched at render time
  • Fixed: LinkCentral AI label padding and a toast relay regression

v1.3.038

  • Changed: Straico AI provider migrated to v2 OpenAI-compatible API with standard chat and models endpoints
  • Removed: Straico-specific prompt size limits and context caps in keyword enrichment; all providers now use uniform limits
  • Improved: AI provider HTTP response validation widened to accept all 2xx status codes
  • Improved: Straico model cache automatically cleared on plugin update to ensure fresh model data

v1.3.037

  • Added: Bulk processing for flagged keyword links with per-link status feedback and post-run refresh support
  • Improved: LinkCentral settings visibility now follows integration state and guidance text is clearer across settings and docs

v1.3.036

  • Added: Live balance display for all six AI providers in the API Keys settings tile, with per-provider refresh and last-updated timestamps
  • Added: Provider branding modal showing documentation links and provider identity, accessible from the API Keys tile
  • Added: Systems/API navigation entry in the WordPress admin sidebar for direct access to provider configuration
  • Fixed: Straico balance value parser corrected for current API response format
  • Improved: AI model logging unified across all providers; balance display strings localized

v1.3.035

  • Changed: Keyword enrichment prefers AI web search context over page metadata when the two disagree, and context mismatch no longer forces a flagged quality state by itself
  • Added: Flagged-links review for enrichment results that need attention, with admin UI aligned to existing card styling
  • Added: Per-link model and max-tokens overrides (including OpenRouter model-limit hints and a quick “max tokens” action)
  • Added: Option to include manual keywords when re-running enrichment; clearer Keyword vs Context AI labeling in the admin
  • Improved: AI timeouts, provider-specific limits, and enrichment retries tuned to reduce spurious failures; better handling of HTML and edge-case page fetches during enrichment
  • Improved: Product License gateway validate-by-key refresh behavior and related diagnostics; licensing integration packages updated
  • Fixed: Checkbox accent styling so check marks stay visible with themed controls

v1.3.034

  • Fixed: Re-activating a previously activated site no longer returns an error; the gateway recovers gracefully and confirms active status
  • Fixed: Product License status is now always set to active on activation, regardless of upstream response ordering
  • Improved: Gateway responses include consistent license identifier fields and explicit success signals for reliable client-side detection

v1.3.033

  • Added: Keyword enrichment now runs up to 5 concurrent workers in parallel, significantly reducing the time to enrich large link libraries
  • Added: New Concurrent Workers setting (1–5, default 2) in the keyword enrichment settings; batch size limit raised to 50
  • Improved: AI requests that time out are automatically retried once with an extended timeout before a link is marked as skipped

v1.3.032

  • Added: AI keyword enricher — generates anchor-text keyword phrases for LinkCentral link posts that have no keywords, enabling automatic link insertion on previously-skipped links
  • Added: LinkCentral keyword editor is now always visible on link posts when the integration is active, with no manual settings change required
  • Added: Keyword Enrichment section in the LinkCentral settings card with AI provider/model configuration, a keyword status line, and a batch trigger button that supports multi-batch continuation
  • Added: Cross-link candidate discovery now falls back to title-keyword search when shared taxonomy terms are sparse, improving cross-link coverage on lightly-categorised sites
  • Improved: LinkCentral settings card reorganised into collapsible sections with adaptive multi-select inputs for category and post-type filters
  • Improved: Manual process UI now includes post-title search with autocomplete, rich per-link result tables showing keyword and cross-link details, and a dry-run preview mode
  • Improved: Cross-link scoring adds article vocabulary overlap and skips the opening paragraph to avoid over-linking near the top of content
  • Improved: Custom taxonomies can now be selected as the basis for cross-link candidate discovery

v1.3.031

  • Fixed: Gutenberg block editor now saves correctly on pages managed by page-builder plugins
  • Fixed: Block editor saves no longer fail for non-admin roles when a page-builder plugin is active
  • Fixed: Connected-sites status card hidden correctly when server mode is disabled

v1.3.030

  • Fixed: Admin removal action now correctly provides success or error feedback after completing
  • Improved: JavaScript bundle no longer loads on non-plugin admin screens

v1.3.028

  • Fixed: Toggle knobs in checkbox-grid toggle layouts now vertically center within the track

v1.3.027

  • Internal improvements and maintenance

v1.3.026

  • Internal improvements and maintenance

v1.3.025

  • Fixed: Toggle switch icons (checkmark and X) now vertically center inside the knob on all admin pages
  • Fixed: Empty "Connection Status" section label no longer displays when FlowMattic is already installed

v1.3.023

  • Fixed: Toggle switches in category filter and post type grids now display with correct label spacing
  • Fixed: Webhook endpoint URL fields now display at full width on both integration cards

v1.3.022

  • Improved: Cross-Link Post Types setting now uses selectable toggle switches instead of a text input
  • Improved: Category Filter checkboxes converted to toggle switches for visual consistency
  • Improved: Webhook endpoint URL field widened to display full URL without truncation
  • Added: "View Docs" links on all integration cards linking to the documentation portal
  • Added: Squirrly SEO documentation page on the public docs site
  • Improved: Squirrly SEO Post Types checkboxes converted to toggle switches

v1.3.021

  • Fixed: AI provider configuration from the Integrations tab now persists correctly instead of requiring navigation to the feature settings tab
  • Fixed: Max tokens refresh button and model-maximum hint now appear automatically on page load for areas with a configured provider and model

v1.3.020

  • Added: Multi-provider AI support for LinkCentral cross-linking (OpenAI, Anthropic, OpenRouter, Gemini, Straico)
  • Fixed: Cross-link scoring now uses the provider, model, and max tokens configured for LinkCentral instead of hardcoded defaults
  • Improved: Systems/API tab with quick navigation for all integration sections, configured-count badge on AI keys, and section entry animations

v1.3.019

  • Fixed: "Active Modules" stat card on the Admin tab showed an inflated "available" count that included hidden internal modules
  • Fixed: Stat card now applies the same filtering as the Module Management panel

v1.3.018

  • Added: Stats dashboard row on the General tab showing key system metrics
  • Added: Section divider labels between card groups on key admin tabs
  • Added: Inline max-tokens refresh button on all AI-consuming areas
  • Improved: Tab navigation redesigned from pill style to bottom accent line
  • Improved: Card hover shadows, focus glow, and entrance stagger animations
  • Improved: Toggle switch animations with lighter off-track color and spring-physics knob
  • Improved: Integration tile gradient border hover effect
  • Improved: Modal entrance transitions and animated status indicator dots
  • Improved: Typography with tighter heading tracking and monospace code elements

v1.3.017

  • Added: Refresh button next to max tokens field resets the value to the selected model's maximum
  • Fixed: Max tokens hint and refresh button now appear when the AI provider modal opens with a previously saved model
  • Improved: AI provider modal description clarified for module and integration context

v1.3.016

  • Added: Max tokens field auto-populates with the model's output token limit when a model is selected
  • Added: "Model maximum: X tokens" hint displays below the max tokens field in the provider modal
  • Improved: Max tokens input validation dynamically adjusts its upper bound to match the selected model

v1.3.015

  • Fixed: Straico models not loading in the AI provider modal
  • Added: "View provider documentation" link now updates to model-specific docs page when a model is selected

v1.3.014

  • Fixed: AI Provider configuration modal opens correctly from integration tiles and module configuration
  • Improved: Modal overlay displays correctly inside nested admin layouts

v1.3.013

  • Fixed: Fatal error on certain PHP versions when registering AJAX handlers

v1.3.011

  • Fixed: Module configuration modal CSS now correctly applies after modal is repositioned

v1.3.010

  • Fixed: Module configuration modals now display as centered overlay popups instead of rendering inline at the bottom of the page
  • Improved: Modal backdrop uses consistent blur effect matching standardized modal styling

v1.3.008

  • Fixed: AI modal field alignment for uniform full width across all WordPress admin environments
  • Improved: Loading indicator replaced with styled CSS spinner for model-fetch feedback

v1.3.007

  • Added: Multi-provider AI configuration supporting OpenAI, Anthropic, OpenRouter, Gemini, and Straico
  • Added: AI provider selection modal with per-area model and token configuration
  • Added: 7 new integration tiles with plugin detection and conditional REST allowlist entries
  • Added: Manual post processing UI for auto-linking integration
  • Improved: Secrets encryption now validates success and preserves existing value on failure
  • Improved: All API keys encrypted at rest with automatic FlowMattic sync

v1.3.006

  • Added: LinkCentral integration documentation and logo asset on the integrations card
  • Added: End-user documentation page with setup guide and FlowMattic walkthrough

v1.3.005

  • Added: LinkCentral auto-linking integration with keyword insertion and cross-linking
  • Added: Internal cross-linking engine with heuristic and AI-enhanced scoring modes
  • Added: Admin settings card on System/API tab with configurable density limits and link behavior

v1.3.004

  • Fixed: FlowMattic variables silently stopped syncing after a configuration change
  • Fixed: Derived user variables now correctly sync when user data changes

v1.3.001

  • Fixed: Module dropdown actions (enable, disable, export, uninstall) were unresponsive
  • Fixed: Enable All and Disable All buttons on the Modules card were also unresponsive

v1.3.000

  • Added: Modernized JavaScript build system for improved performance
  • Changed: Admin interface loads optimized scripts with automatic fallback for compatibility

v1.2.083

  • Fixed: Notice suppression no longer inadvertently blocks unrelated admin notices
  • Added: Admin sidebar menu pinned to top position

v1.2.081

  • Updated: Primary brand colors aligned to unified SyteWide brand palette
  • Updated: Warning color default changed from red to amber, visually separating warning from error states

v1.2.080

  • Added: ContentPen affiliate links on Integrations tab and System/API heading
  • Updated: Module documentation now describes packages as SyteWide-distributed only

v1.2.079

  • Fixed: License status showing "Inactive" on all endpoints because the check only consulted stale connection data
  • Fixed: License status now checks both product license and connection cache — either being valid shows "Active"

v1.2.078

  • Fixed: License check modal showing all endpoints as "Inactive" because status fields were not forwarded to the browser

v1.2.077

  • Added: Per-site "Check Licenses" dropdown action — scans endpoint and displays modal with license status and versions
  • Added: Master "Licensing: Check All" bulk action — concurrent scan of all endpoints with summary table modal

v1.2.076

  • Added: Encrypted package system for secure module and workflow distribution
  • Added: Package key delivery pipeline — keys automatically delivered via license activation and server webhooks
  • Added: Module auto-update checker with one-click installation
  • Added: Workflow import/export for encrypted FlowMattic workflow template distribution

v1.2.075

  • Added: "Buy SyteOps" link in the docs site navbar and footer

v1.2.074

  • Redesigned: Documentation portal with modern visual theme — improved typography, dark mode, glass-blur navbar, and multi-section homepage
  • Added: Local full-text search, Mermaid diagram support, and image zoom
  • Added: Server Connections feature page with architecture diagram
  • Added: Custom components (Callout, Card, Steps, Badge) for richer documentation

v1.2.073

  • Added: EULA displayed in the activation consent modal alongside Privacy Policy, Terms & Conditions, and Refund Policy
  • Added: EULA expandable panel in the post-activation License & Privacy details modal
  • Changed: Consent checkbox text updated to list EULA first

v1.2.072

  • Fixed: Double confirmation dialog eliminated when deleting a user on the Roles & Users page
  • Fixed: User swap now preserves deleted and locked flags alongside user data

v1.2.071

  • Fixed: JavaScript error that prevented page initialization and blocked Delete User from functioning
  • Changed: Delete button repositioned to the right of Save/Export/Import buttons on user cards

v1.2.070

  • Added: Delete User functionality with gap-aware slot reuse
  • Added: Configurable "Max Users" setting on Admin tab (1–20)
  • Changed: Admin Users tab replaces the user count dropdown with an Add User button and active count display

v1.2.062

  • Improved: User cards include a slot identifier so duplicate display names are easier to distinguish
  • Improved: Quick navigation appends the user slot only when multiple cards share the same visible name

v1.2.061

  • Improved: Users section adds a top border, padding, and a centered heading row for clearer separation from Roles
  • Improved: User cards show the contact name as the heading when set

v1.2.060

  • Fixed: "This plugin has not been tested with your current version of WordPress" false compatibility warning resolved

v1.2.059

  • Added: Rich HTML sections and banner images for the WordPress View Details modal
  • Improved: CRM Platforms tab layout uses a cleaner two-column structure

v1.2.058

  • Added: Non-admin users now see greyed-out role toggles with a padlock icon when a unique role is held by a locked user
  • Fixed: Phone Type / Map Preference dropdown width now renders correctly for all users

v1.2.056

  • Added: "Users" submenu item under Admin in the SyteOps sidebar menu
  • Added: "Edit in Admin" button on the Roles & Users page for quick access to full user settings

v1.2.055

  • Fixed: User lock/unlock toggle now persists across page refresh
  • Changed: Expanded user card avatar enlarged for better visibility

v1.2.054

  • Added: Role count displayed next to the Roles heading
  • Moved: Add New Role button relocated into the Roles section heading
  • Removed: Redundant Roles submenu from the admin menu

v1.2.048

  • Added: Admin toggle to control Roles & Users menu visibility for non-admin users

v1.2.047

  • Added: WordPress role badges on Roles & Users user cards
  • Added: Quick access navigation buttons above user cards with smooth scrolling
  • Added: Collapsible user cards — click header to collapse or expand
  • Added: Lock toggle button on Admin/Users tab

v1.2.046

  • Fixed: Sidebar menu title and page heading now use the white-label brand name instead of hardcoded text

v1.2.045

  • Moved: Roles & Users page from standalone top-level menu to a submenu under SyteOps
  • Added: Locked user cards display an amber notice explaining the lock reason with tech contact info

v1.2.043

  • Fixed: Staging red theme not displaying on SyteOps admin pages

v1.2.042

  • Fixed: Fatal error when upgrading to a new module version while the old file remains on the server

v1.2.041

  • Converted: Fluent Forms GDPR capture fix extracted into a proper module with auto-activation on upgrade

v1.2.040

  • Removed: Redundant "Users Tab Backup / Restore" card from Users tab; backups are managed entirely in the Backup tab

v1.2.039

  • Removed: UpdraftPlus email suppression feature
  • Fixed: LSCF Force Token authentication now works correctly during LiteSpeed save-settings flow
  • Fixed: Variable Sets Registry table no longer renders system sets as clickable links

v1.2.038

  • Added: UpdraftPlus integration with backup status monitoring
  • Added: Combined backup detection shows green when either WPVivid or UpdraftPlus is installed
  • Added: Third-Party Backup Status card on Backup tab showing last backup timestamps and schedule
  • Added: Dismissible admin notice when UpdraftPlus has no remote storage configured

v1.2.034

  • Improved: Staging environment dark red theme now displays on all admin pages, not just SyteOps pages

v1.2.033

  • Fixed: Shrink-to-fit styles no longer affect non-SyteOps admin pages, preventing layout breakage on core WordPress screens

v1.2.031

  • Fixed: Bulk plugin update failure toasts now display the site name instead of a truncated license key
  • Fixed: Array parameters now reach endpoints correctly during bulk plugin updates

v1.2.030

  • Improved: Bulk plugin update toast now shows the error message when a site fails instead of only incrementing the failure count

v1.2.029

  • Fixed: Endpoint plugin updates silently skipping because update data was flushed before the upgrader could read it
  • Improved: Plugin update toasts now show per-plugin failure reasons instead of just counts
  • Removed: Blank SyteWide Licensing tab from main admin nav bar

v1.2.028

  • Fixed: User card header top corners now round correctly
  • Removed: Tabs with no user-specific content from Users area
  • Changed: "Update Available on All Endpoints" button label shortened to "Update All"

v1.2.026

  • Fixed: Notice suppression no longer corrupts WooCommerce product pages
  • Fixed: Removed redundant brand prefixes from Quick Links menu items
  • Added: View Documentation link in SyteHero Quick Links section

v1.2.025

  • Changed: "Purge Woo Product Cache" link now requires WooCommerce to be the selected ecommerce platform, not just installed

v1.2.024

  • Fixed: All admin bar Quick Links cache buttons (LiteSpeed, Avada, Elementor, Divi, Blocksy, SyteHero, WooCommerce) were non-functional

v1.2.023

  • Added: New licensing module with multi-product management, encrypted API credentials, and admin UI
  • Added: Mutual exclusion enforcement between licensing modules

v1.2.022

  • Fixed: REST allowlist entries added directly on the endpoint are now preserved during scans instead of being auto-wiped

v1.2.020

  • Added: WooCommerce cache purge option in Quick Links cache menu
  • Improved: Server Connections dropdown with prefixed labels and logical grouping
  • Added: Type-to-confirm modal for "Uninstall SyteOps" requiring the domain name
  • Improved: FlowMattic actions hidden when FlowMattic is not installed on the endpoint

v1.2.018

  • Fixed: Page reloads after any Quick Links cache clear so cache state is visible immediately
  • Added: LiteSpeed CDN purge option in Quick Links cache menu
  • Fixed: Divi dual-cache clear now works correctly

v1.2.017

  • Improved: Cache features are now auto-detected at runtime instead of requiring a manual integration toggle
  • Added: Blocksy theme cache clear support in the admin bar Quick Links menu
  • Added: "Clear Divi Cache" now also clears Divi localStorage keys

v1.2.016

  • Added: "Server" submenu item in the WordPress sidebar under SyteOps, visible only when server mode is enabled
  • Added: Mid-path wildcard support in REST allowlist entries

v1.2.014

  • Added: Enable/Disable REST API Monitoring option in each connection's Actions dropdown
  • Added: REST API Monitoring status badge in the connection status column
  • Changed: Manage REST Allowlist option is now hidden when REST is unrestricted

v1.2.012

  • Improved: REST API restriction hardened — discovery gated, WooCommerce routes no longer open by default, badge colors updated (restricted = green, unrestricted = red)

v1.2.010

  • Improved: Reactivation flow with better CTA and auto-enable of modules after license reactivation
  • Fixed: REST whitelisted badge now shows correct color when allowlisted
  • Security: Module AJAX handler now requires authentication to prevent unauthenticated data access

v1.2.007

  • Improved: Gateway REST routes return a structured maintenance message and support contact when disabled instead of a 404 error

v1.2.005

  • Improved: All admin AJAX handlers now use a single verification helper for consistent security checks

v1.2.004

  • Security: Block All REST API toggle now blocks all requests with no exceptions when enabled

v1.2.003

  • Added: General-purpose "Block All REST API" toggle in Access Control that works on any install regardless of directory structure

v1.2.002

  • Improved: Block REST API toggle now visible on both parent and subdirectory installs with contextual warnings

v1.2.001

  • Security: REST API is now blocked on subdirectory installs when REST restriction is enabled

v1.2.000

  • Major release: Plugin renamed from SyteFlow to SyteOps with full identifier migration
  • Added: Automated migration tool for existing SyteFlow sites — one-click admin banner, AJAX action, and WP-CLI command
  • Changed: ContentPen webhook URL updated to new namespace (reconfiguration required)