# Compatibility Ledger

This ledger is the operating guide and evidence log for the 2026 compatibility campaign.
Every compatibility commit must add or update exactly one release entry so the Git history and
the ledger stay aligned.

## Agent Workflow

1. Review the official source for the target WordPress or WooCommerce version.
2. Decide whether the release affects Mojito Shipping surfaces:
   shipping methods, checkout/cart classic flows, HPOS, admin order screens, address fields,
   logs, AJAX, cron, transients, assets, or WordPress admin integration.
3. Apply the minimum code change needed for compatibility. If no code change is needed, update
   only the metadata under test plus the ledger entry.
4. Run the reproducible checks available in this repository.
5. Commit once for that release version with the ledger entry included.

## Validation Baseline

- `composer run lint:php`
- `composer run phpstan`
- Smoke tests in a dedicated WordPress/WooCommerce environment when the release touches shipping,
  checkout, order admin, HPOS, scripts, or hooks used by the plugin

## Evidence Template

| Commit | Track | Version | Release date | Source | Impact | Validation | Decision | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `commit subject` | `tooling/wp/wc/php` | `x.y.z` | `YYYY-MM-DD` | Official release notes or changelog | Metadata only / Code changes required | Commands or smoke tests executed | Supported / Prepared / Blocked | Optional details |

## Entries

| Commit | Track | Version | Release date | Source | Impact | Validation | Decision | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `chore(compat): establish compatibility harness` | `tooling` | `harness` | `2026-03-19` | Repo audit + official sources already reviewed for the campaign | Establishes reproducible lint/static checks, CI matrix, and evidence workflow | `composer validate --no-check-publish`, `composer run lint:php`, CI matrix on PHP 7.4-8.5 | Supported | Replaces mutating PHPStan workflows and empty `phpstan*.txt` artifacts |
| `compat(php): harden PHP 7.4-8.5` | `php` | `7.4-8.5` | `2026-03-19` | Local code audit focused on PHP runtime compatibility | Declares method properties explicitly to avoid dynamic-property deprecations in PHP 8.2+ and keeps inheritance compatible for legacy CCR subclasses | `composer run lint:php` plus temporary PHPStan execution with dependencies installed under `/tmp` | Supported | No hooks, filters, option names, or public behavior changed |
| `compat(wp): review WordPress 6.7.2` | `wp` | `6.7.2` | `2025-02-11` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.7.3` | `wp` | `6.7.3` | `2025-08-05` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.7.4` | `wp` | `6.7.4` | `2025-09-30` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.7.5` | `wp` | `6.7.5` | `2026-03-11` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.0` | `wp` | `6.8.0` | `2025-04-15` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.1` | `wp` | `6.8.1` | `2025-04-30` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.2` | `wp` | `6.8.2` | `2025-07-15` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.3` | `wp` | `6.8.3` | `2025-09-30` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.4` | `wp` | `6.8.4` | `2026-03-10` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.8.5` | `wp` | `6.8.5` | `2026-03-11` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.9.0` | `wp` | `6.9.0` | `2025-12-02` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.9.1` | `wp` | `6.9.1` | `2026-02-03` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.9.2` | `wp` | `6.9.2` | `2026-03-10` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.9.3` | `wp` | `6.9.3` | `2026-03-10` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): review WordPress 6.9.4` | `wp` | `6.9.4` | `2026-03-11` | https://wordpress.org/download/releases/ | No plugin surface impact identified from the official release archive review; metadata update only | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Supported | Updated `Tested up to` in `readme.txt` |
| `compat(wp): prepare for 7.0 beta/RC` | `wp` | `7.0 beta/RC` | `2026-03-10` | https://wordpress.org/news/2026/03/wordpress-6-9-3-and-7-0-beta-4/ | Preparation entry for WordPress 7.0 pre-release validation; public metadata intentionally unchanged | Metadata-only commit; reused lint and PHPStan baseline from `compat(php): harden PHP 7.4-8.5` | Prepared | Kept public `Tested up to` at `6.9.4` until the stable WordPress 7.0 release |
