·
Syncly Affiliate Program
Earn 30% Refer Syncly to your audience and earn every time they subscribe or renew.
Share a tool you already trust. Get rewarded when they buy.
Become an affiliate
Changelog · Pro

What's new in Syncly Pro

Every release of the Syncly Pro add-on: automation depth for WooCommerce, LearnDash, BuddyBoss, Elementor, webhooks, and more.

All notable changes to Syncly Pro will be documented in this file.

1.4.3 - 2026-09-20

Fixed
  • Fixed the Login Sync inactivity sweep re-queueing redundant daily API calls: it now diffs the configured inactivity/active tags against the contact's cached GHL tags and only queues add_tags / remove_tags operations that actually change the tag state, instead of re-sending them every day (e.g. remove_tags of the inactivity tag for every active user).

1.4.2 - 2026-09-09

Added
  • Added a shared abstract custom-object sync engine (AbstractCustomObjectSync) that centralizes contact resolution, payload building, field extraction/transforms, and record create/update/delete with contact associations.
  • Added CPT custom-object sync handler (CptSyncHandler) that pushes supported post types to GHL custom objects and keeps records in sync on post save/delete.
  • Added subscription custom-object sync handler (SubscriptionSyncHandler) for WooCommerce subscriptions → GHL custom objects.
  • Added get_associations_for_object() support and an AJAX handler to create a GHL custom-object schema from the WP admin.
Changed
  • Refactored CustomObjectSync onto the shared abstract engine; custom-object field discovery was expanded and the admin custom-objects template was reworked.
  • Regenerated minified custom-objects assets.

1.4.1 - 2026-08-30

Changed
  • The REST API settings tab is now flagged as an Advanced-mode tab, so it is hidden from the Simple dashboard the free plugin's UI mode switch offers and appears only when Advanced mode is active.

1.4.0 - 2026-08-29

Added
  • Added GoHighLevel workflow enrollment on Gravity Forms submissions: pick a workflow per form, and submitters are enrolled in it after each successful contact create/update.
  • Added GoHighLevel workflow enrollment on LearnDash course status changes: per-course workflows for course enrollment, course completion, and revoked access, plus an optional "un-enroll from other course workflows" toggle when a student moves between statuses.
  • Added a shared workflow gateway and refactored the existing WooCommerce purchase workflow enrollment onto it.
Fixed
  • Fixed Gravity Forms workflow enrollment never triggering: the configured workflow is now read from the form's stored config (a class-method existence check always returned empty before).
  • Fixed a fatal error on the LearnDash course editor that also prevented workflow settings from saving (workflow meta is now stored as a scalar instead of being passed to the tag-array saver).
  • LearnDash revoked access now enrolls the contact in the configured workflow (triggering it) instead of removing them from it.
Changed
  • Release ZIPs now ship CHANGELOG.md.

---

1.3.0 - 2026-08-28

Added
  • Added a Public REST API for external systems: secure contact lookup by ID or email, contact search, contact tag add/remove, and custom-field get/update endpoints under /syncly/v1/contacts, gated by the per-endpoint whitelist in the Pro REST API settings.
  • Added a GHL Contact column to the WooCommerce orders admin screen (HPOS and legacy storage) showing sync status, with a one-click quick-sync button for unsynced orders.
  • Added automatic GoHighLevel calendar appointment booking on the order statuses you choose — configurable per product, including which statuses cancel the booking and how many days ahead to search for a free slot.
  • Added automatic GoHighLevel workflow enrollment on the order statuses you choose, with un-enrollment when an order is cancelled or refunded and an optional re-trigger on every successful subscription renewal.
  • Refunds and cancellations now cancel calendar appointments (freeing the slot) instead of deleting them, so bookings stay visible in calendar history.
Changed
  • Clearing caches from the dashboard or on a location/connection change now also purges the cached GoHighLevel calendars and workflows used in the product meta box.
  • Reworked the Syncly product meta box with a new booking/enrollment section: status-driven controls, booking-search delay, renewals toggle, section separators, and unified branded Select2 styling.
  • Inbound POST /syncly/v1/webhooks delivery is now owned entirely by the free plugin to avoid a duplicate-route race; Syncly Pro only exposes the GET verification probe.
  • Aligned Syncly Pro admin/UI with the free plugin's shared GHL design tokens (License settings, Family Manager, Custom Objects, BuddyBoss group fields, LearnDash meta boxes, Gravity Forms settings).

---

1.2.26 - 2026-08-21

Added
  • Added Gravity Forms Pro conditional syncing with field-aware rules for text, numeric, dropdown, radio, checkbox, and multiselect fields.
  • Added dynamic operators including contains, starts with, ends with, empty checks, inclusive numeric comparisons, and between/not-between ranges.
  • Choice fields now use their actual Gravity Forms answers in the conditional rule editor.
Changed
  • Moved advanced Gravity Forms controls fully into Syncly Pro so the free plugin ships only its basic integration settings.

---

1.2.25 - 2026-08-16

Changed
  • Improved WooCommerce subscription and membership suspend-tag guidance so the admin-facing help text better explains the pause/resume flow and automatic payment-failure trigger behavior.

---

1.2.24 - 2026-08-13

Changed
  • Added automated ZIP upload to the live Syncly deployment endpoint after Pro release builds complete.
  • Updated the Pro release workflow to validate the built artifact and publish it with deployment metadata.

---

1.2.23 - 2026-08-09

Added
  • Added a Tag Impact Simulator to the user profile screen for previewing which automations would run before adding or removing a GoHighLevel tag.
  • Added Login Sync, Conditional Menus, Abandoned Cart, and Family tag automations to the Tag Rules overview so Pro rules appear alongside free-tier rules.
Changed
  • Extended Rule Safety warnings to the Pro tag panels so hazardous bypass-tag configurations are flagged there as well.

---

1.2.22 - 2026-08-09

Changed
  • Follow-up release for the new WooCommerce Memberships and WooCommerce Subscription tag automation features.

---

1.2.21 - 2026-08-09

Added
  • Added WooCommerce Memberships plan automation that grants plans from GoHighLevel tags, with optional revocation when qualifying tags are removed.
  • Added WooCommerce Subscription automation that grants subscriptions from GoHighLevel tags, with optional cancellation when qualifying tags are removed.
  • Added membership-plan and subscription product admin tag controls for configuring the new reverse sync automations.
Changed
  • Added batch reprocessing for existing users after membership-plan or subscription tag configuration changes.

---

1.2.20 - 2026-08-09

Added
  • Added automatic WordPress role assignment based on GoHighLevel tags.
  • Added optional role revocation when qualifying tags are removed.
Changed
  • Added batch reprocessing for existing users after role-tag configuration changes.

---

1.2.19 - 2026-08-02

Fixed
  • Login Sync create-option label rendering — Fixed Select2 create-option text so translated placeholder strings resolve correctly and no longer display raw %1$s / %2$s tokens.
  • Login Sync asset refresh reliability — Versioned the Login Sync settings script with file modification time to prevent stale browser-cached JS from serving outdated behavior.
  • LearnDash custom-field type requests — Added explicit field_type in LearnDash custom-field create requests, with numeric progress fields using NUMERICAL and status fields using TEXT.

---

1.2.18 - 2026-08-02

Changed
  • Login Sync custom-field save flow — Removed immediate Pro-side AJAX custom-field creation and now relies on deferred create-option values resolved during settings save.
  • Typed field creation hints — Login Sync custom-field selectors now indicate field type at create time and pass typed intent (DATE for last login, NUMBER for login count) through the shared flow.
  • Custom-field label clarity — Login Sync field options now include custom-field data type labels when available.

---

1.2.17 - 2026-08-02

Changed
  • Login Sync script extraction — Moved Login Sync tab JavaScript out of the PHP template into a dedicated asset file and registered/enqueued it through the free plugin AssetsManager integration path.
  • Login Sync custom-field UX — Login custom-field selectors now use Select2 create-on-type behavior with existing-field detection and in-place GoHighLevel custom field creation when no match is found.
  • LearnDash custom-field parity — LearnDash course progress field mapping selectors now support the same Select2 create-on-type custom-field flow used in Login Sync and field mapping.
  • LearnDash UI clipping fix — Updated LearnDash meta box styling and Select2 constraints to prevent half-cut dropdown boxes and ensure proper overflow/height rendering.

---

1.2.15 - 2026-08-02

Changed
  • Shared custom-field creation flow — Pro now relies on the free plugin's field-mapping script for creating and selecting GoHighLevel custom fields from Pro settings buttons.
  • Removed duplicate Pro JS path — Stopped enqueuing the Pro-only custom-field creator script and removed the redundant implementation.

---

1.2.14 - 2026-08-01

Changed
  • License settings request allowlist — Expanded the internal admin-action allowlist to include syncly_spa_view and syncly_load_settings_tab alongside license actions, preventing these settings requests from being blocked by license-manager request filtering.
  • Repository hygiene — Updated .gitignore to ignore generated pro/assets/**/*.min.js and pro/assets/**/*.min.css files, matching the CI release workflow that regenerates minified assets.

---

1.2.13 - 2026-07-09

Added
  • AI Field Suggestions (Pro-owned) — Added Pro-rendered field-mapping action button, Pro AJAX handler, and Pro suggestion script/minified asset.
  • Global Tags (Pro-owned) — Added Pro hook callbacks to render Global Tags settings in free settings screens and resolve Global Tags values during sync flows.
Changed
  • Free plugin bridge integration — Extended free hook wiring so premium-only field suggestions and global-tag behavior are injected by Pro at runtime.

---

1.2.11 - 2026-05-10

Changed
  • Deploy test cleanup — Removed temporary deployment verification markers from frontend and wp-admin.

---

1.2.10 - 2026-05-10

Added
  • Deployment verification admin notice — Added a temporary WordPress admin notice on GHL plugin pages (PRO DEPLOY ADMIN TEST v1.2.10) for easier deploy confirmation in wp-admin.

---

1.2.9 - 2026-05-10

Added
  • Deployment verification marker — Added a temporary frontend footer badge (PRO DEPLOY TEST v1.2.9) to confirm production auto-deploy pipeline execution.

---

1.2.8 - 2026-05-10

Fixed
  • Production artifact dependencies — Release workflow now reinstalls Composer dependencies with --no-dev after minification and verifies key dev packages are not present before packaging, so release zips ship production-only vendor contents.

---

1.2.7 - 2026-05-10

Changed
  • Release docs exclusion hardening — Expanded release zip exclusion rules to remove entire docs and documentation folders recursively (including nested paths), ensuring developer documentation is not shipped in production artifacts.

---

1.2.6 - 2026-05-10

Changed
  • Release artifact cleanup — Updated release zip exclusions to omit developer documentation and markup files (docs/*, documentation/*, and common doc extensions), keeping published plugin packages focused on runtime functionality.

---

1.2.5 - 2026-05-10

Fixed
  • Release workflow parsing — Removed accidental merge conflict markers from .github/workflows/release.yml that prevented the tag-based release pipeline from running correctly.
  • Release build steps — Kept the corrected build flow: install build dependencies, minify assets, package zip, then publish release artifacts.

---

1.2.3 - 2026-05-10

Fixed
  • Release CI minify failure — Updated GitHub release workflow to install build dependencies required by build-minify.php (including matthiasmullie/minify) before running asset minification.
  • Release packaging — Added explicit zip packaging step in release workflow so the GitHub release job always uploads a generated artifact.

---

1.2.2 - 2026-05-10

Added
  • Personalization Pro unlock flags — Added Pro hook flags for email campaign personalization advanced capabilities in Free UI/runtime:
  • ghl_crm_cid_autologin_enabled
  • ghl_crm_cid_guest_live_fetch_enabled
Changed
  • Free/Pro feature parity — Personalization settings now follow the same lock/unlock contract as existing Pro-gated settings tabs.

---

1.2.1 - 2026-04-10

Added
  • LoginSync — register payload enrichment — New enrich_login_register_payload() filter handler merges login custom fields (last_login, login_count) and conditional tags into the user_register payload, enabling a single API call to create a contact with all data.
  • LoginSync — conditional tag assignmentcollect_login_tags() helper applies first-login, every-login, and milestone tags based on settings configuration.
  • Tag-based login redirectfilter_login_redirect() matches redirect rules against both tag IDs and tag names for reliable redirect matching; runs at PHP_INT_MAX priority to prevent override by other plugins.
Fixed
  • WooCommerce product tags — guest checkout — Three compounding bugs prevented tags from being applied when a customer checks out as guest or creates an account during checkout:
  • *Guest flag missing:* user_id=0 at order time meant no pending-tags flag was ever stored on a user. Flush now falls back to wc_get_orders(['billing_email' => ...]) to locate the order by email.
  • *HPOS incompatibility:* get_post_meta/update_post_meta silently wrote to wp_postmeta, which HPOS orders do not read. All order meta now uses the WC order object API (get_meta, update_meta_data, save_meta_data, delete_meta_data).
  • *Queue bypass:* Flush was calling add_tags() directly, bypassing the queue processor, sync log, and retry logic. Flush now routes through add_to_queue().
Improved
  • LearnDash enrollment hooks — Course enrollment and revocation now use learndash_update_course_access for more reliable detection.
  • LearnDash lesson access — Lesson access check moved to template_redirect for better hook timing compatibility.
  • LoginSync architecture — Refactored from direct QueueProcessor coupling to filter-based approach via ghl_crm_login_register_payload hook for clean free/pro separation.

---

1.2.0 - 2026-03-26

Added — Pro Feature Hooks
  • AI Field Suggestions — Hooks into ghl_crm_field_suggestions_result filter to provide Levenshtein/semantic matching from Pro's FieldMatcher.
  • Sync Preview / Dry Run — Hooks into ghl_crm_preview_user_sync_result filter to provide field-by-field sync preview from Pro's SyncPreview.
  • Public REST API Endpoints — Hooks into ghl_crm_register_public_rest_routes action to register contacts, sync, status, and webhooks endpoints with authentication, IP whitelist, and rate limiting.
  • Elementor Widget Conditions — Hooks into ghl_crm_init_elementor_conditions to register tag-based visibility conditions on all Elementor widgets.
  • Archive & REST API Protection — Hooks into ghl_crm_register_advanced_restriction_hooks to enable hiding restricted content from archives and REST API.
  • Restriction Overrides — Enables ghl_crm_restriction_overrides_enabled filter for admin bypass and allowed-tag override settings.
  • Global Tags — Enables ghl_crm_global_tags_enabled filter for location-scoped global tag application.
  • Analytics Dashboard — Hooks into ghl_crm_render_analytics_tab action to render Chart.js visualizations, activity trends, and CSV export.
  • Family Relationships — Enables ghl_crm_family_relationships_enabled filter and provides the full family accounts management feature.
Improved
  • License System — Refactored to LicenseClient / LicenseGuard architecture, removing legacy license classes.

1.1.3 - 2026-03-22

Improved
  • Compatibility — Version bump for free plugin 1.1.3 compatibility (OAuth stability fixes, compound tag conditions, dashboard UX improvements).

1.1.2 - 2026-03-21

Added
  • LearnDash Groups Header Tab — Group settings now appear as a standalone tab in the LearnDash Group editor header (like courses) with a wider layout for tag configuration and settings.
Fixed
  • Group Leader Tags Not Syncing — Adding a user as a Group Leader via admin now correctly triggers tag sync. Previously, only member join/leave hooks were registered; leader-specific hooks (ld_added_leader_group_access / ld_removed_leader_group_access) are now handled.
  • Bulk User Sync Collision (4 modules) — When multiple users enrolled in the same course, joined the same group, or completed the same content simultaneously, only the last user's sync job was kept. Fixed in CourseSync, ContentSync, GroupSync, and CourseProgressSync by using user_id instead of entity ID as the queue dedup key.

1.1.1 - 2026-03-19

Fixed
  • WooCommerce Product-Tags Queue Routingwc_product_tags items now use a proper register_handler() call instead of the legacy ghl_crm_execute_sync filter.
  • Empty Tag Sync Failure — Stripped empty-string tag values ("") in process_customer_conversion() and process_product_tags() before calling the GHL API.
  • Tag Overwrite on WC Sync — WooCommerce customer/product-tag flows now merge tags with existing stored tags instead of overwriting.
Improved
  • Error Catching Robustness — Changed catch (\Exception) to catch (\Throwable) in WooCommerceSync queue handlers.
  • Dead Code Removal — Removed legacy handle_queue_execution() filter method and dead meta-save code from WooCommerceSync.
Added
  • Asset Auto-Minification Pipeline — Added matthiasmullie/minify dev dependency and build-minify.php script (composer build) that generates .min.css / .min.js for all pro assets.

1.0.2 - 2026-03-18

Improved
  • Version Constant Consistency — All asset enqueue calls now use SYNCLY_PRO_VERSION.

1.0.1 - 2026-03-17

Added
  • LearnDash Course Progress Sync — Course progress fields synced to GHL.
  • WooCommerce Order & Product Tag Sync — Customer conversion and product-based tagging.

1.0.0 - 2026-01-01

  • Initial release.
Get every update automatically
One-click updates from your WordPress dashboard on every active license.