Skip to content

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 16 Jul 17:08
b349782

Square Terminal for WooCommerce 0.2.1

A hardening release addressing findings from the post-release adversarial review of 0.2.0. Recommended for all 0.2.0 installs.

Fixed

  • Partial-capture protection — if Square captured only part of an order's total, starting another Terminal payment is now blocked until the partial payment is resolved in Square Dashboard. Previously a retry could collect the full amount again on top of the partial capture. Payment records are now append-only: every captured payment ID and amount is retained.
  • Indeterminate checkout recovery — when Square's response to a payment request is lost or unusable, the attempt is now kept and a retry safely recovers the same Square checkout (same idempotency key) instead of risking a second live checkout on the terminal. The same applies when Square reports the idempotency key was already used.
  • Reliable background reconciliation — the reconciliation sweeper now tracks orders needing attention in an explicit index (oldest first) instead of order-meta queries, making it reliable on both classic and High-Performance Order Storage and immune to batch starvation.
  • Safer fallback locking — on installs where MySQL advisory locks are unavailable, the fallback lock now uses owner tokens with atomic owner-checked release, so a long-running request can no longer release a lock held by another request. Lease extended from 60 to 300 seconds.

Upgrade notes

  • No settings changes required. Requires PHP 8.1+, WordPress 6.5+, WooCommerce 8.0+.