← All releases
Bubbles

Release Notes

What's new in the Cavai platform — features, fixes, and improvements.

March 2026
Frontend 8.21.0 Engine 6.8.0 Composer 3.1.5
Features
Animation System New Feature

Blocks can now be animated. Choose from 20+ ready-made presets or combine up to 7 effect types to build your own — with full control over easing, timing, and direction.

Builder

A new Animations tab appears on (almost) all block types — text, graphic, button, HTML, video, AR, and form.

Presets

Pick from 20+ presets with a live hover preview in the dropdown, or build a custom animation with the visual keyframe editor. A small dot indicates when a preset has been tweaked, with a revert button on hover.

Animation tab with Fade In preset Revert button and keyframe editor

Animations tab with preset. Revert button appears when tweaked, with individual keyframe editing below.

Preset dropdown

20+ presets with live hover preview.

Custom easing

A visual bezier curve editor with draggable control points and common presets like ease, bounce, and linear.

Custom cubic bezier curve editor

Draggable control points with cubic-bezier output.

Copy & paste

Animations can be copied and pasted between blocks via icons in the tab header. Each effect row includes a reverse button to quickly flip the direction.

Flow

Flow operators can now trigger animations on specific blocks.

ShowHide

Pick an animation per target — show gets entrance animations, hide gets the reversed versions automatically. Slide presets animate blocks completely off-screen regardless of format size. Each target has its own preset, duration, and easing.

ShowHide operator with per-target animation

ShowHide with per-target animation, duration, and easing.

Change operators

A dedicated dark-themed panel with transition-style presets and a two-phase OUT→IN preview.

Flow animations take priority over block-level animations and keep their end state.

Change Text operator with transition presets

Change operator with Trigger Animation panel and transition presets.

🎨
Builder & Template Polish Improvement

Cleaner button and HTML templates, updated border radius presets, and small code editor tweaks.

Buttons

New Basic button template — a simple gray button with arched shape and no effects. The Bold and Cavai Classic templates have been removed. All remaining templates now use consistent border radius values and the unified Inter font.

The template revert button replaces the old orange "modified" dot: it appears on hover with a confirmation step.

Border radius presets updated to cleaner values (0, 6, 16, 9999px). Manual adjustment no longer auto-snaps to a preset.

Button template selector
HTML templates

Simplified from 10 down to 3: Default, Empty, and Responsive. The new default uses the signature Cavai gradient with Lato font.

HTML templates with code editor Default template preview with Cavai gradient
Code editor

Line wrapping is now enabled — no more horizontal scrolling.

Prettify line width increased to 120 characters. The editor itself is wider (50% of viewport).

Library Script Operator New Feature

Add custom behavior to creatives without writing code. Pick a script, fill in the form, done.

A new flow operator that lets you pick ready-made scripts from a searchable dropdown and configure them through an auto-generated form. The form adapts to each script, supporting different parameter types: text, numbers, toggles, colors, URLs, element pickers, and flow step pickers.

The library is designed to grow over time — commonly used behaviors like click-target mapping, skin placement, and image swaps can be added as scripts, making them available to the whole team without touching code.

Under the hood, the assembled script is stored as standard JavaScript — fully compatible with existing creatives.

Library Script operator with form Searchable script dropdown with categories
Script Library New Feature

A new standalone repository of pre-built scripts for the Creative Engine flow. Scripts are installed into creatives via the Library Script operator.

The first batch includes Skin Placement (dynamic element positioning with configurable regions) and Choice Click Target (map choice buttons to arbitrary elements via element-pair parameters).

The library introduces a new element-list parameter type, letting script authors define sets of target elements with a visual picker in the builder UI.

Each script includes metadata (name, description, category, parameters) that the Library Script operator reads to auto-generate its configuration form. Adding a new script to the repo makes it instantly available in the builder.

Custom Metrics Pipeline New Feature

Creatives can now report arbitrary named metrics that flow through the entire analytics pipeline — from log ingestion to aggregated reporting.

Session-stage aggregation collects custom metrics (message type metric) into DuckDB MAP columns. Hourly aggregation explodes the MAPs, aggregates per metric name respecting the declared strategy (sum, max, or flag), then re-collects into a MAP.

Fully backward compatible — falls back to the original query when no custom metrics exist, and old Parquet files without MAP columns work via DuckDB’s union_by_name.

🎨
Cavai MCP Server Improvement

Three updates to the AI assistant integration — new viewability metrics, rate limiting, and a blob-stripping fix.

Viewability metrics

viewable_impressions and seconds_in_view are now exposed in reports and bucket queries. Enables calculating time spent and viewability rates directly from MCP tools.

Rate limiting

A sliding-window rate limiter caps tool calls per session in HTTP mode (default 30/min). Rejects clearly so Claude adjusts its behavior. Configurable via RATE_LIMIT_RPM env var.

Build response fix

The build_creative response was still returning the full blob. Fixed with a JSON.parse reviver that strips creative_blob at any nesting depth.

Improvements
API Proxy for Creatives — A new pass-through proxy route on the assets CDN lets ad creatives call external APIs through the pre-approved delivery-0.cavai.com domain. Supports all HTTP methods, forwards headers and body, returns response with CORS headers.
Seconds Total Active — New exportable metric tracking total active time per session. Available in Bunny data exports.
Total Interactions — New metric based on creative_actions, added to Bunny data exports alongside the existing per-action breakdown.
Documentation Overhaul — The sidebar “API” section is now Integrations, with a new user-facing REST API page covering reporting and analytics endpoints. A dedicated Flow Table page documents all 11 columns, tree structure, and aggregate mode.
Cavai.com Performance & SEO — Hero GIF converted to animated WebP (13.4 MB → 6.1 MB, 54% smaller). Added sitemap, unique meta descriptions, canonical URLs, and structured data. Fixed Gallery crash by replacing remaining Image tags with AnimatedMedia.
Bug Fixes
Hover Effects Restored — A previous update disabled mouse interaction on non-clickable blocks to prevent click bleed-through. This has been reverted based on feedback from the creative team — custom CSS hover effects on graphic, text, and HTML blocks work again.
Form Scroll Fix — The submit button at the bottom of long, scrollable forms is no longer cut off. Default alignment changed to top.
Link Block Reporting — Link blocks in flow should now report impressions correctly. Previously they always showed 0 despite working fine. Needs verification with live data.