=== WooCommerce Order Splitter (Free Version) ===

== Changelog ==

= 1.5.0 =
* New / Workflows: Added reviewed Manual Quantity, Category, and Stock Status Split, single-order Duplicate, single-source Merge, Return, and resumable Bulk Return for supported orders.
* Split Compatibility: Preserved the reviewed source status on new children and respected the configured shipping behavior: source-only shipping or original shipping rows copied to each child while retained on the source. Fees and coupon records stay source-owned; supported historical discounts remain intact.
* Split Compatibility: Allowed unaffected lines to split around refund-affected lines, with refund records retained on the source and ambiguous references rejected. Independently eligible current and legacy split children can be split again with correct parent links.
* Quantities: Enforced each line's WooCommerce quantity step, including supported fractional steps, whole-line moves, and exact remaining quantities. Fractional operations require compatible quantity and stock handling.
* Return Compatibility: Added verified Return for eligible split relationships created by Free 1.4.11. The original is resolved by the plugin, and retired child history is retained without restoring obsolete execution paths.
* Bulk Return: Review now discloses Eligible and Skipped rows for selections of up to 20 orders. Only Eligible rows run, one per request; runtime non-success stops later work, and interrupted batches retain completed progress.
* Merge Compatibility: Supported ordinary unpaid, non-refunded pairs while retaining target status, customer context, and charges. Source shipping, fees, and coupon records remain archived on the retired source. Product lines combine only on exact commercial identity or become new target items.
* Merge Integrity: Allowed a source without financial history to merge into an eligible non-terminal payment/refund-bearing target only when every source line has zero total and zero tax total. These lines remain separate; existing target payments, refunds, items, charges, payable total, and tax stay unchanged. Financial sources and non-zero settled transfers remain unsupported.
* Duplicate: Created fresh Pending payment orders from supported historical items and charges without copying source transaction IDs, paid state, or stock-reduction responsibility.
* Security & Safety: Removed the obsolete automatic external subscription request. Added server-side review, explicit confirmation, per-order permission checks, and protection against changed orders and conflicting actions. Unsupported or ambiguous data stops the operation.
* Money & Tax: Preserved historical line values, discounts, configured-product identity, rounding, and per-rate taxes without current-price, promotion, or tax recalculation. Order items are never reassigned between orders.
* Stock: Kept Split, Merge, and Return physically stock-neutral while transferring stock-reduction responsibility explicitly. Duplicate does not inherit it; supported variation, parent-managed, backorder, and fractional cases retain their own safeguards.
* Recovery: Added operation-specific locking, durable progress, duplicate-execution protection, and resumable recovery after interrupted writes or lost responses. Unsafe recovery requires manual reconciliation; completed actions are not silently repeated.
* Upgrade Preservation: Validated upgrades from Free 1.4.11 with existing orders, settings, split relationships, payment/refund history, and stock records. Supported outcomes continue through the current reviewed workflows.
* UI & Access: Improved WooCommerce order-action dialogs, keyboard focus, Split group review, Merge target search, return progress, and order-relation links. Administrator and Shop Manager work by default with required per-order permissions; the legacy Shop Manager permission option is retired.
* Advanced Order Actions: Added optional, contextual discovery of the separate standalone Premium product for routing, automation, previews, queues, Bulk Duplicate, guarded rollback, and shipping/email controls. Free workflows remain available without Premium licensing.
* Platform Compatibility: Validated WooCommerce 11.0.1 with legacy storage, HPOS-only, and HPOS compatibility/sync mode; PHP 7.4, 8.1, and 8.3. WordPress tested up to 7.1; minimum requirements remain WordPress 6.5 and PHP 7.4.
* Developer: Unified order changes behind the current mutation gateway, removed legacy direct mutation handlers, protected operational metadata, and kept unsupported integrations fail-closed. The retired global email-recipient filter is not restored.

= 1.4.11 (Jun 13, 2026) =
* Fix: Hardened AJAX capability checks for split and bulk return actions.
* Fix: Validated split quantities against each original line item.
* Improve: Declared WooCommerce HPOS compatibility and updated order edit redirects.
* Improve: Scoped admin assets to WooCommerce order and settings screens.
* Improve: Added throttled inline post-action tips after split, duplicate, merge, and return workflows.

= 1.4.10 (Apr 24, 2026) =
* Fix: Updated some incorrect translation strings.
* Improve: WooCommerce version 10.7 compatibility.
* Improve: Clean and opimized some codes.

= 1.4.9 (Feb 3, 2026) =
* Improve: WooCommerce version 10.4 compatibility.
* Improve: WooCommerce Order Cancellation & Returns compatibility.
* Improve: Minor improvements.

= 1.4.8 (Nov 19, 2025) =
* Improve: Minor fixes and improvements.

= 1.4.7 (Nov 5, 2025) =
* Improve: WooCommerce version 10.3 compatibility.
* Improve: Minor improvements.

= 1.4.6 (Aug 30, 2025) =
* New: Refresh the shipping item metas for both original and split orders.
* Fix: Sometimes receives `$tabs = null` for Shop Manager.
* Improve: Added missing language strings.
* Improve: WooCommerce version 10.1 compatibility.

= 1.4.5 (July 10, 2025) =
* Fix: Removed some unnecessary code.
* Improve: Some improvements.

= 1.4.4 (Jun 14, 2025) =
* Improve: Remove settings access requirement for shop manager, since newest update of WooCommerce only allow shop manager access the basic settings.
* Improve: WooCommerce compatibility.

= 1.4.3 (May 25, 2025) =
* Update: Reorder the `Orders` settings tab.
* Improve: Minor improvements.

= 1.4.2 (May 2, 2025) =
* Update: WordPress compatibility to 6.8.
* Improve: WooCommerce compatibility.

= 1.4.1 (Apr 6, 2025) =
* Improve: WooCommerce compatibility.
* Improve: Language updated.
* Improve: Some improvements.

= 1.4.0 (Feb 27, 2025) =
* New: Added merge orders with order action selection on the edit order page.
* Improve: WooCommerce compatibility.

= 1.3.11 (Feb 15, 2025) =
* Fix: Our other plugin compatibility.
* Improve: WooCommerce compatibility.

= 1.3.10 (Jan 10, 2025) =
* Improve: Integration with our other plugin.
* Improve: WooCommerce compatibility.
* Improve: Some improvements.

= 1.3.9 (Dec 19, 2024) =
* Improve: Labels display immediately instead of timeout.
* Improve: The plugin notices will only display for administrators.

= 1.3.8 (Dec 3, 2024) =
* Fix: The advanced options cannot be saved.
* Improve: Updated the split order label.
* Improve: Some improvements.

= 1.3.7 (Nov 9, 2024) =
* Fix: The labels display based on the current user items per page settings.
* Improve: Some improvements.

= 1.3.6 (Oct 27, 2024) =
* Fix: Shop manager unable to open the split table.
* Fix: Order actions are disable at order edit page.
* Fix: Minor errors.
* Improve: Language file updated.

= 1.3.5 (Oct 22, 2024) =
* Fix: Shop manager permission.
* Improve: Label updated.

= 1.3.4 (Sep 9, 2024) =
* Fix: Shipping fee, permission options errors.

= 1.3.3 (Sep 5, 2024) =
* Improve: Minor improving.

= 1.3.2 (Aug 26, 2024) =
* New: Development - Added filter hooks for order meta.
* Fix: The disable email option conflicts with WooCommerce option.
* Improve: Customer user included in the new orders.
* Improve: Some language strings are updated.

= 1.3.1 (Jul 26, 2024) =
* New: Duplicate order in Order actions in Edit Order page.
* Fix: The bulk return action only displays at the Orders page.
* Improve: The labels are updated.
* Improve: A minor typo issue was removed.

= 1.3.0 (Jul 17, 2024) =
* New: Split orders by category or stock status.
* New: Bulk return action is now working with HPOS.
* Fix: Disable order email option affected to all the new orders.
* Improve: Moved the split container after the order total for better display.
* Improve: Added notes for the original and split orders.
* Improve: Added the settings url into the plugins page.
* Improve: Added the settings notice for the first installment.
* Improve: Removed unnecessary translation strings.

= 1.2.4 (Jul 9, 2024) =
* New: Option to enable/disable the order labels (WooCommerce > Settings > Orders)
* Fix: Set the default settings for the first install.

= 1.2.3 =
* Improve: Optimize the orginal & splitted labels at Orders page.

= 1.2.2 =
* New: Added the original & splitted labels at Orders & Edit order pages.
* New: Added Bulk return action at Orders page.
* Improve: Remove splitted order ids when returns to the original order.
* Improve: Added the logic to handle the email sending actions for the sites using the filter to defer WooCommerce transactional emails.

= 1.2.1 =
* New: Split to multiple orders.
* Improve: Minor bug fixed.

= 1.2.0 =
* New: Brand new OOP codes under the hood.
* New: Permission option for shop manager.
* Improve: Avoid to split all quantities in the order.
* Improve: Small bugs fixed.

= 1.1.1 =
* New: Return the order back to the original.
* New: Set order statuses that allow to split or return.
Note: Only the 'processing' status has set as default. You have to go to the settings to set more if you wish.

### 1.1.0
* Order Splitter Settings added.
* Exclude shipping fee optional.
* Disable order email optional.
* Minor improving.

= 1.0.1 =
* A serious error fixed.

= 1.0 =
* First released.
