# DiviOps Agent Changelog

This file is the extended plugin-local changelog for `diviops-agent`.

Policy:

- Keep the current public release entry in `readme.txt` for WordPress.org.
- Use this file for longer plugin-local history as the Free WordPress.org channel matures.
- Keep entries customer-facing. Avoid internal issue numbers unless they are needed to explain a user-visible change.
- Do not include secrets, credentials, customer data, or environment-specific URLs.

## 1.5.16

- Adds an optional exact-checksum guard to the full-content page writer and refuses stale reviewed content both at request entry and immediately before mutation.
- Advertises that enforcement through the precise `page_update_content_expected_checksum` capability so checksum-dependent clients can distinguish it from the legacy unconditional writer.
- Lets receipt-owned Pro workflows reuse the existing Free integrity, rollback, cache, and readback path without moving generic page-writing ownership into Pro.
- Keeps existing callers backward-compatible when `expected_checksum` is omitted; no force path or broader page-write behavior is added.

## 1.5.15

- Restores the declared PHP 7.4+ runtime floor by moving compatibility and authoring-limit constants from traits into the consuming class.
- Prevents the activation-time fatal error affecting Free 1.5.12 through 1.5.14 on PHP 7.4, 8.0, and 8.1.
- Keeps the Divi Post Filter compatibility repair, authoring limits, capability handshake, and all other runtime behavior unchanged.

## 1.5.14

- Adds cumulative input, block-count, nesting-depth, string-count and parsed-string-byte limits before full-content dry-run plans and mutations, including aggregate Theme Builder content.
- Preserves the existing seven-handler permission, integrity, sanitization and operation-dependent backup/rollback/readback order. Native-first guidance allows intentional custom HTML; no semantic HTML-shape detector is added.
- The separately versioned MCP server and client-side skill must be updated independently for their revised behavior and guidance.

## 1.5.13

- Confirms compatibility with WordPress 7.1 and updates the WordPress.org compatibility metadata.
- Keeps the MCP server, capabilities, REST behavior, and Free/Pro boundary unchanged from 1.5.12.

## 1.5.12

- Adds the narrow, self-retiring Divi 5.10/5.11 Post Filter product-price permission repair, including the exact route-specific Divi nonce and Visual Builder/edit-post authority checks. Other Divi routes are unchanged.
- Preserves exact upload-path provenance for reviewed cross-environment media discovery, including custom upload roots and root-level files, while keeping ambiguous basename matches fail-closed.
- Rejects legacy `divi/link` attribute paths that Divi ignores and fails closed when The SEO Framework's canonical WordPress plugin directory is unavailable.

## 1.5.11

- Adds stronger handshake and target-identity evidence for connected MCP health diagnostics while preserving classic direct MCP/stdio and WordPress REST use; this does not publish or require the launcher.
- Enforces mapped create permission for every page-create/status request and mapped publish permission for `publish`, `future`, and `private` before dry-run planning or mutation; fixed-publish Canvas, Divi Library, and Theme Builder creation paths use the same guard.
- Consolidates access to the exact Divi-owned variable and preset registry options behind documented helpers without renaming or migrating those upstream-owned storage keys.
- Keeps the WordPress.org review lane independent: the submitted replacement there remains Free 1.5.10 until reviewers request or authorize another package.

## 1.5.10

- Adds provider-neutral discovery plus guarded get, set, and clear operations for explicit The SEO Framework `seo_title` and `meta_description` values on one editable post.
- Requires exact target edit permission before exposing stored values or writing, and reports dry-run, checksum drift refusal, exact no-op, provider readback, lifecycle/cache, and verified request-local rollback evidence.
- Keeps the caller contract semantic and explicit-metadata-only. Generic or caller-controlled postmeta, automatic Divi/dynamic-content/Theme Builder description extraction, and bulk, policy, cross-site, scheduled, managed, or fleet SEO workflows remain outside this Free/core primitive.

## 1.5.9

- Extends read-only cross-environment source export and target-context evidence to existing Theme Builder headers and footers when the connected capability supports footer evidence, including checksums, dependency/linkage evidence, and preflight/refusal data.
- Adds metadata-only local storage sequence evidence to the Free-owned rollback snapshot inventory so Pro retention can order same-second records safely without exposing snapshot payloads.
- Keeps basic one-site snapshot capture, list, get, delete, dashboard inspection, and guarded restore in Free; snapshot payload, viability, and exact deletion ownership remain Free/core responsibilities.

## 1.5.8

- Adds a guarded preset-registry doctor with inspection-first behavior and explicit mutation safeguards for duplicate or stale registry entries.
- Improves nested module moves with a parser-backed fallback for placements that the direct block parser cannot safely resolve.
- Rejects foreign CSS variable references recursively across supported Divi content and design writers before mutation.

## 1.5.7

- Adds guarded rollback snapshots for Divi content writes, including captured before-state records, list/get/delete inspection surfaces, and verified restore support.
- Adds dashboard-ready rollback snapshot data so operators can review available snapshots before restoring content.
- Restore operations refuse content or supported Divi post-meta drift before mutation and report readback/cache evidence after verified restore.

## 1.5.6

- Adds typed WordPress menu tools for listing menus, reading normalized menu trees, creating menus, appending page/custom-link items, and assigning registered theme locations.
- Adds safer FluentCart 1.5 Advanced Variations read enrichment while preserving refusal for unsupported write shapes.
- Adds sanctioned read-only post taxonomy term inspection through the WP-CLI fallback path.

## 1.5.5

- Adds preflight metadata used by the MCP server's `diviops_meta_info` surface, including richer plugin version records for connected-suite checks.
- Keeps the capability handshake additive and backwards-compatible for existing MCP clients.

## 1.5.4

- Current Free plugin release line for the DiviOps Agent REST bridge.
- Provides authenticated `/diviops/v1/*` endpoints and capability handshake support for the DiviOps MCP server.
- Establishes WordPress.org readiness metadata with explicit `Stable tag: 1.5.4`, `Tested up to: 7.0`, GPLv2-or-later license metadata, external-service/authentication disclosure, and Free/Pro boundary language.

Historical release details before this plugin-local changelog remain in the GitHub release history until they are intentionally backfilled.
