Files
2meet-data-optimizer-woocom…/CHANGELOG.md
T
wpdev 22afabc649 docs(2meet-data-optimizer-woocommerce-addon): 0.3.0 release notes
- version 0.3.0; CHANGELOG for PR-092 (commissions follow refunds), with the
  note that older rows are corrected on the order's next event
- Verify: composer test (11)
- PR: PR-103
2026-09-27 16:50:29 +08:00

3.8 KiB
Raw Blame History

Changelog

All notable changes to this AddOn will be documented here.

Format follows Keep a Changelog. Versioning follows Semantic Versioning.


[Unreleased]


[0.3.0] — 2026-09-27

Released with 2meet-data-optimizer 1.3.0 (hardening 2.3).

Fixed

  • Commission amounts follow refunds. The commission upsert kept the amounts of the first tracked event (it only updated status / updated_at), so a partial refund before completion left the vendor payout overstated. It now replaces subtotal, commission, vendor_payout and commission_rate too, and woocommerce_order_refunded recomputes an order that is in a tracked status or already has a row (a fully refunded order keeps its row at zero, status refunded; untracked orders get none). Repeated events still leave one row per order and vendor. dev36: partial refund then completion records the refunded amount. (PR-092)

Upgrading

  • Rows recorded before 0.3.0 are corrected on the order's next tracked status change or refund; there is no bulk recompute.

[0.2.0] — 2026-09-27

Released with 2meet-data-optimizer 1.2.0 (hardening 2.2, search-index mode decision 2: WooCommerce meta stays native).

Removed

  • WooCommerce meta is no longer copied to flat tables. WooCommerce reads its meta directly and writes stock / sales by SQL, so a flat copy drifted (R-2.1: stock and total_sales out of step after an order). No longer registered:
    • product and order zone fields (wpdo_register_fields), including the subscription fields;
    • the user / hot entity group (wpdo_register_entity_fields), including the three fields added in 0.1.1.
  • Kept: the wp_wc_* custom table registry, the HPOS notice, the Marketplace commission tracking and the term count filter.

Upgrading

  • Nothing is dropped. With the user entity below aeav_only, WooCommerce keeps reading native user meta and the wp_wpdo_user_hot table is simply no longer written. In aeav_only, core restores the group as an orphan so its values stay readable; wp tmdo bridge-restore-native user --group=hot --retire writes them back to native and archives the table.
  • Product flat data (core's former post/wc_product group): see 2meet-data-optimizer 1.2.0.

[0.1.1] — 2026-09-26

Hardening 2.0 changes, released alongside 2meet-data-optimizer 1.1.0.

Fixed

  • Commission tracking read _hp_* keys that Marketplace never writes, so no commission was recorded. It now reads hp_vendor / hp_commission_rate / hp_commission_fee and computes subtotal, vendor payout and commission the way Marketplace::get_order_profit() does (honouring hp_vendor_include_taxes); stores the vendor's user ID, the product's parent listing and the platform commission percentage.

Added

  • 三個 WC runtime usermeta 欄位進 user/hot group:wc_last_active、 wc_order_count_<blog-prefix>、last_update。先前未註冊,這些高頻欄位 會落回 wp_usermeta。
  • tests/integration/:bootstrap(複用核心的 integration bootstrap,連真實 MariaDB)+ phpunit-integration.xml + CI job,移植 WCTermCountFilterTest (18 tests)。

Notes

  • wc_order_count 走 WooCommerce 的 Users::update_site_user_meta(),實際 key 是 'wc_order_count' . '_' . rtrim( get_blog_prefix(), '_' )。來源外掛 寫死主站形式 wc_order_count_wp,multisite 子站(_wp_2)會漏接;此處用 同一條運算式算出來。

  • Phase 3 implementation in progress.


[0.1.0] — TBD

Added (initial release, scaffold)

  • Plugin scaffold from wp-data-optimizer v2.16.0 extraction plan.
  • Plugin Header + bootstrap stub + 7 MD + composer.json.
  • Requires Plugins: 2meet-data-optimizer, woocommerce.