Skip to content

Changelog - December, 2025

New Features

Email Config Events UX/UI

Multilingual Templates

Multilingual Templates hold multiple language versions of one email in a single template file. Language mutations share the same structure but carry localized content, so there is no need to duplicate a template per language.

One template is the single source of truth for every language variant. A layout change applies to all languages at once, which keeps layouts consistent across translations and avoids version drift in international campaigns.

Add this option to TOPOL_OPTIONS:

ts
multilingual: true,

Language mutations are then managed from the editor's top bar. On save, the onSave callback includes a mutations array with all language variants, so integrations can store and process them correctly. Language-specific HTML comes from the JSON-to-HTML conversion API (in the next section).

For full details, see the documentation.

Email Config

Custom Language Preset

A custom language list can now replace the default set in the Multilingual Templates dropdown. The list specifies exactly which languages appear (with custom names, codes, and native names) and whether it replaces or extends the defaults.

The built-in list may not cover every language variant a team supports, or a team may want to match specific markets or internal conventions. A Custom Language Preset controls exactly which options users see in the editor.

Add a customLanguagePreset object to TOPOL_OPTIONS with a langs array and an override flag:

ts
customLanguagePreset: {
  langs: [
    { name: "Spanish (Spain)", code: "es-ES", nativeName: "Español (España)" },
    { name: "Portuguese (Brazil)", code: "pt-BR", nativeName: "Português (Brasil)" },
  ],
  override: true, // defaults to true
}
  • langs defines the custom languages with display names and codes.
  • override sets whether this list replaces (true) or appends to (false) the default languages.

For full details, see the documentation.

Email Config

Default Template Language Versions

Default language versions are now created automatically when a new multilingual template is initialized, so each new template starts with a predefined set of language variants instead of manual setup.

Consistent language availability across all new templates saves setup time and reduces errors in localization-heavy projects.

Set the templateLanguageVersions option inside defaultTemplateSettings to specify which language versions are created automatically.

For full details, see the documentation.

Email Docs

CRM Integration Demo

A new CRM Integration Demo walks through an end-to-end integration of the Plugin with a CRM-style application. It covers initializing the editor, loading and saving templates, and working with editor callbacks in a real integration, as a reference for building custom email-editing workflows on Topol.

See the demo website or the documentation.

Improvements

Email UI/UX

Option to Hide Multilingual Templates Dropdown from the Top Bar

Adding the changeLanguage identifier to the topBarOptions array now hides the Multilingual Templates language selector from the editor's top bar.

More details in the documentation.

Email API

Callable Functions to Control Multilingual Templates via Custom UI

A new set of callable functions manages Multilingual Templates from a custom UI, without the editor's built-in language controls. They create, delete, select, and set the primary language programmatically:

  • createLanguage(lang): create a new language mutation
  • deleteLanguage(lang): delete an existing language mutation
  • selectLanguage(lang): switch to a specific language mutation
  • setPrimaryLanguage(lang): mark a language mutation as primary

For full specifications, see the documentation.

Bugfixes

  • Email Fixed a few visual issues with Gradients and Hover effects.