Product Changelog

Stay up-to-date with all the improvements, features, and changes introduced to the product, APIs, docs, and other resources.

rss_feedSubscribe to RSS Feed

New Features

  • Create a File for every agent: Every custom agent, including on-demand agents, and Polaris can create files. The tool is provided to every agent by default, so there's nothing to add or configure, and it doesn't appear on the agent's Tools card. Ask for a file in the agent's instructions or in the request that runs it, and the reply includes a secure download link.
  • 16 file formats: Excel, CSV, TSV, JSON and XML for data; PDF, Word, Markdown, plain text and HTML for documents; PowerPoint for presentations; PNG, JPEG, GIF and WebP for charts and images; and ZIP to bundle several files into one download. Ask for charts by name, for example a PDF report with a bar chart. If you don't name a format, the agent uses CSV for tables and Markdown for text.
  • Send files to an agent: Send up to 3 files, 5 MB each, in the same HTTP request that starts an agent, as multipart/form-data in a field named files. Supported files are images (PNG, JPEG, WebP, AVIF), documents (PDF, Word, PowerPoint), text (TXT, Markdown, HTML, CSS, JSON) and data (CSV, Excel). The agent reads documents, gets a description of each image, and can pass a file on to its tools, for example to upload an attached image to your stack as an asset.

Enhancements

  • File size: An agent can create files up to 5 MB by default, and the limit can be raised for your organization. If a file is too large, the agent tries again with a smaller file, for example with fewer rows, compressed, or split into parts.
  • Execution log: A Create A File step shows a file card with the file name, size and time until the link expires, plus buttons to copy the download link and download the file. For runs started with files, the run's Input lists each file under attachments with its name, size and type.
  • Existing agents keep working: Agents that already have the older Create a File tool attached keep using it for CSV, JSON, Markdown and plain text, with the same output and file name as before. Every other format comes from the built-in tool. To use only the built-in tool, remove the older one from the agent's tools.
  • Clear rejections: A request with an unsupported file type, more than 3 files, a file over 5 MB, or a file in a field other than files is rejected before the agent runs, with an error that names the file and the rule. No AI credits are used.

Automations continue to use the Create a File action of the Files by Agent OS connector for CSV, JSON, TXT and Markdown files.

To learn more, refer to the Files by Agent OS, Send Files to an Agent, and View Execution Log of Agent OS documentation.

New Features

  • Canvas editor: Build automations visually on a single zoomable canvas. See the trigger, actions, If-Else branches and loops together, and configure and test each step in a side panel without leaving the canvas.
  • Switch editors at any time: Open an automation and click Try Canvas Editor. Your choice is remembered, so your other automations open in the Canvas editor too. To go back, click Switch to Form Editor. Both editors use the same steps and labels, so an automation behaves the same way in either one.
  • Add steps from one panel: Click + below a step to open the Select Step panel, with All, Apps, Logic and Utilities tabs. Under Logic, add an If-Else step that splits into Matches and Else branches, or a Loop that repeats over a data source or a set number of times (up to 100 by default).

Enhancements

  • Find your way around: Search for a step by its name, app or step type and jump straight to it. Use Fit to view to see the whole workflow, or zoom in and out.
  • Manage steps in place: From each step's menu, Rename it, Add Note, Duplicate it, Copy and Paste below to move it, Replace Action, or Delete it.
  • Executions and settings with the automation: Each automation has Builder, Executions and Settings tabs. Executions show the input and output of every step, including loop iterations and If-Else branches. Settings cover throttling, cloning (clones open in the Canvas editor), export and import, share links and deleting the automation.

Good to know: Activating an automation makes its canvas read-only, and a Loop can't be added inside an If-Else branch.

To learn more, refer to the Build Automations with the Canvas Editor documentation.

You can now pass Personalize variant aliases, such as cs_personalize_0_1, in the x-cs-variant-uid header when you retrieve entries by taxonomy with the Content Delivery API. Use the alias you get from Personalize as it is, with no lookup of the variant UID behind it. Aliases resolve by the same rules as when you retrieve entries of a content type.

With this update:

  • Aliases and UIDs work together: pass aliases, variant UIDs, or a mix of both in the same request. Requests that already use variant UIDs keep working.
  • The variant limit applies to taxonomy requests: when you retrieve entries by taxonomy, up to 5 variants are applied by default, keeping the variants added first. Pass show_errors=true to see when variants are left out.

Check our documentation for more details, or contact support for more information.

Content managers have always picked modular blocks by name. Now they can see them. Content modelers can give each block a preview image and group blocks into categories, so content managers find and add the right block by what it looks like, in the entry editor and in Visual Editor.

This release introduces:

  • Preview images for blocks, chosen from your assets or uploaded in JPEG, PNG, or WEBP up to 5 MB, set from a block's Manage Preview and Category option in the content type and global field builders
  • Categories on a Modular Blocks field, created in the field's properties and assigned per block, so related blocks are grouped together
  • An Add Block dropdown in the entry editor that shows each block's image, with View All opening a modal to browse every block by category, search by name, and add several blocks at once
  • The same image and category view when adding a block in Visual Editor, from the Form panel or the canvas
  • Preview images and categories in the content type and global field schema, for teams that manage content models through the Content Management API

Previews and categories are available to all organizations. A Modular Blocks field keeps its existing block buttons until at least one of its blocks has a preview image or the field has a category.

The Add Block modal showing each block as a card with its preview image and category, with category filters on the left and a search box

Learn more about Modular Block Previews and Categories.

Added

File exports have a new Hash PII Fields toggle. Turn it on and the fields marked private for your account leave Lytics as SHA-256 hashes instead of plain text.

How it works

  • Where: Amazon S3, Google Cloud Storage, Azure Blob Storage (JSON), and the Lytics File Service exports (CSV and JSON via SFTP, and Email CSV).
  • What's hashed: every field marked private for your account, as the SHA-256 of the trimmed, lowercased value. List fields are hashed value by value.
  • What isn't sent: a private field that isn't text, such as an address or a date, is left empty in a CSV and left out of JSON. It is never sent in plain text.
  • Phone numbers are hashed exactly as stored, so store them in the format your destination expects.
  • Off by default. Existing jobs keep sending the same data until you turn it on.

See Amazon S3, Google Cloud Storage, Microsoft Azure, and Lytics File Service for where the toggle sits in each job.

Improved

The Meta Conversions API export can now send order and product details with each event, and can flag events for Meta's Limited Data Use.

What's new

  • order_id is now in Custom Parameters Mapping. Map a single-valued field. Numbers are sent as strings.
  • contents sends a list of products. Map a field that holds a JSON array such as [{"id": "sku-1", "quantity": 2, "item_price": 19.99}]. Lytics keeps only id, quantity, item_price, and delivery_category, so no other data in the field reaches Meta.
  • delivery_category takes in_store, curbside, or home_delivery.
  • Limited Data Use (LDU) is a new toggle, off by default. Turn it on to flag every event for Meta's Limited Data Use, which Meta applies by the user's location for US state privacy laws such as the CCPA.

See Meta for the full setup.

Added

Custom Roles let you bundle granular permissions into a single named role that you create, edit, and delete yourself. No more hand-picking a long list of permissions for every user, and no more asking Lytics to provision a role for you. When none of the predefined roles fit a job function, define the access shape once and reuse it across your team.

What's new

  • Author roles in the app. A new Custom Roles section (under Users, next to Manage Users) lets account admins create a role from the granular permissions catalog, give it a name and description, and save it.
  • Start from a predefined role. Prefill the permission selection from a built-in role like Data Manager, then tune it to exactly the access you want.
  • Assign like any other role. Saved custom roles appear in the Predefined Roles tab and are assigned the same way as built-in roles. Permissions stay additive across everything a user holds.
  • Edit once, applies everywhere. Changing a custom role's permissions immediately updates the access of every user who holds it, with no re-assignment needed. Before deleting a role, you can see how many users and access tokens currently use it.

See Custom Roles for the full walkthrough.

Security Fix:

  • Pinned the transitive qs dependency to version 6.16.1 to fix a security vulnerability.

New Feature:

  • Added the opt-in Contentstack.Builder.setSerializeNulls(boolean) option. When you enable it, the SDK sends null values in request bodies to the API instead of dropping them, so you can clear a field's value (for example, a Number field on a localized entry). The option is off by default, so existing behavior does not change.

Security Fix:

  • Fixed security vulnerabilities in the SDK dependencies.

Security Fix:

  • Updated urllib3 to version 2.8.0, certifi to version 2026.10.19, and setuptools to version 84.1.0 to fix security vulnerabilities.
  • Removed unused development packages.

Security Fix:

  • Updated the qs dependency to version 6.16.2 and the follow-redirects dependency (through axios) to version 1.16.2 to fix security vulnerabilities.

Security Fix:

  • Updated the minimum urllib3 version to 2.8.0 to fix vulnerabilities related to improper certificate validation and allocation of resources without limits.

Security Fix:

  • Excluded the vulnerable transitive junit 4.10 dependency (CVE-2020-15250), which json-simple pulled in.
  • Removed the unused junit-vintage-engine test dependency.

Security Fix:

  • Updated the spring-web dependency from version 7.0.8 to 7.0.9 to fix Spring Framework security vulnerabilities.

Security Fix:

  • Updated the qs dependency to version 6.16.1 and the follow-redirects dependency (through axios) to version 1.16.2 to fix security vulnerabilities.

Security Fix:

  • Updated the spring-core, spring-beans, and spring-web dependencies from version 6.2.19 to 7.0.9 to fix Spring Framework security vulnerabilities.

Security Fix:

  • Updated the axios dependency to version 1.20.0 and the follow-redirects dependency to version 1.16.2 to fix security vulnerabilities.

Enhancements

  • Page awareness: In the Visual Editor, Polaris knows the open page, its language, the audience you are viewing, and the entries behind each part of the page.
  • Saves to the right entry: Polaris saves changes to the entry and language behind the page and shows them in the preview without a reload.
  • Language versions: Polaris adds a missing language version of a page, including a page URL for that language.
  • Audience edits: Polaris applies changes only to the audience variant you are viewing.
  • Open another page: Polaris replies with a link to open another page or language instead of switching the page you are on.

To learn more, refer to the Get Started with Polaris and Polaris Features documentation.

New Features

  • File exports: Ask Polaris to export one or more entries as a Markdown, JSON, PDF, or Word file and download it from the conversation.
  • Answers from documentation: Polaris answers product questions from the Contentstack documentation and links to the relevant guide.
  • Entry comments: Polaris reads the comments on an entry, adds comments with @mentions, applies review feedback, and resolves comment threads.
  • Releases: Polaris creates releases, adds entries, deploys them, and rolls them back.
  • User and access management: Polaris lists stack users, invites people with a role, changes roles, and resends pending invitations.
  • Stack setup: Polaris creates environments without a base URL, connects a Personalize project to a stack, and builds entry URLs from the content type's URL pattern.
  • Files for on-demand agents: Attach files to your request when you run an on-demand agent. The agent works from the attached content and can upload attached images as assets.

To learn more, refer to the Polaris Features, Polaris Prompts, and Run an Agent On Demand documentation.

Improved

BigQuery imports handle large tables more reliably. A large query result is now exported and imported a piece at a time, so a failure retries only the piece that failed, and an import's result is capped at 100 GB.

What's new

  • Large results import in windows. When a result is larger than about 10 GiB and the import has a Timestamp Field, it is split into time windows of about 10 GiB, and each run exports and imports one window. A failed export retries only its own window and reuses the query result instead of running your query again.
  • Imported files are cleaned up. Each window's export files are deleted as soon as they're imported, and a failed export deletes what it wrote.
  • A stop doesn't lose rows. If a deploy or rebalance interrupts a file mid-import, that file is imported again.

What you need to know

  • An import whose result is larger than 100 GB now stops without exporting anything, and doesn't retry. Its error says how large the result was.
  • To bring in a larger history, narrow what the import reads, for example with a view over a date range, and import older data with separate imports. Lytics Support can raise the limit for your account.

See Google BigQuery for setup.

Improved

Flow metrics for versions created on or after October 15, 2026 now count every move a user makes from one step to the next, and refresh hourly instead of once a day. Every step and every branch has its own number.

What's new

  • Entered counts every entry, including users who re-enter.
  • Completed counts every way out of the flow: the end of a path, a split that couldn't place the user, or a step that was removed.
  • Active is Entered minus Completed: the users still in the flow.
  • Wait steps show how many users are waiting at that step right now.
  • Split steps count each branch, including branches that lead straight out of the flow, which used to show "—".
  • A number that is still loading, or failed to load, shows "—" rather than 0.

Scope

  • Older flow versions, drafts, and templates keep their daily snapshot metrics, so their numbers don't change.
  • A new version can read differently from an older version of the same flow, because it counts every way out.

See Flow Metrics for how each number is defined.

Improved

The left navigation is reorganized so the pages you use to work with people sit together, and the pages that shape your data model sit together. Building Profiles is now Schema Studio, and a new Audiences & Profiles section sits between it and Using Profiles.

What moved

  • Schema Studio lists its Dashboard first, then Versions, Drafts, Fields, Mappings, and Ranks, each one click away instead of under a Schema group. Identity keeps its own group (Rules, Stats), and Exploration holds Schema Copilot, Schema Viz, Schema Audit, Field Audit, and Simulate.
  • Audiences & Profiles gathers Dashboard, Audiences, Behavioral Scores, Search Users, Lookalike Models, and Bulk GDPR. Search Users moved here from Schema Studio.
  • Using Profiles keeps Experiences, Personalize, Flows, Widgets, Goals, and Reports.
  • The Queries row is gone.

What stays the same

  • Every page keeps its URL, so bookmarks and shared links still work.
  • Permissions are unchanged. A section shows only the rows you can open.

See Audiences and Schema Drafts for walkthroughs that start from the new navigation.

Added

The audience builder has a new Flow rule, so you can build an audience from where users are in a flow and reach them with anything that takes an audience.

What you can do

  • Reach users who are currently at a stage, for example everyone waiting in a nurture step, with a matching message in another channel.
  • Find users who have reached a stage, to measure how far a flow is getting people or to hand them to a follow-up campaign.

How it works

  • Pick a flow, its version, a condition, and one or more stages by name.
  • A saved rule reads back as the flow and stage names, so anyone opening the audience can see what it targets.
  • The Flow tab appears on user audiences for people with access to Flows.

See Audiences for the steps.

Bug Fixes:

  • @contentstack/cli (2.0.2):
    • Fixed the CLI failing to start with a Cannot find module 'tslib' error when installed with a package manager that does not hoist dependencies, such as pnpm.
  • @contentstack/cli-utilities (2.0.2):
    • Fixed the CLI failing to start with a Cannot find module 'tslib' error when installed with a package manager that does not hoist dependencies, such as pnpm.
  • @contentstack/cli-cm-import (2.0.2):
    • Fixed entries replaced during an import with the --replace-existing flag losing their references to other entries.
    • Fixed the import failing with an Asset(s) does not exists error when an asset or entry UID contains special characters, such as a backslash or a quote.
  • @contentstack/cli-bulk-operations (2.1.1):
    • Fixed bulk operations commands failing with Cannot find module errors when installed with a package manager that does not hoist dependencies, such as pnpm.
  • contentstack-cli-tsgen (5.1.1):
    • Fixed generated TypeScript failing to compile with duplicate interface names when a modular blocks field has the same UID as a content type, global field, or built-in type.
  • types-generator (3.10.6):
    • Fixed generated TypeScript failing to compile with duplicate interface names when a modular blocks field has the same UID as a content type, global field, or built-in type.

Bug Fixes:

  • @contentstack/cli (1.69.0):
    • Fixed the CLI failing to start with a Cannot find module 'tslib' error when installed with a package manager that does not hoist dependencies, such as pnpm.
  • @contentstack/cli-utilities (1.20.1):
    • Fixed unbounded retries on persistent 401 errors during token refresh. The CLI now retries once and exits with an Authentication failed after token refresh error.
  • @contentstack/cli-cm-import (1.35.2):
    • Fixed cm:stacks:import --yes still prompting Would you like to overwrite existing file? for each workflow or extension whose content types are missing from the import data.
  • @contentstack/cli-audit (1.22.0):
    • Fixed cm:stacks:import --yes still prompting Would you like to overwrite existing file? for each workflow or extension whose content types are missing from the import data.
    • Fixed cm:stacks:audit:fix --copy-dir prompting for confirmation before removing each workflow or extension whose content types are missing.

Improved

Every client-side integration in the Lytics JavaScript tag now runs only when its box is checked in account settings. Eight of them used to run automatically whenever the partner's tag was on the page: Facebook Ads, Google Tag Manager, Google DFP, Google Analytics custom dimensions, AdRoll, Tealium, Qubit, and AddThis. They now work like the rest, so one list shows what the tag shares with which partner, and you can change it yourself.

What changes

  • Existing accounts: nothing stops working. Any of the eight that was running on your account was switched on for it.
  • New accounts: every client-side integration starts off. Check the ones you use, such as Facebook Ads to sync audiences through the Meta Pixel, or Google Tag Manager to collect the dataLayer.
  • The Integrations Blocklist is gone from account settings. On the version 2 and version 3 tags, the checkboxes are the only on/off control.

What you need to do

  • Setting up a new account? Check the integrations you need under Account → Settings → JavaScript Tag → Client Side Integrations.
  • Still on the legacy version 1 tag? It doesn't read the checkboxes and still uses the blocklist. Contact Lytics Support to change it.

See JavaScript Tag Config for the full list of integrations.

Added

The audience builder has a new recurring anniversary operator for date fields. It builds an audience of people whose date comes around today, such as a birthday, a signup anniversary, or a renewal date, and it updates every day without anyone editing the rule.

What's new

  • Reach people on the same month and day every year, the same day every month, the same weekday every week, or every N days, for birthday offers, membership anniversaries, or recurring check-ins.
  • Reach them a set number of days after the date instead of on it, such as a follow-up 10 days after a birthday, or a half-birthday at 182 days.
  • See the audience's size and sample profiles while you build the rule, as with any other rule.

How it works

  • Matching uses today's date in UTC.
  • A date that doesn't exist in a period doesn't match: a Feb 29 birthday matches only in leap years, and the 31st only in months that have one.
  • Available on date fields. Dates stored inside a map field aren't supported.
  • In SegmentQL and the Segment API, the same rule is the recurring() function.

See Audiences for the rule settings, and Advanced Mapping Functions for recurring().

New Feature

  • Custom Models (Bring Your Own Key): Power Polaris and Custom Agents with your own LLM provider and credentials. From AI Settings > Custom Models, configure OpenAI for Polaris, and OpenAI, Azure OpenAI, Google Vertex AI, Google Gemini, or Anthropic for Custom Agents. You can also set a custom model for an individual agent in its Settings.

To learn more, refer to the AI Settings: Custom Models (Bring Your Own Key) documentation.

Added

Bulk GDPR lets privacy and data teams queue deletions for a whole list of profiles from the Lytics UI, without writing code against the bulk deletion API.

How it works

  • Upload a one-column CSV of identifiers, such as email addresses, from Using Profiles > Bulk GDPR, then confirm the count before anything is queued.
  • See how many profiles were queued and how many failed, and download a results file with a request ID for each identifier, ready for your audit trail.
  • Resubmitting an identifier on the same day returns its original request ID instead of queuing a duplicate.

Good to know

  • The page is available to users whose role can delete profiles (Admin, Data Manager, or User Profile Manage).
  • Files are limited to 500 KB. Larger lists should use the bulk deletion API directly.
  • Deletions can't be undone.

See Bulk User Deletion for the full walkthrough.

Added

The Try it tab in the schema draft editor, showing sample events and the resolved profile

The schema Draft editor now has a Try it tab for running sample events through your staged changes and seeing the profile they resolve to before you publish.

How it works

  • No setup, no customer data. Each stream your draft maps gets its own events box, pre-filled with a synthetic sample built from the draft's own mappings. Try it never reads your real stream data.
  • See the result instantly. Choose Run test, and the resolved profile comes back as JSON, with a summary of the fields your draft adds or changes versus the live schema.
  • Catch problems early. Streams that map no identifier, or whose events wouldn't contribute to the result, are flagged up front, before you apply anything.

Nothing is published or written to any profile by running a test. See Schema Drafts for the full walkthrough.

Added

Job Blueprints let you save a configured job as a reusable starting point and spin up new jobs from it, pre-filled and ready to review, instead of rebuilding the same setup by hand each time.

How it works

  • Save any configured job as a blueprint from its actions menu; the blueprint captures the job's settings, authorization, quiet window, and monitoring.
  • Start a new job from a blueprint in one click. The create wizard opens with everything pre-filled, so you just review the values and adjust what you need before creating.
  • Manage an integration's blueprints (use, rename, or delete them) from its Manage Integration page.

Good to know

  • Blueprints are scoped to your account and tied to the integration they were saved from.
  • A blueprint's authorization is reapplied automatically when it's still valid, and left for you to pick when it isn't, so a new job never starts from a stale credential.
  • Editing a blueprint doesn't change jobs already created from it, and using one follows your existing job permissions.

See Job Blueprints for the full walkthrough.

Analytics already tells you how many API requests your organization made. Traffic Explorer tells you which ones. It is a new dashboard that shows the individual API requests behind your aggregated usage metrics, so you can find a single request, read its status code, response time, and country, and act on it without raising a support ticket.

Key Features

  • Request-level visibility: View logs for requests served across images, assets, CDN, and GraphQL.
  • Targeted filtering: Combine filters such as status code, URL, host, country, client IP, environment, and API key to isolate the requests you care about.
  • Faster debugging: Investigate error spikes and slow responses by looking at the exact requests behind them.
  • Reusable views: Save a filter set as a named view and reapply it in one click.
  • Export: Download up to 1,000 of the requests behind your current filters as a CSV file for offline analysis.

Traffic Explorer keeps the last 7 days of request logs, and a request becomes searchable within 15 to 20 minutes of being made. Request and response payloads are not captured.

Note: Traffic Explorer is available in Early Access, in the AWS North America and AWS Europe regions only, and is not enabled by default for every organization. If you do not see it in Analytics, reach out to support to have it enabled.

Check our documentation for full details, or contact support for more information.

New Feature

  • commercetools connector: Connect your automations to commercetools with 12 actions. Create, retrieve, and update products and customers, retrieve orders and update their states, create carts, and manage inventory. Product names and descriptions can be written in any of your project's languages.

To learn more, refer to the commercetools documentation.

New App

  • SAP Spartacus Connector: Make Contentstack the CMS engine for an SAP Composable Storefront (Spartacus), while SAP Commerce (OCC) stays the commerce engine. The connector runs in hybrid mode — SAP renders the base of every page and Contentstack overrides only the slots you author.

To learn more, refer to the Install the SAP Spartacus Connector documentation.

Added

  • SAP Spartacus Connector Architecture: A new guide that explains how the SAP Spartacus Connector divides responsibility between Contentstack and SAP Commerce Cloud, composes each storefront page in layers with SAP as the fallback, and runs without extra infrastructure.

To learn more, refer to the SAP Spartacus Connector Architecture documentation.

Adaptive Rate Limiting changes how your organization's rate limits for the Content Delivery, Image Delivery, and GraphQL Content Delivery APIs are enforced, so short, legitimate traffic spikes are served instead of rejected. Your rate limit stays the same. What changes is how it is measured: smoothly over time, with no fixed one-second windows.

What you can do with it:

  • Absorb bursts: Send a burst of requests at once, up to a configured percentage of your rate limit, with capacity that refills continuously.
  • Smooth requests instead of rejecting them: With request smoothing, a request that arrives after your burst capacity runs out is held for a few milliseconds and then served.
  • Retry with clear guidance: A 429 response includes a Retry-After header that tells your application how long to wait.

Note Adaptive Rate Limiting is currently part of an Early Access Program and is available on request. In this phase, it applies only to the Content Delivery, Image Delivery, and GraphQL Content Delivery APIs. To enable it for your organization, contact support.

Check our Adaptive Rate Limiting documentation for full details.

Improved

The Source column on a profile's Profile Fields tab now shows what actually set each value on that profile. Previously it listed every stream that could write the field, so a field like last_name named several streams that had supplied nothing next to the one that had.

What's new

  • Trace any value to its origin: a specific identity fragment, a Cloud Connect data model, Scoring, or "Merged from N fragments" when the field combines several.
  • Click a source to open Why this value?, which lists every fragment that wrote the field and marks the one that won. Use it to answer "why does this profile have that last name?" without reading raw data.
  • Switch to By identity fragment to see a profile from its pieces: each fragment's values, and which of them survived on the merged profile.
  • Profiles open faster. Fields show right away, and the Source column fills in a moment later.
  • Identifiers are listed first and internal fields last, so the fields you care about are at the top.

Why this value? drawer

How it works

Look up a profile under Building Profiles → Search and open the Profile Fields tab. The drawer names the winning fragment, not the individual stream or event within it, and which fragment wins is decided by the field's merge operator, not by identity-key rank.

See Identity Explorer for details.

The entry and asset list and detail pages now show the publish status for every environment in your stack, including environments your role cannot publish to. You can check where content is live, such as in production, before you edit or delete it.

Key Benefits:

  • See whether an entry or asset is published to each environment, not only the ones you can publish to
  • Avoid changing or deleting content that is live in an environment you cannot publish to
  • Keep publish access unchanged, because seeing a publish status does not let you publish to that environment

No role configuration is needed, and existing roles are not affected. Learn more in our Publish an Entry and Publish an Asset documentation.

Enhancement

  • Get User Information action: The Contentstack Management Get User Information action can now also return the roles assigned to a user and the permissions those roles carry. Turn on Show Optional Fields, then select Include roles (and choose a stack) and, optionally, Include permissions.

To learn more, refer to the Contentstack Management - Users Actions documentation.

New Feature

  • Run an agent on demand: Build an agent once, then run it interactively from a Polaris conversation whenever you need something done, instead of waiting for an event or a schedule. Type @ to pick the agent, or use the Run button in the Agent Builder.
  • Runs as you: An on-demand agent acts as the person who runs it, using their connected accounts, their permissions, and the inputs they supply for that run, all recorded against their name.
  • Per-run inputs: Define the inputs the agent asks for on every run, and choose which tool fields the runner fills in.
  • Interactive: Watch each step stream live, answer the agent's questions mid-run, approve changes before they happen, and open a full execution log afterward.

To learn more, refer to the Run an Agent On Demand documentation.

New Feature

  • Polaris Skills: Create reusable, named sets of instructions that Polaris applies whenever they are relevant, such as your naming conventions, your tone, or the checks that must always run. Keep a skill private, share it with specific people, or make it available to your whole organization.
  • Two ways to create: Build a skill from the Skills page, or ask Polaris to draft one for you in a conversation.
  • Deliberate or automatic: Run a skill on demand by typing / in the composer, or let Polaris apply it automatically when your request matches the skill's description.
  • Sharing and governance: Control access with Restricted or organization-wide sharing, assign Can use or Can edit, and mark organization-wide skills as required so they reach everyone.

To learn more, refer to the Get Started with Polaris Skills documentation.

New Feature

  • Build an agent from a Polaris conversation: Describe what you want in plain language, and Polaris interviews you for the few things it needs, selects matching tools, writes the instructions, and creates a draft agent. Review and publish it from the Agent Builder — the fastest way from an idea to a working agent.

To learn more, refer to the Build an Agent in Polaris documentation.

New Feature

  • Polaris Full Screen Mode: Open Polaris in a full-screen workspace — your chats, Skills, and Agents in one place, with more room to work.

Improved

Destination filters can now be set on a single authorization, not just on a whole integration. Until now, every job of an integration got the same suppression list, whichever downstream account it delivered to.

What's new

  • Keep an audience out of one downstream account without filtering the others — for example, a second email account for a region where open tracking is turned off, or an ad account managed by an agency.
  • New jobs created on a filtered authorization are protected from their first run, with no per-job setup.
  • Apply the filter to every integration using the authorization, so integrations added to it later are covered too, or to one integration only.
  • Filters set on the integration and on an authorization combine. Adding one never weakens another.
  • A job's filters show wherever you view the job, including ones it inherits from an authorization.

How it works

Open an integration's summary page with Manage Integration. Each authorization it delivers through now has its own filter below the integration-wide one. Changes take effect on each job's next run.

See Destination Filters for setup and permissions.

This release brings more control over asset metadata, a way to clear out duplicate images, AI metadata written for you at upload, and a listing that remembers how you left it.

  • Select type user-defined field: A Select field captures metadata from a list you define instead of free text, so values stay consistent and filter together. Show the choices as a dropdown, radio buttons, or checkboxes. Read more in Configure Select Fields.
  • Duplicate Management for Images: Identical images are found in the background and grouped into sets. Open Duplicate Management from the asset listing to review the copies and keep the one you want. Nothing is flagged during upload. Read more in Manage Duplicate Images.
  • AI metadata at upload: Configure a space to write AI tags and alt text into assets as they arrive. Anything the uploader supplies is never overwritten. Read more in Auto-Populate AI Metadata at Upload.
  • AI suggested metadata in the API: Read the tags, alt text, objects, colors, and safety flags Contentstack generates for an image, and enrich content from your own systems. Read more in the Assets API documentation.
  • Persistent user preferences: The asset listing remembers how you left it. Your page size, view mode, column layout, sort order, and filters are saved to your account rather than to the browser, so they follow you to any browser or device you sign in from.

We are looking forward to seeing what you build with these.

Note: Assets is a paid add-on and it may not be enabled for your organization. Duplicate Management is being rolled out gradually and may not be available to you yet. To purchase Assets or to ask about availability, contact our support team.

Improved

The redesigned Behavioral Scores page, under Using Profiles > Behavioral Scores, is now a workbench for building audiences. You can see how each of the nine scores is distributed across your users, combine the ones you want, and send the result straight to the audience builder. You no longer need to know score thresholds up front.

What's new

  • Start from a play. Named combinations such as Binge readers (high intensity, low frequency) or At-risk regulars (high frequency, falling momentum) give you a working behavioral audience in one click.
  • Set bands on any score. Pick Low, Medium, or High, or drag the range slider for an exact band. Bands on different scores are combined with AND.
  • See the size before you build. The page shows an estimated count of matching users and the rule that will be created.
  • Continue in audience builder. The score rules carry over into the Audience Builder, where you can name the audience, add more rules, and save it.
  • Explanations next to your data. Expand Why This Score Matters on any score row to see what the score measures and when to use it.

See Behavioral Scores for what each score means and the full set of out-of-the-box behavioral audiences.

Added

Supertopics group related topics into a single targetable interest — what Lytics previously called Affinities. They now have a page of their own at Content → Topics, open to every account with content access.

What's new

  • See your whole interest taxonomy in one place — every topic Lytics found in your content, and every supertopic built from them, scoped by context layer.
  • Build a supertopic in a couple of clicks — name it and pick its topics, or accept one of the groupings Lytics suggests from your own content.
  • Judge a supertopic before you act on it — how much of your content it covers, how many people carry a score for it, and how strongly the average scored user matches.
  • Turn interest into an audience in place — pick a band, or drag your own range, and create the audience without leaving the page.
  • Follow what your content connects — the content map shows which topics share URLs, and a supertopic can be built from any two of them.
  • Shape the taxonomy — allow a topic to keep it available, or block one that isn't useful.

About the rename

Your existing Affinities are your Supertopics, under the same names, with the same member topics and the same scores. Audiences you have already built keep working, and profile fields are untouched.

The word affinity still names the score, so a supertopic reports an avg affinity score and bands such as High Affinity.

See Topics & Supertopics for how the two relate, and Supertopics for creating, editing, and renaming them.

Added

Lytics now integrates with Quantcast, an advertising and audience-measurement platform that brands use to plan, activate, and measure campaigns across the open internet. The integration launches with a Conversion API Export job that turns Lytics audience membership into server-side Quantcast conversions — fire events like purchase or signup from an audience built on cross-channel behavior, data science scores, and content affinities, instead of depending on what a browser pixel happens to catch.

What you can do

  • Drive Quantcast conversions from any Lytics audience, so campaign optimization learns from the full profile rather than on-site activity alone.
  • Stream conversions in near real time as users enter or exit the audience — or trigger on changes to the user fields you care about.
  • Backfill the audience's current members on start, so Quantcast reporting reflects who already qualifies.
  • Attach commerce and page context — order ID, revenue, product category, labels, referrer — so conversions carry the value behind them, not just the fact that they happened.

How it works

Authorization needs only your Quantcast account ID (pCode). Lytics assembles one conversion per user from the identifiers you map, hashes email addresses to SHA-256 before sending, and batches conversions to Quantcast's Conversion API.

See Quantcast for identifier requirements and the full configuration walkthrough.

Contentstack is no longer just for the world’s best enterprises. Starting today, anyone can now create a Contentstack account and start using our leading headless CMS and other powerful apps to build their next great project. Simply visit the Sign Up link to get your organization set up, create your first stack, and run your subscription yourself from the Subscription page in your account settings, click your avatar, then Manage Subscription. This new offering is a perfect fit for smaller teams and individual builders who want to get started and grow at their own pace. What will you build with Contentstack?

Key Features:

  • Create your account and start building: Sign up, verify your email address with a verification code, set your password, and create your first stack. Compare subscription options on our pricing page before you choose.
  • Pick the subscription that fits: Start on Free and move up to Build or Growth as your needs change, with a clear view of what you are charged today before you confirm.
  • Extend with add-ons: Add capacity to your subscription and adjust quantities as your usage grows.
  • Track usage against your limits: The Usage Overview shows where your organization stands on every resource your subscription includes, so you know before you run out rather than after.
  • Turn on extra usage: Keep working past an allowance instead of hitting a hard stop, with the option to cap how far it goes.
  • Keep your billing details current: Update your card, billing address, and invoices in the billing portal whenever you need to.
  • Change course at any time: Cancel your subscription from the Subscription page on your own terms.

To see the limits that apply to your organization, check your own Subscription page, it is always current for you.

Check our documentation for full details, or contact support for more information.

You can now run a bulk action on every entry in the entries list instead of only the entries on the current page. If a search returns 200 entries, you no longer select 100, run the action, and repeat it for the rest, select all records and run it once on all 200.

From the entry list page, you can:

  • Select beyond the current page: Select the checkbox in the table header, then click Select all {number} entries in the banner that appears.
  • Run the bulk actions you already use: Publish, unpublish, delete, and add to release all work exactly as before, only the size of the selection changes.
  • Filter first, or do not: Apply search, filters, or a view to narrow what you select, or select everything the list shows.
  • Review before you act: Click Show Selected to see every entry in the selection, and Clear selection to start over.
Note
  • A single action covers up to 10,000 entries and runs as one background job that you can track in the Stack Bulk Task Queue.
  • Select all records applies to entries only, and it does not support bulk workflow updates or export.

Check our documentation for more details.

Behavioral change: The limit query parameter now accepts positive integers only.

Passing limit=0, an empty value, or a non-numeric value now returns the default number of records for that resource instead of all matching records. Previously, limit=0 returned every matching record, which could cause requests on large stacks to time out.

If your integration relies on limit=0 to fetch a full result set, update it to paginate:

  • Set an explicit limit and page through the results using the skip parameter.
  • Pass include_count=true to retrieve the total number of records available, and continue paginating until you have retrieved that total.

By default, the response limit is 100 records per request. To retrieve the complete result set, specify an appropriate limit and use the skip parameter to retrieve each subsequent batch. For more information, refer to the Limit section.

We have introduced support for multiple identity providers in a Contentstack organization. An organization can hold up to five SAML 2.0 identity providers, each set up as a separate connection with its own certificate, session policy, role mapping, and login URL.

This suits organizations whose people do not all live in the same identity system: a parent company and an acquired subsidiary running separate tenants, employees and contractors on different providers, or a staged migration between providers where both need to stay live during the cutover.

Key Features:

  • Up to five connections per organization: Each connection is configured, enabled, and disabled independently from the Single Sign-On page in Administration.
  • A login URL for every connection: Each connection carries its own SSO ID, which forms its login URL. Share each connection's login URL with the users who should sign in through it.
  • A primary connection: Any enabled connection can be marked as primary. The primary connection supplies the SSO login link that goes out in organization invitation emails.
  • Per-connection session and role settings: Session time-out and IdP role mapping apply per connection, so the roles a user receives come from the connection they signed in through.
  • Metadata import: An identity provider's sign-in URL and signing certificate can be imported from a metadata URL or an XML file, rather than entered by hand.
  • Service provider metadata export: Contentstack's SP metadata for any connection downloads as an XML file, ready to pass to an identity provider team.
  • Organization-wide strict SSO: Strict SSO applies across the organization. If any active connection has it enabled, no user can sign in without SSO.

Existing SSO setups are unaffected. A connection that is already in place keeps its SSO ID, login URL, and Assertion Consumer Service URL, so SAML applications configured against it continue to work without changes.

Note: Support for multiple identity providers might not be available by default. To enable it for your organization, contact our support team.

Check our Configure Multiple Identity Providers documentation for full details, or contact support for more information.

Added

OpenAI Ads is now a Lytics integration. Two new export jobs let you measure and target campaigns running in ChatGPT with the same Lytics audiences you already activate everywhere else.

What's new

  • Conversions API Export — send server-side conversion events from a Lytics audience to an OpenAI pixel, so conversions the browser pixel never sees (offline purchases, phone orders, back-office events) still count toward campaign measurement and optimization.
  • Custom Audience Export — keep an OpenAI custom audience in step with a Lytics audience, so behavioral data, data science scores, and content affinities drive who your OpenAI campaigns reach. Enters add members, exits remove them, continuously.

How it works

  • Conversion events are triggered by audience enters and exits, and optionally by changes to any of up to 75 user fields you choose. Map Event ID to the same ID your browser pixel sends and OpenAI deduplicates the two.
  • Because OpenAI rejects an entire batch of 1,000 conversions if a single event in it is invalid, Lytics drops any profile it cannot build a valid event from and reports it as omitted — one bad profile never costs you the rest of the batch.
  • Emails, phone numbers, names, and external IDs are hashed for you, with each API's normalization rules applied automatically. Google Advertising IDs are sent unhashed, as OpenAI requires.
  • Custom audience membership syncs both directions and reports what OpenAI accepted; OpenAI itself reports audience size only as a privacy-preserving range.

What you need to do

  • Create an OpenAI Ads API Key authorization for custom audience syncs, and an OpenAI Conversions API Key authorization for conversion events. These are separate credentials in OpenAI Ads Manager, and each Ads API key is scoped by OpenAI to a single ad account.
  • Have your Pixel ID ready from the conversions tab in OpenAI Ads Manager before configuring a Conversions API Export.

See OpenAI Ads for the full configuration walkthrough.

Deprecated

The Data Activation Layer (DAL) is deprecated. Setting up Lytics now starts with a Lytics project in Contentstack, and the setup guides have moved there with it.

What's changed

  • A project is the entry point. Creating one provisions the matching Lytics account, generates a JStag snippet, and opens a default data stream ready to receive events — there's no separate activation step to complete first.
  • Connections replace DAL configuration. Link a project to a CMS stack, a Launch project, or a Personalize project to move data between products. The Personalize connection is what makes Lytics audiences available for variant targeting and experiments — the old Sync Audience Definitions job is no longer needed.
  • Launch can handle the tag for you. If your site runs on Contentstack Launch, connect the Launch project and skip installing the JavaScript tag by hand.
  • Access is scoped per project. Collaborators and roles are assigned on each project — organization membership alone doesn't grant access, and a role on one project doesn't carry over to another.

What you need to do

  • Nothing changes in the Lytics app. A project in Contentstack and an account in Lytics are the same thing under two names, so your existing account, streams, and audiences are unaffected.
  • Set up new projects in Contentstack. The three DAL setup pages in these docs have been retired in favor of a single overview page that links into the project setup guides.

See Lytics Projects in Contentstack for the component summary and setup links, or the Contentstack integration for syncing stack entries into Lytics.

Embedded entries and assets in the JSON Rich Text Editor (RTE) now resolve to their current metadata, so your rendered content no longer serves values captured when the entry was last saved. You can also retrieve nested embedded items in a single request.

With this release, you can:

  • Get current metadata automatically: Utils SDKs resolve asset and entry data from _embedded_items, so current metadata appears without stale or unpublished values leaking through, including for link-type references.
  • Resolve nested items in one call: pass include_embedded_items[]=RECURSIVE to resolve entry-to-entry-to-asset chains without a separate request per level.
  • Control the depth: use embedded_items_depth to limit how many levels are resolved, up to a maximum of 5.
Note
  • Existing behavior is unchanged. Omitting the parameter or using include_embedded_items[]=BASE returns the same response as before, so no migration is required.
  • Depth is capped at 5. Values above 5 are clamped to 5.
  • Higher depths increase payload size, so use the smallest depth you need.
  • RECURSIVE applies to GET requests only.

Check our documentation for more details, or contact support for more information.

Security Fix:

  • Updated the jsoup dependency to version 1.23.2 to resolve a resource allocation vulnerability (CVE-2026-75140).

Security Fix:

  • Updated the jsoup dependency to version 1.23.2 to resolve a resource allocation vulnerability (CVE-2026-75140).

Security Fix:

  • Updated the jsoup dependency to version 1.23.2 to resolve a resource allocation vulnerability (CVE-2026-75140).

We’ve made the Assets API available, so everything you set up in Contentstack Assets can now be driven from your own systems. The interface is built for a person working on one asset at a time; the API applies the same structures across thousands of them, on a schedule, or as a step in your release pipeline.

What you can do with it

  • Provision spaces and workspaces: Create spaces per brand, team, or region, add isolated workspaces for a campaign, and set their locales, so onboarding a new team becomes a script rather than a checklist.
  • Model assets around your business: Define asset types and custom metadata fields through the API, then write values onto assets in bulk. A taxonomy change can be rolled out across an entire library in one pass.
  • Localize without re-uploading: Manage localized asset variants and workspace locales programmatically, so opening a new market does not mean rebuilding a library by hand.
  • Automate governance: Read an asset’s full version history, fetch any specific version, and name versions so your audit trail matches your release process.
  • Enrich assets for interactive experiences: Set visual markups such as hotspots and bounding boxes, and apply image transformations, as part of your publishing pipeline instead of asset by asset.
  • Search the way the interface does: Combine nested filters, restrict a query to specific fields or spaces, page through results, work locale-aware with fallbacks, and use AI-assisted suggestions.
  • Work in bulk, and recover: Move, delete, and trash assets in bulk, and restore the ones you need from the bin.
  • Manage access: Invite users to a space and set their roles, so permissions stay in step with your own systems of record.

The API is available in AWS North America, AWS Europe, Azure North America, and GCP North America. Authenticate with a Contentstack authtoken or an OAuth access token, and pass the x-cs-api-version header with a value of 4 on every request.

We’re looking forward to seeing what you build on it. Check our Assets API documentation for full details.

Note: Assets is a paid add-on and it may not be enabled for your organization. To purchase it, contact our support team.

You can now update the same text across multiple entries in a single operation from the entry list page with Find and Replace. Filter and select your entries, search for a text string, then replace it or remove it in a single operation.

From the entry list page, you can:

  • Match text your way: choose Contains, Matches, or Exactly matches to control how strictly your search term is compared.
  • Replace or remove: enter replacement text, or leave it empty to delete every matching occurrence.
  • Preview before you apply: review each match by entry, locale, and field, including the number of matches and the resulting state, then fine-tune your selection.
  • Add to a release: bundle the successfully replaced entries into a new or existing release for publishing.
Note
  • Each entry is updated in a single operation, it's either fully replaced or fails as a whole, and each change is saved as a new version.
  • Find and replace runs only on text fields, in the branch and locales you select.
  • It respects your permissions, you can only change entries and fields you can edit.
  • Find and Replace is available on select plans. Contact support for more information.

Check our documentation for more details.

You can now assign names to specific versions of your variant entries, the same way you name versions of a base entry. Naming a version makes it easy to identify a key change or milestone at a glance, instead of scanning version numbers.

With this update, you can:

  • Name an entry variant version directly from the version history; the name is saved without a separate save step.
  • Find the right version faster using meaningful names instead of version numbers.
  • Manage names through the API with new Content Management API calls to set, list, and remove variant version names.

Check our documentation for more details, or contact support for more information.

We've added environment selection to branch creation, so you can choose which environments to clone into a new branch instead of cloning all environments by default.

In the Create New Branch modal, or through the Content Management API, you decide whether a branch clones all environments, none, or a specific set.

When you create a branch, you can:

  • Clone specific environments: Select only the environments the branch needs under Specific, then Select Environments.
  • Clone all or none: Choose All to clone every environment from the source branch, or None to clone no environments.
  • Control cloning from the API: Pass publish_config.environments on the create-branch endpoint to set the same behavior programmatically.

Note
Specific is the default in the UI, so the Create button stays disabled until you select at least one environment. The API differs: it clones all environments by default when publish_config is omitted, so existing integrations are unchanged.

Check our documentation for full details, or contact support for more information.

Contentstack now supports organization-specific HMAC signing for webhook payloads, giving you greater security and control over webhook verification. Contentstack's earlier webhook signing model used one platform-wide certificate across all payloads. HMAC signing gives each organization its own secret key, generated and managed from Administration > Security Configuration > HMAC Signing, and used to sign webhook payloads with the HMAC-SHA256 algorithm.

What's New:

  • Isolated signing keys: Each organization signs with its own secret key, ensuring that keys are isolated across organizations. Consumers can verify that requests originating from Contentstack were not altered in transit.
  • Self-service key rotation: Regenerate your secret key any time directly from the UI, without contacting support.
  • Zero-downtime rotation: When you regenerate a key, choose how long the previous key stays valid, from immediately up to 24 hours. During the grace period, Contentstack signs payloads with both keys so existing consumers continue working while you update them.
  • Per-webhook control: Choose the signing method for each webhook using the new Request Signing Method field to gradually adopt HMAC while other webhooks continue using the default Contentstack certificate.
  • Secure by design: Secret keys are encrypted and are never exposed after creation. Each payload includes a timestamp to help your application detect and reject replayed requests.

Users with the Owner, Admin, Security Manager, or a custom role with the required permissions can enable, regenerate, or disable HMAC signing.

Note: This feature might not be enabled by default. Contact our support team to get it enabled for your organization.

Learn how to enable HMAC signing, rotate your key, and verify signatures in our HMAC Signing documentation.

We’ve added new enhancements to the Brightcove app:

  • Multiple Configuration Support: You can now set up multiple Brightcove accounts using separate configurations.
  • Video ID Search: Search and add videos by video ID directly from the selector page.
  • Advanced Configuration Object: Added support for configuration objects in advanced settings for the Custom and JSON RTE fields for easier setup and management.
    • Branch-specific Configuration Support: Set branch-specific parameters to scope asset selection to a particular branch.
    • Locale-specific Configuration Support: Set locale-specific parameters to tailor asset selection by language.

To learn more, refer to the Brightcove App Installation Guide.

We’ve enhanced Live Preview so that teams editing the same entry now share a collaborative draft preview. 

Previously, each user had a separate preview and saw only their own unsaved changes. Now, when multiple users edit the same entry, everyone sees the same content as it changes.

With Collaborative Live Preview, you can:

  • See collaborators’ edits in your preview as they work on the same entry.
  • Stay in sync automatically, your own changes appear instantly, and others’ changes appear after a brief delay, so the preview does not reload on every edit.
  • Preview every field, since collaborative preview applies to all fields in the entry.

Note: Collaborative drafts are not yet available in Visual Editor.

Refer to the Collaborative Drafts in Live Preview documentation for full details, or contact support for more information.

Lytics CDP is now available from the App Switcher in your Contentstack organization. It's Contentstack's interface for managing behavioral data collection, audience building, and personalization activation across your digital properties, all connected directly to your CMS, Launch, and Personalize projects.

With Lytics CDP, you can:

  • Collect behavioral data automatically: Install the JStag SDK on your front end, or enable it with a single toggle if your site runs on Contentstack Launch, to start capturing visitor events across web, mobile, and other digital touchpoints.
  • Connect your Contentstack products in one place: Link your CMS stacks, Launch projects, and Personalize projects to a Lytics project so audience data flows automatically, with no custom middleware or data pipelines required.
  • Activate real-time personalization: Use live visitor behavior and audience membership, authored on the Lytics platform, to determine which content variant a visitor receives in Personalize.
  • Manage everything at the project level: Create and manage Lytics projects, collaborators, and connections directly in Contentstack, with access controlled through your existing organization roles.

Lytics CDP works alongside the Lytics platform (app.lytics.com), where audience authoring, profile inspection, and data pipeline configuration still happen. You can jump straight into the Lytics platform from your project dashboard using the Manage Lytics button and single sign-on.

If you previously connected Lytics through the Data Activation Layer (DAL), your existing configuration, data, users, and settings have been automatically converted into a Lytics CDP project, and your Lytics audiences continue to work in Personalize without any changes.

What's New?

  • Stack-Aware Tool Enrichment: Enabled by default, tool descriptions, enums, defaults, and argument guidance are now tailored to your connected Contentstack stack.
    • Enrichment support across CDA, CMA, CMA Extended, Launch, Brand Kit, Personalize, and Developer Hub tools
    • New x-enrich, x-enrich-group, and x-enrich-description metadata added to tool definitions, plus a machine-readable tools/enrich-profiles.json reference
    • CONTENTSTACK_MCP_ENRICH_TOOLS=false available to disable enrichment while still stripping raw enrichment metadata from exposed tool schemas
    • Optional stack context inputs: CONTENTSTACK_ENVIRONMENT, CONTENTSTACK_BRANCH, and CONTENTSTACK_LOCALE
  • Taxonomy Term Reordering and Reparenting: A new move_a_term tool in the CMA group supports reordering and reparenting a taxonomy term via PUT /v3/taxonomies/{taxonomy_uid}/terms/{term_uid}/move. Previously, update_a_term only supported renaming — hierarchy changes were not possible through the server.
  • Tool-Selection Evaluation Harness: A new OpenAI evaluation harness under eval/ measures MCP tool-selection behavior with enriched tool definitions.
  • To learn more, refer to the Contentstack MCP Server documentation.

Managing multiple personalization experiences across campaigns, audiences, and content types can get complex fast. Experience Tags give you a flexible, searchable way to label, group, and filter your experiences in Personalize, so your team always knows what's running, why it exists, and where it belongs.

You can now create custom tags and attach them to any experience directly from the Personalize dashboard. Use tags to reflect your internal taxonomy, whether that's by region, campaign type, audience segment, lifecycle stage, or any other dimension that matters to your team.

With Experience Tags, you can:

  • Stay organized at scale: Filter your experience list by one or more tags instantly. No more scrolling through dozens of experiences to find what's relevant.
  • Apply multiple tags per experience: Support cross-functional views - for example, tag an experience as both "Holiday 2026" and "EMEA" simultaneously.
  • Standardize naming across your team: Reuse tags created by any team member in the same project to keep your taxonomy consistent.
  • Audit and govern with ease: Use tags as a lightweight governance layer when many experiences are running in parallel across teams or campaigns.

Additional Resources:

We have released Contentstack MCP Server v0.7.3, a fix for an issue affecting MCP clients that skip the tools/list step.

What's New?

  • Added automations tool group with 9 tools: list_automation_projects, get_automation_project, create_automation_project, update_automation_project, delete_automation_project,list_automations, get_automation, trigger_automation, set_automation_active
  • Added CONTENTSTACK_AUTOMATIONS_BASE_URL for dedicated automations infrastructure overrides

What's Fixed?

  • Fixed server startup failure when invoked via npx @contentstack/mcp, caused by unresolved symlinks in entrypoint detection

To learn more, refer to the Contentstack MCP Server documentation.

We have released Contentstack MCP Server v0.7.3, a fix for an issue affecting MCP clients that skip the tools/list step.

What's New?

Lazy-loaded Tool Registry: The tool registry now lazy-loads on the first tools/call request when an MCP client invokes a tool without first calling tools/list.

  • Some hosts (e.g., Cursor) cache tool schemas locally and may call a tool directly without listing available tools first.
  • Previously, this triggered an error: Cannot read properties of undefined (reading).
  • Tool calls now succeed regardless of whether tools/list was called beforehand.

To learn more, refer to the Contentstack MCP Server documentation.

We’ve added branch support for Variants, so you can build and test personalized content in an isolated branch before making it available on your main branch. Entry variants are no longer limited to the main branch.

You can now:

  • Manage variant configuration on any branch: link content types and create entry variants in a development branch, isolated from main.
  • Keep variant groups consistent: a variant group and its variants stay global across branches, while content type assignment and entry variants remain branch-specific.
  • Test personalization in isolation: onboard to Personalize or run an A/B test without affecting production content on main.
  • Merge variant groups across branches: merge variant group configuration from a compare branch into a base branch using the Content Management API, with five merge strategies.

Note: Merging variant groups is available through the API. Workflow status is not included in the merge.

Check our documentation for full details, or contact support for more information.

We are excited to announce the MCP Client tool in Agent OS Agents, enabling you to connect your agents to any remote Model Context Protocol (MCP) server and use its tools automatically, no custom integration code required.

MCP Client Tool: A new tool available in the Agent OS agent builder that connects your agent to any remote MCP server over HTTPS.

  • Connect once and your agent gains access to all tools the server exposes, or the specific subset you approve.
  • Support for two authentication methods: Header-based authentication (API key or token) and OAuth 2.1 (sign-in via provider consent screen).
  • OAuth supports both automatic setup via Dynamic client registration and manual setup for providers that require a registered OAuth app.
  • Allowed Tools selector lets you either allow the AI to choose freely from all available tools, or lock it down to only the specific tools you pick.
  • Connections are reusable, a saved MCP Client connection can be attached to multiple agents from the Connected Apps page.

To learn more, refer to the MCP Client: Connect Remote Tools documentation.

Entries that use custom URL patterns now resolve in Visual Editor the same way they do in Live Preview, using the same configuration with no additional setup.

With this update, you can:

  • Preview custom URL entries directly on the Visual Editor canvas.
  • Browse pages from custom URL content types in the URL bar, with each entry’s resolved URL shown.
  • Create pages for custom URL content types without a URL field.
  • Resolve missing values from a screen that lists the fields a pattern needs, with a link to each field in the form.

For sites that use custom URLs, developers set the page context (Live Preview Utils SDK 4.4.4 or later) so the Start editing button opens the correct entry. See the SDK config reference for implementation details.

Note: Custom Preview URLs is available on select plans.

Learn more in the documentation, or contact support for more information.

Here’s an overview of the latest updates in Contentstack Launch:

  • Response Mode Selection for Environments:

    You can now choose how your environment delivers responses with the new Response Mode setting — Streaming, which delivers response chunks in real time as they are generated, or Buffered, which displays output only after the entire response has been generated. This replaces the earlier Enable Streaming Responses toggle, giving you explicit control over response delivery and making the default behavior (Buffered) visible at a glance. A Response Mode column is now available in the Environments list table, letting you view each environment's response mode at a glance.

    Learn more in Environments.

  • Project and Environment Selection in Log Targets:

    You can now select specific project and environment combinations when setting up a Log Target, and choose which type of logs — Server Logs, Traffic Logs, or both — to forward to each destination. Alternatively, you can choose to export logs for all current and future projects and environments within your organization. This gives you precise control over what data reaches each monitoring destination, reducing noise and keeping observability costs in check.

    Learn more in Log Targets.

What's New?

We are excited to announce Contentstack MCP Server v0.7.2, introducing OAuth scope declarations across all 196 tools in the nine /<group>/tools endpoints, giving the served JSON a single source of truth for tool-to-scope mappings used by the OAuth consent flow and runtime authorization.

Each tool entry now includes a scopes array alongside group, making the served JSON the authoritative source for the tool-to-scope mapping consumed by the OAuth consent flow and runtime authorization checks. Scopes are derived deterministically from (group, mapper.method, mapper.apiUrl, name) via src/utils/scopes.ts; run npm run generate:scopes to regenerate them as needed. Note that cda and lytics resolve to an empty array ([]), since these use delivery-token and Lytics-token authentication rather than OAuth.

 

This release includes two improvements to the entry editing experience.

Regex Validation for URL fields

You can now apply the Validation (Regex) and Validation Error Message properties to URL fields to control the URL format that content managers can enter. Previously, these options were available only for Single Line Textbox and Multi Line Textbox fields. With this change, you can:

  • Define a custom regex pattern for the accepted URL format.
  • Show a custom validation message when an entered value doesn't match the pattern.

Refer to the URL field documentation for details.

Live Preview Panel Now Stays Open in the Entry Editor

The Live Preview panel now follows the standard entry editor panel behavior, making navigation more predictable as you work across entries. The panel now:

  • Stays open when you navigate between entries.
  • Preserves its state during entry navigation within your session.
  • Remembers a custom width and restores it when you open later entries.

This reduces the need to reopen or resize the Live Preview panel as you move between multiple entries.

Refer to the Live Preview documentation for details.

We’re adding enhancements to the Algolia app:

  • Multiple Environment and Branch Support: Mapping rules can now be scoped to specific environments and branches. Multiple rules for the same environment are identified by different labels.
  • Content Type Level Index Mapping: Index mapping is now configured one content type at a time, with an explicit index required for each rule.
  • Enhanced Field Level Mapping: Field-level mapping now supports environment and branch-level filtering. Leaving the dropdowns empty defaults to all environments and all branches.

To learn more, refer to the Algolia App Installation Guide.

The Bulk Translate and Content Types Bulk Translate options in the XTM Full Page app now include a Source Language dropdown. You can now select any stack language as the source for translation, instead of being restricted to the stack language. By default, the master language is pre-selected.

To learn more, refer to the XTM App Installation Guide.

We are excited to announce Contentstack MCP Server v0.7.1, introducing management token authentication, explicit region selection, dedicated-infrastructure endpoint overrides, and a new guide for building custom MCP servers on top of Contentstack APIs.

What's New?

Management Token Authentication: The cma and cma-extended groups now accept either an OAuth session or a management token, making them suitable for headless and CI/CD environments where browser-based authentication is unavailable.

  • Pass --management-token or set CONTENTSTACK_MANAGEMENT_TOKEN
  • Must be used with an explicit region (--region or CONTENTSTACK_REGION)

Explicit Region Selection: Region can now be set independently of OAuth, so CDA-only and management-token-only setups route to the correct data center without an active OAuth session.

  • Supported codes: NA, EU, AU, AZURE_NA, AZURE_EU, GCP_NA, GCP_EU
  • Common aliases accepted (e.g., us, aws-na, azure_eu)
  • The AU (Australia, AWS) region is now supported
  • An unrecognized region value returns a hard error at startup

Dedicated-Infrastructure Endpoint Overrides: Customers on private or dedicated infrastructure can now override the base URL for any service individually. When set, an override fully replaces the region-derived base URL for that service.

Build Your Own MCP: Tool Definitions API: Developers can build a custom MCP server, agent framework, or API client on top of Contentstack APIs. It covers:

  • Public tool-definition endpoints for all API groups
  • Tool definition format and the mapper object
  • Step-by-step request construction
  • Base URLs, region resolution, and authentication
  • Worked examples for CDA, CMA, and Launch GraphQL

To learn more, refer to the Contentstack MCP Server documentation.

Gain deeper visibility into your Contentstack activity with Log Targets within Administration, a powerful new feature that lets you seamlessly export system-generated logs to your own cloud storage. Whether you're monitoring activity, ensuring compliance, or integrating with observability tools, Log Targets gives you full control over your log data.

Key Features

  • Flexible Log Exporting: Export key system logs, including audit, published, and webhook logs, directly to your preferred cloud storage for centralized monitoring and analysis.
  • Multi-Cloud Support: Connect with leading cloud providers like AWS S3, Azure Blob Storage, and Google Cloud Storage to store and manage your logs securely.
  • Automated Scheduling: Set up hourly export schedules to ensure your logs are consistently updated without manual intervention.
  • Customizable Storage Structure: Define base paths within your storage buckets to organize logs efficiently by type or use case.
  • Improved Visibility with History Tracking: Monitor export activity through a detailed history view, including status, duration, and error reporting for better troubleshooting.

With Log Targets, you can extend Contentstack logging capabilities beyond the platform and into your existing workflows, making observability, auditing, and analysis more streamlined than ever.

Check our documentation for full details, or contact support to get started immediately.

You can now roll back a deployed release in Contentstack to quickly recover from unintended deployments.  If a release is deployed to the wrong environment or publishes content before it is ready, create a rollback release or a duplicate of the deployed release, and deploy it to restore entries and assets to the version published before deployment.

Release Rollback provides a fast, predictable way to recover from publishing mistakes without manually restoring content. It reverts references and assets along with entries, and unpublishes documents that had no previous published version, so the environment returns to its last known good state in a few steps.

Refer to the Roll Back a Release documentation for more information.

We’ve added taxonomy-based filtering to the Select Entries modal used by Reference fields and embedded references in the Rich Text Editor fields. The modal now supports filtering using the existing Taxonomy column.

You can now:

  • Filter entries by one or more taxonomy terms directly in the Select Entries modal.
  • Find relevant entries faster in large content sets.

Note This brings the Select Entries modal in line with the taxonomy filtering already available on the Entry List page.

We are excited to announce Contentstack MCP Server v0.7.0, introducing a new CMA Extended tool group and comprehensive Contentstack MCP Server documentation.

What’s New?

CMA Extended: A new group of 22 tools that extends core CMA functionality with advanced administrative and governance operations.

  • Audit log access and inspection
  • Entry and asset version history
  • Global field creation and updates
  • Asset folder management
  • Workflow and publish rule inspection

Contentstack MCP Server Documentation: A new guide is now available, covering:

  • Setup, authentication, and configuration
  • All API groups and tools
  • Common workflows and best practices
  • Troubleshooting and reference documentation

To learn more, refer to the Contentstack MCP Server documentation.

Gain a clearer, more actionable view of your organization’s security posture with the new Security Dashboard. Designed for admins and security-focused roles, this feature brings critical insights, activity tracking, and recommendations into a single, streamlined interface, helping you proactively manage risks and strengthen compliance.

Security Dashboard.png

Key Features

  • Security Dashboard Overview: Access a dedicated dashboard that replaces basic organization info for elevated roles, providing a unified view of security metrics, risks, and activity.
  • Current Trends Snapshot: Monitor key metrics like total users, inactive accounts, pending invitations, and users without MFA to quickly identify potential vulnerabilities.
  • Security Scorecard: Understand your organization’s security posture with a dynamic score (Critical, At Risk, Secure) based on weighted controls like SSO, MFA, and session policies.
  • Role Distribution Insights: Visualize how roles are assigned across your organization to prevent over-allocation of privileged access.
  • Password Compliance Tracking: Identify users with outdated passwords through categorized timelines, enabling better enforcement of password policies.
  • User Session Insights: Track active sessions, including long-lived sessions (60+ days), to reduce exposure from unattended logins.
  • Recent Activity Feed: Audit security-related events such as user changes, role updates, MFA resets, and configuration changes with severity indicators.

Stay ahead of potential threats with smarter visibility and actionable insights. The Security Dashboard empowers your team to continuously strengthen security and confidently manage your organization at scale.

Read our documentation for more information.

Unified role-based access control (RBAC) introduces finer control over who can administer an organization and what they can do within each product, two new Administration roles, and the ability to create custom roles per product.

Key Features

  • Redesigned user invite interface: Managing users and roles now happens in a completely redesigned interface that brings inviting users, assigning organization-level and product-level roles, and reviewing access into one consistent experience. The same experience extends to SSO identity provider role mapping, SCIM group-to-role mapping, and Teams.
  • New Administration roles: Two out-of-the-box roles join Owner, Admin, and Member at the organization level:
    • Security Manager: Manages an organization's identity and security configuration, including SSO, SCIM provisioning, security settings, and webhooks, with read-only visibility into users, roles, and teams. This removes the previous dependency on the Owner role for configuring SSO.
    • Product Analytics Viewer: Previously, viewing Analytics required Owner or Admin role access. This new role provides read-only access to organization information and analytics, without the ability to change settings or manage users.
  • Multi-role support: Users can now hold multiple organization-level roles at once. For example, a user can be both a Member and a Product Analytics Viewer without requiring elevated admin privileges.
  • Granular product-level permissions: RBAC now scopes access within each product, not only across the organization. Administrators can assign different levels of access per product, such as Administration and Assets, so each user receives precisely the access required for their tasks.
  • Custom roles per product: When the default roles do not match a team's responsibilities, administrators can create custom organization-level roles for a product in Administration by selecting permission categories and actions such as View, Create, Edit, and Delete.

What's Next for RBAC

This release is the first step in a broader rollout. Contentstack is extending RBAC adoption across the platform, with significant enhancements to CMS RBAC coming next, bringing the same granular, consistent access control to stacks and content management.

To learn more about Administration roles, product roles, and creating custom roles, refer to the documentation.

The Contentstack migration framework now supports Drupal as a legacy source and introduces single sign-on (SSO) authentication to the migration framework.

Key Enhancements:

  • Drupal support: Migrate content from Drupal 8, 9, 10, and 11 into a Contentstack stack using the migration framework workflow. Connect your Drupal MySQL database, validate the connection, select your destination stack, and map your content types during migration.
  • Asset migration from Drupal: Move images and media assets alongside your content by providing the base site URL and public asset path of your Drupal site during setup.
  • Flexible content-type mapping: Use the structure detected from your Drupal data as-is, or map Drupal content types to existing content types in your destination stack when you've already modeled your content in Contentstack.
  • Single sign-on (SSO) authentication: Authenticate the migration framework using OAuth 2.0. The tool requests only the permissions required to migrate content, keeping the access granted narrowly scoped to the task.

Note Drupal 7 is not supported. Drupal 7 has reached the end of life and is deprecated by the Drupal community.

For installation and setup, refer to the Migration Tool Setup Guide (Drupal) and the Authenticating the Migration Tool via SSO guide.

We are excited to announce the new Agent OS framework, featuring Agents and Polaris, and the launch of AI Credits. This update provides a more flexible and scalable way to manage and deploy artificial intelligence capabilities across your organization.

What’s New?

  • Agent OS (Agents & Polaris): Step into the next generation of automation with Agent OS.
    • Agents: Deploy autonomous, task-oriented AI agents designed to handle complex workflows with minimal oversight.
    • Polaris: Meet your new platform-wide chat assistant. Polaris is integrated across the entire ecosystem to provide instant support, answer queries, and help you perform AI tasks across your content.
  • AI Credits: We’re introducing a unified credit system to power your AI operations. This simplified consumption model provides greater visibility and control over your AI usage, ensuring your teams monitor and manage credits more effectively.
  • Analytics: To help monitor usage and performance trends, dedicated analytics dashboards are now available for Agents, Polaris, and AI Credits.

This release transforms how organizations access, manage, and scale AI capabilities with centralized controls, intelligent automation, and enterprise-ready experiences.

To learn more, refer to the Agent OS and AI Credits documentation.

We've introduced two enhancements that help you manage entry relationships and URL structures more efficiently while working in Contentstack.

Configure Default URL Patterns for URL Fields

Note: URL pattern configuration and advanced formatting options are available only with URL Management V2. Contact our support team to enable this feature.

You can now configure default URL patterns for URL fields while creating or editing content types.

With URL pattern configuration, you can:

  • Define consistent URL structures using static paths and dynamic placeholders
  • Use supported system fields, custom text fields, locales, and taxonomies in URL patterns
  • Automatically generate localized and structured entry URLs
  • Apply formatting rules such as casing, word separators, JSON mappings, fallback values, and regex transformations
  • Reduce manual URL creation errors and maintain consistent URL structures across entries

For example, you can define a pattern such as /blog/:locale/:field[title] to automatically generate localized blog URLs.

Refer to our documentation to learn how to configure URL patterns and formatting options.

Open Referenced Entries in a Sliding Panel

You can now open referenced entries in a sliding panel within the entry editor. Click the new Open in overlay icon next to a reference to view it without leaving the current page. You can also navigate deeper by opening up to five additional referenced entries in stacked panels and use breadcrumbs to switch between them.

This update reduces the need to open multiple browser tabs when working with nested references, making it easier to validate content relationships or make quick edits without losing your place.

Refer to the documentation on navigating referenced entries.

Note: This feature is plan-based and available to early access customers. Contact support to request access.

You can now publish entries in Contentstack with greater confidence and control with enhanced reference validation and preview workflows. The updated publishing experience helps you review, validate, and selectively publish referenced content before it enters the Publish Queue, reducing errors and rework.

What's New?

  • Review referenced content before publishing
    Use the Publish Review modal to review the parent entry and all associated references to understand what is published before content enters the Publish Queue.
  • Validate references before publishing
    Validate referenced entries and assets using the Validate Items modal to catch issues early and prevent publish failures.
  • Filter and select references precisely
    Choose to publish only the parent entry, specific references, first-level references, or all references to gain greater control over what goes live.
  • Monitor validation and publish progress
    Track validation tasks and publishing status through task windows to maintain visibility and confidence throughout the publishing process.

For more details, visit our documentation or contact our support team.

We are expanding the power of Automations by introducing real-time triggers for our most popular connectors. This update transforms your static workflows into reactive, event-driven systems that respond instantly to external actions.

New Connector Triggers

Our existing connectors for Cloudinary and Netlify have been updated with new trigger options to help you automate your media, deployment, and communication pipelines.

  • Cloudinary: Automate your digital asset management by triggering workflows based on any changes within your Cloudinary environment. Supported events include asset uploads, metadata modifications, folder creation, access control shifts, etc. Learn more about Cloudinary Trigger.
  • Netlify: Keep your development and content teams in sync with your deployment pipeline. You can now trigger automations when builds start, deployments are created, or when environments are locked or unlocked due to permission or configuration issues. Learn more about Netlify Trigger.

Navigation Updates

To support the continued expansion of our platform, we’ve streamlined the project navigation for a more scalable and organized experience.

Settings-related options are now consolidated within the Settings panel in the top navigation, making configuration and operational controls easier to access and manage.

You can now find the following under Settings:

  • Connected Apps
  • Audit Log
  • Execution Log
  • Project Variables

Platform Discovery is your new dashboard for exploring everything Contentstack has to offer. Get a unified view of every capability available to your organization, and spot the ones you are missing out on.

With this release you can:

  • Audit your stack: See a complete inventory of your features in one glance.
  • Find hidden value: Instantly identify features marked No Recent Activity, powerful tools you already have access to but aren’t leveraging.
  • Scale intelligently: See clear pathways to advanced capabilities (like Personalization or AI) that align with your growth goals.

Platform Discovery_Changelog.png

Where to find it: Open the "App Switcher" in the top navigation bar and select Platform Discovery.

Read our documentation for more information.

We’ve introduced new taxonomy enhancements in Contentstack that improve how teams manage, publish, release, and govern taxonomy, making it easier to manage taxonomy structures across environments and locales.

Publish Taxonomies Independently

You can now publish taxonomies independently, similar to entries. This allows you to manage taxonomy structures separately from content publishing workflows.

With Taxonomy Publishing, you can:

  • Publish an entire taxonomy and its complete term hierarchy
  • Publish to specific environments and locales
  • Select a branch and apply locale fallback hierarchies
  • Schedule publishing jobs (if enabled)
  • Automate taxonomy publishing through APIs

Learn more about publishing a taxonomy.

Nested Reference Publishing Now Supports Taxonomies

Nested Reference Publishing now includes taxonomy support. When you publish an entry using Send with References, any referenced taxonomies:

  • Appear in the Publish References modal
  • Are included in the publish job
  • Publish their complete hierarchy to the selected environments and locales

This helps maintain consistency between published entries and their associated taxonomy structures across environments.

Learn more about working with Nested Reference Publishing.

Add Taxonomies to Releases

You can now add taxonomies directly to releases and deploy taxonomy structures alongside related content changes.

You can add taxonomies to a release from:

  • The Taxonomy Details page
  • The Taxonomy List page
  • Entry references, where associated taxonomy terms are automatically included when references are added

This helps teams schedule taxonomy deployments, streamline localization workflows, and reduce publishing inconsistencies.

Learn more about adding a taxonomy to a release.

Granular Taxonomy Permissions for Custom Roles (Early Access)

You can now assign taxonomy management permissions to custom roles without granting full administrative access to the stack.

Custom role users can manage taxonomy structures using permissions such as:

  • Create
  • Read
  • Update
  • Publish/Unpublish
  • Delete

You can also apply exceptions to restrict access to specific taxonomies or actions.

This enhancement separates taxonomy structure management from entry-level taxonomy permissions, giving teams more precise access control and governance flexibility.

To learn more, refer to the Permissions on Taxonomies documentation.

We’re excited to introduce Contentstack Assets, a modern, AI-powered digital asset management experience built for teams that need to organize, govern, and reuse assets at scale.

This upgrade moves beyond stack-based asset management to deliver a centralized, structured, and reusable asset system across your organization. With support for shared asset spaces, custom metadata modeling, localization, AI-powered enrichment, and advanced governance controls, Contentstack Assets helps teams streamline operations and deliver consistent digital experiences faster.

Key Features

  • Centralized Asset Management Across Stacks: Manage assets in dedicated spaces and reuse them seamlessly across multiple CMS stacks, reducing duplication and improving consistency.
  • Spaces and Workspaces for Better Organization: Organize assets by brand, team, campaign, or region using independent spaces and isolated workspaces for experimentation and campaign workflows.
  • Custom Asset Modeling: Create custom asset types and user-defined metadata fields to structure assets around your business needs, from campaign information to licensing and compliance data.
  • Native Asset Localization: Manage multilingual versions of assets within a unified workflow, including localized metadata and asset variants with fallback language support.
  • AI-Powered Asset Enrichment: Automatically generate alt text and tags for images to improve discoverability, accessibility, and SEO while reducing manual effort.
  • Visual Markups for Interactive Experiences: Add hotspots and bounding boxes to images to power shoppable content and richer visual experiences.
  • Advanced Search and Filtering: Find assets faster using metadata-driven filters, saved views, color-based filtering, and intelligent search capabilities.
  • Asset Versioning and Governance: Track changes to both metadata and binaries with built-in version history and rollback support.
  • Enterprise-Ready Access Control: Manage permissions using predefined and custom roles with support for SSO and SCIM-based user provisioning.

Contentstack Assets lays the foundation for a more intelligent, scalable, and future-ready asset strategy. We’re excited to see how your teams use it to create faster workflows, stronger governance, and richer digital experiences.

Check our documentation for full details, or contact support to get started immediately.

We are excited to introduce Clearwinner, a new Marketplace app designed to automate the post-test cleanup process for finished A/B test experiences.

Traditionally, concluding an A/B test requires manually identifying variant changes, merging them into baseline entries, publishing updates, and archiving the test. Clearwinner eliminates this time-consuming workflow with a single-click solution.

Key Features:

  • Automated Winner Identification: Easily view tests where Personalize has identified a winning variant based on statistical confidence levels (Has_Won, Leading_significantly, or Leading).
  • One-Click Merge & Publish: Automatically merge winning variant content into your baseline entries and publish the updates to your live environment in one background process.
  • Integrated Cleanup: Automatically archive concluded tests in Personalize and permanently delete redundant variant data to maintain a clean CMS stack.
  • Bulk Operations: Select and process multiple winning tests simultaneously to streamline large-scale experimentation cycles.

To learn more, refer to the Clearwinner App Installation Guide.

We’re improving the Mappings feature in Advanced Settings to make it clearer how values are resolved and how to work with nested configuration data. It now includes a dedicated Template Substitution section and better examples for nested values.

Dynamic values can already be used in request headers and body, and now they also work in URLs and query strings.

With a single syntax, {{ var.NAME }}, you can apply dynamic values across the entire outbound request. This enables API versioning, multi-tenant routing, pagination, and more, all driven from your configuration without hardcoding.

Learn more about Introduction to Advanced Settings in Developer Hub.

Here’s an overview of the latest updates in Contentstack Launch:

  • User-Agent Support in Cache Priming:

    Cache priming requests now include a dedicated User-Agent header, allowing you to easily identify and filter them from regular traffic in your logs.

    Learn more in Identifying Cache Priming Traffic.

  • Cancel Active Deployments:

    You can now cancel an ongoing deployment in Launch, allowing you to stop unintended updates before they are applied.

    Learn more in Cancel Deployment.

  • Support for Node.js 24.x:

    We've added support for the Node.js 24.x runtime, ensuring compatibility with the latest Node.js features and improvements.

    Refer to the Supported Node.js Versions.

  • Build Machines for Launch Builds:

    Launch now offers multiple build machine tiers, enabling you to allocate appropriate CPU, memory, and disk resources for faster and more reliable builds.

    To learn more, refer to Build Machines on Launch.

  • Server Machine Tiers for Launch Functions:

    With new server machine tiers in Launch, you can control CPU and memory allocation for your functions, ensuring better performance and scalability based on workload needs.

    For more details, refer to Server Machines on Launch.

  • Launch “Warming Up” Screen for Idle Environments:

    Launch now supports an automated warm-up state for inactive environments, where sites briefly scale down and quickly reinitialize on the next request to ensure efficient resource usage without impacting availability.

Managing entries just got faster. You can now switch between Publish Status, Release Status, and Publish Rules directly from the Entry Status panel using a dropdown. You can also apply filters to refine the displayed data. Selected filters remain applied across all views.

This update helps you focus on specific entry details without navigating multiple sections. For example, you can filter by environment and quickly switch views to check publishing status, release progress, or approval rules in the same context.

Refer to the view entry status documentation for more details.

We’re adding enhancements to the Algolia app:

  • Stack Delivery Token Support: Added a new section in app configuration to fetch published data via the Content Delivery API for improved data synchronization.
  • Bulk Field Mapping: You can now add up to 30 field paths at once in the Mapping section by pasting values separated by commas, spaces, or semicolons, or by pressing the enter key.
  • Enhanced Search: Introduced a search function to find entries by Entry UID and Title in the Algolia Full Page app.

To learn more, refer to the Algolia App Installation Guide.

As part of our ongoing efforts to enhance platform security and reliability, we are deprecating legacy Content Management API versions /v1 and /v2. This change ensures that all users benefit from the latest performance improvements, security standards, and feature capabilities available in /v3 APIs.

ImportantThe legacy /v1 and /v2 CMA endpoints are now deprecated and will be officially decommissioned in 60 days.

We recommend reviewing your integrations and updating them to use the current API version to avoid any disruption.

What’s Changing
  • Deprecation of /v1 and /v2 APIs: Legacy API versions will be phased out and will no longer be supported.
  • Planned Access Restrictions:
    • /v1 endpoints will be blocked across all cloud environments.
    • /v2 endpoints will be restricted to AWS North America (AWS-NA) only during the transition period.
  • Shift to /v3 APIs: The latest API version is now the standard and actively supported across all environments.

This update helps us deliver a more secure and consistent API experience. We’re committed to supporting your transition, upgrade to /v3 today and take advantage of the latest improvements.

We’ve added enhancements to the XTM app:

  • Unified Field Management: Replaced separate inclusions or exclusions settings with a single Manage Fields section for easier control.
  • Multi-Branch Support: You can now translate entries in non-main branches.

    Note Existing users must update the app to activate this feature.

  • Unlimited Bulk Translation: Removed the entry translation limit for faster, high-volume processing.
  • Global Exclusions: Added a dropdown to exclude specific fields across all content types.
  • Automatic Filtering: Non-localizable fields are now automatically excluded from translation by default.

To learn more, refer to the XTM App Installation Guide.