diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c3c307..67351ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,12 +49,32 @@ Versioning follows [Semantic Versioning](https://semver.org/). - 選單 slug 統一回 `wp-data-optimizer`(B 內部 10+ 處連結本來就指向它) - HP adapter 介面改為 `TMDO_ extends WPDO_`,讓 `instanceof WPDO_HivePress_Adapter` 成立 +### 🖥 Admin + +- Settings 七個分區各加「儲存此區塊」AJAX 存檔(`wp_ajax_wpdo_save_settings_section` + + 7 個 `save_section_*()` + `admin/assets/wpdo-settings.js`),整頁送出仍可用 +- inline `style=` 由 348 處降到 9 處(剩下的全是 `--wpdo-*` CSS custom property + 載體);`wpdo-admin.css` 543 → 912 行,補 149 個 class + +### 🚧 邊界 + +- 核心不再無守衛呼叫 AddOn 類別。`TMDO_Listing_Stats`(HivePress AddOn)先前 + 在 admin Dashboard、兩個公開 REST 端點、`wp tmdo cleanup --archive-expired` + 被直呼,沒裝該 AddOn 的站台會 fatal;`TMDO_HPCT_Import` 在 admin 與 + `wp tmdo import-hpct` 同樣缺守衛 +- `TMDO_Zone_Warm::VIEW_KEY` / `VIEW_TTL` 由核心持有(值與 AddOn 常數相同的 + `'wpdo_views'`,指向同一批列,無資料遷移) +- 新增 `CoreBoundaryTest`:靜態掃描 126 個核心生產檔,強制每處 AddOn 類別 + 呼叫都在同一函式內有 `class_exists()` 守衛 + ### ✅ 品質 - 128 個生產檔 `declare(strict_types=1)` - PHPCS 0 errors / PHPStan level 6(baseline 710) -- 測試:核心 unit 451 / integration 416、hivepress-addon 145、woocommerce-addon 10 +- 測試:核心 unit 587 / integration 416、hivepress-addon unit 154 / + integration 57、woocommerce-addon unit 10 / integration 18 - gitea CI:核心 6 個 job 全綠 + 11 個 AddOn workflow + branch protection +- 打包 10 項終檢全 PASS(569 KB / 187 entries,schema drift 0:34 CREATE / 34 DROP) ### ⚠️ ABI / 行為變更