*** Teleship Global Shipping Changelog ***
= 1.0.17 =
* Added: Sync Logs administration page with order sync status and detailed errors
* Added: Manual product and order synchronisation from the Sync Logs page
* Added: Downloadable order sync diagnostics
* Improved: Order sync failures now retain detailed API validation errors

= 1.0.16 =
* Fixed: Fulfillment state resets when shipment is cancelled in Teleship (order reverts to processing)
* Fixed: Stale fulfillment data cleared when previously-fulfilled order reverts to processing
* Added: Product sync now includes store weight unit in metadata
* Added: Order line items enriched with product weight from metadata for accurate bulk purchase rates

= 1.0.15 =
* Fixed: Order sync now filters by supported destination countries (35-country whitelist) preventing unsupported orders from syncing
* Fixed: Product classify uses search-first UUID resolution — faster lookups, upsert only for new products
* Added: Sync suspension mechanism prevents redundant bulk syncs during REST API product saves
* Added: Product classification complete webhook event handling
* Improved: Product sync payloads now include weight and default package metadata
* Improved: HTTP client supports per-request max_retries override for granular retry control
* Improved: Classify timeout increased to 90s to match backend processing time

= 1.0.14 =
* Fixed: Checkout rate requests now use tax-exclusive prices for accurate duty/tax calculation
* Fixed: Order sync handles stale UUIDs gracefully (404 on PUT falls back to POST)
* Fixed: Bulk order sync performance improved with upfront normalization and forced POST upserts
* Fixed: Debug logging simplified to use standard error_log gated by WP_DEBUG
* Added: Order payloads now include integrationId for proper integration association
* Added: Debug endpoint for viewing order sync mapping table (/debug/order-mappings)
* Improved: HTTP client skips retries on 4xx client errors (except 429) for faster failure
* Improved: HTTP client supports fire-and-forget (non-blocking) requests
* Improved: WordPress Plugin Check compliance with phpcs:ignore annotations

= 1.0.13 =
* Fixed: Checkout rate title now correctly displays "Duties prepaid" using meta_data service name
* Fixed: Origin country HS code extracted from classification regionalCodes for accurate product data
* Improved: Product sync payloads now include restrictions and contentHash fields

= 1.0.12 =
* Added: Product image URLs now displayed on the Products page
* Added: Classification now covers all 14 supported destination regions (GB, EU, US, CA, AU, NZ, NO, CH, SG, HK, AE, SA, IS, LI)
* Improved: Product updates return instantly — Teleship sync runs in background
* Improved: Sync payloads now include product image URLs

= 1.0.11 =
* Added: OAuth authentication with secure credential storage
* Added: Automatic webhook registration with Teleship
* Added: Order synchronization to Teleship platform
* Added: Product synchronization with REST API and portal bearer token auth
* Added: Connect/Disconnect UI in admin settings
* Added: Bearer token auto-refresh before expiration
* Added: Embedded portal settings in admin iframe
* Improved: Product sync now uses OAuth authentication with paginated batch sync
* Improved: Unified HTTP client usage across all API calls
* Improved: Webhook receiver uses centralized secret management
* Improved: Unified plugin environment config and order status handling
* Fixed: Deactivation cleanup for OAuth credentials and webhooks
* Fixed: REST API product sync endpoint compatibility
* Fixed: Integration classification errors, order filtering, and embedded account scoping

= 1.0.10 =
* Added: Fulfillment webhook endpoint for automated order completion
* Added: WooCommerce email hook support - tracking info now displays in completed order emails
* Added: Tracking information display in customer My Account order view
* Improved: Tracking data is saved before status update to ensure emails include tracking info

= 1.0.9 =
* Updated: Expanded international shipping coverage to 35 destinations
* Updated: Now shipping to Europe (EU27), United States, Australia, Canada, New Zealand, Singapore, Hong Kong, Saudi Arabia and UAE
* Improved: Updated plugin description and features documentation

= 1.0.8 =
* Fixed: License header now uses SPDX-compatible format (GPL-2.0-or-later)
* Fixed: Security improvement - removed unused nonce verification code
* Improved: WooCommerce Marketplace validation compliance

= 1.0.7 =
* Fixed: WordPress 6.9 compatibility - replaced rand() with wp_rand()
* Fixed: Added missing translators comments for internationalization
* Fixed: Proper output escaping for all admin notices
* Fixed: Ordered placeholders in translatable strings
* Updated: Tested up to WordPress 6.9

= 1.0.6 =
* Renamed: navigation page "Orders" to "International Orders"
* Renamed: navigation page "HS Classifier" to "Products"

= 1.0.5 =
* Added: CloudFlare-friendly HTTP client with intelligent request fingerprinting
* Improved: Better request patterns to avoid triggering security systems

= 1.0.4 =
* Improved: Enhanced API authentication system with intelligent fallback mechanisms
* Improved: Better compatibility with various WooCommerce server configurations
* Fixed: Resolved uninstallation failures for stores requiring OAuth authentication
* Fixed: More reliable webhook cleanup during plugin uninstallation
* Added: Intelligent authentication method learning and preference storage
* Added: Smart authentication retry logic for better API reliability

= 1.0.3 =
* Added: price breakdown description to shipping method rate label
* Updated: filter out draft orders from fulfillable orders in Teleship

= 1.0.2 =
* Added: Teleship HS classifier

= 1.0.1 =
* Added: Live rate shipping capabilities using Teleship API
* Added: Shipping zones support for Teleship shipping rates
* Added: Global and per-zone settings for fallback rates
* Added: Debug mode for troubleshooting API connections
* Added: Account ID storage during authentication flow
* Added: Handling fees for shipping rates
* Improved: Better error handling and logging

= 1.0.0 =
* Initial release
