Product Updates

DatoCMS changelog for new features and general improvements
March 5th, 2020
Set default values for every locale
UI Improvement

We have just launched a highly voted feature request on Community: the possibility to set a default value for each locale, in the field settings, like so:

Localisable default values

February 12th, 2020
CMS UI improvements
UI Improvement

We took some time to improve our UI, mainly following the suggestions that came through the feature requests over at Community.

Thank you very much for sharing your ideas, they are really making DatoCMS better every day! We are very grateful for all your feedbacks.

Here comes the list of the most recently released.

Menu item with custom internal links

When adding menu items in the left navigation you can now open an "External URL" in the same tab.

Link to a filtered model

This allows you to create custom links to filtered models or specific pages of the CMS, customising even more the structure of a DatoCMS instance.

Change language of UI

We have been adding community-contributed UI translations in the past few months.

So now that we have a few we've added this switch:

Change language of CMS UI

to let you manually pick your preferred translation, if you want to override the browser's default selection.

Remember size of sidebar

Minor improvement, but now we remember the size that you have picked for the sidebar, as you have requested on Community. Thank you ;)

Ability to collapse branches in tree-like collections

If you have a big tree-like collection of records you will be pleased to know that you can now collapse the branches to improve navigation. Thank you for your suggestion!

Add record ID in sidebar

A small but handy addition is the record ID in the sidebar. Previously was present only on the address bar of the browser, which made it invisible when opening records in modals. Showing it in the sidebar will make it always visible and hopefully more useful.

Show real deploy URL instead of dummy in global SEO

We've implemented and launched another little UX improvement coming from a suggestion on Community. It's about using a real deployment URL rather than a dummy address in the global SEO settings. Thank you!

January 22nd, 2020
New React demos and UI improvements
UI ImprovementDocs, Guides and DemosAPI Clients

Here's a quick list of some little improvements that we have released recently:

  • a record selection made on a filtered list is retained when the filter is cleared, making the filter-select actions more useful
  • added an integration with Google Cloud Storage for custom assets domain. Have a look at the docs
  • performance improvements in the UI and API (still going)
  • added a few supported locales in project settings
  • new documentation for responsiveImage in Content Delivery API
  • a new filter for uploads with sizes selector (B, KB, MB)
  • little improvements for key-based navigation in the UI interface
  • a lot of little bug fixes!

We've also recently released updated versions of our plugins:

  • Ruby client v0.7.10
  • Gatsby source plugin v2.1.23
  • JS client v3.0.14

On the demos side instead we've launched a new example in React, pulling information directly from our Content Delivery API using three different GraphQL clients.

You can read more in the documentation or launch the demos directly from your Dashboard > New project > Demo project > Single-page app!

December 18th, 2019
Deprecation notice on our Content Management API
Content Management APIAPI Clients

Starting from February 1st, 2020, it will no longer possible to directly create, duplicate, update or delete modular block items using the following endpoints:

  • POST /items
  • PUT /items/:id
  • POST /items/:id/duplicate
  • DELETE /items/:id
  • DELETE /items/

The only supported way to perform any operation on modular block items will be by updating a modular content field on the parent item.

For example, to create an item with two modular blocks inside its modular content field:

import { SiteClient, buildModularBlock } from 'datocms-client';
const client = new SiteClient('YOUR_TOKEN');
client.items.create({
itemType: '111',
content: [
buildModularBlock(text: "Foo", itemType: '222'),
buildModularBlock(text: "Bar", itemType: '222'),
]
})

This change is required to ensure atomic, reliable operations on content.

December 5th, 2019
Renewed media area... and some more!
Content Delivery APIUI ImprovementContent Management API

We have just released the biggest single update ever done to DatoCMS!

Here's a succinct list of all the changes that we have released.

Most importantly a big set of features strictly linked with the media area that you can read in the blog post.

Media area image with additional info

Very briefly:

  • video support via integration with Mux
  • HSL video streaming
  • thumbnail and meta data extraction
  • extraction of meta data and Blurhash from images
  • redesign of the UI to support different image layouts and dimensions
  • advanced sorting and filtering
  • shared/personal filters to group and organize content
  • video previews
  • show where the image is used
  • the APIs have changed in a backward compatible manner to support all these changes and also our clients are supporting all the new features already

While doing that we also worked on a set of related feature requests:

November 25th, 2019
A bundle of features!
NewUI ImprovementContent Management APIContent Delivery API

In the last month, while preparing to the big launch of the media area, we've shipped a handful of features that you have requested!

Here's the summary:

  • Content Delivery API explorer directly in the CMS interface

API explorer in CMS UI

  • ability to rename uploads

Rename asset

  • added metadata to uploads, e.g. copyright, author, notes, custom metadata, etc

Asset categorization

  • editors that have publishing capabilities can see details on deployments
  • added a link to go from model settings to collection/instance

Switch to content

Bear with us a little bit and we'll be in touch soon for the big release of the media area!

October 11th, 2019
New Features and Tools in the Media Area
NewUI Improvement

We have significantly improved the Media Area, with a wide range of new features, QoL changes, and brand new tools.

Here's a quick list:

  • New Search Filters
  • General UI improvements
  • Fast access to asset details from Records
  • Localizable Titles and Alts
  • Real-time Image editor

To accommodate some of these features, we updated our APIs and released version 3.

If you want to read more about the topic, have a look at our blog post.

September 11th, 2019
DatoCMS now available in French!
UI Improvement

Thanks to Quentin and Thomas DatoCMS now speaks French!

The list of supported languages keeps on getting bigger: now we have English, German, French, Italian and Czech!

If you want to help us make DatoCMS more friendly to users all over the globe, please get in touch with us... we offer nice discounts!

July 30th, 2019
Copy modular content structure from another language
UI Improvement

Editing complex multi-language content is much easier now!

When adding a new language to your record you will find a new button in your modular content field called "copy structure from ...". By hitting this button you will import the modular content skeleton from the first language -just the blocks, without the content-, saving you the time to recreate the exact structure!

Feedbacks and questions are welcome!

July 24th, 2019
Customize webhooks HTTP body with Mustache templates
New

Integrating DatoCMS with third-party systems is now a lot easier, as you can now customize the HTTP body of the outgoing HTTP requests.

You can even use Mustache language to make the payload dynamic. As an example, this custom template:

{
"message": "{{event_type}} event triggered on {{entity_type}}!",
"entity_id": "{{#entity}}{{id}}{{/entity}}"
}

Will be converted into the following HTTP body:

{
"message": "update event triggered on item!",
"entity_id": "123213"
}

You are not limited to send JSON payloads: just make sure that if the payload is not in JSON format you configure the proper Content-Type header.

Read all the details in the updated documentation page.