Partners

Product Updates

DatoCMS changelog for new features and general improvements
New
New validation available: Image Aspect Ratio
October 11th, 2023

A simple but very welcome validation just landed for Single-asset, Asset Gallery and SEO and Social fields: the ability to require a specific aspect ratio for the uploaded images:

By enforcing a specific aspect ratio, you can ensure that all images displayed have a uniform appearance, thus maintaining consistency and aesthetics in the presentation of assets on your website or platform.

UI Improvement
Introducing an improved Navigation System
October 9th, 2023

We're delighted to announce the release of an improved navigation system inside DatoCMS projects. It offers the same simplicity you are familiar with, but with an improved user experience.

Here are the main changes:

✅ The new Project Settings area lists all the global settings

✅ Environment-specific configuration happens in the Configuration tab

✅ Models and blocks are now under the Schema tab

This result comes from our commitment to continuous improvement: it is just the beginning of larger changes, always guided by user testing sessions and your precious feedback.

Content Delivery API
Deep Filtering is officially in public beta
October 6th, 2023

We are excited to announce the public beta release of one of our most requested features: Deep Filtering!

Deep Filtering enables the Content Delivery API to filter records based on the content within their blocks. This functionality is supported in both Modular Content and Structured Text fields.

To learn how to activate deep filtering, and learn everything about the filtering options it enables, please refer to its documentation page.

Webhooks
Introducing Enhanced Webhook Payloads: get more information with less effort!
October 2nd, 2023

We've heard your feedback and understand the frustration of not having, for example, alphanumeric Model IDs included in webhook updates about records.

It makes it difficult to identify the model involved, forces you to make additional API calls, slows down the response.. well worry not, because we have a solution! Please welcome Enhanced Webhook Payloads.

DatoCMS now includes a new key called "related_entities" in the payload of all webhooks. This key contains an array of all the entities that are linked to the main entity (that is, the one that triggers the event itself).

As an example, let's see the new webhook payload sent for a "record update" event:

{
"environment": "foo-bar",
"entity_type": "item",
"event_type": "update",
"entity": { "type": "item", "id": "348295724", ... },
"previous_entity": { "type": "item", "id": "348295724", ... },
"related_entities": [
{ "type": "item_type", "id": "7690234", ... },
{ "type": "user", "id": "69003345", ... },
],
}

Since the Record entity offers relationships with its model and its creator, both objects will be fully included in the webhook payload. This makes it really easy to consume them, and for example, extract the information about the Model ID.

In the case of webhook events caused by changes in Models, the number of related entities will be far larger, as the Model entity offers relationships with all of its fields, fieldsets, etc. Again, very useful data when you need to interact with a model!

We want DatoCMS to be simple and just work©, so we won't be adding any options to enable this behavior. Enhanced Webhook Payloads is already available to everyone, by default.

We hope this new feature saves you time and makes your workflow smoother. Happy coding!

Content Management APIContent Delivery APISecurity
Upcoming changes to ID format for new entities in DatoCMS environments
August 18th, 2023

Starting from October 18th, we'll be boosting security and capabilities by changing how we generate IDs for new entities in project environments. Instead of using numeric IDs, we'll switch to using base64-encoded UUIDs. This enhancement will bring significant improvements, with no impact on the vast majority of integrations.

The shift

Traditionally, when you've created new entities such as records or models, the auto-generated IDs have been in the form of incremental numeric strings (e.g., "43012949").

However, we are excited to share that starting from October 15th, there will be a transition in the format of these IDs for newly created entities. The new format will be a 16-byte string, closely following the RFC 4122 UUID (Universally Unique Identifier) standard. These new IDs will be expressed in URL-safe base64 format, without any padding, as defined in RFC 4648 (e.g.,"X9_l7IdvRq26r7e2wn353Q").

Benefits

The benefits of this change will be far-reaching, both immediately and in the long term:

  • Enhanced Security and Data Privacy: Incremental numeric IDs, while functional, can sometimes inadvertently reveal patterns in data creation and usage. The utilization of UUIDs, which are essentially random and not predictable, will significantly bolster the security of your data.

  • Future-Ready Decentralization: The adoption of UUIDs will enable us to introduce future enhancements to our API, allowing you to explicitly specify desired IDs when creating entities within environments. This advancement opens doors to exciting scenarios such as batch imports and more robust auto-migrations between environments, all achieved without centralized coordination.

What does this mean for you

What does this mean for your projects, and your integrations with DatoCMS APIs?

  • Existing IDs Remain Unchanged: Your entities that were created prior to this transition will retain their current "numeric" format IDs (e.g., "43012949") indefinitely.

  • Aesthetic Shift in New IDs: For newly created entities post-transition, the IDs will have an alphanumeric structure (e.g., "X9_l7IdvRq26r7e2wn353Q"), deviating from the purely numeric style.

  • Coexistence of ID Formats: Existing projects will exhibit a blend of numeric and alphanumeric IDs — previously created entities retaining numeric IDs and newly created ones adopting the new alphanumeric format. Projects initiated after the transition will solely feature alphanumeric IDs.

  • API Compatibility: Our APIs have consistently enforced a "IDs are strings" policy. Consequently, if your integration with DatoCMS APIs is based on existing API practices, which involve working with string IDs, you are already aligned with the upcoming change.

  • Impact on Integrations: If your integration relies on interpreting string IDs as numerics or vice versa, we urge you to evaluate whether your solution can smoothly transition to the new alphanumeric format.

We believe that this transition will mark a significant step forward in ensuring the security, flexibility, and longevity of your data within DatoCMS environments.

Should you have any questions or concerns regarding this transition, please don't hesitate to reach out to our support team.

Integrations
Updated Next.js integration: now App Router compatible
June 28th, 2023

We are happy to announce the latest update to our integration resources and packages for Next.js!

Our team has been hard at work to enhance your developer experience and provide seamless integration with the new Next.js App Router (introduced in Next 13, and marked as stable from v13.4).

What's new?

Integration Resources — We have revamped our integration documentation to provide you with comprehensive guidance and support for the new App Router. Whether you are new to Next.js or an experienced developer, you'll find everything you need to seamlessly integrate your applications with Next.js.

Our updated documentation covers key topics, best practices, and step-by-step instructions, making it easier than ever to get started.

Starter Projects — As part of this update, we have also upgraded our Blog starter to run on Next 13, and released a new Photography Website starter. Both serve as a starting point for your Next.js projects, with built-in compatibility for App Router.

The Blog starter in particular offers the Web Previews and SEO/Readability Analysis plugins already pre-installed and configured, as well as a fully functioning Draft Mode for editors, with real-time previews of draft content.

Updated react-datocms npm Package — The latest version of our popular React integration toolkit has been optimized to work seamlessly with Server Components, and introduces a new helper specifically designed for the new Metadata API.

By upgrading to the latest version, you can enjoy a smooth developer experience with Next 13+, while leveraging the usual powerful capabilities of DatoCMS in your projects.

Onwards!

We are committed to continuously improving our tools and resources to make your development process smoother, more efficient, and enjoyable. These updates are designed to provide you with maximum flexibility, allowing you to leverage the benefits of App Router seamlessly within your Next.js applications.

To explore the updated integration resources and get started with the new project starter template and react-datocms package, head over to our documentation website.

NewUI Improvement
Introducing Per-Locale Publishing
June 26th, 2023

We are excited to announce the launch of our latest feature, Per-Locale Publishing, designed to simplify content creation and localization workflows for teams using multiple locales.

With Locale-based Publishing, your team can now publish content for a single locale independently, regardless of the status of other locales in your project. This empowers you to reach new audiences, shorten content creation timelines, and streamline your workflow like never before.

Up until now, content creators often faced the challenge of having to create and publish content for all locales simultaneously. This process could become time-consuming, cumbersome, and inefficient, especially when every locale is managed by a different team.

With Locale-based Publishing, you can now focus on one locale at a time, allowing your team to start and finish creating content on a specific locale, without the need to touch the other locales. Work independently, maximize efficiency, and publish localized content with ease.

You can read the complete announcement in our Blog.

NewContent Delivery APIIntegrations
Vercel Visual Editing generally available for Enterprise customers
June 22nd, 2023

We're thrilled to share that, as of today, the Visual Editing feature we developed in partnership with Vercel is generally available to all our enterprise customers: please get in touch with us if you want to use this exciting new feature on your projects.

Once activated, visual editing will add clickable links to any content present on your Vercel websites that's coming from DatoCMS.

By clicking these links, you'll start editing content in zero seconds:

With Visual Editing enabled, you can efficiently navigate to specific content without needing to know its exact location within DatoCMS.

We prepared a documentation page to guide you through the setup, which, by the way, it's gonna be simple. Once the feature is enabled both on DatoCMS and Vercel (notice that visual editing is a beta feature on Vercel: you'll have to ask them to have the feature enabled), all you have to do is add a couple of headers to the GraphQL API calls and... that's it!

Do not hesitate to contact us if you want to start using visual editing on your projects, or in case you need any further information about it.

Content Delivery API
Enforcing new GraphQL complexity limit calculation
June 12th, 2023

Since today, June 12th 2023, we are enforcing the GraphQL complexity limit we updated some months ago.

If one of your projects executed a query with a complexity higher than your plan's limit, you should have received an email in the past days.

If you have any questions or concerns about this change, please don't hesitate to contact our support team.

NewUI Improvement
Introducing the "All locales" filter option on Tabular view
May 10th, 2023

We are happy to inform you about a new feature that improves the browsing experience for models with optional locales.

Previously, when working with a model that allowed for optional locales, users were unable to browse all records simultaneously, as the interface required selecting a specific locale, limiting the ability to view content across all locales.

To address this limitation, we have now introduced the "All locales" filter option in the Locale switcher. This new feature empowers users to effortlessly browse records containing any locale, providing a comprehensive view of their content.

To ensure a seamless transition and avoid any confusion, we have maintained the default visualization settings. The interface will continue to display the primary locale of the project by default. This means that users who prefer the previous behavior can continue working without any disruptions.

With the addition of the "All locales" filter option, editors can now easily access and manage their records across multiple locales within a single interface, streamlining workflows and providing a more efficient content management experience.