Public Backlog

WebinOne announcements, releases, updates and achievements

v7.9 Release date: 16 Mar, 2026

Stripe Elements

Stripe Elements

A new Stripe Elements payment gateway has been added, enabling secure payment processing with new payment methods and an enhanced level of visual customization.

Supported Payment Methods

  • Card

  • Link

  • Apple Pay

  • Google Pay

Additional payment methods will be gradually introduced in future updates.

Stripe Elements supports the Stripe Appearance, allowing partners to style payment fields to match their website design. This includes default themes, customization of colors, typography, spacing, and input states.

Improved Module Settings Structure

Improved Module Settings Structure

The Settings tab at the module level has been redesigned to clearly separate module configuration from item editor structure.

What Changed

Previously, module behavior settings were mixed with field configuration in the Properties area. With this update, all module-level and item-behavior settings are now organized in a dedicated Settings tab, while field layout and visibility are managed exclusively through Property Management.

Clear Separation of Responsibilities

  • Property Management (previously Properties) now controls the structure of the item editor (fields, sections, layout).

  • Settings now contain all module-level configuration and item behavior options.

Improved Settings Organization

Module settings are now grouped into structured sections, including:

  • Module settings

  • Item settings

  • Site user permissions

  • Extension settings

  • Advanced settings

This improves navigation and makes it easier for administrators to locate and configure module behavior.

Migration

Existing modules have been automatically migrated so that all module and item behavior settings previously located in Properties are now available in the Settings tab.

Property Management (Layout Builder)

Property Management (Layout Builder)

A new Property Management system has been introduced to control how fields are structured and displayed in the module item editor. Administrators can now define which fields are visible, group them into sections, and configure their layout – improving the editing experience and reducing UI clutter.

Property Management replaces the previous flat editor structure and becomes the default mechanism for rendering fields in the admin when viewing the Create / Edit Item screens.

Key Capabilities

  • Field Visibility Control:
    Administrators can choose which system or custom properties appear in the module item editor. Fields that are not included in the layout are only visually removed from the editor UI without being deleted from the system.

  • Section-Based Field Organization:
    Fields can be grouped into logical sections to improve navigation and usability for content editors. Administrators can create, rename, reorder, and delete sections as needed.

    Sections are also added to the Admin User Role permissions for the module, so different admin users can have different access levels to individual sections.

    When generating Create/Edit form code for frontend submission of items, input fields will also be grouped and ordered to honour the Property Management configuration, along with section headings. However, all fields will be included in the form code with non-visible properties placed in a section titled “Other”.

  • Flexible Field Layout:
    Each field can be configured with a width in the editor layout:

    • One third (33%)

    • One half (50%)

    • Full width (100%)

    Fields are rendered within a responsive 3-column grid and automatically wrap to the next row when needed.

  • Required Field Configuration:
    Fields can be marked as required directly in Property Management. Required fields must be filled in before an item can be saved. The Name and URL fields remain mandatory by default.

Property Types

Property Management supports both:

  • System Properties – built-in platform fields used in module item editing

  • Custom Properties – user-defined fields created for a module

Both property types can be added to sections and configured using the same layout controls.

Editor Structure

  • Available Properties: Displays properties that are not currently used in the editor layout. Fields can be dragged from this list into sections.

  • Visible Properties: Defines the actual structure of the module item editor. Only properties placed here are rendered in the editor UI.

  • Search: Allows administrators to quickly locate properties across both available and visible lists.

Default Section

A mandatory Item Settings section is always present and cannot be removed. It always contains the required Name and URL fields.

Conditional System Sections

Some system sections become available only when specific functionality is enabled. For example, enabling bookings allows the Event Properties section to appear in the editor layout.

Improved Item Editor Experience

  • Only selected fields are displayed in the editor.

  • Fields are organized into configurable sections.

  • Section order, field order, and layout follow the configuration.

  • Unused fields are removed from the interface.

This results in a cleaner, more structured editing experience for administrators and content editors.

Migration

All existing modules are automatically migrated to Property Management. After migration, module item editors render fields exclusively through this new configuration system.

Improved Admin User Roles Management

Improved Admin User Roles Management

The Admin User Roles screen has been redesigned to provide a more structured and scalable way to manage permissions.

The new interface introduces a clearer hierarchy, improved naming consistency, and enhanced filtering tools to make role configuration easier for administrators, especially in projects with many modules and permissions.

Key Improvements

Hierarchical Permission Structure

Permissions are now organized into a clear hierarchy:

  • Section → Module → Actions

This structure improves readability and helps administrators quickly understand how permissions are grouped.

Aggregated Permission States

Top-level checkboxes now reflect the state of their child permissions:

  • Checked – all permissions enabled

  • Unchecked – all permissions disabled

  • Indeterminate – only some permissions enabled

Improved Search and Filtering

The screen now includes tools to quickly locate permissions:

  • Search – find permissions by module name

  • Permission Status Filter – view all, enabled, or disabled permissions

  • Section Filter – narrow permissions by functional area

Migration

All existing roles have been automatically migrated to the new structure to preserve current access levels while applying the updated permission system.

Portal Branding Rework

Portal Branding Rework

The Branding page (Portal > Settings > BRANDING tab) has been redesigned to provide a cleaner and more structured configuration experience.

Simplified Background Image Logic

The previous None / Custom selection for the background image has been removed. The field now follows a simpler behavior:

  • If a custom image is uploaded – it is displayed on the login page.

  • If no image is uploaded – no background image is applied.

Default Branding Fallback

If logo fields are left empty, the system automatically displays the default WebinOne branding in the preview.

Improved Layout

Branding settings are now displayed in a clearer card-based layout with a live preview, making it easier to understand how branding assets will appear.

Bug Fixes

Admin Panel

  • Fixed an issue when filtering comments in the admin panel.

  • Fixed duplicate contacts appearing when synchronizing data via custom reports.

  • Fixed an issue with importing module items when the URL field contained a trailing space.

  • Removed the limitation of 50 landing page names in the Member Areas dropdown field.

Email and Notifications

  • Fixed an issue when sending a test autoresponder email.

Extensions

  • Fixed a pagination issue in the Advanced AI Search extension component.

System Settings

  • Fixed the date format display in cleanup rules.

  • Fixed an issue where cleanup rules were not displayed correctly in the admin menu.

File Manager

  • Fixed an issue where the bottom action bar overlapped the last lines of files in the File Manager.

Modules

  • Fixed an issue when quickly saving module item changes using keyboard shortcuts.

  • Fixed an issue where resetting the form layout to the default did not work.

{% endraw %}
v7.8 Release date: 14 Jan, 2026

Automated Data Cleanup and Deletion Rules for CRM and Module Items

Overview

A new Data Cleanup Rules section under Settings provides a structured and automated way to manage data retention across CRM records and module items. It enables both scheduled (automatic) and on-demand (manual) cleanup, with strict safeguards to prevent accidental deletion of critical data.

Navigation

A new menu item has been added:

Settings → Data Cleanup Rules (located before Website Backup)

Tabs

  • Auto Cleanup
  • Manual Cleanup
  • History

Auto Cleanup

Auto Cleanup allows you to define scheduled rules that automatically delete records matching specific conditions.

Rule Management

  • Create new cleanup rules
  • Edit existing rules
  • Delete rules

The rules list displays:

  • Name
  • Type (CRM Records or Module Items)
  • Status (Enabled or Disabled)
  • Actions (Edit, Delete)

Rule Configuration

  • Name
  • Type (CRM Records or Module Items)
  • Entity (e.g. Contacts, Form Submissions, Orders, Pages, custom modules)
  • Cleanup Scopes – multiple conditions combined with AND logic
  • Exceptions – conditions that exclude records from deletion
  • Frequency (Daily, Weekly, Monthly)
  • Scheduled day and time (executed in the site’s timezone)
  • Enable
  • Editor (auto-filled with the creator or last editor)

Confirmation safeguard: When enabling a rule, a mandatory confirmation popup requires explicit acknowledgment that deletion is permanent and irreversible.

Logic Overview

  • All selected Cleanup Scopes must be met for a record to qualify.
  • Where dropdown values are available (e.g. form name, event name, categories, tags), selected values use OR logic.
  • Exceptions also use AND logic.
  • Records matching all Exception conditions are excluded from deletion.
  • The UI prevents selecting the same condition in both Cleanup Scopes and Exceptions.

Manual Cleanup

Manual Cleanup allows one-time cleanup operations using the same filtering logic as Auto Cleanup, without scheduling.

Filtering

Available filters:

  • Type
  • Entity
  • Cleanup Scopes
  • Exceptions

Results Table

After filtering, a paginated table displays matching records. Columns depend on the selected entity (e.g. contact details, order status, module item metadata).

Actions

  • Delete Selected
  • Delete All
  • Export (optional, before deletion)

A confirmation popup is always shown before deletion, with an option to export data.


History

The History tab provides full visibility into cleanup activity. Retention Cleanup logs are stored for 90 days and are automatically removed afterward.

Log Details

  • Date
  • Rule name (linked for Auto Cleanup, empty for Manual Cleanup)
  • Editor
  • Type (CRM Records or Module Items)
  • Cleanup type (Auto or Manual)
  • Number of deleted records
  • Status (Success or Failed)
  • Actions (Preview, Export)

Default sorting is by Date (newest first).

Preview

  • Total number of deleted records
  • Up to the first 50 records. If more than 50 records were deleted, a message indicates that additional data is available via export.

Export

Exports provide an Excel file with summarized information about all deleted records.

Global Rules and Safeguards

  • Deletion is always permanent — there is no recycle bin or restore option.
  • Records with active recurring subscriptions:
    • Cannot be deleted
    • Do not appear in Manual Cleanup results
    • Are excluded from Auto Cleanup
    • Are always protected by a mandatory, non-removable exception

Role-based Access Control

Admin permissions include:

  • Can View
  • Can Create
  • Can Edit
  • Can Delete

Availability

Data Cleanup Rules are available on the Business and Pro plans.

Subscription Reminders Report

Overview

A new Reports tab has been added to the Reminders section, providing full visibility into reminder delivery performance. It complements the existing reminder management flow with historical data, analytics, and export capabilities.

Reminders Structure

The Reminders section now includes two tabs:

  • Notifications - Existing functionality for managing reminders, including listing, creating, editing, and deleting reminder rules.
  • Reports - Delivery history, advanced filtering, visual analytics, and data export.

Reports: History and Analytics

The Reports tab allows switching between a table view and a chart view.

Data accuracy: All data reflects the subscription and member state at the moment the email was sent, ensuring historically accurate reporting.

Table View

  • Displays the full history of sent reminders
  • Supports filtering, sorting, and pagination
  • Allows selecting the number of rows per page

Columns

  • Reminder Name
  • Reminder Type
  • Item Name
  • Item Renewal Date
  • Member Email
  • Member State
  • Sending Date
  • Send Status
  • Subscription Status

Email Data Preview

Each row includes access to the full email content, which opens in a popup and includes:

  • Email Name
  • Email Subject
  • From Email
  • From Name
  • Email Body

The popup can be closed by clicking outside or using the Cancel button.

Chart View

The chart aggregates reminder delivery data and displays:

  • Total sent
  • Success
  • Failed

Supported Time Ranges

  • 7 days (default)
  • 14 days
  • 28 days
  • 30 days
  • Custom range

Filters (Reports Tab)

All filters can be applied simultaneously.

Toolbar Actions

  • Filter – apply selected filters
  • Reset – clear all filters
  • Cancel – close the filter toolbar

Available Filters

  1. Send Status (Sent, Failed, New, Pending)
  2. Reminder Type (Forms, Events, Products, Member Areas)
  3. Reminder Name (multiple select dropdown)
  4. Date Period (Min Date / Max Date)
  5. Subscription Status (Active, Canceled, Incomplete, Incomplete Expired, Past Due, Trialing, Unpaid)
  6. Member Email (searchable, multiple select)
  7. Member State (searchable, multiple select)

Export

  • Available in the Reports tab
  • Format: CSV
  • Exports only data matching the currently applied filters

Analytics and Dashboard Integration

Analytics Charts

  • Total sent
  • Success
  • Failed

Supported time ranges match those in Reports, with 7 days as the default.

Dashboard Widget

  • Displays the same metrics (Total, Success, Failed)
  • Default period: last 7 days

From the Analytics chart, a “View more details” action links directly to Reminders → Reports for deeper analysis.

Upgraded Sites Notifications

Overview

Automated notifications have been introduced for live sites migrated from 6.11 to WebinOne 7+ that remain unpaid. The system ensures partners receive timely reminders until the subscription is resolved.

Notification Timeline

  • Day 1 after migration: Initial upgrade notification is sent.
  • Day 7 after migration: Payment reminder is sent.
  • Day 14 after migration: Follow-up reminder is sent if the subscription is still unpaid.
  • Day 30 after migration: A 30-day unpaid subscription notice is sent.

Recurring Notifications

For partner sites that remain unpaid more than 30 days after migration, reminder notifications are sent every 14 days following the 30-day notice. These notifications continue automatically until the site subscription is paid.

FTP - path and single host rework

Single SFTP Host

FTP (SFTP) connection settings have been simplified and unified to reduce configuration complexity and improve consistency across regions. A single, universal SFTP host is now used for all connections, replacing region-specific hosts (NA, AU, EU):

  • sftp.trialsite.co

This host applies globally, regardless of the site’s region.

Updated Root Path

The SFTP file structure has been standardized. The root path is now set to /, removing the need for region- or site-specific directory paths and simplifying FTP client configuration.

Bug fixes

Portal

  • Fixed file upload and download issues when working with projects inside TeamOne services.
  • Fixed an issue in plan customization where checkboxes were unintentionally disabled after saving.

Authentication and Access

  • Fixed an issue causing prolonged authentication times when logging into the admin panel.
  • Fixed a login issue in the admin panel on sites with active domain redirects (www / non-www).
  • Fixed an issue where admin users could not access Extensions after upgrading a site to version 7+.

CRM and Data

  • Fixed duplicate values appearing in the CRMContacts component.
  • Fixed an issue in custom reports where the Pending Collection value was not displayed.
  • Fixed an issue when filtering comments in the admin.

Email and Integrations

  • Fixed an issue when renaming a Mailchimp mailing list that had already been imported into the admin panel.
  • Fixed an issue with unsubscribing contacts in Mailchimp and synchronizing the unsubscribe status back to the admin panel.
  • Renamed tabs in email notification emails for improved clarity.

Ecommerce and Events

  • Fixed an issue with importing events on sites without ecommerce enabled.

File Manager

  • Fixed an issue where the cart was displayed incorrectly on mobile devices and tablets.
  • Fixed slow typing performance when editing files larger than 5,000 lines.

Payments

  • Renamed the Bambora payment gateway to Worldline.
{% endraw %}
v7.7 Release date: 24 Nov, 2025

Update SEO Rendering Logic for Dynamic Fields

The SEO rendering engine has been updated to support conditional output based on whether SEO fields are populated. This ensures clean, predictable rendering and prevents blank SEO tags on pages.

Key capabilities

  • Regex-based value detection – all SEO fields now use the same regex logic previously applied to SEOTitle, ensuring consistent evaluation of whether a field is considered “filled”.
  • Unified behavior across all SEO fields – the same validation workflow applies to every SEO-related property.

Updated logic

  • If SEO fields are filled – render the SEO meta element and its value.
  • If SEO fields are filled and the corresponding custom/hardcoded meta element also exists – the custom element overrides the SEO fields and is rendered instead.

Fields using the new logic

  • MetaTitle
  • MetaDescription
  • CanonicalLink
  • OpenGraphProperties.title
  • OpenGraphProperties.type
  • OpenGraphProperties.url
  • OpenGraphProperties.locale
  • OpenGraphProperties.image

Add SEO Fields to Front-End Module Item Forms

Front-end editing capabilities have been extended with full access to SEO configuration. SEO fields from the SEO tab are now available in item management forms, allowing editors to manage key SEO settings directly from the website interface.

What’s new

  • The following forms now support SEO fields:
    • Create Item Form
    • Update Item Form
    • Update Item's Draft Form

Edit access for the following SEO-related fields is now available from the front end:

  • MetaTitle
  • MetaDescription
  • ShowPageForSearchEngines
  • CanonicalLink
  • SocialMetaTags
  • SeoPriority
  • EnableAMP
  • AMPContent
  • OpenGraphProperties.title
  • OpenGraphProperties.type
  • OpenGraphProperties.url
  • OpenGraphProperties.locale
  • OpenGraphProperties.image

Recurring Subscriptions Reminder Improvements

Recurring subscription reminders have been upgraded to support multi-step reminder flows, more flexible targeting, and clearer filtering by subscription state. This improvement makes it easier to configure sequences and tailor reminders to specific subscription statuses.

  • Multiple reminders per entity (Member Areas / Forms / Events / Products)
    • Previously, a single recurring subscription could be attached to only one reminder configuration.
    • Now you can attach the same entity to multiple reminders (e.g. 30 days and 10 days before the end date) and build multi-step reminder sequences for the same member area, event, form, or product.
  • "All items" checkbox behavior
    • The checkbox has been redesigned to be independent from manual item selection.
    • When enabled, the reminder applies to all current and future items within the selected category:
      • Member Areas – all member areas with Paid Access.
      • Forms / Events / Products – all items with a recurring type other than “None”.
  • New delivery time logic
    • Reminder scheduling has been unified with follow-up logic and now uses three core fields:
      • Delivery Time – numeric input.
      • Delivery Type – dropdown with options:
        • days before
        • days after
        • hours before
        • hours after
      • Date Field – dropdown with the base reference date, defaulting to Subscription End Date (with future extensions planned).

Partner Site Templates

Partners can now mark any eligible trial site as a template using the new Mark as Template action in the trial sites list. Once converted, the site is displayed with a template indicator and becomes accessible in the Templates view, where the Create from Template action is available.

Note that templates cannot be converted back to trial sites and cannot go live; their status is permanently shown as Template.

Filtering

  • A new Type filter has been added to switch between:
    • All
    • Sites
    • Templates

Template settings

Each template includes a new Template tab in Settings with an upload field for a preview image. The guidelines for the preview image are:

  • Maximum resolution: 1000×1000 px
  • Maximum file size: 10 MB

When creating a new site, available templates are sorted in the following order:

  • Blank template
  • Partner templates (owned by the partner)
  • Other WebinOne templates

Partner tier limits

  • The number of templates partners can create depends on their reseller tier:
    • Agency Partner – 10
    • Partner – 5
    • Associate – 3
    • Free User – 0 (Free users do not see the Mark as Template action)

When the limit is reached, the button becomes inactive.

Advanced AI Search (beta)

Advanced AI Search introduces a new AI-powered, context-aware search engine that works across multiple modules. It supports advanced semantic indexing and provides flexible configuration options for partners, making it a complete end-to-end semantic search system designed for scalability and deep customization.

Settings

  • Partners can configure API access required for vector generation and semantic search execution. An OpenAI API Key is required.
  • Features include the ability to save, update, and delete the API key.

You can register for an OpenAI account here: https://auth.openai.com/create-account and generate an API key within the account settings.

The cost of embeddings is charged based on OpenAI’s pricing. Full pricing table here: https://platform.openai.com/docs/pricing#embeddings

WebinOne is using the text-embedding-3-large model: https://platform.openai.com/docs/models/text-embedding-3-large

Multi Module Searches

  • List View
    • A Create New button for creating a configuration.
    • A table displaying Name, Alias, Created Date and actions (Edit and Delete).
  • Detail View
    • Displays Name and auto-generated Alias fields.
    • A Searchable Modules block that allows adding/removing modules (Pages, Blogs, Custom Modules, etc.).
    • On save, vectors are created or removed according to the selected modules.
    • Regenerate Vectors link is provided for full vector regeneration.

Advanced Settings

  • A powerful configuration layer allows defining which properties are indexed and how they contribute to scoring.
  • Defaults include searchable properties such as Name and Description, with the option to add up to 6 additional properties (shared across all modules).
  • Supported property types include:
    • Checkbox List
    • Dropdown List
    • Radio List
    • String
    • Multiline
  • System searchable Properties
    • Name
    • Url Slug
    • Description
    • Site Search Keywords
  • Ability to remove properties from search.

Score Weight

  • Total weight = 100%.
  • Weights distributed manually or by sliders.
  • Removing a property redistributes weight proportionally across all remaining ones.
  • Final rounding is applied to the last property.
  • Newly added properties start with 0%; their weight is subtracted from the next property (except the last, which subtracts from the previous).

Validation

  • Properties used in search cannot be renamed, deleted, or changed type until removed from advanced search:
    “Can't delete or update property because it is used in advanced search settings.”

Per-Property Main/Context Weighting

Each property has an internal weight breakdown to improve semantic relevance.

  • Each property (Name, Description, Property 1, etc.) has a global weight (within 100%).
  • Inside the property, weight is split into Main and Context (sum = 100%).

Advanced Search Form

  • Modules can be individually configured for semantic search using a module-specific search component and toolbar form.
  • The advanced search form is located under Custom Modules → Search Forms → [[Advanced Search Form Code]].

Automatic Vector Generation

  • Vectors are automatically generated for newly created or imported module items, ensuring up-to-date semantic indexing.

New Liquid Component: advanced_site_search

  • This component provides front-end access to advanced semantic search results.
  • It opens a second toolbar under Advanced AI Search with new fields:
    • semanticQuery – text query for vector search
    • minScore – a number from 0 to 1 (default 0.5)
    • type – should be set to "advanced_site_search"

Role-Based Access Control

  • Fine-grained permissions for managing Advanced AI Search, including:
    • Can View
    • Can Create
    • Can Edit
    • Can Delete
  • Additional module-level permissions include:
    • Can View Module Advanced AI Search
    • Can Edit Module Advanced AI Search

Activation Page Summary (UI improvement)

The Activation Summary has been updated to provide clearer and more informative extension details for users.

  • Displays the number of email accounts and the total mailbox storage directly in the extensions list.
  • Shows the number of Multisite starter pages included.
  • In the Manage Extensions toolbox, pricing labels for Email Accounts and Multisite have been updated to: Starting ${price}/mo for clearer expectation-setting.

Added Zapier Invite Link to Extension Description (UI improvement)

The Zapier extension description now includes a direct invite link and activation notice. This update improves onboarding clarity and reduces setup friction for users, ensuring that Zapier can be enabled effectively.

  • The following text has been added to the Zapier extension details:
    • To use this Zapier integration, first accept the invite: [Get your invite here].
    • Please note: this Zapier integration will only work after your WebinOne subscription is paid and active.

Bugfixes

  • The link to Advanced Backup settings in the Portal has been corrected – it no longer redirects to the trial sites list.
  • A display issue in Copilot has been resolved where the last line of code in the editor was hidden when viewing history.
  • The test email functionality in the Admin Panel has been adjusted to generate the correct URL.
{% endraw %}
v7.6 Release date: 22 Oct, 2025

External API Credentials & API Request Component

A new External API Credentials section under Settings → External API Credentials provides a secure, centralized way to store and reuse credentials across multiple integrations. Combined with the new api_request component, it enables fully managed, authenticated communication with external services.

Key capabilities:

  • Centralized credential storage – create reusable authentication profiles referenced by alias.
  • Supported auth types: None, Basic, API Key, OAuth2.
  • Role-based access control – granular permissions for View, Create, Edit, and Delete per admin user role.

API Request Execution

The new api_request component lets you make authenticated HTTP requests directly in your templates, using credentials stored in External API Credentials.

Example usage

{% component type:"api_request", method:"GET", url:"https://example.com/api", auth:"my_alias", body:"{ "limit": 10 }", headers:"{ "header name": "header value" }", layout:"", collectionVariable:"result" %}

Highlights:

  • Added API Request to the Components menu.
  • Supports GET, POST, PUT, PATCH methods.
  • Returns parsed JSON data assignable to a variable through collectionVariable.
  • Optional layout parameter allows templating of API responses.

Availability: Both External API Credentials and API Request are available in the Pro plan.

API Application Scopes

Add support for API scope management based on Swagger specifications.

In API Applications → SCOPES, scopes are now grouped by API type (Admin v1, Admin v2 and Frontend v2) with searchable, collapsible lists and per-entity permissions (Read, Write, Delete).

Scopes are automatically generated from API paths following the pattern v2__ (e.g., v2_contacts_read, v2_orders_write).

If permissions are missing, an error message is triggered:

  • “The request is not authorized. Missing required scope: <scope>.”

This update improves API access control, making it clearer and easier to manage granular permissions across admin and frontend integrations.

Open API type for server-side, mobile app

Add support for optional HMAC-SHA256 signing of outgoing webhooks to ensure authenticity and data integrity.

To enable signing, append the ?sk={{ClientSecret}} parameter (or a custom secret) to the External URL field; for example: {{URL}}/api/webhook?sk={{ClientSecret}}.

When enabled, each webhook request includes timestamp, event name, and signature headers generated with the provided secret, allowing the receiver to verify that the payload is authentic and unmodified.

HMAC Signature for Outgoing Webhooks

Add Type selection to API Applications to distinguish between Server-to-Server and iOS integrations.

A new Type field (available on create and edit) defines the application’s usage context:

  • Server-to-Server – default option, requires no additional fields.
  • iOS – displays BundleId and TeamId fields for app identification.

iOS applications are verified through their associated keys, ensuring secure and authentic integration between the mobile app and the Open API.

Special Characters in File Names

Improve file upload and rendering to ensure images with special characters or spaces in file names display correctly across both the admin and front end. File names are now normalized during upload (invalid characters replaced with -) and properly URL-encoded when rendered to prevent broken paths.

Examples:

  • emoji🔥.pngemoji-.png/emoji%F0%9F%94%A5.png
  • file name.pngfile-name.png/file%20name.png
  • imag#e.pngimag-e.png/imag%23e.png
  • multi   space.pngmulti---space.png/multi%20%20%20space.png

This ensures consistent image display and eliminates broken links caused by unsupported characters.

Bugfixes

The following issues have been resolved:

  • Shipping integrations – Australia Post: Fixed an issue where entering a ZIP code on the shopping cart caused an error with the Australia Post integration.
  • Portal – file upload: Resolved a problem that prevented file uploads in project chat when no text message was included.
  • On-Site Editor – multiple data source: Fixed an issue where the Multiple Data Source property could not be populated correctly through the On-Site Editor.
  • File Manager – quick code editing: Corrected a bug where the cursor jumped back to the first line after editing a file in quick-view mode.
  • Events – follow-up email sending: Fixed an error that blocked follow-up notification emails from being sent for events.
  • Products – import process: Resolved a problem with product import on sites where feature sets didn’t match the columns in the uploaded Excel file.
  • Member Activity Tracking – clear button: Added a Clear Activity button that allows admins to manually reset tracked member activity data.
  • Email templates – test email sending: Fixed an issue where the selected email template was not applied when sending a test email.
  • Portal – bell notifications: Resolved an incorrect alert that appeared in the portal about an expired paid extension.
  • Shipping options – disabled feature visibility: Fixed an issue where disabled shipping options were still displayed in the shopping cart.
  • System emails – delivery options reset: Fixed a bug where delivery option settings for system emails were reset after editing files via FTP.
  • Mailing lists – deletion error: Resolved an internal error that occurred when deleting imported mailing lists from the admin panel.
  • Module items – list filtering: Fixed filtering behavior for module items by Expired State to ensure accurate list results.
  • Security – nonce attribute for analytics: Fixed an issue where the nonce attribute was not applied to Google Analytics scripts, improving compliance and security consistency.
{% endraw %}
v7.5 Release date: 10 Sep, 2025

Mailchimp Full CRM Sync

This release introduces major updates to mailing list management, Mailchimp synchronization, and email content editing, giving you more control, flexibility, and clarity when working with subscribers.

What’s new

Mailchimp list import

  • New Import from Mailchimp action with a dropdown to select lists (showing subscriber counts).
  • Mailing lists view now includes a Subscribers column with counts from Mailchimp.

General settings for mailing lists

  • Added in the 'General Settings' section with two options:
    • Email opt-in method (Double opt-in / Single opt-in) – stored per list and applied only to new subscribers.
    • Tags management – view tags, add via popup, and store them with each list.

Subscription status sync

  • CRM status changes (subscribed/unsubscribed) are now synced with Mailchimp.

Mailchimp sync tab

  • New 'Mailchimp Sync' tab for comparing and aligning audiences.
  • Options to sync manually (in addition to auto-sync every 24h).
  • Contact mismatch resolution with per-field radio buttons or bulk apply from CRM/Mailchimp.
  • Visual highlighting of differences and per-contact sync actions.

Tag synchronization and bulk management

  • Tags now sync on subscribe/unsubscribe events.
  • Bulk add/remove tags for selected contacts via toolbar.

Mailing lists field in Form Builder

  • Mailing lists remain available as a default user field.
  • Displayed as checkboxes inside forms, with related tags shown under each list.
  • Selected lists and tags are saved and visible in user profiles.

WYSIWYG Editor for All Admin Code Editors

A WYSIWYG (visual) editor is now available across all admin code editors, making it easier to create and format content.

What’s new

  • Enabled WYSIWYG mode in all admin code editors.

Code Editor in Full Screen Mode

The built-in code editor can now be expanded to full screen, giving developers more space and focus when working with code.

What’s new

  • Added an option to toggle the code editor into full screen mode.

Multiple Data Source property

A new option has been added to Data Source properties, allowing multiple values to be selected instead of just one. This makes properties more flexible and better suited for scenarios where multiple related items should be stored together.

What’s new

  • Added a “Multiple” checkbox for Data Source custom properties.
  • When enabled:
    • Users can select multiple Data Source items.
    • The property value is stored as an array (with item ID, Name, and URL).

System Emails And Autoresponders Test Button

A new "Send Test Email" button has been added across all types of system and autoresponder emails, making it easier to preview messages before sending them to real contacts.

What’s new

  • The "Send Test Email" button is now available in the bottom action bar for:
    • System emails
    • Workflow, follow-up, abandoned cart, and reminder emails
    • Autoresponders (including module-based ones)
  • The button appears only after the email content has been saved.
  • Clicking it sends the email to the selected address exactly as it is in the template, with sample test data substituted where needed.

Control Auto-Generated SEO Content

You can now control whether SEO metadata tags are auto-added when values are set in the items SEO settings, or only taken from your custom page or template code. This gives developers and SEO specialists more flexibility in managing search-optimized metadata.

What’s new

  • Added a new checkbox setting: "Auto-generate SEO Content" (located in 'Settings' > 'SEO').
  • Default value: Enabled (True).
  • When enabled, SEO meta tags are added automatically (current behavior).
  • When disabled, auto-generation is skipped, and only manually defined SEO metadata in the site code is used.

Extend DateTime Field Support in Form Fields

The DateTime field in forms now supports both date and time selection, making it more flexible for scheduling and time-specific submissions.

What’s new

  • DateTime field upgrade: previously worked as a simple Date field, now supports full date + time input.
  • Added a new Date only checkbox in Form Builder:
    • Enabled → renders <input type="date">.
    • Disabled → renders <input type="datetime-local">.

For more info, see the HTML specs for the differences between 'datetime-local' and 'date' input types.

Liquid File List Access

The feature previously called API (File system) has been renamed and repositioned to make its purpose clearer and more accessible.

What’s new

Bugfixes

The following bugs have been fixed:

  • Fixed the removal of expired extensions after the trial period.
  • Fixed uploading folders (with files) via FTP.
  • Fixed reversed forloop.rindex and forloop.rindex0 values (0-based now starts at 0; 1-based at 1).
  • Fixed HiddenValidator: it now trims spaces in name and capitalizes the following word.
  • Fixed incorrect redirect URL in the Portal after changing the billing cycle via PayPal.
  • Fixed the Prices tab not showing for events on the Pro plan.
  • Fixed login creating a 30-day member cookie when “Remember Me” is unchecked – it now expires after 24 hours.
  • Fixed an issue preventing workflow deletion on Business and Starter plans.
  • Fixed the error message when deleting an admin user who owns a non-shareable custom report.
  • Fixed API error when creating a custom module item with Disable detail layout enabled.
  • Fixed Admin list-view sorting resetting to A–Z on navigation – the chosen sort now persists.
  • Fixed searchScope filtering: multiple conditions are again combined with AND.
  • Fixed in the On-Site Editor, clicking Add item with the toolbar closed no longer reopens the toolbar.
  • Fixed in the On-Site Editor, when adding an item with the toolbar closed, the Content field no longer collapses.
  • Fixed in the On-Site Editor, multiline fields no longer expand to full screen height.
{% endraw %}
v7.4 Release date: 16 Jul, 2025

AgentOne - Design Parser

Converts Figma designs into ready-to-use HTML/CSS/JS code in just a few clicks — no manual coding required.

Simply design your layout in Figma as usual; the parser automatically reads your layers, frames, and components. It generates clean HTML, responsive CSS (using Tailwind 4.1), and lightweight JS, ready for development or publishing.

Works instantly, making it easy to go from design to working webpage in minutes. Great for landing pages, home screens, UI mockups, and more — no need to rebuild layouts manually. It is built to understand common naming conventions and structure, so well-prepared designs are transformed more accurately.

Recommendations for best results

  • Use keywords in layer names:

    • e.g., icon, ico, logo, bg, or background
    • Examples: insta-icon, dentist-icon, header-bg --> Helps the parser treat them as single assets instead of raw SVG vector sets.

  • Name the main frame using home or landing:

    • Examples: home screen, landing page --> The parser uses this to generate the main index.html.
  • Keep Figma designs structured, with clean layers and components.

  • Avoid excessive repetition or duplicated frames for more accurate parsing.

What’s new

  • ~50% faster CSS generation

  • Now outputs Tailwind 4.1 code using the Vite Build Tool

  • Improved background image handling: now uses bg-[url()] classes instead of absolutely-positioned <img> elements

  • New walkthrough video How to use the Design Parser

AgentOne - Implementor

Implements finished HTML/CSS/JS projects into WebinOne components, ready to publish with no extra setup needed.

Implementor can be used in three ways

  1. One-click from Design Parser – if the generated code is ready, you can send it directly to Implementor via the “To Implementor” button.

  2. After code review and edits – make any necessary changes to the Design Parser output, then repackage it as a .zip and upload it manually to Implementor.

  3. Using your own project – upload any valid HTML/CSS/JS project following the structure above to generate a working WebinOne site.

How it works

  • Simply upload a .zip file containing your project.

    • Include your main HTML files and asset folders like JS, CSS, fonts, and images.

  • No configuration or cleanup required – the system automatically maps your files into WebinOne components and structure.

Limit

  • Supports archives up to 300 MB.

Ideal for turning design output into a real, editable, and publishable website on the WebinOne platform, quickly and seamlessly.

Implement WebP ImageProcessor Plugin

The ImageProcessor now includes built-in support for WebP images via a new plugin.

What’s new

  • Added WebP plugin to the ImageProcessor toolset

  • Enables handling, optimizing, and serving .webp files natively

  • Improves image compression and performance across supported browsers

This update helps ensure modern image standards are fully supported, making websites faster and more efficient, especially for mobile users.

New System Order Statuses

New post-purchase order statuses have been added for improved tracking and clarity in order management.

  • Return Requested – indicates that the customer has initiated a return.

  • Partially Refunded – reflects a refund applied to part of the order.

  • Refunded – shows that the full order amount has been refunded.

These statuses enhance transparency in the order lifecycle and help both merchants and customers better understand the state of each transaction.

Option To Index Custom Fields

A new setting now allows you to include or exclude custom fields from Site Search indexing, giving you more control over what content is searchable on your website.

What’s new

  • Added a checkbox in Custom Properties settings labeled: Enable for Site Search

  • Available for the following field types:

    • Lists — Checkbox / Dropdown / Radio

    • Single Line (Text)

    • Multiline (Text)

    • Media

When the checkbox is enabled:

  • The field is included in the search index

  • Site Search will return results based on the field’s content

When disabled:

  • The field is excluded from indexing and search results

This update gives you flexible indexing control so that only relevant custom data contributes to on-site search — helping deliver more accurate and useful results to users.

Open API v2 (new endpoints)

Expands the Open API with new endpoints, providing developers with greater control over integrations, site data, and automation workflows. Supports the creation of more efficient and intelligent connections with external tools.

  • MENUS

  • SNIPPETS

  • FORMS

  • MEMBER AREAS

  • WORKFLOWS

  • EMAILS

  • EMAIL TEMPLATES

  • SYSTEM EMAILS

  • ADVANCED CRM GROUPS

  • ORDER STATUSES

  • ECOMMERCE SETTINGS

  • SYSTEM PAGES

  • ADMIN MENU CONFIGURATOR

  • URL REDIRECTS

  • URL REWRITES

  • ADMIN USERS

  • ADMIN USER ROLES

  • PAYMENT GATEWAYS

Bug Fixes

  1. Mailbox password reset in the Portal now works correctly and applies a new password as expected.

  2. Media files (e.g., .mov, .mp4, .webm) no longer trigger 500 errors; they are now served properly on the frontend.

  3. Invalid admin logins no longer lead to a 404 page. Users now see a proper error message when entering an incorrect email.

  4. Admin user invitations now function as intended; new admin users can be invited without issues.

  5. The Back button on module item pages now behaves consistently across tabs such as Settings and SEO, returning to the correct folder every time.

  6. Sorting blog posts no longer affects the entire blog module; post-level sorting is now applied correctly.

  7. Stability improvements and multiple fixes have been made to the OSE module.

  8. The Insert Link pop-up now appears above the full-screen WYSIWYG editor in both the Admin Panel and OSE, ensuring proper visibility.

  9. Volume discounts can now be added without errors.

  10. Custom module layouts edited via File Manager after module duplication now sync properly and reflect changes as expected.

  11. Shipping calculations in the shopping cart now exclude products that don’t require shipping.

  12. Addressed UI display issues on tablets.

{% endraw %}
v7.3 Release date: 20 May, 2025

Email Accounts

A new extension for managing email mailboxes is now available.

Buying Mailboxes:

  • Buy any number of 5 GB mailboxes ($2 each)
  • Purchase via popup with quantity input
  • New mailboxes appear in the list instantly

Managing Mailboxes:

  • View list with email address, used/total storage
  • Real-time updates when changes are made

Actions via dropdown:

  • Add Vault: +5GB ($2), +15GB ($4), +25GB ($6), +45GB ($10), +95GB ($20)
  • Reset Password
  • Delete Mailbox (with confirmation)

Buttons:

  • Buy Mailbox (opens popup)
  • Add New Mailbox (quick add from dashboard)

Payments:

  • Charges are added to the main account
  • Payment confirmations shown in the interface
  • All changes are applied in real-time

File Manager - Trash and Version History Management

Several new features and improvements were added to the File Manager.

Trash Bucket:

  • New section to view deleted files
  • Search by file name
  • Sort by name, size, or date deleted
  • Restore latest or any previous version
  • Preview deleted files (text files open in popup)
  • Permanently delete files (single or bulk)
  • Bulk restore

File Version History:

  • All files now keep version history for 30 days
  • You can preview or restore any version

Access Control:

  • New admin role permission: Can Access File History
  • History features are only available if:
    • User has this permission
    • Website Backup extension is active

Drag & Drop Upload:

  • Added simple drag-and-drop upload area

HiddenValidator Field for Anti-Bot Protection (Honeypot)

Added a new custom field type HiddenValidator to help prevent bot submissions.

How It Works:

  • HiddenValidator fields are invisible to users but included in form validation.

Submission is allowed only if:

  • All HiddenValidator fields are empty, or
  • The fields exist in the Form Builder but were not added to the layout (not submitted).

Validation Rules:

  • Fields are ignored if:
    • Not added in the Form Builder
    • Have incorrect HTML (type, name, or mismatched field name)

HiddenValidator values are not saved in form records and not sent in email notifications.

Monaco Code Editor

Replaced the built-in code editor in the admin panel with the Monaco Editor (used in VS Code).

Key Benefits:

  • Improved performance
  • Syntax highlighting for multiple languages
  • IntelliSense support
  • Professional, developer-friendly editing experience

Notification About Mandatory Update to Version 7+

Sites running on version 6.11 that exceed system limits must now be upgraded to version 7. Limit checks are updated daily.

Upgrade Required If:

  • More than 25 custom properties per module
  • Over 2,000 items (system or custom modules items)
  • Over 10,000 CRM records

Portal Notifications:

  • A warning banner is shown in the portal header for affected 6.11 sites
  • Includes a link to a detailed page listing all affected sites with upgrade recommendations
  • The banner is visible only if the site exceeds the limits

Reseller Role Upgrade

Added the ability for resellers to upgrade their role directly from the My Settings page in the admin, under the Profile tab.

Upgrade Options:

  • Associate – $999
  • Partner – $1,999
  • Agency – $4,999

If a reseller already has a paid role, only higher roles are available for upgrade (downgrades not needed). The user pays only the difference in price.

Upgrade Flow:

  • Dropdown with available roles appears under the Email field
  • On selection, a popup shows upgrade info and a PAY button
  • Payment is processed via Stripe
  • After successful payment, the role is upgraded automatically, and the user is returned to the Profile page

Notifications:

  • Email confirmation of successful payment
  • Email notice about role change

URL Rewrites

Added a new URL Rewrites section (available on PRO plan).

Key Features:

  • Add/edit rules with the following fields:
    • Rewritten URL* (RegExp), e.g. ^article/([0-9]+)/([_0-9a-z-]+)
    • Rewrite To* (RegExp), e.g. /article/article-detail-name
    • Enabled (default: true)

Notes:

  • Rewrites work only within the same application (domain).
  • Rules are stored in the same config file as domain redirects.
  • Admin user roles updated with new permissions: View, Add, Edit, Delete.

Change Partner Email

Users can now change their email address in the Profile section of the portal.

How It Works:

  • The Email field is now editable
  • After entering a new address, a confirmation email is sent to the new address
  • The email is updated only after confirmation via the link (expires in 24 hours)

UI Behavior:

On input:

  • "A confirmation email will be sent to your current email. The change will take effect only after confirmation."

After saving:

  • Confirmation popup is shown

If not yet confirmed, a warning is displayed under the field:

  • "Your email is not verified. Please check your inbox to confirm it or resend the confirmation email."

Until confirmed, the old email stays visible in the field.

Filter Reminder Recipients by States

Added a new Member State filter to recurring reminders.

Key Benefits:

  • Target reminders to members in specific (US) states
  • Reminders are sent only to contacts matching the selected states

Disable Sender ReplyTo Option in Workflows

Under Email Notifications > Workflows, each Workflow's settings will have an option to Disable Sender ReplyTo.
When checked, the sender’s email (the user's email address used in the form submission) will not be added to the Reply-To field in the outgoing Workflow email. Instead, the receiving email client will use it's default reply-to method (likely the From Address, which will be the domain email used in the system Workflow Email's From field).

Cancel Subscription (Site Deactivation)

Added full support for canceling paid subscriptions and reverting sites to trial mode.

Subscription Info Page:

  • New Subscription tab in each live site's Settings page in the WebinOne portal
  • Shows current status, activation date, next billing date
  • Includes plan details, pricing and summary of all active features
  • Includes a Cancel Subscription button

Cancellation Flow:

  • Cancel subscription in Stripe and PayPal
  • Double confirmation required
  • Optional exit survey shown after cancellation

Site Changes After Cancellation:

  • Domains removed (except trial domain)
  • Removed from server monitoring
  • Site reset to trial mode
  • Email domains removed
  • Notification sent to partner via email
{% endraw %}
v7.2 Release date: 13 Mar, 2025

Global File Type Restrictions

A new section has been introduced under Misc Settings to enhance control over file uploads across the site.

Settings Configuration

Location: 'Settings' > 'Misc'

Section: Server File Settings

Setting Name: Enable file restrictions

Enable/Disable Control: A checkbox is provided to activate or deactivate file type restrictions.

Default Restricted List: When enabled, a default list of disallowed file types is applied, including but not limited to .exe and .php.

Custom Input: Administrators can add, remove, or modify the list of restricted file types to tailor restrictions to site requirements.

Scope of Restriction: The file type restriction applies to all key upload channels:

  • FTP uploads
  • File Manager uploads
  • Public forms (e.g., via custom forms or modules)

Validation Logic: Files are checked using extension-based validation and MIME type validation for enhanced security.

Error Messaging:

  • Frontend Forms: “The file upload failed because the file type {fileType} is not allowed on this site. Please ensure that your upload complies with the site's file type restrictions. If you need assistance, contact us.”
  • Admin/FTP Uploads: “File upload rejected. The file type {fileType} is not permitted based on the site's global file restrictions. To modify these restrictions, please review the prohibited file extensions settings in the site Admin.”

Enabling Restriction with Existing Files: If the checkbox is selected while restricted files are already present in the File Manager, the following error is shown:

“Unable to activate file type restrictions. Your site already contains files of the following restricted types: {restrictedFileTypes}. Please remove these files from the File Manager before enabling this option.”

Server Cache Exclusion Rules

A new option has been introduced under Misc Settings to allow administrators to exclude specific URLs from server-side caching, providing greater flexibility in cache management.

Settings Configuration

Location: 'Settings' > 'Misc'

Section: Server Cache Settings

Setting Name: Exclude URL Rules

Input Field: Administrators can specify URL rules that should be excluded from server caching.

URL Matching Rules:

  • Case-Insensitive Matching: All URL checks are performed case-insensitively. For example, /marketplace and /Marketplace are treated as identical.
  • Wildcard Support (*): If a rule ends with an asterisk (*), the system checks whether the current URL starts with the rule.
    Example: Setting: /marketplace/shopping_cart?* matches /marketplace/shopping_cart?item=123
  • Exact Match: If no wildcard (*) is used, only an exact match will trigger exclusion.
    Example: Setting: /marketplace/shopping_cart matches exactly /marketplace/shopping_cart but does not match /marketplace/shopping_cart?item=123

System Emails Delivery Options

A new dropdown menu has been introduced in the system email settings, allowing users to configure email sending behavior with predefined options.

Settings Configuration

Location: 'Email Notifications' > 'System Emails' > {EMAIL}

Section: Email Delivery Options

Setting Name: Delivery Option

Dropdown Options:

  • Send Always (Default behavior, currently active for all emails)
  • Never Send
  • Send Only for Main Orders (For invoice emails only)

Logic Implementation:

Invoice Emails

  • Send Always: Emails are sent for every invoice event.
  • Never Send: No invoice emails are sent.
  • Send Only for Main Orders: Based on the MainOrderId:
    If MainOrderId is null: The email is sent (indicating the main order).
    If MainOrderId has a value (e.g., "23293"): The email is not sent (indicating a sub-order).

Other System Emails

  • Send Always: Emails are sent for every event.
  • Never Send: No system emails are sent.

Recurring Subscription Reminder Emails

A new Recurring Subscription Reminder feature has been introduced, allowing users to configure and schedule automated email reminders for Member Areas, Events, Forms, and Products. The system supports item-based selection, filtering, and sorting, ensuring precise control over notification settings.

Settings Configuration

Location: 'Email Notifications' > 'Reminders'

Section: Reminders

Menu Update: A new Reminders option has been added to the admin menu between Workflows and Emails.

Reminder Fields:

  • Name* (string) – Reminder name
  • Email* (string) – Associated email
  • Type* (dropdown) – Options: Member Area, Events, Forms, Products
  • All Items (checkbox): If checked, the dropdown for items is hidden.
  • Items* (dropdown, multiple selection) – Available when “All Items” is unchecked
  • Days Before Notification* (int) – Defines when the reminder email should be sent

Email Notifications: A new Recurring Reminder Emails tab has been added under Emails with dynamic email tags:

  • {{this.item}} – Displays item data
  • {{this.member}} – Displays member data
  • {{this.recurringsubscription}} – Displays subscription details

Sending Logic:

  • If a specific item is selected, emails are sent only to subscribers of that item.
  • If no item is selected, emails are sent to all subscribers of the selected category.
  • Emails are sent N days before renewal, based on the configured value.

Stripe Customer ID in Member Component

A new property, stripeCustomerId, has been added to the {{request.currentmember}} component to improve Stripe integration and customer data management.

Component Update

Component: {{request.currentmember}}

New Property: stripeCustomerId

Behavior:

  • If a Stripe subscription exists, stripeCustomerId returns the corresponding Stripe Customer ID.
  • If no active subscription is found, stripeCustomerId returns null.

Angular Upgrade to v17

The system has been upgraded to Angular v17, providing enhanced performance, stability, and compatibility with the latest web technologies.

Key Improvements:

  • Performance Enhancements: Optimized rendering and reduced load times.
  • Compatibility: Improved support for modern browsers and frameworks.
  • Security Updates: Integrated latest security patches to safeguard against vulnerabilities.
  • Developer Experience: Enhanced tooling and debugging capabilities for faster development workflows.

Custom Form Validation Before Submission

Added support for manually triggering form validation before submission by calling a JavaScript function. This enhancement allows developers to apply validation to a specified DOM form element dynamically.

Implementation Details:

A new global function window.validateCmsForm(form) has been introduced. This function validates the given form element before submission.

Example Usage:

HTML:

<script>
let form = document.getElementById('validation');
window.validateCmsForm(form);
</script>
        

For individual fields:

  • class="validation-error" – Applied to fields with validation errors.
  • class="validation-success" – Applied to successfully validated fields.

For the entire form:

class="form-validation-error" – Applied if the form fails validation.

Improved Calendar Events - Cell by Cell Output

Enhanced the event calendar with Cell by Cell Events Output, improving event rendering and display for better clarity and usability.

Component Manager:

In the Component Manager, under 'Events' > 'Calendar', a new checkbox option is available for "Cell by Cell Events Output" which will configure the calendar output code with the appropriate parameter.

`include` parameter:

Enable 'Cell by Cell Events Output' with the addition of a parameter added to the Event Calendar include tag: cellByCellEventsOutput: "true", eg:
{% include "/cms-assets/includes/event-calendar.inc", group: "0", moduleId: "1234", cellByCellEventsOutput: "true" %}

Key Improvements:

  • Better Event Visualization: Events are now rendered within each individual calendar cell, ensuring a structured and intuitive layout.
  • Improved Readability: Events are displayed more clearly, reducing clutter and overlapping information.
  • Enhanced Usability: Users can interact with events more easily, improving the overall user experience.

Improved URL Redirects UI/UX

The user interface and experience for managing URL redirects is now consistant with other 'quick add' items by means of the pop-out sidebar, making the process more intuitive and user-friendly.

Installed Extensions Page

A new Installed Extensions page has been added to the site admin, providing better visibility and management of active extensions.

Found under the gear icon (top right of admin).

Order Transaction ID in Custom Reports

The Order Transaction ID is now available in custom reports, enabling improved tracking and filtering of transaction data.

Settings Configuration

Location: 'Admin' > 'Extensions' > 'Custom Reports'

Available In:

  • Report Fields
  • Report Filters
  • Report Results

Key Features:

  • New Field in Reports: Order Transaction ID can now be added to report outputs.
  • Filtering & Sorting: Users can filter reports based on specific transaction IDs or sort columns based on ID.
{% endraw %}
v7.11 Release date: 15 Jul, 2026

1) Quick Access to Module Settings from the Admin Menu

A quick-access icon has been added next to modules in the admin sidebar, providing direct navigation to a module’s configuration screens without having to open the item view first. This significantly speeds up navigation for modules with a large number of items.

Behavior

Direct links to module configuration. Hovering over a module in the sidebar reveals the 3-dot icon next to the module name. Clicking the 3-dot icon opens a dropdown with direct links to:

  • Settings
  • Property Management
  • On-Site Editor
  • Layouts
  • Table
  • Default Follow-up Emails

Non-intrusive UI: The icon appears only on hover and is hidden in the default state. When it appears, the module name gently blurs behind it rather than being truncated or shifted, so both the icon and the module name remain readable and recognizable.

Interaction

  • Clicking the icon opens the quick-access dropdown.
  • Clicking the module name still opens the module as before.

2) Property Management Grid Layout and Wide-Screen Adaptation

The Property Management page has been reworked to make section and field layout configuration clearer, more granular, and better suited to wide monitors. Sections and fields are now arranged on a 12-column grid — the same layout system already used in the analytics dashboard — replacing the previous abstract width options with column-based sizing and predictable wrapping.

Key improvements

Granular property width: The previous three width options (OneThird / Half / Full) have been replaced with column-based widths from col3 to col12, giving administrators finer control over form layout.

Own Row / Shared Row: Allows a property to occupy its own row on the grid without being resized to full width — useful when a property should stand alone visually while adjacent properties wrap to the next row.

Responsive collapse: When the screen width drops below the threshold, all sections and fields collapse into a single column. Configured widths are ignored in this mode.

Wide-screen support: Maximum content width has been increased for large screens. The overall content area scales up to approximately 2400px, and sections on the item edit page scale up to approximately 1500px. Edit groups now scale proportionally to screen size instead of staying fixed.

12-column grid: Sections and their properties are now placed on a 12-column grid, with automatic wrapping when two adjacent items exceed the available width. The wrapping behavior matches the analytics dashboard.

Configurable section width: Section width can be set from col3 to col12. If two adjacent sections do not fit on one row, the second wraps to the next row. The default section width is col10.

Live preview: A new preview action shows how the item Create / Edit form will look with the current Property Management configuration — field types, their actual widths, and section placement — without leaving the Property Management page.

Updated property context menu: The context menu for a property inside a section is now:

  • Edit
  • Mandatory
  • Own Row / Shared Row
  • Move To All Properties

Move To All Properties: Renames the previous Disable action. The behavior is unchanged — the property is removed from the editor layout — but the new label reflects the actual mechanics: the property returns to the All Properties column and can be dragged back into a section at any time.

Clearer selected vs. hover state: When multi-selecting properties for drag-and-drop, the selected state is now visually distinct from the hover state, making it easy to see which fields are included in the selection.

Enable for Visible Properties enabled by default: The Enable for Visible Properties checkbox is now checked by default when creating a new property, removing an extra click for the typical use case.

3) Unified Table View with Saved Views

The module item list has been reworked to provide a single, consistent control panel for search, filtering, sorting, pagination, and view switching. The list toolbar has been simplified, filters are grouped under one control, and a new Saved Views feature allows any combination of filters and sorting to be saved and reused.

Unified control panel

The previously separate controls above the table have been consolidated into a single row containing search, FILTER BY, SORT BY, and the view switcher.

Search: The search field now spans the full width of the control panel, with the search icon on the right. The pagination that previously sat next to search has been removed from this row.

Filter by: A single FILTER BY control opens a dropdown grouping all list filters:

  • View – defaults to All
  • Expired State – defaults to All
  • Last Updated – new filter with options: All, Today, Yesterday, Last 7 days, Last 30 days, Custom range. Selecting Custom range allows the user to define an arbitrary date range.

The dropdown includes RESET and APPLY buttons. Applied filters and the active sort are displayed as removable chips below the search field, along with Clear All and Save View actions. Each chip can be removed individually via its close icon.

Chip format:

  • Filter chips: <Field>: <Value> ✕ (e.g., Last Updated: Last 7 days ✕).
  • Sort chip: Sort by: <Field> (<Direction>) (e.g., Sort by: Name (Asc)).

Sort by: A new SORT BY control has been added next to FILTER BY. Its dropdown provides a radio field selector (Name, URL, Template, Release Date), a Direction section (Ascending ↑ / Descending ↓), and RESET / APPLY buttons.

Inline sorting by clicking a column header remains available and is fully synchronized with the SORT BY control – both act on the same underlying sort state.

View switcher: The three view-switch icons are preserved and moved into the control panel, to the right of SORT BY. If a module has only one available view, the switcher is hidden.

Pagination: The duplicated top pagination has been removed. Pagination and Items per page are now shown only below the table.

Saved Views

  • Save View – a modal with a View Name field and BACK / SAVE buttons, opened from the chip row. Saves the current filter and sort combination as a named view.
  • Saved Views – a dropdown in the control panel listing all saved views, with a check mark next to the active one and a Manage Saved Views entry at the bottom. Selecting a view immediately applies its filters and sorting.
  • Manage Saved Views – a right-side panel listing all saved views, each with its name and a delete icon, with CANCEL / SAVE actions.

Empty state

When the list contains no items, the control panel (search, filters, sorting, view switcher, and pagination) is hidden entirely. Only the page header, header actions, and a "Nothing here yet." placeholder are shown.

Available header actions in the empty state:

  • For modules and comments: Configure, plus a “⋯” menu with Import, Export, and other module actions.
  • For other table views: only the “⋯” menu.

4) Weighting Management Through Drag and Drop

Module items can now be manually ordered through drag-and-drop, powered by a new system property Enable drag and drop order (internally exposed as DnDOrder). Once enabled on a module, administrators can visually reorder items on the item list and consume the resulting order in Liquid components and the On-Site Editor.

Setup

A new system property, Enable drag and drop order, has been added to the All Properties (System) list in Property Management. It can be moved into Visible Properties like any other system field.

The internal field name and Liquid alias is DnDOrder.

Manual Order in the item list

Sort by → Manual Order: A new Manual Order checkbox has been added at the bottom of the Sort by popup, alongside the existing options (Name / URL / Template / Release Date + Ascending / Descending). When enabled, sorting by DnDOrder is applied as the primary sort key on top of the selected secondary field. The popup keeps the standard Reset / Apply actions.

Drag-and-drop mode: When Manual Order is active, the item list enters DnD mode:

  • A drag handle appears on the left of each row; row selection checkboxes are hidden.
  • Dragging swaps the DnDOrder values of the two involved items (A ↔ B). Other items are not shifted.
  • The bulk action Move to trash selected in the toolbar is replaced by a Reweigh action.

Manual Order is available only in List view.

Reweigh

Reweigh reassigns sequential values (1, 2, 3, …) to all items in the module – not only those visible on the current page – based on the current table sort order. Existing DnDOrder values are overwritten.

The action opens a confirmation popup:

  • Title: Reweigh DnD Order?
  • Body: Sequential values (1, 2, 3, …) will be assigned to all items in the module based on the current table sort. Existing DnD Order values will be overwritten.
  • Buttons: Cancel / Reweigh

Sorting logic

When items are sorted by DnDOrder:

  • Primary key: DnDOrder
  • Secondary keys: (used for ties, e.g. multiple items with 0) namereleaseDatecreate date

Empty DnDOrder values are treated as 0 and appear at the top when sorting ascending.

Editing DnDOrder values

DnDOrder behaves as a standard property and can be edited through:

  • Drag-and-drop in the item list
  • Reweigh for bulk initialization or resequencing
  • Export → Excel editing → Import
  • The item detail page
  • The frontend item create / update form

Liquid support

DnDOrder is a supported value for sortBy and is exposed on items as {{this.DnDOrder}}.

Example:

{% component source: "ModuleName", layout: "List", sortBy: "DnDOrder", sortOrder: "ASC", type: "module" %}

On-Site Editor

Drag-and-drop reordering in the OSE requires all of the following:

  • Enable drag and drop order is enabled on the module.
  • The Liquid component uses sortBy: "DnDOrder".
  • The layout includes the required data-cms_ose_dnd attribute.

Edge cases

  • Duplicating an item resets DnDOrder on the duplicate to 0, regardless of the original’s value. The duplicate can be repositioned manually or included in the next Reweigh.
  • Disabling Enable drag and drop order does not delete existing DnDOrder values – they are preserved in case the property is re-enabled later.
  • If all items have DnDOrder = 0, dragging visually appears to do nothing (0 ↔ 0 swaps). A single Reweigh initializes proper values.

Implementation checklist

To enable drag-and-drop ordering end-to-end on a module:

  1. Enable Enable drag and drop order on the module.
  2. Run Reweigh DnD Order once to initialize DnDOrder values.
  3. Set sortBy: "DnDOrder" in the relevant Liquid layouts.
  4. Add data-cms_ose_dnd attribute.

Without these steps, DnD reordering in the OSE will not take effect.

5) Advanced Multi-Level Sorting in Liquid Components

A new orderBy parameter has been added to Liquid module components, providing advanced multi-level sorting with independent sort directions per field. It is the sorting counterpart to the existing where parameter and complements the current sortBy, which continues to work unchanged.

Example usage:

{% component source: "Module_name", layout: "List", orderBy: '[{"DnDOrder": "ASC"}, {"Name": "ASC"}]', type: "module" %}

Key capabilities

JSON-based multi-level sorting: orderBy accepts a JSON array of single-key objects, where the key is the field name and the value is the sort direction ("ASC" or "DESC"). The order of objects in the array defines sorting priority – the first entry is the primary sort, subsequent entries act as tiebreakers.

Supported fields: Any top-level module property can be used, including id, Name, url, releaseDate, weighting, DnDOrder, and custom properties. Spaces in custom property names are removed, consistent with sortBy.

Liquid variables: Liquid variables are supported inside the orderBy value, matching the behavior of the where parameter.

Deterministic order: id ASC is automatically appended as a final tiebreaker to guarantee a stable order across requests, correct pagination, and consistent drag-and-drop behavior.

Case-insensitive string sorting: String sorting is case-insensitive and uses invariant culture (e.g., Apple, banana, Zebra are sorted in that order).

NULL / empty handling: NULL and empty values follow the same rules as the existing sortBy parameter.

Compatibility with sortBy and weighting

  • sortBy continues to work unchanged.
  • When both sortBy and orderBy are provided, orderBy takes priority and sortBy is ignored, matching the where vs filterBy behavior.
  • weighting: true – if weighting is not present in orderBy, it is automatically prepended as the first field, preserving current sortBy behavior. If weighting is explicitly listed in orderBy, the explicit position is respected and no auto-prepend is applied. weighting: false disables auto-prepending.

Component Manager (UI)

A new Advanced Sorting option has been added to the Sort Type dropdown in the component form. Selecting it replaces the simple sortBy selector with a text field for entering the orderBy JSON value, mirroring the pattern used by filterBy / where. Basic client-side validation ensures the input is valid JSON containing an array of single-key objects.

Validation and error handling

  • Invalid JSON in orderBy – the component returns an empty result and an error is logged (same behavior as where with invalid JSON).
  • Unknown field name – the entry is skipped, remaining fields are still applied, and an error is logged.
  • Invalid direction value (not ASC / DESC) – falls back to ASC and an error is logged.
  • Empty array (orderBy: '[]') – treated as if the parameter were not provided; falls back to sortBy or the default sort.

Open API

The same orderBy sorting logic is supported in the corresponding Open API endpoints.

6) Clearer Search Indexing Actions

Bulk search indexing actions for module items have been reworked to be clearer, more predictable, and to provide visible feedback while running. Previously, when a partner triggered a bulk indexing action, the operation ran in the background with no indication that anything was happening, and the existing Enable / Disable labels did not clearly convey what the actions actually did.

Renamed bulk actions

  • Enable all module items for search enginesIndex all existing items
  • Disable all module items for search enginesRemove all existing items from index

Confirmation before running

Both actions now open a confirmation popup that clarifies their scope:

This applies to items that exist right now. New items follow your Search Engines default in Item Settings.

The popup provides BACK and INDEX ALL / REMOVE ALL buttons, depending on the selected action.

Background process indicator

While a bulk indexing operation is running, a blinking dot appears on the notification bell icon in the header, following the same pattern already used for import and export operations. The indicator persists when navigating away from the page or switching to a different module and disappears only when the process completes.

Updated Item Settings labels

Existing options in Item Settings have been renamed for consistency and clarity:

Site Search

  • Enable new items in site searchIndex new items in site search
  • Disable new items in site searchDon't index new items in site search

Search Engines

  • Allow indexing of new itemsIndex new items
  • Prevent indexing of new itemsDon't index new items

7) Toolbox Standardization

Right-side toolboxes used across the platform have been standardized into three fixed sizes – small, medium, and large – and now adapt to screen width. Previously, the toolbox width was inconsistent between sections: on 1920px screens some toolboxes were unnecessarily wide, while others were too narrow and caused inner tables to overflow.

Behavior

Fixed toolbox sizes: Toolboxes now use one of three defined sizes (small / medium / large), assigned per section based on its content.

Screen-width breakpoint: The breakpoint is set at exactly 1920px (inclusive):

  • Below 1920px – the smaller toolbox size is used.
  • At 1920px and wider – the larger toolbox size is used for sections containing tables and for the File Manager.

8) Support for International (Unicode) Characters in URL Paths

Non-Latin characters (Cyrillic, Chinese, Arabic, and others) are now fully supported in module and page URLs. Previously, such characters were automatically replaced with underscores by the URL field validation, which prevented partners from building sites with locale-native URL paths. The behavior is now unified with the module URL editor, which already supported Unicode input partially.

Example of supported URLs:

  • https://www.example.com/zh/示例-測試頁面
  • https://www.example.com/ar/مثال-صفحة

Behavior

Decoded storage: URLs are always stored in decoded, human-readable form (e.g., /cn/碧乐璧-马来西亚). This is the single canonical representation of the resource.

Encoded and decoded requests: Incoming requests are accepted in both encoded and decoded formats and resolve to the same resource. This eliminates canonical URL duplication:

  • /cn/碧乐璧-马来西亚 → resource X
  • /cn/%E7%A2%A7%E4%B9%90... → resource X (same)

Sitemap: URLs in the sitemap are generated in encoded form (e.g., %E7%A2%A7%E4%B9%90...) to ensure maximum compatibility with search engines and external crawlers.

FTP uploads: The same rules apply to file names uploaded via FTP: non-Latin characters are preserved instead of being sanitized to underscores, aligned with the updated URL handling.

Scope

  • Module URLs
  • Page URLs
  • File names uploaded via FTP

9) Tooltips and Links Standardization

The appearance and behavior of tooltips and links have been standardized across the system to provide a more consistent user experience.

10) Braintree Payment Gateway Integration

Braintree has been added as a new payment gateway, allowing customers to pay by card through Braintree alongside the existing payment options. Merchants can configure Braintree in the payment gateway settings and offer it as a payment method at checkout.

11) Open API Support for Property Management

New Open API endpoints have been added for managing a module’s Property Management configuration, allowing sections and their field layouts to be created, updated, and retrieved programmatically. This complements the recently introduced Property Management admin functionality and enables external systems to configure module item editor structure via API.

New endpoints

Get all properties GET
/api/v2/admin/modules/{id}/property-management/all-properties
Returns all available properties for the module, grouped by type (system, custom).

Get visible properties GET
/api/v2/admin/modules/{id}/property-management/visible-properties
Returns the current visible-properties layout: sections with their fields, widths, order, notes, and allowed admin role IDs.

Create section POST
/api/v2/admin/modules/{id}/property-management/section
Creates a new section and assigns the specified fields, layout, and role permissions.

Update section PUT
/api/v2/admin/modules/{id}/property-management/section
Updates a section’s name, notes, weight, field composition, layout, and role permissions.

Delete section DELETE
/api/v2/admin/modules/{id}/property-management/section/{alias}
Removes a section.

12) Open API Support for Tags

New Open API endpoints have been added for managing module tags, exposing the same functionality that was previously available only through the internal admin API. Integrations using an app token can now read and modify module tags programmatically, alongside the existing Module Properties endpoints.

New endpoints

Get tags GET
/api/v2/admin/modules/{id}/tags
Returns the list of tags for the module.

Create tag POST
/api/v2/admin/modules/{id}/tags
Body: { "Tag": "sale(new)" }
Adds a new tag and returns the updated list.

Edit tag PUT
/api/v2/admin/modules/{id}/tags
Body: { "OldTag": "promo", "NewTag": "sale" }
Renames a tag and returns the updated list.

Reorder tags PUT
/api/v2/admin/modules/{id}/tags-reshuffle
Body: ["promo", "news"]
Reorders the tags according to the provided sequence.

Delete tag DELETE
/api/v2/admin/modules/{id}/tags/{tag}
Removes the specified tag and returns the updated list.

13) Trial Site Lifecycle and Expiration

A defined lifespan has been introduced for trial sites. Each trial site now has an expiration date, after which the site is automatically removed. Before removal, a backup is always created and retained for 180 days, allowing recovery on request.

Lifespan rules

  • Every trial site has a lifespan of 6 months from its creation date.
  • If a live site is downgraded to a trial after subscription cancellation, its lifespan is shortened to 30 days, after which the site is removed.
  • Before removal, a backup of the trial site is created and retained for 180 days.

The following sites are exempt from automatic expiration and are never removed by this mechanism:

  • Live sites
  • Template sites
  • Trial sites migrated from v6.11 to v7

Notifications

30 days before deletion: A notification email is sent to the owner 30 days before a trial site is deleted.

Portal display

An Expires in column has been added to the trial sites list, showing the number of days remaining until deletion. The column supports sorting and includes a tooltip: How long this trial site will remain accessible. When the period ends, the site is permanently removed unless a subscription is activated.

Site copying

  • Copying a trial site produces a copy with the same number of remaining days as the original (e.g., 40 days remaining on the original → 40 days remaining on the copy).
  • Copying a live or template site starts a new 6-month lifespan for the copied site.

Restoration after deletion

  • The first restoration of a site is free; subsequent restorations of the same site are paid.
  • A restored site is given a lifespan of 1 month, after which it follows the standard flow (backup retained 30 days, then removal).
  • If the original URL is still available, it is reused; otherwise, a numeric suffix (-1, -2, … -N) is appended.
  • The restoration confirmation is sent to the customer by the support team.

Migration of existing trial sites

Existing trial sites that already exceed the new 6-month limit — or have fewer than 30 days left under the new policy — cannot honor the standard "30-day advance email" rule. To address this, a one-time migration is performed at release:

  • Trial sites older than 6 months (or older than 30 days since subscription cancellation) receive a deletion date of release date + 30 days.
  • Trial sites with less than 30 days remaining under the new policy have their deletion date extended so that exactly 30 days remain from release.
  • All migrated sites receive a 30-day grace period from the release date, including sites that would already be expired under the new rules.
  • After the grace period, migrated sites follow the standard flow: backup created → site removed.

Bug fixes

Modules

  • Fixed an issue on the module items list view where column visibility for Expiration Date and Release Date did not follow their state in Visible Properties. The columns are now correctly available when the fields are added to or hidden from Visible Properties.
  • Fixed an issue where importing module items with custom properties did not follow the same behavior as system fields. The import logic is now consistent for both:
    • Column present and filled – values are replaced
    • Column present and empty – values are cleared
    • Column not present – existing values remain unchanged
  • Fixed an issue on the Business plan where a random detail layout was selected as default when a module had multiple detail layouts configured.

File Manager

  • Fixed an issue where file icons shifted and jittered while scrolling.
  • Renamed the Move to trash selected button to Move Selected to Trash.

Forms

  • The Update Account Form now supports changing the contact’s email. Behavior depends on the Enable email verification flow checkbox in MISC Settings – when enabled, a confirmation email is sent to the new address; when disabled, the email is updated immediately after form submission.

WYSIWYG editor

  • Fixed an issue where saving via keyboard shortcut did not work.

Open API

  • Fixed an incorrect field description in the Contacts endpoints (documentation and Swagger). The Type field is now correctly documented as accepting the "Consumer" / "Wholesaler" enum values, replacing the previous misleading integer description.
{% endraw %}
v7.10 Release date: 13 May, 2026

New Focus for Basic, Plus, and Max Ecommerce Plans

The Basic, Plus, and Max ecommerce plans have been restructured to better align with current customer needs. Several features have been moved down across plan tiers, expanding the value of the Basic and Plus plans, while the Max plan is temporarily withdrawn from the available plan options.

Plan pricing remains unchanged and no new plans have been introduced. See the updated plan overview at webinone.com/new-pricing.

What changed

Basic plan

The following features, previously available only from the Plus plan, are now included in the Basic plan:

  • Attributes
  • Inventory Management
  • Gift Vouchers
  • Discount Codes

Plus plan

The following features, previously available only on the Max plan, are now included in the Plus plan:

  • Wholesale Pricing
  • Custom Order Statuses
  • Shipping options (Shipping Integrations)

Max plan

The Max plan has been temporarily removed from the list of plans available when creating a new site. New sites are now created on Content Pro and Ecommerce Plus plans.

Self-service site transferring

A new Transfer Sites section has been introduced in the WebinOne Portal, allowing any Free User, Associate, Partner, or Partner Agency reseller to transfer one or more sites to another reseller account. The functionality covers the entire flow — from creating a transfer request, through receiver confirmation and Stripe payment, to scheduled execution and post-transfer history.

Key capabilities

  • Transfer Sites section: A dedicated menu item with Outgoing, Incoming, and History tabs is available to portal owners. A badge highlights active requests that require attention.
  • Transfer request: A request can include one or more sites and is created through a guided wizard covering site selection, receiver, fee payer, subscription handling (Keep / Cancel), and transfer time (Immediately / Off-hours). Unfinished requests are saved as Draft and can be resumed at any time. The receiver can accept, decline, or modify the request through a limited Change Request flow.
  • Payment: Each transfer is charged at a fixed rate of $100 per site, paid by either the sender or the receiver via Stripe Checkout, depending on the selected Fee Payer.
  • Transfer execution: Sites are transferred sequentially after payment. Off-hours transfers run within the 00:00–06:00 window in the data center's local time to minimize downtime. Aggregated and per-site progress is displayed on the request detail page.
  • Status history & notifications: Every request maintains an immutable chronological log of status transitions, available from the request page. Email notifications are sent to the sender and receiver at all key events (request created, accepted, updated, declined, completed).

Constraints

  • A site can participate in only one active transfer request at a time.
  • Transfers are allowed only within the same data center region.
  • A request expires automatically after 7 days without confirmation.
  • Once paid, a request can no longer be edited.

Decimal Number Support for Custom Properties

A new Decimal Number custom property type has been added, allowing fractional values to be stored and processed in module items. Previously, the Number custom property supported integer values only; Decimal Number extends this capability to decimal values such as 1.5, 0.75, or 10.25.

The existing Number property remains unchanged and continues to support integer values only.

Key capabilities

  • Flexible decimal input: Decimal values can be entered using either a dot (.) or a comma (,) as the decimal separator. After saving, the value is automatically normalized and displayed according to the configured country/locale format, consistent with the behavior of system product fields such as Weight, Width, Height, and Depth.
  • Admin panel support: The new Decimal Number type is available when creating or editing custom properties in the admin panel.
  • Open API support: Open API endpoints accept and return decimal values for properties of type Decimal Number.
  • Import / Export support: Decimal values are fully supported when importing and exporting module item data.
  • Frontend item forms: Create and edit (draft) item forms rendered on the frontend support decimal input for Decimal Number properties using a standard numeric input.

Example:

<div>
  <label>{Name}</label>
  <input type="number" name="prop_{Name}" step="0.01" value="">
</div>

Advanced Cleanup Rules Builder with Structured Condition System

The Data Cleanup Rules functionality (both Auto Cleanup and Manual Cleanup) has been redesigned to use a flexible, structured condition builder. Fixed presets such as Created more than 30 days ago or Last login for 90 days have been replaced with a universal system that allows administrators to combine condition types and parameters dynamically. This removes hardcoded time intervals, unifies the condition structure across all entities, and makes cleanup configuration scalable for future condition types.

New condition structure

Each condition group is now composed of:

  • Condition Type – the attribute being evaluated (e.g., Creation date, Last updated, Status)
  • Condition – the comparison operator (e.g., Older than, Within last, Has order)
  • Dynamic parameters – value, period, multiselect options, or date range, depending on the selected type

Logic rules

  • AND is applied between different Condition Types
  • OR is applied within multiselect values of a single Condition
  • Records with an active recurring subscription remain protected and cannot be removed

Manual Cleanup – Specific period

Manual Cleanup additionally supports a 'Specific period' option for date-based conditions (Creation date, Last updated, Last login), providing a date range picker (from – to). This option is not available in Auto Cleanup.

Exceptions

Exceptions have been migrated to the same structured model. The previous "Items and records with active recurring subscriptions" exception has been removed and replaced with a permanent system note: Contacts with active recurring subscriptions are always protected and cannot be removed. The same logical condition cannot be selected simultaneously in 'Conditions' and 'Exceptions'.

Open API Support for CRM Contact Billing Fields

The CRM Contacts Open API endpoints now support billing address fields in both request and response payloads, allowing external systems to read and update contact billing details through the API in line with the data already available in the admin panel.

Updated Endpoints

  • GET /api/v2/admin/contacts
  • POST /api/v2/admin/contacts
  • GET /api/v2/admin/contacts/{id}
  • PUT /api/v2/admin/contacts/{id}

Newly Supported Fields

  • BillingAddress
  • BillingCity
  • BillingState
  • BillingZipCode
  • BillingCountry

Order Customer Snapshot and Independence from Contacts

Orders are now self-contained and no longer depend on the existence of their associated contact. When an order is created, a customer snapshot (email, first name, last name, billing address) is saved directly on the order, alongside the existing shipping snapshot. If the contact is later deleted, the order remains intact and displays safely-masked customer data.

Contact deletion behavior

The MemberId field on orders is now nullable and is automatically set to NULL when the related contact is deleted. The order itself, including its snapshot, is preserved.

Masked Responses for Deleted Contacts

For orders with a deleted contact, standard API and UI responses return masked values:

  • Emaila***@gmail.com
  • First / Last nameJ***n / S***w (three asterisks between the first and last character)
  • Billing and Shipping address – fully masked as ***

New admin permission – Can View Customer Snapshot Data

  • Enabled – the ‘Reveal Data’ button is shown on the order and the admin can disclose the original snapshot values.
  • Disabled – the button is hidden and the data-reveal endpoint returns 403 Forbidden.

List, Detail, and Search Behavior

  • Orders are listed regardless of whether the related contact still exists. If the contact exists, current contact data is shown; otherwise the masked snapshot is shown.
  • The order detail page remains fully functional when MemberId is NULL.
  • In the Trash, orders with deleted contacts are shown using the masked snapshot, and data reveal is not available.
  • The order list now exposes two search fields per customer attribute (live contact data and snapshot data). With the Can View Customer Snapshot Data permission, search runs across both (OR); without it, only live contact data is searched.

Export

Snapshot fields for deleted contacts are always exported in masked form, regardless of the exporting user's permissions. Revealing original values through export is not allowed.

Open API

  • A dedicated GET endpoint has been introduced for retrieving an order's customer snapshot.
  • A new Open API scope CrmOrdersSnapshot - read has been added; the snapshot endpoint is accessible only to clients with this scope.

Restoring Orders from Trash

If the original contact still exists, the order is re-linked to that contact. If the contact has been deleted but a snapshot is available, the order is restored with MemberId = NULL and continues to use the snapshot. Deleted contacts and related entities are not recreated.

Orders Trash Management with Restore and Retention

A new Trash section has been added to the Orders area of the admin panel. Deleted orders are now temporarily stored in the Trash, where administrators can restore them or remove them permanently. This prevents accidental data loss and provides a controlled retention window for deleted records.

Access

A button has been added in the Orders section to open the Trash as a separate screen. From the Trash, administrators can return to the main Orders list at any time.

Trash List View

  • Displays the list of deleted orders with standard pagination and search.
  • The following features are intentionally not available in the Trash:
    • Order details page navigation
    • Create order button
    • Import button
    • Export button

Available Actions

  • Restore: Returns the order to the main Orders list and restores it to an active state.
  • Delete permanently: Removes the order and all related data (payments, order lines, and other dependent records) with no possibility of recovery.

A global Delete all action is also available, which permanently clears all orders from the Trash. All permanent deletion actions require explicit confirmation.

Retention

Orders are stored in the Trash for up to 90 days. After this period, they are automatically and permanently deleted, along with all related entities. The retention countdown starts from the moment the order is moved to the Trash; a dedicated field on the order entity stores the move-to-trash date and time used for this calculation.

Open API

The Trash management endpoints have been added to the Open API specification and documented in Swagger.

VAT Invoice Number Generation Without Gaps

A dedicated VAT Invoice Number has been introduced for orders, providing a strictly sequential, gap-free numbering stream that complies with EU VAT requirements. The existing Invoice Number continues to operate unchanged as an external reference for payment system integrations.

Behavior

  • VATInvoiceNumber is generated only after an order has been successfully paid.
  • It uses its own sequential numbering with no gaps and is immutable once assigned. Attempting to regenerate the VAT invoice number for an order returns an error.
  • InvoiceNumber continues to serve as the external payment reference, with its existing logic unchanged.
  • VATInvoiceNumber is treated as the legally significant invoice number.

The sequence counter is initialized from the maximum existing invoice value to ensure no duplicates are produced for newly generated VAT invoice numbers.

Bug fixes

Portal

  • Added SVG image support in portal branding.

Admin panel

  • Fixed a duplicate Workflows entry in the admin role permissions list.

Email and notifications

  • Fixed an issue where file links in emails contained an extra //, resulting in URLs such as //_form_submissions/12345/.

Modules

  • Fixed an issue where applying a template from the item list via Apply Template updated only the frontend output but not the OSE.
  • Custom properties are now exported in alphabetical order in module item exports.
  • Added support for bulk-moving custom properties using CTRL / CMD selection.
  • Fixed an issue where admin users could not see editable fields on the module item details page.

WYSIWYG editor

  • Fixed an issue where files uploaded via the WYSIWYG editor were placed in the root of File Manager instead of the selected folder.
  • Fixed an issue where links and configured indentation were lost when switching between WYSIWYG and code view.

File Manager

  • Fixed an issue where files could be created without a file extension.
{% endraw %}