= 2.5.5 =
* Aligned the package directory, main plugin file and text domain with the final WordPress.org slug `carvflow-sync-activecampaign`.
* Removed `Tested up to` from the PHP plugin header; compatibility is declared only in `readme.txt`.

= 2.5.4 =
* Aligned package and text domain with the assigned WordPress.org slug carvflow-sync-activecampaign.
* Removed the invalid Plugin URI header until the public product page is available.
* Removed the hard Forminator dependency header so WooCommerce-only installations remain supported.
* Reformatted distributed JavaScript as readable source and documented the no-build workflow.

= 2.5.3 =
* Restored the WordPress.org assigned slug and text domain: forminator-activecampaign-sync.
* Updated the plugin folder and main file to match the assigned WordPress.org slug.
* Updated Tested up to to WordPress 7.1.
* No synchronization logic, settings keys, tables, queues, mappings, or cron identifiers were changed.

= 2.5.2 =
* Renamed the public plugin slug, main file and text domain to forminator-activecampaign-sync.
* Updated public branding to CarvFlow while preserving all internal FACB identifiers for upgrade compatibility.

= 2.5.1 =
- Replaced fixed country/speciality profile-difference logic with connection-driven mapped-field monitoring.
- Added dynamic public scalar WordPress user-meta discovery to WooCommerce field previews.
- Added generic WordPress core user fields to WooCommerce mappings.
- Calculated a separate synchronization hash per user and per WooCommerce connection.
- Included mapped profile/user fields in normal order/subscription payload resolution.
- Preserved compatibility with mappings saved by versions 2.4.x and 2.5.0.
- No connection recreation or manual database migration is required.

= 2.5.0 =
- Added subscription status synchronization for all matching selected-product subscriptions, including cancelled and expired statuses.
- Added automatic creation/reuse of the ActiveCampaign "Subscription status" custom field for existing subscription connections.
- Added optional WooCommerce purchase-status filtering.
- Reworked the daily profile-difference cron to scan eligible WooCommerce objects instead of every WordPress user.
- Added queue deduplication and stronger profile-check locking.
- Added Retry-After-aware handling for ActiveCampaign HTTP 429 and progressive retries for temporary 5xx failures.
- Added profile country and speciality to regular WooCommerce payload mapping.
- Expanded WooCommerce reports with reason, reference, eligibility, status, product IDs, HTTP response, and attempt.
- Preserved all existing connection IDs, settings, mappings, queues, contacts, and reports.

= 2.4.2 =
- Added desktop mouse drag-to-scroll to wide synchronization report tables.
- Preserved native touch scrolling and normal interaction with links, buttons, and form controls.

= 2.4.1 =
* Sync reports now display one sent value per column in a horizontally scrollable table.

= 2.4.0 =
* Added WordPress admin menu subpages for Forminator Sync, WooCommerce Sync, API & Security, and Instructions.
* Added separate Forminator and WooCommerce queue/report views.
* Added immediate WooCommerce profile difference detection for email, first name, last name, country, and speciality.
* Added a daily 03:00 Europe/Lisbon profile scan in batches of 200, with one-minute continuation intervals.
* Only changed users who still match an active WooCommerce connection are queued.
* Added detailed cron documentation and separate three-run report retention per integration family.

= 2.3.3 =
* Corrected WooCommerce audience rules.
* Active subscriptions now include subscriptions matching selected product IDs OR subscriptions currently active.
* Product purchases now include matching product orders across every WooCommerce order status.
* Updated preview, manual batches, and automatic capture to use the same eligibility logic.

2.3.2
- Fixed active subscription querying and pagination.
- Only wc-active subscriptions are scanned.
- Product mismatches are no longer counted as skipped or processed.
- Added scanned/eligible reporting and stale-run recovery.

2.3.1
- WooCommerce product multi-selector with up to 500 published products.
- Load WooCommerce fields and preview two matching orders or subscriptions.
- Map standard WooCommerce fields and discovered public custom metadata to ActiveCampaign custom fields.
- Existing WooCommerce connections remain compatible.

2.3.0
- Added a separate WooCommerce tab built on the stable 2.2.1 recovery base.
- Sync active WooCommerce Subscriptions, optionally filtered by product IDs.
- Sync buyers of one or more WooCommerce product IDs.
- Added background manual WooCommerce backfill in batches of 10.
- Added automatic enqueue on completed/processing orders and active subscriptions.
- WooCommerce audit rows appear in the existing Sync report.
- WooCommerce admin JavaScript is isolated so it cannot break the main tab navigation.

2.2.1
- Recovery release restoring the stable 2.1.0 admin and synchronization flow.
- Clears pending WooCommerce sync state/events from 2.2.0.
- Does not delete existing plugin data.

2.0.2
- Security and WordPress.org compliance hardening.
- Added explicit nonce verification, unslashing, sanitization, and output escaping.
- Centralized prepared database operations and removed unsafe SQL interpolation.
- Hardened queue, historical import, preview, retry, and uninstall database operations.
- Existing options, tables, connections, queues, contacts, logs, and cron hooks remain compatible.
- No database migration is required.

2.0.0
- Added the Instructions tab.
- Converted the complete user interface to English.
- Added WordPress.org release metadata and GPL licensing files.
- Added destructive-action confirmation for the uninstall data-cleanup option.
- Added an extension-ready free feature registry.
- Updated the WordPress admin menu label to "Forminator AC Sync".

= 2.1.0 =
* Improved Forminator compound address parsing, including country values stored as nested arrays, JSON, alternate keys, or formatted-address fallbacks.
* Added an encrypted, compressed synchronization report with the latest 3 runs and server-side pagination.
* Added per-contact audit rows for queue processing, historical imports, and maintenance runs.
* Added automatic report retention to prevent unbounded database growth.
