The 2.9 line (through 2.9.17) hardens campaign lifecycle, clarifies Mode A pricing for shoppers, and improves admin auditability. This page summarizes what merchants need to know — not every patch.
Campaign lifecycle & lock (2.9.0–2.9.1)
- Clear rules for when a product campaign is configuration-locked (sales already counted, or refund processing) vs when you can start a new campaign on the same product.
- Safety-net archival before reset; duplicate products no longer inherit live campaign runtime state.
- Admin UI shows a lock notice when dates/thresholds cannot be edited.
Operational detail: Chapter 3 · refund flow: Chapter 2.
Mode A honesty — cart projects, live price follows sales (2.9.17)
- Cart and product timeline use an amber projection for quantity still in the cart — it is not the live community price.
- Copy no longer implies the cart “secured” a saving; live price moves only after eligible community sales.
- Milestones unlocked only by cart show amber ring + check; community unlocks stay solid green.
- Cart Block support: gamification box and line hints without breaking Blocks hydration.
Core model: Chapter 1.
Partner registry & lifecycle (2.9.10–2.9.13)
- Partner registry under Referral & Partner: Partners, Transactions, Configuration, Recruitment — promote users, copy
WCCP-referral codes, filter the commission ledger. - Lifecycle: suspend / revoke / reinstate with reason and audit trail; copy-link disabled for suspended or revoked partners.
- Manual Dispatch feedback updates badges and status without a full page reload; registry History pills show past suspensions/revocations.
Setup: Chapter 5.
Admin trust — Global Log, Hub, audit actors (2.9.14–2.9.17)
- Global Log: readable Details (no raw JSON dumps), collapsible event legend, tooltips on event badges.
- Promotion Hub: filters and pagination on In-Progress, History, and Compensation Ledger; human-readable blocked-field events.
- Audit trail: manual actions (dispatch, early close, retry) record which admin did what.
Diagnostics overview: Chapter 7.
Privacy export / erase (2.9.17)
- WordPress Tools → Export / Erase Personal Data covers partner referral data and promotion-log indexes (no plain IP in export).
- Suggested privacy-policy wording updated for legitimate interest + export/erase rights.
Compliance: Chapter 8.
Licensing & uninstall (2.9.15–2.9.16)
- Safer renewal URL handling; renew CTA in the product metabox when the license blocks the campaign.
- Settings → Tools → Data & uninstall: choose what happens to WCCP data on uninstall; optional purge now.
- Unsaved-changes guard on the product Community tab; stronger confirm when trashing products with campaign history.
License hub: Chapter 4.
Also included in the 2.9 line
- Vendored Flatpickr (IT locale) for promo date pickers — no CDN dependency.
- Community “on sale” badge improvements for product grids / Blocks.
- Many lifecycle edge-case fixes from campaign QA (save handler, thresholds, scheduler ordering).
Full engineering changelog ships with the plugin ZIP. For day-to-day operation, prefer this manual over the raw changelog.