Changelog - April, 2026
New Features
No new features this time around – we're busy working on a few major improvements...
Improvements
Language-Based Section Variants
Section Variants and Multilingual Templates now work together. Variants let you build alternative versions of a section and multilingual templates let you translate content per language, but until now the two were independent. A variant can now be tied to one or more languages, so each language mutation only renders the sections that belong in it.
Why It Matters
Some sections only make sense in certain markets, and forcing a translation in the others creates more work for your localization team and more clutter for your readers. With language-based variants, you can 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 also goes the other way: if a market needs an extra section that doesn't exist anywhere else, you can add it as a variant scoped to that one language and the rest of the template stays untouched.
How To Enable
Make sure enableSectionVariants is set in your TOPOL_OPTIONS:
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 and the editor takes care of the rest. At send time, the variant whose languages match the reader's current language mutation is the one that renders.
If you already have your own language Merge Tag in your system, you can point the editor at it instead of using the built-in one:
languageMergeTag: "MY_CUSTOM_LANG_TAG",For full details, please refer to the documentation.
File Manager Support in the GIF Block
Your Custom File Manager can now be used from the GIF block too. Once enabled, the Custom Source tab shows Choose Image and Replace buttons next to the URL input – clicking either one fires the same onOpenFileManager callback the Image block uses, and TopolPlugin.chooseFile() writes the returned URL to the GIF block's src.
Why It Matters
If you keep your assets in your own media library, you could already pull GIFs in through the Image block, but the dedicated GIF block was stuck on GIPHY and pasted URLs. That meant two different flows for the same kind of file, and authors falling back to copy-pasting links for branded or self-hosted GIFs. Now the GIF block behaves like the Image block, so it doesn't matter which one you grab.
How To Enable
This is opt-in for backwards compatibility, meaning that existing integrations won't see the file manager buttons in GIF blocks until you turn it on. In addition to the usual customFileManager setup, add enableFileManagerInGif: true to your TOPOL_OPTIONS:
const TOPOL_OPTIONS = {
customFileManager: true,
enableFileManagerInGif: true,
callbacks: {
onOpenFileManager() {
// Opens for both Image and GIF blocks.
// Call TopolPlugin.chooseFile() with the selected URL.
},
},
};If you've already wired onOpenFileManager for the Image block, no callback changes are needed – the GIF block reuses the same handler. For full details, please refer to the documentation.
Merge Tags in Input Fields
You can now insert Merge Tags into form fields, not only text. Click into a supported field and a picker opens with all your configured tags. Supported fields include button URLs, image alt text and links, video URLs, GIF sources, and social network URLs.
Why It Matters
Before, these fields only accepted plain text. To use a Merge Tag, you had to type the placeholder yourself, which was easy to get wrong. Now, just click into the input field and a dropdown with all available Merge Tags appears.
How To Enable
Nothing to configure. As long as mergeTags is set in your TOPOL_OPTIONS, the picker shows up automatically.
For full details, please refer to the documentation.
Bugfixes
- Fixed an issue where Merge Tags lost their formatting when inserted into bold or italic text.
- Fixed an issue where images uploaded through the Custom File Manager into social or carousel items would replace the wrong item.