*** ShipSavvy Shipping Changelog ***

2025-08-15 - version 1.0.0
* Added - Initial Launch

2026-04-17 - version 1.0.1
* Added UUID, Customer Order Number & Order Date

2026-08-05 - version 1.1.0
* Reworked the plugin to follow WordPress plugin standards: prefixed functions, classes and constants, escaped output, sanitized input
* Replaced the standalone admin scripts with AJAX endpoints protected by a nonce and a capability check
* Added support for WooCommerce High-Performance Order Storage
* Added error handling for every ShipSavvy API request; failures are recorded as an order note
* Cached tracking lookups for five minutes instead of requesting them on every page load
* Stopped orders being sent to ShipSavvy twice
* Replaced the activation redirect with a dismissible admin notice
* Added readme.txt, including disclosure of the external ShipSavvy service

2026-08-13 - version 1.2.0
* Added - Real-time carrier rates at checkout (Block and Classic), off by default
* Added - Merchant-configurable flat-rate fallback used whenever live rates are unavailable
* Added - Debug mode, which disables live rates and logs rate requests
* Added - Configurable API base URL for non-production environments
* Added - Chosen carrier/service recorded on the order
* Added - Cart-page warm-up so the rate service is already running by checkout
* Fixed - A failed quote is no longer cached for the whole session; previously
  rates only appeared after the shopper edited their address
* Fixed - An address we cannot quote now falls back to the flat rate instead of
  leaving the shopper with no shipping option at all
* Changed - Rates are quoted at checkout, not on the cart page, whose shipping
  calculator has no city field and would price a partial address
* Fixed - Debug Mode now offers the flat rate instead of no shipping option at all

2026-09-12 - version 1.2.1
* No functional changes - release used to verify the automated WordPress.org SVN deployment pipeline
