Skip to content

What’s new

Changelog

New features and fixes in Elara One, newest first. Only what is live today; what is coming next is on the roadmap.

Showing all 14 updates

  1. EmailSecurity

    One-click unsubscribe, and tracking off by default

    Every automated and marketing email from your store now carries a one-click unsubscribe and a visible unsubscribe link. Open and click tracking stays off until you switch it on.

    • Mail apps show their own Unsubscribe button, using the List-Unsubscribe-Post header. One click and the contact is unsubscribed.
    • A link in the message itself opens a page in your store’s branding that confirms it.
    • Order and account emails are transactional, so they carry neither.
    • Open and click tracking is off for every store. Turning it on asks you to confirm a lawful basis, and we record that you did. Order and account emails are never tracked.
  2. BreakingAPISecurity

    Lock your storefront API to your own websites

    Your store’s public key now works only from websites you register, and calls from your servers must carry the store’s secret. A copied key is no use to anyone else.

    Browser calls carry an Origin, and are accepted only from the https:// websites you register. Cross-origin access is set per store and is never a wildcard. Calls without an Origin come from servers, and need the secret.

    • Settings → Storefront API lists your websites, the calls that were refused and the date the lock starts.
    • Rotate the public key with a seven-day overlap, so live sites keep working while you deploy the new one.
    • Refusals say why: ORIGIN_NOT_ALLOWED, BROWSER_CALLS_DISABLED, TENANT_SECRET_REQUIRED or TENANT_SECRET_INVALID.
    • All three starter storefronts refuse to start in production without the secret, and fail the build if it could reach a browser.
    A server call under the lock
    curl https://api.elaraone.app/api/v1/products \
      -H "X-Tenant-Key: pk_live_…" \
      -H "X-Tenant-Secret: $ELARAONE_TENANT_SECRET"
    
  3. AdminAPI

    Staging stores

    On plans that include it, your store can have a linked staging copy for trying out changes, with test payments and its own database.

    • The staging copy gets your catalogue, content and media. Customers, orders and leads are never copied.
    • Only test payment keys work there, and its email reaches your staff only, kept in a “Sent from staging” outbox.
    • Sign in once: the live admin hands you over, and a Live | Staging switcher and a STAGING bar show where you are.
    • Webhooks from staging carry X-ElaraOne-Environment: staging. A staging store is never billed, and has a daily ceiling of 20,000 API requests.
  4. FormsCRM

    Email notifications for every form

    Each form can now send up to ten email notifications when someone fills it in, each with its own recipients, wording and fields.

    Send one to your team, a thank-you to the person who filled it in, and a heads-up to the lead’s owner. Recipients can be the store admin, the submitter, the lead’s owner, chosen staff or any other address.

    • Set a reply-to, subject and message for each, with merge fields such as {{ form.name }} and {{ submission.link }}.
    • Choose which answers to include, and send a test to yourself first.
    • Submissions caught by the spam checks send nothing.

    Also in this release

    • When a returning contact sends a new enquiry, their owner hears about it.
    • Lead routing never assigns a lead to someone who has left your team.
    • Flows saved through the merchant API are now checked exactly as the flow builder checks them.
  5. SecurityAdmin

    Passkeys and remembered devices for staff

    Staff can sign in to the admin with a passkey, and skip the second step on a device they trust for up to 30 days.

    • Two-step sign-in is required for every staff account. A passkey counts as the second step, or as the whole sign-in.
    • “Remember this device” lasts as long as your store allows, up to 30 days. Your profile lists remembered devices with when and roughly where.
    • A sign-in from a new device sends an email with the device, place, IP address and time, and a “This wasn’t me” button.
  6. AutomationFormsCRM

    Lead triage and the visual flow builder

    Build forms, route the leads they bring in, and follow up automatically with flows you draw, test and publish in the admin.

    A flow starts from one of 17 triggers, such as a form submitted, an order dispatched, a stage changed or no reply after your message. It then waits, checks and acts: send an email or SMS, create a task, set a stage or owner, add a tag or note, or call a webhook.

    • Drafts, publish and version history, with “Restore as draft”.
    • Test with a contact runs a flow without sending anything, and every run is described in plain words.
    • Loop protection: a flow never triggers itself, and chains stop at depth three.
    • Leads land on a triage board with response-time targets. Routing rules assign them to a person, a team, a queue or round robin.
    • Form starters for enquiries, quote requests and newsletter sign-ups with double opt-in, all protected by Cloudflare Turnstile and a honeypot.
  7. Admin

    A faster admin, built for the keyboard

    A new admin shell with a command menu, keyboard navigation on every list, and one save bar.

    • Press ⌘K (Ctrl K on Windows) to jump anywhere in the admin.
    • J and K move through every list that opens a record; Enter opens it.
    • One save bar with ⌘S, which notices every unsaved change, including reordered items.
    • Money and dates read the same way everywhere, in your store’s time zone.
  8. CRM

    The CRM, on every plan

    Contacts and companies with one timeline across orders, forms, chats and emails, plus tasks, smart lists, duplicates and import.

    • Contact and company pages with notes, tags, field history and labelled links between records.
    • Custom fields in 12 types, including money, choice and date. Sensitive fields are visible only to the staff you allow.
    • Lifecycle stages from Subscriber to Repeat customer. A paid guest order finds or creates its contact.
    • Tasks with queues, priorities and repeats, and a My Day view.
    • Smart lists that update live from CRM, order and consent conditions, and can start flows when someone joins or leaves.
    • Duplicate detection by email, phone, name and company, with side-by-side review and merge.
    • Guided CSV import with a dry run, and import from HubSpot. Record access set to own, team or all.
  9. APICRM

    CRM webhooks and the merchant API

    Keep your own systems in step with signed change events, and read or write CRM records with scoped API keys.

    Add up to 20 HTTPS endpoints in Settings → CRM → Webhooks. Events include contact.created, contact.updated, stage.changed, task.completed and lead.created. Each carries ids and changed field names only, never personal data.

    • Every delivery is signed with HMAC-SHA256 in X-ElaraOne-Signature, using a secret shown once per endpoint.
    • Failed deliveries retry with backoff, up to eight attempts. A 410 Gone stops them at once.
    • A delivery log for each endpoint, with Send again.
    • Merchant API keys carry only the abilities you give them, such as crm:read or manage_orders. Use filter[updated_since] to sync incrementally.
    Verify a delivery
    $valid = hash_equals(hash_hmac('sha256', $t.'.'.$rawBody, $secret), $v1)
        && abs(time() - $t) <= 300;
    
  10. Inbox

    Web chat and SMS in one inbox

    Live chat arrives as the first module: a chat widget for your storefront and SMS, answered from one inbox.

    • The chat widget takes its settings from your admin, so changes show without a deploy.
    • SMS runs through your own Twilio account, with signed webhooks.
    • Each conversation opens or creates the contact, so the whole thread sits on their timeline.
    • Reply with saved templates, and let a “no reply” flow follow up when a customer goes quiet.
    • Switch the module on or off in Settings → Modules.
  11. CommerceAPI

    A new promotions engine

    Six kinds of promotion with rich conditions, coupon codes in bulk, and a tester that tells you exactly why a rule did or did not apply.

    Choose from product and basket discounts, tiered bulk pricing, bundles, buy X get Y and free delivery. Conditions cover spend, quantities, customer groups, first orders, lifetime spend, delivery country or postcode, and days and times.

    • Import coupon codes by CSV. A code that stops applying stays on the basket with its reason, such as “Spend £28.00 more”.
    • Free gifts, choose-a-free-item rewards and “spend more” nudges in the cart API.
    • Badges, banners and bulk price tables for your storefront with include=offers.
    • Checkout re-checks every promotion before taking payment, and returns 409 PROMOTIONS_CHANGED if something moved.
  12. CommerceEmail

    Order emails, sent for you

    Branded order confirmations, refund and cancellation emails, and a new-order alert for your team, sent automatically.

    • Four emails: order confirmation, refund issued, order cancelled, and a new-order alert to the staff addresses you choose.
    • Each goes once per order, can be switched off on its own, and carries your store’s name, logo and footer.
    • They are sent as your store, never as Elara One.
  13. CommerceAPI

    Exactly-once checkout

    A retried checkout never places an order twice or takes a payment twice, whether the shopper pays by card or PayPal.

    Send an Idempotency-Key with POST /checkout/complete. A success is stored for 24 hours and replayed with Idempotent-Replayed: true. The same key with a different body is refused with 422 IDEMPOTENCY_KEY_REUSED.

    • Each Stripe PaymentIntent is tied to one cart in one store, and can be used once.
    • PayPal captures are recorded before the order is placed, so a shopper is never charged without an order.
    • A declined card returns 402 PAYMENT_FAILED with a decline code your storefront can explain.