Skip to content

Changelog - December, 2025

New Features

Multilingual Templates

You can now create and manage multiple language versions of a single email template within one unified template file. Multilingual Templates let you add language mutations that share the same structure while containing localized content, eliminating the need to duplicate templates for each language.

Why It Matters

Multilingual Templates provide a single source of truth for all language variants, ensuring consistent layouts across translations while significantly reducing maintenance overhead. Layout updates apply to all languages automatically, helping teams avoid version drift and design inconsistencies when running international campaigns.

How To Enable

Enable the feature by adding the following option to your TOPOL_OPTIONS configuration:

ts
multilingual: true,

Once enabled, language mutations can be managed directly from the editor’s top bar. When saving, the onSave callback includes a mutations array containing all language variants, allowing integrations to store and process multilingual templates correctly. Language-specific HTML can be generated via the JSON-to-HTML conversion API (introduced in the following section).

For full details, please refer to the documentation.

Custom Language Preset

You can now define your own custom language list for the Multilingual Templates language dropdown. Instead of relying solely on the predefined set of languages, this feature lets you specify exactly which languages appear (with custom names, codes, and native names) and choose whether to replace or extend the default list.

Why It Matters

In globalized workflows, not every language variant you want to support may be covered by our built-in list, or you may want to tailor language choices to specific markets or internal conventions. With Custom Language Presets, you gain full control over language options shown to users in the editor, ensuring a smoother localization experience and clearer language selection for your team.

How To Enable

Add a customLanguagePreset object to your TOPOL_OPTIONS, including a langs array of language definitions 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 your custom languages with display names and codes.
  • override controls whether this list replaces (true) or appends to (false) the default languages.

For full details, see our documentation.

Default Template Language Versions

You can now define default language versions that are automatically created when a new multilingual template is initialized. This ensures every new template starts with a predefined set of language variants instead of requiring users to add them manually.

Why It Matters

Default Template Language Versions streamline multilingual workflows by enforcing consistent language availability across all new templates, saving time and reducing setup errors in localization-heavy projects.

How To Enable

Configure the templateLanguageVersions option inside the defaultTemplateSettings object to specify which language versions should be created automatically.

For full details, see our documentation.

CRM Integration Demo

We’ve released a new CRM Integration Demo that walks through a realistic end-to-end integration of the Topol Plugin with a CRM-style application. The guide demonstrates how to initialize the editor, load and save templates, and work with editor callbacks in a real-world integration context, serving as a practical reference for building custom email-editing workflows on top of Topol.

To access it, please visit the demo website or read our documentation.

Improvements

Option to Hide Multilingual Templates Dropdown from the Top Bar

You can now hide the Multilingual Templates language selector from the editor’s top bar. By adding the changeLanguage identifier to the topBarOptions array, the language dropdown will no longer be displayed.

More details can be found in our documentation.

Callable Functions to Control Multilingual Templates via Custom UI

You can now manage Multilingual Templates entirely from your own custom UI, without relying on the editor’s built-in language controls. A new set of callable functions lets you programmatically create, delete, select, and define the primary language, giving you full control over multilingual workflows and seamless integration with your existing systems.

Available functions:

  • 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, please refer to our documentation.

Bugfixes

  • Fixed a few visual issues related to Gradients and Hover effects.