Skip to content

Changelog - April, 2026

New Features

No new features this time around. We're busy working on a few major improvements.

Improvements

Email Config UI/UX

Language-Based Section Variants

Section Variants and Multilingual Templates now work together. Variants build alternative versions of a section, multilingual templates translate content per language, and the two used to be independent. A variant can now be tied to one or more languages, so each language mutation renders only the sections that belong in it.

Some sections only make sense in certain markets, and forcing a translation elsewhere means more work for the localization team and more clutter for readers. Language-based variants leave those sections out of the languages where they don't belong, without copying the template or hiding content with hand-written Merge Tags. It works the other way too: a market that needs an extra section can get it as a variant scoped to that one language, and the rest of the template stays untouched.

Set enableSectionVariants in TOPOL_OPTIONS:

ts
enableSectionVariants: true,

With Multilingual Templates also enabled, the editor exposes a built-in TOPOL_TEMPLATE_LANG Merge Tag inside the Variants condition picker. Pick the languages a variant should appear in. At send time, the variant whose languages match the reader's current language mutation renders.

An existing language Merge Tag in your own system can replace the built-in one:

ts
languageMergeTag: "MY_CUSTOM_LANG_TAG",

For full details, see the documentation.

Email Config UI/UX

File Manager Support in the GIF Block

A Custom File Manager now works from the GIF block too. Once enabled, the Custom Source tab shows Choose Image and Replace buttons next to the URL input. Either one fires the same onOpenFileManager callback the Image block uses, and TopolPlugin.chooseFile() writes the returned URL to the GIF block's src.

Assets in your own media library could already reach a GIF through the Image block, but the dedicated GIF block was stuck on GIPHY and pasted URLs. That meant two flows for the same kind of file, with authors copy-pasting links for branded or self-hosted GIFs. The GIF block now behaves like the Image block, so either one works.

This is opt-in for backwards compatibility, so existing integrations won't see the file manager buttons in GIF blocks until it's turned on. Alongside the usual customFileManager setup, add enableFileManagerInGif: true to TOPOL_OPTIONS:

ts
const TOPOL_OPTIONS = {
  customFileManager: true,
  enableFileManagerInGif: true,
  callbacks: {
    onOpenFileManager() {
      // Opens for both Image and GIF blocks.
      // Call TopolPlugin.chooseFile() with the selected URL.
    },
  },
};

An onOpenFileManager already wired for the Image block needs no changes; the GIF block reuses the same handler. For full details, see the documentation.

Email UI/UX Config

Merge Tags in Input Fields

Merge Tags now insert into form fields, not only text. Clicking into a supported field opens a picker with all configured tags. Supported fields include button URLs, image alt text and links, video URLs, GIF sources, and social network URLs.

These fields previously accepted plain text only, so using a Merge Tag meant typing the placeholder by hand, which was easy to get wrong. A click into the field now opens a dropdown with every available Merge Tag.

Nothing to configure. As long as mergeTags is set in TOPOL_OPTIONS, the picker appears automatically.

For full details, see the documentation.

Bugfixes

  • Email Fixed an issue where Merge Tags lost their formatting when inserted into bold or italic text.
  • Email Fixed an issue where images uploaded through the Custom File Manager into social or carousel items replaced the wrong item.