-
Stop the reflect endpoint from serving a previous deployment's section and block catalog. Its cached reflection is now keyed by build id, so a redeploy is a cache miss instead of inheriting whatever the last build left behind, and two frontends sharing one Redis no longer overwrite each other's entry. Cached entries expire after 12 hours.
Previously the cache entry outlived the deployment that wrote it: a frontend whose cache driver is Redis could hand Studio the old build's component definitions, templates, page types and style tokens after a deploy, and a failed SSR trigger would keep re-persisting that entry rather than refreshing it.
-
ContainergainscolumnsTabletandgapTabletprops, adding a tablet stage between mobile and desktop. Column count and gap now resolve in three stages — mobile (below 600px), tablet (600–1279px), desktop (1280px and up) — one breakpoint scheme shared with the Sizer. Both fall back to their mobile value when unset (columnsTablet→columnsMobile,gapTablet→gapMobile), so containers that only configured mobile and desktop render as before at those two stages.Breaking (intended): the desktop gap now switches at 1280px instead of 800px. Containers with an explicit desktop gap and no tablet gap now use the mobile gap between 800–1279px where they previously used the desktop gap — the same breakpoint unification the Sizer already applies. Column behaviour is unaffected. (SUPPORT-18)
-
Banner Basic, Banner Integrated and Banner Showcase — both their section and block variants — gain a Background Color control that fills the inner banner tile (the surface behind the copy, shown when no background image is set). This is independent of a section's outer Backdrop background, so the band around the banner and the banner tile itself can be coloured separately. Text and icon contrast adapt automatically to the chosen colour; unset banners keep their pale theme fallback. (SUPPORT-31)
-
All three CTA banner sections — Banner Basic, Banner Integrated and Banner Showcase — gain a Sizing control (fixed height, responsive height, or aspect ratio) to give the banner a definite height. Banner Basic's Content Alignment becomes two-dimensional (vertical + horizontal, e.g.
bottom-left) and Banner Integrated gains a Vertical Alignment control, so content can now sit at any edge — including the bottom. Vertical alignment only takes effect once the banner has a definite height (with Sizingautoit stays at the top) and composes with the existing Content Padding control. Existing sections render unchanged: stored alignment is preserved and Sizing defaults toauto. (DEV-343, SUPPORT-16) -
The Container section adds Tablet columns and Gap (Tablet) controls, so editors can set a distinct column count and gap for tablet viewports (600–1279px); previously the tablet band inherited the mobile columns and, above 800px, the desktop gap. Both controls fall back to the mobile value when left on their default, so existing containers keep their mobile/desktop configuration.
Note: the desktop gap now applies from 1280px instead of 800px — between 800–1279px containers use the tablet gap, or the mobile gap when Gap (Tablet) is left on Auto. (SUPPORT-18)
-
containerIdaccepts either a single container or a record mapping market ID to container, so one deployment can install a different GTM container per market. A string behaves exactly as before. A market with no entry in the record gets no container at all — nogtm.jsand no<noscript>fallback — and is never served another market's container; unknown keys and uncovered markets are reported at build time.The Consent Mode v2 default now renders above
gtm.jsin<head>by explicit tag priority, rather than relying onasyncdeferring the container script past it.