# Changelog All notable changes to this plugin will be documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versioning follows [Semantic Versioning](https://semver.org/). --- ## [0.1.0] — 2026-05-15 (initial release, Phase 0-5 完成) ### Phase 5 hotfix(同日完成) - 修 `TMDO_WooCommerce::doctor_check()` callback signature mismatch(cli/class-tmdo-cli.php:264 改 call_user_func 傳 3 參數) - 加 `includes/back-compat/trait-wpdo-anti-eav-aware-alias.php` — trait + interface 反向相容(PHP class_alias 不支援 trait/interface) - `WPDO_Anti_EAV_Aware` trait wrapper 可讓 2meet-brandcards 等 sister plugin 直接 `use` - `WPDO_Entity_Adapter_Interface` extends `TMDO_Entity_Adapter_Interface` - 完整 `uninstall.php`(核心 244 行從 wp-data-optimizer 提煉,34 張表 DROP TABLE 對齊) - HP AddOn + infocards AddOn `uninstall.php` 補 schema drift check 對齊 - **12 plugin ZIP 全通過 10 終檢** ### 12 ZIP 交付(dist/) | Plugin | Size | MD5 | |---|---:|---| | 2meet-data-optimizer | 521 KB | a10bb191e662cb5fb53a3d23165c71e5 | | -hivepress-addon | 117 KB | 24bd8c3211421fed86dc551658d7064a | | -woocommerce-addon | 34 KB | fbd6f60368fc93310f2e90e58c95b53c | | -spoke-addon | 24 KB | c1e92b755fb1d108a141086ccf1fe519 | | -hub-addon | 22 KB | 4e010c63ed8ad1dd24f06b8741e3a1b0 | | -infocards-addon | 22 KB | 7f095fdc4748d3ff4cd4e05f1bf3d417 | | -latepoint-addon | 21 KB | 60eeb4ea67cdc996cb60b6ad7126f2df | | -bookings-addon | 21 KB | ac32b85d84e912d3b5a1cdfb56f9fa96 | | -mobile-bridge-addon | 20 KB | 59905719cfee4bd31967736517391a43 | | -collab-addon | 20 KB | 1ed0a2983a692a94b6c42f21b62af2c2 | | -quotation-addon | 20 KB | 5e693a4df3ce48de447cf6277deaece5 | | -playlist-addon | 20 KB | d52552782f383abbe8f278a5b85cafef | ### CLI smoke test(12 指令 全 PASS) - `wp tmdo status / doctor / analyze / install / cleanup / health-snapshot / site-metrics / benchmark` - `wp wpdo status / doctor` (alias 路徑) - `wp tmdo spoke-sync --dry-run` / `wp tmdo spoke-force-logout --user-id=1 --dry-run` --- ## [0.1.0] — 2026-05-15 (initial release, Phase 0-4 完成) ### Added — 核心反 EAV 引擎(從 wp-data-optimizer v2.16.0 提煉) - 4 Zone 分流(Hot / Warm / Cold / Archive)+ Sync Bridge 雙寫 - 7 態 FSM 模組生命週期(idle → dual_write → backfill → verify → cutover → cleanup → complete) - 4 entity 通用引擎(post / user / term / comment)+ Hook Bus + Mode Manager - Query Router (`pre_get_posts` 改寫) + Query Compiler - Migration Engine + Orchestrator + Backfill + Stress Tester + Shadow Verifier - Snapshot / Safety / Diagnostic / Notifications (Email / Slack / Discord / Telegram) - Crypto AES-256-GCM AEAD + Safe Unserialize - WP-CLI 18+ subcommand - Admin Dashboard + KPI Hero + Tab Groups + Setup Wizard + Help Tabs ### Added — 對外向後相容 - `TMDO_*` 類別 + `class_alias` 80+ 個 → 對外保留 `WPDO_*` 類別名 - 8 個常數 alias(`WPDO_VERSION` / `WPDO_PLUGIN_DIR` / `WPDO_TABLE_PREFIX` 等) - 9 個 hook dual-fire 橋接(`tmdo_register_fields` ↔ `wpdo_register_fields` 等) - WP-CLI 雙命名空間:`wp tmdo` (主) + `wp wpdo` (alias) ### Removed — 整合層搬出 - HivePress + 12 擴充整合(13 adapter + 7 interceptor + 5 query interceptor + bootstrap + admin + CLI)→ 搬到 `2meet-data-optimizer-hivepress-addon` - WooCommerce 整合 → `2meet-data-optimizer-woocommerce-addon` - LatePoint 整合 → `2meet-data-optimizer-latepoint-addon` - 2meet-infocards / bookings / quotation / mobile-bridge / collab / playlist 整合 → 各自 6 個 AddOn - Hub-core SSO group 與自訂表註冊 → `2meet-data-optimizer-hub-addon` - Spoke-sso SSO group 與 CLI → `2meet-data-optimizer-spoke-addon` - `TMDO_Core::register_hivepress_defaults()` (193 行) → HP AddOn ### Migration from `wp-data-optimizer v2.16.0` - `wp_wpdo_*` 表結構完全相容(不 rename,新外掛沿用既有 schema) - 舊外掛先停用即可改用新外掛接管 - 兩外掛**互斥**:本外掛偵測舊外掛仍 active 時會發 admin notice(plan §8.1) ### Limitations / Known issues (Phase 5 follow-up) - `tests/` 目錄空殼,PHPUnit unit + integration tests 需後續搬遷 - `phpcs.xml.dist` 缺;`composer install --dev` 後可手動跑 - WP 6.5+ `Requires Plugins:` 強制 Plugin Name 比對;hub-core / spoke-sso 仍寫死 `wp-data-optimizer`,需更新或本 plugin 加偽 `Plugin Name: WP Data Optimizer` alias header(Phase 5) - `TMDO_WooCommerce::doctor_check()` signature 與 Custom_Table_Registry callback 不對齊(warning level) - Trait `Trait_TMDO_Anti_EAV_Aware` 暫無 alias wrapper(class_alias 不適用 trait) ### Phase 0-4 統計 - **PHP files**: 203(核心 111 + Hub 5 + Spoke 7 + HP 47 + WC 8 + LP 5 + 6 family 各 5) - **PHP lint**: 全 PASS - **Plugin active**: 12/12 - **Custom tables registered**: 14(Hub 12 + Spoke 2,未含 6 family no-op) - **SSO group fields**: 7 - **Schema fields**: 23 (Hot 20 + Cold 3,HP 未安裝 → HP fields no-op) --- ## 來源外掛累計重要 release(供考古) 詳見 `/var/www/Studio/wp-local-dev30/wp-content/plugins/wp-data-optimizer/CHANGELOG.md` 與 `CLAUDE.md`:v2.0.0 → v2.16.0 共 47 次發版的累計改動。 亮點: - v2.6.4 H-4 加密 webhook 密鑰 - v2.13.3 audit 7/7 finding 全清零 - v2.15.0 AES-256-CBC → AES-256-GCM AEAD - v2.16.0 UI/UX KPI Hero + Grouped Tab Navigation --- ## [Unreleased] ### Phase 5 候補 - Tests 套件搬遷 - PHPCS 套件 + 0/0 達成 - 打包腳本 10 終檢驗收 - WPDO_ → TMDO_ migration CLI