= 3.7.2 =
* Fixed: Per-product transfer-percentage validator no longer fires a blocking native confirm()/alert() popup that could abort save. Customers running account-per-product workflows (each connected account intentionally set to 100% of its own product's payment routing — common in sports-booster, marketplace, and service-platform setups) were blocked from saving by the "above 97%" confirm dialog added in 3.7.0. Workaround was setting to 99%, saving, then bumping to 100% in the dashboard. The popup is now removed; save always proceeds. Customer report: Sand Dragon Media / Dana Hills Boosters, May 18 2026.
* New: When the aggregate transfer percentage crosses 97% (warning) or 100% (error), the plugin attaches a hidden form payload that PHP captures in admin_init and stashes in a per-user transient. admin_notices renders this once as a dismissible `notice notice-warning is-dismissible` (or `notice-error` for the >100% case) and clears the transient. See includes/admin/spp-validation-notices.php.
* Tracked: The underlying multi-account-aggregate validation math is wrong for account-per-product routing setups (it sums each account row even though the rows are intended to be independent payouts, not slices of a single payment). The popup-to-notice swap in 3.7.2 unblocks customers immediately; the math semantics will be reworked in 3.7.3. See Shortcut sc-7166.

= 3.7.1 =
* Compat: WP 7.0 readiness (Tested up to 7.0).
* Fixed: Resolved a fatal error ("Call to undefined method WC_Stripe_Logger::log()") that could occur on sites running Payment Plugins' "Stripe Payment Gateway for WooCommerce" (woo-stripe-payment) WITHOUT the official WooCommerce Stripe Payment Gateway plugin. All 155 legacy WC_Stripe_Logger::log() call sites now route through a guarded safe_wcs_log() helper that uses WC_Stripe_Logger::log() when available, falls back to WC_Stripe_Logger::debug() if log() is removed in a future WC Stripe release (deprecated since WC Stripe 9.7.0), and falls back to PHP error_log() otherwise.

= 3.7.0 =
* Fixed: Multi-account global pool math — percentages now apply to the order subtotal independently per account, matching pre-3.7.0 (3.6.x) behaviour. The refactor inadvertently switched the engine to pool-depletion semantics (each percentage applied to the remaining pool), which caused 60% + 40% on a $100 order to transfer $60 + $16 = $76 instead of $60 + $40 = $100. The fix preserves the original total for percentage math and adds a defensive log + proportional scaling for the >100% over-configuration case.
* New: Integrations tab with live detection of all supported e-commerce platforms and Stripe gateways.
* New: FluentCart integration for splitting FluentCart orders via Stripe Connect.
* New: Payment Plugins for Stripe WooCommerce gateway support alongside the official WooCommerce Stripe Payment Gateway.
* New: Top-level Split Pay admin menu visible regardless of which platform is active.
* New: Transfer log tracks integration source (WooCommerce / FluentCart) with filterable source column.
* New: Modular adapter architecture for streamlined future integrations.
* New: Delayed Transfers (PRO) — optional setting to hold the Stripe Transfer until the WooCommerce order is marked Completed.
* New: Front-end vendor onboarding shortcode [split_pay_vendor_connect] for self-registered vendors.
* New: Developer filter spp_integrations and action spp_register_integrations to register additional integrations from third-party code.
* New: Developer filter spp_product_data_tab_classes to opt non-simple WooCommerce product types into the Split Pay product data tab.
* Improved: Plugin no longer requires WooCommerce to activate -- works with FluentCart standalone.
* Improved: Connected accounts shared across all integrations.
* Improved: Consistent upgrade prompts linking to the in-dashboard pricing page.
* Improved: WooCommerce payment_complete handler now uses the unified TransferEngine for shipping, tax, and product transfers, closing a latent gap where the new path skipped shipping/tax handling.
* Improved: Hardened redirect/i18n/capability checks across the admin onboarding flow.
* Fixed: Activation no longer fails when WooCommerce Stripe Payment Gateway is not installed.
* Fixed: Currency symbol in transfer order notes now respects the order currency instead of hardcoded "$".

= 3.6.4 =
* Fix webhook sync failing when stored endpoint IDs are stale, deleted, or mode-mismatched.
* Added URL-based fallback to find the correct webhook endpoint automatically.
* Fixed scoping bug with API key in live mode webhook sync path.

= 3.6.3 =
* Fix to multiple product transfers.
* Fix PEWC (Product Extra Options) transfer to use instance-based Stripe client.
* Freemius update.

= 3.6.2 =
* Metadata error fix.

= 3.6.1 =
* Fix undefined variable when order shipping method is not found in any zone.
* Fixed 500 error with Retry Split Pay Transfer.

= 3.6.0 =
* Payment methods — All WooCommerce Stripe methods supported; deferred methods wait for settlement.
* Refund handling (PRO) — Automatic proportional transfer reversals on WooCommerce refunds.
* Retry transfers (PRO) — New order action to retry failed transfers.
* Currency checks — Warnings when connected accounts are in a different country than the platform.
* Vendor roles (PRO) — Use any WordPress role instead of a single custom role.
* Setup checks — API key format validation, incomplete-config notices, and 97%+ transfer percentage warning.

= 3.5.9 =
* Fix to Transfers tab. 

= 3.5.8 =
* Update Freemius integration. 

= 3.5.7 =
* Fix for multisite network activation.

= 3.5.6 =
* Bulk editor improvements.

= 3.5.5 =
* Bulk Editor improvements
* Bugfix for database table creation on multisite. 

= 3.5.4 =
* Fixes to items not saving on settings.
* Improvements to Bulk Editor. 

= 3.5.3 = 
* Added Advanced Product Fields integration.
* Improved Bulk Editor mechanism.
* Updated Freemius SDK. 

= 3.5.2 = 
* WooCommerce Bundles plugin now supported. 
* Developer-friendly Actions/Filters added. 
* Tax transfer bugfix and email issue. 
* Warning add for non-supported 3rd party product types. 

= 3.5.1 = 
* Shipping tax handling improvements. 
* Update Freemius SDK. 

= 3.5.0 = 
* Tax handling improvements. 

= 3.4.9 = 
* Tax handling improvements. 

= 3.4.8 = 
* Major bug fixes and improvements.
* Reconfiguration of API key approach due to changes in WooCommerce Stripe Payment Gateway plugin.

= 3.4.7 = 
* Improved tax handling. 

= 3.4.6 = 
* Add Tax Handling. 

= 3.4.5 = 
* Updated translations. 

= 3.4.4 = 
* Updated translation .POT file. 
* Updates to UI. 
* Updated Freemius SDK. 

= 3.4.3 = 
* Added Transfer Confirmation email in WooCommerce settings.
* Fixes to bulk editor. 
* Fixes to Stripe Connect. 
* Coupon fixes due to changes in WooCommerce.  

= 3.4.2 =
* Correct usage of API keys in TEST/LIVE modes for Stripe Connect.

= 3.4.1 =
* Fix to Stripe Connect in TEST mode. 
* Fix for styling issue on Stripe Connect button. 

= 3.4 =
* Bulk Editor added! You can now bulk edit transfer details for all products and variations in the PRO version. 
* Update to Freemius SDK. 
* General bug fixes.

= 3.3.11 =
* Fix to 100% transfer calculation.
* Layout fix to product view.
* Update to Freemius SDK. 

= 3.3.10 =
* Stability improvements and bug fixes. 
* Updated strings translation. 
* Fix for shipping transfer value not working when standard transfer value was 0. 

= 3.3.9 =
* Added option to transfer order details to Stripe metadata. 
* Bug fixes to error mechanism.
* Improves to the Transfers Tab layout. 

= 3.3.8 =
* Fix to HPOS.
* Confirmed that the plugin works with Woo Subscriptions.  

= 3.3.7 =
* Added support for simple product types created by 3rd party plugins or themes. 
* Added support for Woo High-Performance Order Storage. 
* Updated Freemius SDK. 

= 3.3.6 =
* Updates to Stripe Connect mechanism.
* Fix to auto-deactivation of the free version on PRO upgrade. 

= 3.3.5 =
* Added Stripe Connect onboarding for Vendors. 
* Added fields for transferring a percentage or fixed amount of shipping fees.
* Added CSV export mechanism for transfers. 
* Updated Freemius SDK. 

= 3.3.4 =
* Bug fixes

= 3.3.3 = 
* Updated some text strings, upgrade mechanisms, and icons. 

= 3.3.2 = 
* Additional bug fixes for saving/deleting connected account settings.
* Extended capability of multiple connected accounts to product-level.

= 3.3.1 = 
* Updated Freemius SDK.
* Resolved bugs of not being able to save or remove selected connected account. 

= 3.3 =
* Multiple connected accounts now supported! 

= 3.2.10 =
* Coupon compatibility fix. 
* Update Freemius SDK. 

= 3.2.9 =
* Support for splitting payments coupons involved. 
* Fix for Stripe accounts synchronization issue. 
* Freemius SDK update. 

= 3.2.8 =
* Bugfix for displaying error message when unable to connect to platform accounts. 
* General bugfixes and stability improvements. 
* Freemius SDK update. 

= 3.2.7 =
* Database storage bugfix for free version. 
* Update to retrieving Object ID from Stripe. 

= 3.2.6 =
* Database storage bugfix. 

= 3.2.5 =
* Added Fixed Amount split payments.
* Added percentage-based and fixed amount split transfers to variable products in WooCommerce. 
* Added option to transfer shipping fees to connected accounts. 

= 3.2.4 =
* Fixed pagination issue with transfers tab.
* Fixed multiple-quantity order miscalculations. 

= 3.2.3 = 
* Implemented Stripe Connect mechanism.
* Using checkout total by default for splitting percentage instead of Subtotal.
* General bug fixes and stability improvements. 

= 3.2.2 = 
* Sanizations and escapes for WordPress.org compliance. 
* Fixed bug preventing the saving of WooCommerce products. 

= 3.2.1 = 
* Updated Freemius SDK to v2.4.5.
* General bug fixes and security improvements. 

= 3.2.0 =
* Added a premium feature allowing administrators to configure different split percentages at the product level.
* Removed Exclude Shipping and Exclude Tax settings (plugin now automatically excludes both).

= 3.1.0 =
* Fixed a bug with the Exclude Shipping and Exclude Tax settings.
* Tested with WooCommerce 5.2.2.
* Tested with WordPress 5.7.1.

= 3.0.1 =
* Tested with WooCommerce 5.2.1.
* Minor tweaks to installation instructions and screenshot.

= 3.0.0 =
* Complete code refactor to streamline plugin.
* Tested with WooCommerce v5.2.
* Moved plugin settings menu.
* Added plugin link to documentation.
* Updated to use WooCommerce currency setting.

= 2.5.4 =
* Tested with WordPress 5.7
* Tested with WooCommerce 5.1

= 2.5.3 = 
* Tested with WordPress 5.5
* Tested with WooCommerce 4.3.2

= 2.5.2 =
* Updating licensing platform to Freemius

= 2.5.1 =
* Fix for plugin update banner

= 2.5.0 =
* Rewrote Stripe routine to handle multiple sites
* Some code refactoring for efficiency

= 2.4.3 =
* Added check to verify Stripe source ID matches existing WC ID
* Fixed update banner image

= 2.4.2 =
* Updated Transfer section total record count to include test/live mode filter

= 2.4.1 =
* Fixed WordPress support tag

= 2.4.0 =
* Implemented new Transfers section, including Stripe reference IDs
* Filter the Transfers section based on Stripe test mode vs live mode
* Removed old dashboard

= 2.3.1 =
* Pre-release for 2.4
* Added plugin upgrade functionality to accommodate future database changes
* Created new transfer log database table
* Added instance of core WP table class
* Updated uninstall logic

= 2.3.0 =
* Added exception handling for Stripe Connected Account not found ("No such destination")
* Enhanced so we will only process a webhook if the statement descriptor configured in WooCommerce > Settings > Payments matches the statement descriptor returned in the webhook response

= 2.2.1 =
* Fixed bug in webhook check

= 2.2 =
* Added plugin update checks for licensed instances

= 2.1 =
* Added licensing

= 2.0 =
* Moved from a stand-alone WordPress dashboard item to a tab inside WooCommerce Settings
* Merged features into standard WordPress plugin structure
* Sets WooCommerce Stripe Gateway as a plugin dependency
* Removed separate settings for Stripe keys and test/live mode; now gets those settings from the WooCommerce Stripe Gateway plugin
* Eliminated custom styles
* Added an option to exclude sales tax from transfer calculations

= 2.0 =
* Initial version of the plugin.
