=== Vietnam Store Toolkit for WooCommerce - Changelog ===

= 1.1.6 (September 8, 2026) =

* New: Added validated Ward / Commune children to the native WooCommerce Shipping Zone regions tree while preserving country, province/city, postcode, zone-order, and cache behavior.
* Quality: Strengthened release validation with risk-aware staged CI and durable workflow ownership, review, and release gates.

= 1.1.5 (August 30, 2026) =

* Quality: Restored strict WordPress Plugin Check as a release-blocking CI baseline after resolving source findings and removing the temporary 1.1.4 waiver; normal CI now checks the reviewed WordPress.org payload.
* Quality: Added deterministic Vietnamese localization gates for POT/PO completeness, locale parity, MO/PHP/JSON consistency, visible JavaScript localization contracts, and strict zero-warning Plugin Check in both CI and WordPress.org publish validation.
* Compatibility: Preserved WordPress.org language-pack priority and bundled Vietnamese fallback translations across WordPress 6.3 and later without eagerly loading the plugin text domain.
* Compatibility: Added additive `original_prefix_carrier` handoff semantics while preserving legacy `carrier` and stored-metadata behavior.
* Developer: Added provider-neutral internal security helpers for keyed hashes and sensitive-data redaction, plus a structured logger foundation.
* Developer: Documented stable shipping, tracking, and electronic-invoice extension contracts and added architecture contract coverage to CI.

= 1.1.4 (August 22, 2026) =

* Fix: Formatted valid legacy Vietnamese province and ward values when the country is missing without treating unknown international addresses as Vietnamese.
* Fix: Validated Vietnamese province and ward pairs before saving order addresses in WooCommerce administration.
* Security: Limited electronic-invoice PDF/XML MIME allowances to the active invoice-upload field, and rejected non-HTTP/HTTPS manual tracking URLs before changing order data.
* Security: Added bounded, filterable public order-lookup rate limiting with HMAC-based requester keys instead of storing raw IP addresses.
* Compatibility: Validated WordPress 7.1 and WooCommerce 11.0.1 across HPOS, Classic Checkout, Checkout Blocks, and Store API integrations.
* Developer: Expanded address and audit-hardening contract coverage and integrated the suites into CI.

= 1.1.3 (August 14, 2026) =

* Improve: Collapsed the Create shipment and Add shipment journey event forms in the order Shipping metabox, keeping the interface compact while preserving keyboard-accessible toggles.
* Fix: Kept manually added shipment journey events visible in the order metabox after saving.
* Update: Refined the customer-facing Order Tracking status row: Core hides it when no journey event exists, while connector-provided status information remains available.
* Developer: Added an extension point that lets shipping connectors append journey events without replacing their detailed carrier status.

= 1.1.2 (July 30, 2026) =

* New: Added the Plugin URI and clickable links to the official Website, Documentation, Support, and key topic pages so the product source can be verified.
* New: Added a WooCommerce email for the electronic invoicing workflow, with HTML and plain-text templates, customization in email settings, manual sending from the order metabox, and attachments for available PDF/XML files.
* New: Automatically changed the invoice status to Sent to customer after an email was sent successfully, while storing the status and send time and displaying a result notice.
* Update: Added shipment status, service, COD amount, and update time to emails triggered by an internal shipping connector; internal shop-account rate details are not displayed.
* Update: Used the dedicated subject `Shipping update: {shipment_status} - Order #{order_number}` for emails triggered by an internal connector.
* Update: Hid the VAT information row in the order list's Information column when invoice requests at checkout are disabled, while retaining filters and historical invoice data exports.
* Update: Displayed the manual Shipment Journey form in the order metabox only after a manual shipment with a tracking number has been created.
* Improve: Collapsed the manual tracking update form after a tracking number has been created; administrators can reopen it from the “Update tracking number” row, whose color follows each user's admin color scheme.
* Improve: Fixed the shipping and electronic invoice email placeholder lifecycle: restored `{site_title}`, `{site_address}`, `{site_url}`, `{store_email}` on every send; refreshed order/shipment/invoice placeholders; and ensured they work correctly in subjects, headings, and additional content across repeated sends.
* Improve: Fixed the enabled shipping service count on the Vietnam store page by directly counting registered, available providers.
* Improve: Completed the Vietnamese translation for the electronic invoice email feature.

= 1.1.1 (July 26, 2026) =

* New: Added a Vietnam store menu directly below WooCommerce and a centralized configuration page for features, services, and operational tools.
* New: Added switches for enabling or disabling address fields, phone normalization, customer-facing shipping information, order management, invoice requests, and the electronic invoicing workflow; switch colors follow each user's admin color scheme.
* New: Designed the admin hero with a plugin icon and a rounded-square SVG menu icon featuring a five-point star cutout; CSS masking keeps the icon rendering consistently during page navigation.
* Update: Decoupled invoice requests at checkout from WooCommerce tax calculation and the electronic invoice management workflow.
* Update: Preserved access to historical invoice details in the order panel, filters, and CSV files when a store stops accepting new requests.
* Update: Made the electronic invoicing workflow read-only when disabled while continuing to display the status, provider, number/series, issue date, lookup URL, PDF/XML files, and history.
* Update: Replaced the duplicate invoice option in WooCommerce Tax settings with a link to the Vietnam store page.
* Update: Shortened GHTK tracking numbers in the interface and clipboard to the final numeric sequence after the period; the full number remains stored for API and internal processing.
* Update: Automatically hid the manual Shipment Journey when at least one shipping service is available, while retaining the form when no connector is present.
* Improve: Fixed Shipping Tracking email logic to select the newest current record and avoid reusing a canceled tracking number after a replacement shipment is created.
* Improve: Completed Vietnamese translations for the settings page, feature statuses, and invoice read-only mode.

= 1.1.0 (July 17, 2026) =

* New: Added Cart and Checkout Blocks support for Vietnamese addresses with Province/City-dependent Ward/Commune lists.
* New: Allowed Cart/Checkout Blocks to be embedded on custom pages that are not assigned as WooCommerce's default cart or checkout page.
* New: Synchronized Block addresses with the Store API's `state` and `city` fields, including server-side normalization and validation.
* New: Integrated VAT invoice requests into Checkout Blocks through the Additional Checkout Fields API, with corresponding display conditions and validation.
* New: Added Vietnamese phone number normalization and validation to the Store API.
* New: Displayed shipping information on the Checkout Block order confirmation page and the order details page in My Account.
* New: Added a Shipping Fee Rules method for Shipping Zones, with conditions for addresses down to ward/commune level, cart total, weight, shipping class, free-shipping threshold, COD, default fees, and CSV import/export.
* New: Expanded HPOS-compatible order management tools with filters for VAT invoices, carriers, tracking numbers, tracking email status, handoff progress, normalized phone numbers, and Vietnamese addresses.
* New: Added bulk actions to resend tracking emails, update carriers, export shipping/invoice CSV files, and mark handoff progress.
* New: Built a provider-neutral electronic invoicing workflow with seven statuses, invoice number/series, issue date, lookup URL, PDF/XML files, filters, CSV data, and a change log.
* New: Added a compact Information column to the order list for conditionally displaying tracking details and VAT status.
* New: Added API-free tracking with carrier URL templates, links generated from tracking numbers, custom carriers, a manual journey, and a block/shortcode tracking page.
* Update: Moved VAT invoice requests to Tax options; checkout, order administration, and the invoice workflow operate only when WooCommerce tax calculation is enabled.
* Update: Verified the VietQR flow on the order confirmation page and declared Cart/Checkout Blocks compatibility after testing both Classic Checkout and Blocks.
* Update: Shortened invoice request, shipping, filter, and order tracking labels by removing the unnecessary “Vietnam” suffix.
* Update: Simplified the Shipping panel when no shipping provider is registered.
* Update: Placed an Email settings link next to the option to send shipping information to customers.
* Update: Arranged the Name and Phone fields on the same row in shipping addresses.
* Improve: Completed Vietnamese translations for the save/update tracking number button and remaining interface strings.

= 1.0.2 (July 5, 2026) =

* New: Added a WooCommerce customer email template for Vietnamese shipping tracking updates.
* New: Added a checkbox to the order's Vietnamese shipping information panel for sending a tracking email when an administrator saves a manual tracking number.
* Improve: Adjusted the detail table in tracking emails to fit WooCommerce's new email template layout.
* Improve: Completed Vietnamese translations for tracking emails and manual sending controls.

= 1.0.1 (June 28, 2026) =

* New: Added a manual shipping form to the order's Vietnamese shipping information panel when no carrier connector is registered.
* New: Allowed administrators to select a carrier and enter a tracking number manually using the plugin's standard `_vck_shipping_*` order metadata.
* Update: Expanded the migration tool for Le Van Toan's plugin to scan and synchronize billing addresses, customer-profile shipping addresses, order addresses, and shipping data.
* Update: Separated migration progress notices into order address rows, customer address rows, and shipping order rows.
* Update: Reordered Vietnamese address fields in customer profiles as follows: country, province/city, ward/commune, address line 1, address line 2, and postcode.
* Improve: Improved legacy address migration for pre-2025 ward/commune aliases and Vietnamese customer addresses with no country value.

= 1.0.0 (June 27, 2026) =

* New: Initial public release under the name Vietnam Store Toolkit for WooCommerce.
* New: Added Vietnamese province/city and ward/commune selectors to WooCommerce.
* New: Integrated Vietnam's two-tier administrative division dataset covering 34 provinces/cities and 3,321 wards/communes/special zones.
* New: Adjusted Vietnamese checkout fields for full names, contact details, country visibility, company fields, and postcodes.
* New: Added VAT invoice request fields and invoice details to the order administration screen.
* New: Displayed VAT invoice details in New Order emails sent to store administrators.
* New: Integrated VietQR into WooCommerce Direct bank transfer.
* New: Added a Vietnamese bank selector and transfer-description template for bank accounts.
* New: Displayed VietQR codes on customer-facing order pages, in customer emails, and in wp-admin.
* New: Added actions to copy bank account numbers and transfer descriptions.
* New: Added Vietnamese phone number normalization and storage of corresponding metadata.
* New: Built a carrier integration framework with normalized order metadata and administrative actions.
* New: Simplified shipping rows in WooCommerce administration by hiding technical shipping-rate metadata.
* New: Allowed the carrier to be preselected when creating a shipment based on the shipping method chosen at checkout, when that method contains carrier metadata.
* New: Added WooCommerce Status Tools with a one-click workflow for processing order addresses and shipping data from Le Van Toan's plugin.
* New: Added migration safeguards for stores moving from Le Van Toan's plugin.
* New: Prepared the WordPress.org text domain, unique public prefix, AJAX actions, global JavaScript variables, and request permission checks.
* Improve: Completed Vietnamese translations.
