Releases: EtherLabZ/intercom-sync-plugin-wordpress
Release list
v2.1.4
Etherlabz Intercom Sync 2.1.4
Metadata-only release for the wordpress.org submission: the display name is now Etherlabz Intercom Sync (previously "…for WooCommerce"), because the directory derives the plugin slug — and the text domain it expects — from the name. The shorter name derives exactly our slug/text domain, etherlabz-intercom-sync, and contains no third-party trademarks. Functionality is unchanged; it is still the WooCommerce integration, and WooCommerce remains a declared required plugin.
Submit this zip to wordpress.org.
What's Changed
Full Changelog: v2.1.3...v2.1.4
v2.1.3
Etherlabz Intercom Sync 2.1.3
Fixes the two plugin-side causes of a blank Messenger:
- Identity verification now hashes the user ID. Intercom validates
user_hashagainstuser_idwheneveruser_idis sent; we were hashing the email, so workspaces enforcing identity verification rejected the Messenger for every logged-in user. - New Workspace Region setting (US / Europe / Australia). Both the Messenger and server-side sync now use your region's endpoints — EU/AU workspaces previously got the US hosts, which fails.
If your Messenger is still blank after updating: check Intercom's trusted-domains restriction (Settings → Messenger → Security) includes your site's domain, and try without ad blockers. The new FAQ covers the details.
What's Changed
Full Changelog: v2.1.2...v2.1.3
v2.1.2
Etherlabz Intercom Sync 2.1.2
One fix: Register Attributes no longer reports attributes that already exist in your workspace as failures.
Intercom has three ways of saying an attribute already exists — the attribute_already_exists error code, HTTP 409, and (for attributes stored as "people data") HTTP 400 with a "You already have '…'" message. Only the first two were recognised, so workspaces that already had the attributes saw "8 failed" and a sync log full of errors on every click.
The button now checks the workspace's existing attributes first and skips them — re-running it is a clean "0 created, 8 already existed" — and the people-data response is correctly classified if the listing call ever fails.
What's Changed
Full Changelog: v2.1.1...v2.1.2
v2.1.1
Etherlabz Intercom Sync 2.1.1
Small but important follow-up to 2.1.0, focused on the credential fields:
- Save and Remove apply instantly. The token/secret chips' actions no longer wait for the settings form to be saved — Remove confirms and clears immediately, Save (new ✓ button in the edit state, or just press Enter) stores the replacement immediately, and the page refreshes to show the result.
- Fixed: Remove silently did nothing. The previous implementation cleared the option with
update_option( ..., '' ), which runs the registered sanitizer — whose blank-input rule is "keep the stored value." It reported success while re-saving the secret. Removal now usesdelete_optionand is verified against the database.
If you're upgrading from 2.0.x, read the 2.1.0 notes below it — the prefix rename and Fin endpoint changes there still apply.
What's Changed
Full Changelog: v2.1.0...v2.1.1
v2.1.0
Etherlabz Intercom Sync 2.1.0
Security-focused release, plus a full compliance pass for the WordPress.org directory and a redesigned settings screen.
Security
- Token encryption reworked to AES-256-GCM with a random IV per value. Old-format values still decrypt and migrate automatically on the next save; if a stored value ever becomes undecryptable (security keys changed), the plugin now says so loudly instead of failing silently.
- Stored secrets are never echoed into the settings page. Each credential shows as a locked chip with explicit Change and Remove controls.
- The Fin cancel/refund/note endpoints now require the caller's email to match the order's billing email. If your Fin action config doesn't forward the customer email, add the header mapping — these endpoints return 400/404 without it.
- Messenger inline settings JSON hardened against script-tag breakout.
Breaking
- All options, hooks, cron events, AJAX actions and the REST namespace moved from the
iws_prefix toetherlabz_intercom_(iws/v1→etherlabz-intercom/v1). Settings migrate automatically on upgrade; custom code hookingiws_*filters and Fin configs pointing atiws/v1URLs must be updated. - Minimum PHP is now 8.0 (the code already used PHP 8.0 syntax; the header now says so).
Also
- Settings screen redesigned to match the Etherlabz design language.
- Admin assets cache-bust on file changes, uninstall removes every option and cron (both prefixes), sync log no longer autoloads, cart-abandonment cron unschedules itself when disabled.
- Tested up to WordPress 7.0. Passes the official Plugin Check with zero errors.
What's Changed
- Exclude loose root screenshots from build zip by @Evy04 in #2
- Security hardening + wp.org compliance pass, refreshed admin UI by @Evy04 in #3
- Refresh admin screenshots to the redesigned UI by @Evy04 in #4
- Rename the global prefix to etherlabz_intercom_ (v2.1.0) by @Evy04 in #5
- Submission polish: readme accuracy + header/package cleanup by @Evy04 in #6
- Warn clearly when stored secrets can no longer be decrypted by @Evy04 in #7
- Explicit Change flow for secret fields, slimmer settings copy by @Evy04 in #8
- Secret fields: Remove action, icon buttons, level control row by @Evy04 in #9
- Fix stale asset caching; polish secret-field controls by @Evy04 in #10
Full Changelog: v2.0.0...v2.1.0
v2.0.0
What's Changed
New Contributors
Full Changelog: v1.5.1...v2.0.0
What's Changed
New Contributors
Full Changelog: v1.5.1...v2.0.0