---
agentTools:
  projectIndex: https://docs.pelcro.com/llms.txt
---

# Release 2.8 (Tech Release 1.122)

## 🟢 **Platform: Expanded Default Email Templates**

The platform now ships with a **comprehensive library of transactional emails** triggered directly from Pelcro events — eliminating the need for external ESP setups.

#### ✅ **What's New:**

* New **Email Center** page listing all system emails
* Per-email **enable/disable toggle** and read-only **preview**
* Event-driven trigger layer firing emails directly from Pelcro events
* Automatic branding — platform color configuration and client logo applied dynamically
* Default templates cover:
  * **Billing & Payments:** Invoice Created, Invoice Paid, Invoice Payment Failed, Refund Issued
  * **Subscriptions:** Created, Renewed, Updated, Canceled
  * **Dunning & Recovery:** Payment Failed (retry), Card Expiring Soon, Upcoming Renewal, Trial Ending
  * **Customer & Account:** Account Created, Password Reset
  * **Optional:** Order/One-time Purchase Confirmation

#### 🎯 **Impact:**

You will get consistent, branded transactional email coverage out of the box, with centralized control and no fragmented external workflows.

<Image align="center" src="https://files.readme.io/4f01a3bbdfbe194dceca9a0674e194bc6f24330479761790c80b21cd68ad2f64-Screenshot_2026-05-26_at_5.41.25_PM.png" />

<Image align="center" width="400px" src="https://files.readme.io/8e90938c35803ed4570d1f621a64c99b3c30276be885d9b7d019b0ead0ad15cc-Screenshot_2026-05-26_at_9.03.52_PM.png" />

***

## 🟢 **Platform: Customer Data Insights**

We've introduced a new **Customers Activity** page powered by an analytics database, giving teams direct access to detailed user activity logs.

#### ✅ **What's New:**

* New **Analytics > Customers Activity** page with a list view of the Analytics DB
* Filters available by **Customer ID**, **Event Type**, **IP Address**, and more
* **CSV export** of complete logs
* Tracked events include: Page Viewed, Registered, Logged In, Converted, Subscribed, Unsubscribed, Paid Invoice, Newsletter Email Submitted, Customer Address Created, and more

#### 🎯 **Impact:**

Analytics and business teams can now build reports and analyze reader behavior directly from the platform — no manual copy-pasting from individual customer dashboards.

<Image align="center" width="400px" src="https://files.readme.io/425b289b6fd22f80ac83d262c1c686176765b8099d90541fa4ca735331de98f2-Screenshot_2026-05-26_at_9.07.33_PM.png" />

<Image align="center" src="https://files.readme.io/59dc08ae67ae330da3bfe76d89fe2e46f1a30d0bccfa8ed0440a71b9c55943cb-Screenshot_2026-05-26_at_9.05.44_PM.png" />

<Image align="center" src="https://files.readme.io/5e31bbbf388459c991fc711a3770161be1cc2aba9526cb8d573257eec5c7dac5-Screenshot_2026-05-26_at_9.06.26_PM.png" />

***

## 🟢 **Platform: Newsletter Configuration Center**

We've introduced a centralized **Newsletter Configuration** area in the platform so admins can create, edit, and manage newsletters easily.

#### ✅ **What's New:**

* **Newsletter** section now contains two sub-pages: **Newsletters** and **Subscribers**
* Full CRUD on newsletter records with the following fields: `title`, `subtitle`, `description`, `photo`, `status`, `addToRegistration`, `onlySubscribers`
* Active/Inactive toggle — inactive newsletters are hidden from your website
* Newsletters are returned in the **site config endpoint** alongside products and plans

#### 🎯 **Impact:**

Platform admins now manage newsletters from the platform, with consistent exposure across the API, Default UI, and registration flows.

<Image align="center" width="950px" src="https://files.readme.io/2bebcdfd613d34a0bdbe934fffcd407e3d8e5338f731a7e2d34e6cf1b65013df-Screenshot_2026-05-26_at_5.26.07_PM.png" />

***

## 🟢 **Platform: Newsletters in the Default UI**

The Default UI now renders newsletters configured at the platform level — no custom SDK wiring required.

#### ✅ **What's New:**

* Configured newsletters surface automatically in the **newsletters section** of the Default UI dashboard
* Modals adapt to authenticated and non-authenticated users
* Registration form displays a **"Subscribe to our newsletters"** title when newsletters are configured

#### 🎯 **Impact:**

Your customers see newsletters in real time, with a unified experience across modal triggers and the dashboard.

<Image align="center" width="400px" src="https://files.readme.io/834b239d4315bde7cc049d1b28bab5167bb8b72a7bb2804cbd917df5a6e12806-Screenshot_2026-05-26_at_5.30.13_PM.png" />

<Image align="center" width="400px" src="https://files.readme.io/4036d7625c9ac807679089a91978e266829b248b14bccb8702ea3b1063d60ba8-Screenshot_2026-05-26_at_5.28.13_PM.png" />

***

## 🟢 **Platform: Improved Default UI Quality**

We've tightened the entire dashboard experience to feel **more consistent, more responsive, and more polished** across every account management flow.

#### ✅ **What's Improved:**

* **Unified success messages** — same color palette, typography, animation, positioning, close behavior, and timing across all modules
* **Unified modal behavior** and consistent loading/completion interaction patterns
* Reduced excessive whitespace and oversized form fields
* Success messages now appear only **after** loading completes (no more conflicting states)
* Gift redemption flow now includes a **login hyperlink** for existing customers

#### 🎯 **Impact:**

Subscribers experience a faster, more predictable, and visually cleaner dashboard — reducing confusion and friction in everyday account interactions.

<Image align="center" width="400px" src="https://files.readme.io/fc967e1a190770b1ecbf525474ed0ba44dbf85633bf4284aff75092b3debef9e-Screenshot_2026-05-26_at_5.35.10_PM.png" />

<Image align="center" width="650px" src="https://files.readme.io/d92e5ec9d06d9d3a2168732a36c3f46b444d644774bd79bf9bfbe41de49cd8ec-Screenshot_2026-05-26_at_5.38.25_PM.png" />

<br />

***

## 🟢 **Platform: Change Subscription Collection Method**

Admins can now switch a subscription's **collection method** directly from the platform — no Core API calls or engineering support required.

#### ✅ **What's New:**

* New editable control in the **Update Subscription** screen
* Supported transitions: `charge_automatically` ⇄ `send_invoice`
* Radio selector with the existing value pre-populated
* Validation enforced consistently with the Core API — switching to `charge_automatically` requires a **valid default payment method** and a chargeable customer state

#### 🎯 **Impact:**

Billing and support teams can transition customers between automatic charging and invoice-based billing in a single click, eliminating an operational gap.

<Image align="center" width="550px" src="https://files.readme.io/7d177d1afe90083c4b472a32419b21117e35a772059197774a1087bee114b18b-Screenshot_2026-05-26_at_7.10.20_PM.png" />

***

## 🟢 **Platform: Per-Collaborator AI Agent Permissions**

Account owners can now control **whether the AI Agent is enabled** for their account and **which collaborators can use it**.

#### ✅ **What's New:**

* Account-level **consent prompt** on first AI Agent access — the agent is disabled for the entire account until accepted
* Per-collaborator toggle under **Settings > Collaborators**, controlled by the account owner only
* Defaults: **enabled** for the account owner, **disabled** for all other collaborators
* Collaborators without permission still see the AI Agent panel but receive: *"Please ask your account owner to enable this feature for you."*
* Permission changes take effect on the next interaction — no re-login required, and active sessions are gated immediately if access is revoked

#### 🎯 **Impact:**

Account owners gain granular control over AI Agent data access at both the account and individual collaborator level, supporting stricter governance and consumption policies.

<Image align="center" src="https://files.readme.io/a1c83c8a056f6519c3798fb4671c92a2267b3db9be1318df674b42fdc6c9d939-Screenshot_2026-05-26_at_8.58.25_PM.png" />

<Image align="center" width="350px" src="https://files.readme.io/f8ec8cf46521c5370c9f67418200cc23c27f549dfb890fe1ee624ed37f1037e9-Screenshot_2026-05-26_at_8.59.22_PM.png" />

***

## 🟢 **Platform: Consistent Modal IDs Across React Elements**

We've introduced a **stable, predictable DOM hook** on every Default UI modal — making customization, instrumentation, and automated end-to-end testing significantly more reliable.

#### ✅ **What's New:**

* Every Pelcro React Elements modal root now exposes a stable id of the form `pelcro-modal-{viewId}` (kebab-case, derived from the existing Zustand view key)
* **Backward compatible** — existing modal-root ids are preserved; renames use deprecation aliases

#### 🎯 **Impact:**

Developers can now reliably target modal roots for styling, analytics, and automated tests without depending on fragile selectors.

***

## 🟢 **Platform: View Subscriptions URL Trigger**

We've added deep-link support so renewal emails and external links can take customers **straight to their subscriptions**.

#### ✅ **What's New:**

* New `#view=subscriptions` URL trigger
* Authenticated users land directly on the Subscriptions view
* Unauthenticated users are redirected to login, then taken to Subscriptions automatically

#### 🎯 **Impact:**

Renewal email flows convert better by removing the manual navigation step between login and the subscription page.

***

## 🟢 **Platform: Configurable Authentication Token TTL**

You can now configure the **authentication token TTL** from the platform — no code changes or SDK redeployments required.

#### ✅ **What's New:**

* New cookie lifetime key in site settings
* The JS-SDK reads this value when setting or refreshing cookies
* If the key is missing, invalid, or empty, the SDK **falls back to the existing default** cookie lifetime

#### 🎯 **Impact:**

Session lifetimes can be tuned per environment to match security and user-experience policies, without engineering involvement.

<Image align="center" src="https://files.readme.io/dd8808d9e72b72717b3591200ea2be1f34e226d1430afb6482938a772d806a1a-Screenshot_2026-05-26_at_9.02.29_PM.png" />

***

## 🟢 **Platform: Tax Breakdown on Invoice Exports**

Invoice exports now expose **individual tax types** instead of a single aggregated total — improving clarity for financial reporting and compliance.

#### ✅ **What's Improved:**

* Tax amounts are now exposed as **separate fields by tax type** (e.g., GST, PST, QST, HST)
* All new tax columns are appended to the **end of the export file**
* The aggregated total tax, when present, is clearly derived as the sum of individual fields

#### 🎯 **Impact:**

Finance and accounting teams can now reconcile taxes by type directly from exports — enabling accurate reporting and simpler compliance workflows.

<Image align="center" src="https://files.readme.io/f0e2d82843ebcf1a9b513879ff0cc563b4f29a86d3d72a269de7396fef95d970-Screenshot_2026-05-26_at_9.27.45_PM.png" />

***

## 🟢 **Platform: Recipient Info on Invoice Exports**

Invoice exports now include **recipient details** for marketing, operations, and reporting workflows.

#### ✅ **What's Improved:**

* New fields added to the end of invoice exports:
  * **First Name**, **Last Name**, **Email**
  * **Address Line**, **City**, **State**, **ZIP**

#### 🎯 **Impact:**

Teams can generate accurate, recipient-aware reports and run targeted campaigns directly from invoice exports — no additional data merging required.

***

## 🟢 **Platform: Hyphenated ZIP+4 in Invoice PDFs**

Invoice PDFs now format US ZIP+4 codes with a **hyphen** between the 5-digit ZIP and the 4-digit extension.

#### ✅ **What's Improved:**

* ZIP+4 codes display as `06877-5415` instead of `068775415`

#### 🎯 **Impact:**

Recipient addresses on invoice PDFs are clearer, more readable, and aligned with standard US postal formatting conventions.

<Image align="center" src="https://files.readme.io/b307c9a16ac790c7431e2691260758a29bcc0de2bd0df576d24903469eac8244-Screenshot_2026-05-26_at_9.26.24_PM.png" />

***

## 🟢 **Platform: Cancel Modal Respects Cancellation Settings**

Fixed a Default UI issue where the **"Cancel immediately"** option appeared in the cancellation modal even when disabled in the site's billing settings.

#### ✅ **What's Improved:**

* The "Cancel immediately" option is now correctly hidden when **"Enable subscription cancellation options on customer UI"** is disabled
* Modal honors the site endpoint configuration in all cases

#### 🎯 **Impact:**

Cancellation options shown to subscribers now accurately reflect each publisher's configured policy.

<br />