Many of you use shared Single Block fields to store common elements like title and image across models. Until now, these couldn’t be used as a model’s Presentation Title or Image — now you can! You can now select a Single Block field in the Presentation tab, and DatoCMS will use the title and image set inside the chosen block as the model’s Presentation Title and Presentation Image.
How to use it
Go to Edit Model → Presentation tab
Select your Single Block field as Presentation Title or Presentation Image
Remember to set the presentation title and image you prefer in your Single Block’s own Presentation settings.
DatoCMS has long let editors organize records hierarchically. However, the feature was missing some elements to be considered as complete.
We covered the missing parts 💁♀️
From today, a new "Tabular View" for trees of records is available - aside from the "Compact View", giving a bit more consistency on how records are visible across all model types. It brings all the freedom in playing with columns you know from the regular item list to hierarchically organized records too, without losing out on the drag-and-drop fun.
We also removed the limitation to the number of records that can be organized in a tree: both the tabular and the compact view are now paginated, and records are incrementally shown as they are loaded.
Security API Clients Content Delivery API Content Management API
To promote safer and more intentional permission management, new DatoCMS projects will no longer generate a default full-access API token (i.e. one with both read and write permissions for all APIs).
Previously, new projects came with two tokens by default: a full-access token and a read-only token. From now on, only the read-only token will be created automatically. This change encourages users to explicitly define the scope of each token based on their specific needs.
🔒 Reminder: Existing projects still have this legacy token. If you’re using it, we strongly recommend ensuring it’s used only in trusted environments.
Starting May 14th, 2025, our legacy uploads batch operation endpoints — which have been deprecated for years — will be discontinued and will return error responses. Documentation for these endpoints can be found here:
If you're using any of these endpoints, please update your integration to use their replacements. Documentation for the current endpoints can be found here:
We’re introducing a unified fixed header across all CMS sections, ensuring a smoother, more predictable interface.
What’s New?
We’ve standardized the header behavior so that key navigation elements stay accessible at all times—no matter where you are in the CMS.
Fixed headers everywhere – The header now stays in place as you scroll.
Consistent UI patterns – The same styling, spacing, and interaction logic apply across all sections, reducing cognitive load.
Quick access to actions – Important buttons (like Save, Publish) remain within reach without unnecessary scrolling.
How Does It Work?
No setup is needed—just log in, and you’ll see the updated interface immediately!
Why Does It Matter?
This update eliminates inconsistencies, making the CMS more intuitive and reducing friction in your daily tasks. If you’ve ever lost time scrolling back up to access a button or felt disoriented by shifting layouts, this change will make navigation feel effortless.
With the release of the recent plugin its now possible to export JSON files of your models and blocks, and easily import them into another DatoCMS project.
To make it easier to get started with new projects and build out common schema models, we've released DatoCMS Recipes in the marketplace — a curated selection of ready-to-use models and blocks that you can import into your projects.
Simply choose a recipe, click install, choose which project you'd like it in, and we'll import the corresponding model with all blocks, relations, and plugins as required.
Want to create your own recipes? Install the plugin to export models and reimport them into another DatoCMS project!
Based on early feedback from the recent release of inline blocks for Structured Text fields, we're introducing a small but impactful update to how our Content Delivery API handles them.
Previously, inline blocks were included within the blocks GraphQL selector. With this update, they now have a dedicated inlineBlocks selector:
Before the update:
1
queryBefore{
2
blogPost {
3
content {
4
value
5
blocks {
6
__typename
7
...onBlockModelRecord{
8
title
9
}
10
...onInlineBlockModelRecord{
11
title
12
}
13
}
14
}
15
}
16
}
After the update:
1
queryAfter{
2
blogPost {
3
content {
4
value
5
blocks {
6
__typename
7
...onBlockModelRecord{
8
title
9
}
10
}
11
inlineBlocks {
12
__typename
13
...onInlineBlockModelRecord{
14
title
15
}
16
}
17
}
18
}
19
}
Why this change?
By separating inlineBlocks from blocks, developers gain more precise control over rich text content, making it easier to manage and render structured text accurately, especially when using TypeScript. This improvement enhances both flexibility and consistency when working with inline blocks in GraphQL queries.
We appreciate your feedback and will continue refining the experience to make content management even smoother! 🚀
We've recently rolled out the ability for enterprise customers to schedule frequent exports of their DatoCMS data to AWS S3 buckets.
While it's important to note that this is not an automatic backup & restore function, the Project Export feature allows Enterprise customers to export all content and assets from their DatoCMS project to their own AWS S3 bucket.
Here's some important considerations:
Not a Backup Solution: The export does not offer a one-click restoration process.
Primary Environment Only: Only the primary project environment is included in the export.
Automated and Scheduled: Exports occur on a predefined schedule, with a minimum frequency of once per month and a maximum of once per day.
AWS S3 Storage Required: Customers must configure their own S3 bucket to receive the exported data.
The exported data includes:
Schema Models: Fields and fieldsets.
Schema Blocks: Block definitions and fields.
Records: Current and published versions, including block records.
Uploads: Metadata and references for uploaded assets.
Project Settings: Locales, SEO settings, workflows, and installed plugins.
Asset Files: All uploaded files from the media area.
That being said, there's several existing methods for all users to ensure data integrity with some recommended DIY approaches to data exports, backups, and recovery options.
These include several options including Plugins, Scripts, and Environment clones. Refer to our docs on Available Export & Backup Options for more info.
Previously, the CMS displayed only the 30 most recent build events.
We have now improved this by providing options to view events from the past weeks, and to apply filters or custom ordering, while also updating the UI to align with the overall design of the CMS.
Content Management API Content Delivery API UI Improvement New
For quite some time now, you've asked for the ability to insert blocks as inline elements inside the Structured Text field. Actually, it's one of the most requested features on our forum.
Well, here we are 🎉
It's now possible to setup structured text fields and declare which blocks can be added as inline elements in the content.
What’s new? Stuctured text fields have a new setting that allows to select the types of block that can be used as inline element: that's very similar to what we already have for regular, stacked blocks.
Why does it matter? Inline blocks open infinite possibilities: from links with custom data to mentions, from hashtags to inline notes... Fantasy is the limit!
And that's just the beginning: Inline blocks can ALSO have structured text fields with inline blocks within: so you can nest blocks 🤯 (with the same limits you have on your plan for stacked blocks).
How do I enable it? Simply head over to any structured text field’s settings, locate the new "Allow adding Inline Blocks" in the “Validation” tab, and select the blocks you want to make available in the field.
API Changes
From the API perspective, the Dast changed a bit and it now supports inline blocks inside paragraphs and headers. You'll appreciate the difference, of course, only when you start using inline blocks: there's no impact on fields that keep using regular, stacked blocks.