DatoCMS changelog for new features and general improvements

API Clients UI Improvement Content Delivery API

## [New dedicated fallback options for SEO per model](https://www.datocms.com/product-updates/fine-tune-your-seo-with-new-dedicated-fallback-options.md)

[date: 2025-02-28T15:25:34.779+01:00]

We’ve been carrying around an issue for quite some time regarding how we manage SEO fallback data. Because the same fields used for internal previews—Title and Image Preview—are also used for SEO fallback data, it’s been causing confusion and often results in less-than-ideal search engine metadata.

To address this, we’re splitting the two settings and creating a dedicated “SEO Fallback” tab!

**What’s new?**  
We’re removing the overlap between “Presentation” fields and “SEO” fields. Now you can explicitly choose which fields feed into your SEO Title, Image, and Description. These are separate from the fields used for internal previews, giving you more granular control over how your content appears in search results.

**Why does it matter?**  
With dedicated SEO fields, you can optimize exactly how content appears on search engines—without affecting the quick, at-a-glance previews in the CMS. This ensures your internal workflow remains clear and uncluttered, while your SEO metadata stays fine-tuned for external audiences.

**How do I enable it?**  
Simply head over to any Model’s settings, locate the new “SEO” tab, and select the fields you want to use for SEO Title, Image, and Description.

(Video content)

If you want to experiment with [all the new presentation fields](https://www.datocms.com/product-updates/enhanced-previews-quickly-see-what-s-inside-your-blocks-and-links.md) available, explore the head over the Presentation Tab!

###### ⚠️ API Changes

We've introduced two new relationships on the [`item_type` entity](https://www.datocms.com/docs/content-management-api/resources/item-type.md): `presentation_title_field` and `presentation_image_field`. These relationships are exclusively used for DatoCMS’s internal interface and preview functionality:

-   `presentation_title_field` supports fields of type: `string`, `date`, `date_time`, `link`, `text`, `structured_text`, `color`, `lat_lon`, `integer`, and `float`.
-   `presentation_image_field` supports fields of type: `file`, `gallery`, `link`, `color`, `date`, `date_time`, and `lat_lon`.
    

At the same time, the existing relationships — `title_field`, `image_preview_field`, and `excerpt_field` — are now dedicated solely to configuring SEO fallback settings. As a result:

-   `title_field` no longer accepts fields of type `date`, `date_time`, `link`, `text`, `structured_text`, or `color`. It now only supports `string` fields.
-   `image_preview_field` no longer accepts fields of type `link` or `color`. It now only supports `file` and `gallery` fields.
    

These changes only refine the accepted field types and do not affect functionality, as the previously accepted field types were already ignored for SEO purposes and if ie. a model had a `date` field set as `title_field` that field is now set as `presentation_title_field`.

UI Improvement

## [Enhanced previews: Sneak peeks into blocks and records](https://www.datocms.com/product-updates/enhanced-previews-quickly-see-what-s-inside-your-blocks-and-links.md)

[date: 2025-02-28T15:25:26.643+01:00]

We’ve heard from many of you that it’s tough to quickly grasp what’s inside each record or block at a glance when shown in preview mode —especially when those blocks or records lack text fields.

To address this, we’ve introduced a new approach to displaying previews across the entire CMS: inline blocks, link fields, and even the item index, all benefit from clearer at-a-glance content!

**What's new?**

First, we’ve aligned how the “Presentation” tab works for both models and blocks, letting you pick a Title preview field and an Image preview.  
And second, we introduced new field types that can be selected as title and/or preview fields:

-   `Color` fields show a handy swatch (with optional opacity);
-   `Date`/`DateTime` fields use a quick calendar icon and display the date itself;
    
-   `Geolocation` fields bring in a map preview;
-   `Number` fields can be used as title and show their integer or floating-point value.
    

**How do I enable it?**  
Just head to the “Presentation” tab in your model or block settings to choose your Title and Image preview fields. No extra steps required!

(Image content)

**See it in action 👇**

(Video content)

**`Color`****,** **`Geolocation`****, and** **`Date`** **fields will also provide a much cleaner interface when set as Preview Fields.**

(Image content)

**Why does it matter?**

This update makes it faster and clearer to see what’s inside each record or block at a glance. If you’ve ever found yourself repeatedly opening blocks just to check their contents, you’ll love these new previews!

Content Delivery API Performance optimization

## [Increased CDA GraphQL pagination response to 500 items](https://www.datocms.com/product-updates/increased-pagination-response-to-500-items.md)

[date: 2025-01-29T09:52:50.747+01:00]

By default, all GraphQL queries on paginated items to our Content Delivery API return a response of 20 items.

While we'll still retain this as the default behaviour, we've increased the maximum number of items to 500.

You can manage this behaviour when making your queries using the `first` parameter like this:

```graphql
{# Fetch the first 500 posts  allPosts(first: 500) {    id    slug    title    description    publishedAt    content  }}
```

For more info on working with Pagination in DatoCMS [check out the docs](https://www.datocms.com/docs/content-delivery-api/pagination.md#simplifying-pagination).

UI Improvement Dashboard

## [Improvements to managing user roles and content permissions](https://www.datocms.com/product-updates/improvements-to-managing-user-roles-and-content-permissions.md)

[date: 2025-01-27T16:29:19.317+01:00]

Handling complex user roles and permissions is complicated enough as it is, so we thought we'd try and simplify things on our end as much as possible!

Firstly, when creating highly specific and granular roles that are inherited from others, you'll see a cleaner and clearer indication of which permissions are inherited from parent roles.

(Video content)

While you're in the process of making any modifications or edits to them, we're also showing a new pill that explicitly highlights what's changing, so you can make sure everything's good before hitting save.

(Video content)

On the cosmetic side, we're also making it way easier to just *understand* the roles you're working with. Inside Content Permissions, all the rules are now shown as actual readable sentences instead of "disabled form fields" which are just so much more readable!

(Image content)

Plugins

## [New breakpoints and preview options for Web Previews](https://www.datocms.com/product-updates/new-breakpoints-and-preview-options-for-web-previews.md)

[date: 2025-01-23T13:37:20.694+01:00]

As one of the most used and installed plugins in the DatoCMS Marketplace, this update was long overdue.

You can now update this plugin to V1.0.24 which introduces custom breakpoints for desktop, mobile, and tablet, allowing your editors to preview Draft and Published content within the CMS for each device.

(Video content)

[Install the plugin](https://www.datocms.com/marketplace/plugins/i/datocms-plugin-web-previews.md) via the Marketplace. If you already have it installed, you can head on to *Configurations \> Plugins* and click to Update the plugin to the latest version.

UI Improvement

## [Site Search Crawler Logs: Enhanced Visibility into Indexing Issues](https://www.datocms.com/product-updates/site-search-crawler-logs-enhanced-visibility-into-indexing-issues.md)

[date: 2025-01-14T11:16:01.045+01:00]

A new enhancement has just been released that should allow for easier investigation of any issues encountered with the indexing of pages by our [Site Search](https://www.datocms.com/docs/site-search.md) functionality.

By opening the details of events labeled **"Site spidering completed with success"**, it is now possible to access a detailed log of the operations performed by our crawler, including analysis of the robots.txt and any sitemaps.

(Image content)

At the end of the log, you will also find a handy list of pages that encountered indexing problems.

UI Improvement Content Delivery API

## [Force validations on records when publishing](https://www.datocms.com/product-updates/force-validations-on-records-when-publishing.md)

[date: 2025-01-13T11:02:00.645+01:00]

Another one for content best practices! We're rolling out an option to stop CMS users from publishing invalid records.

How can published records be invalid you ask? Imagine records where `title` fields were required, and everything was published correctly. No sweat. You now extend that model to add in a new `subtitle` field which is also required. At this point, all the records in that model will require you to update them by filling in the `subtitle` field before their next publish.

While we'll enable this flag to TRUE for all new projects, you can easily enable it in your existing project under Configuration \> Available Updates.

CLI Content Management API API Clients

## [Draft mode active as default for models](https://www.datocms.com/product-updates/activate-draft-mode-as-default.md)

[date: 2025-01-10T12:40:14.598+01:00]

We’ve made a small but significant change to the way new models are created.

To enforce editorial best practices and provide better flexibility for your content workflows, **draft mode will now be enabled for all new projects**. While this is the new default, you are able to override this when creating new models, under the model's validation settings.

(Image content)

Additionally, for existing projects, we’ve added an option to enable this setting. You can find it in *Configuration \> Available Updates.*

(Video content)

Content Management API UI Improvement New

## [Save invalid drafts](https://www.datocms.com/product-updates/draft-saving-has-landed.md)

[date: 2025-01-08T12:37:34.297+01:00]

It is now possible to save invalid records in their draft state, and postpone validation enforcements to publication time. The feature can be enabled and/or disabled on models with the draft/published stages active.

The feature affects the CMS and, of course, the CMA (Content Management API). When draft saving is active, it's possible to POST/PUT invalid records to CMA and have them saved: the endpoints respond with a 200, and the record is just saved as a payload.

(Video content)

Validations will take effect when the record is published. If the record is not valid, publication fails, and editors need to fix the content to ensure all rules are handled before proceeding to move the record into the Published stage.

API Clients Content Management API

## [Legacy batch operations endpoints will be sunset on March 10th](https://www.datocms.com/product-updates/deprecated-batch-operations-endpoints-will-stop-working.md)

[date: 2025-01-07T09:46:08.600+01:00]

Starting March 10th, 2025, our legacy 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:

-   [https://www.datocms.com/docs/content-management-api/resources/item/batch\_destroy](https://www.datocms.com/docs/content-management-api/resources/item/batch_destroy.md)
-   [https://www.datocms.com/docs/content-management-api/resources/item/batch\_publish](https://www.datocms.com/docs/content-management-api/resources/item/batch_publish.md)
    
-   [https://www.datocms.com/docs/content-management-api/resources/item/batch\_unpublish](https://www.datocms.com/docs/content-management-api/resources/item/batch_unpublish.md)
    

### Required action

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:

-   [https://www.datocms.com/docs/content-management-api/resources/item/bulk\_destroy](https://www.datocms.com/docs/content-management-api/resources/item/bulk_destroy.md)
-   [https://www.datocms.com/docs/content-management-api/resources/item/bulk\_publish](https://www.datocms.com/docs/content-management-api/resources/item/bulk_publish.md)
    
-   [https://www.datocms.com/docs/content-management-api/resources/item/bulk\_unpublish](https://www.datocms.com/docs/content-management-api/resources/item/bulk_unpublish.md)
    

### Impact assessment

Based on our monitoring over the past two months, only four projects are actively using these deprecated endpoints. If your project is affected, you will receive a direct email from our team in the coming days.