22afabc649
- 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
3.8 KiB
3.8 KiB
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 replacessubtotal,commission,vendor_payoutandcommission_ratetoo, andwoocommerce_order_refundedrecomputes an order that is in a tracked status or already has a row (a fully refunded order keeps its row at zero, statusrefunded; 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_salesout of step after an order). No longer registered:- product and order zone fields (
wpdo_register_fields), including the subscription fields; - the
user/hotentity group (wpdo_register_entity_fields), including the three fields added in 0.1.1.
- product and order zone fields (
- 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 thewp_wpdo_user_hottable is simply no longer written. Inaeav_only, core restores the group as an orphan so its values stay readable;wp tmdo bridge-restore-native user --group=hot --retirewrites them back to native and archives the table. - Product flat data (core's former
post/wc_productgroup): 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 readshp_vendor/hp_commission_rate/hp_commission_feeand computes subtotal, vendor payout and commission the wayMarketplace::get_order_profit()does (honouringhp_vendor_include_taxes); stores the vendor's user ID, the product's parent listing and the platform commission percentage.
Added
- 三個 WC runtime usermeta 欄位進
user/hotgroup: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.0extraction plan. - Plugin Header + bootstrap stub + 7 MD + composer.json.
- Requires Plugins:
2meet-data-optimizer,woocommerce.