*** Printags for WooCommerce Changelog ***

2026-11-12 - version 1.0.1
* Tweak - A new installation starts in Test mode, listed first; in Production, the settings warn before connecting that every paid order becomes a firm order charged to the balance. An existing shop connected in Production keeps it.
* Fix - After a creation whose answer was lost, the order is looked up by its idempotency key (GET /orders/find) before any new quote: a paid order is no longer put on hold for insufficient funds when Printags already created and debited it.
* Fix - The creation attempt is recorded before POST /orders, so a process stopped after the debit still looks the order up next time.
* Fix - One attempt at a time per order (atomic lock), the order read again under the lock; an order held by the plugin is only sent again by "Send to Printags" or a paid status set by hand.
* Fix - A later paid status no longer re-records the mode of a queued order: after a switch from Test to Production it is held instead of sent for real. Only "Send to Printags" uses the mode selected now.
* Fix - File names, order numbers, the shop name and API error messages are cut on characters, not bytes (a split accented character made the JSON request body empty).
* Tweak - Tracking numbers are read from the shipments only (the API never sends `trackings_numbers`).

2026-11-12 - version 1.0.0
* Add - Connection to a Printags account by OAuth (PKCE, dynamic client registration), production and test (sandbox) modes, encrypted token storage, refresh and revocation.
* Add - "Printags" product tab: Printags product, optional packaging, opt-in chip lock (off by default).
* Add - Artwork upload on the product page, straight from the browser to Printags (signed single-use link), with preview, proportion check and optional NFC link.
* Add - Paid orders sent to Printags (quote, balance check, idempotency key, retries with backoff); insufficient balance puts the order on hold and e-mails the admin; "Send to Printags" order action.
* Add - Tracking by signed webhook, with polling every 6 hours as a fallback; optional auto-complete with the tracking number in the "Completed order" e-mail.
* Add - High-Performance Order Storage (HPOS) and Cart/Checkout blocks support. French translation.
