Product Updates

DatoCMS changelog for new features and general improvements
API Clients
Ruby client deprecation for v <0.7.3
May 14th, 2020

Unfortunately we need to ask everyone who is using Ruby client with a version older than 0.7.3 to upgrade.

New builds might break as we had to change something in our schema to fix a bug that was allowing old versions of the Ruby client to work.

Version 0.7.3 was released on 2 Jul 2019 so most of you should probably be safe, but please double check.

New
April 2020 update
May 8th, 2020

Some updates about what we've released last month in preparation for our next big feature that is coming very soon: the staging environments!

Let's see the spring cleaning we've done:

Deployment environments are now Build triggers

The new feature we are going to launch is going to be called "environments", so to avoid confusion and also to give a clearer name to the former "deployment environments", we've renamed them to "build triggers".

In fact they are manual triggers that launch your build in external systems, we hope will make more sense for everyone!

This will unfortunately cause also a change in the CMA:

  • deployment_environment is now build_trigger

  • deploy_event is now build_event

Reference models by API keys

When using the CMA, you can now reference models by using API keys instead of model ids. For now you can only do that when passing the API key in the URL or on filters. It's still a work in progress, soon you'll be allowed to use API keys in payloads as well.

As a nice side note, the usage of API key is also available when filtering webhooks.

Bugfix - react-datocms IE11 compatibility

We've released a new version of react-datocms (v1.2.2) that fixes a compatibility issue with IE11.

Bugfix - duplicating item in tree structure

When duplicating an item in a tree structure, the new item will have the same parent of the duplicated one.

Bugfix - change link validations

When changing link validations we are now providing an extra alert message, as this can potentially lead to data loss.

Content Delivery API
Upcoming changes in GraphQL filtering
May 7th, 2020

We'll release in a few days a change in our CDA that will affect some edge cases in filtering.

Please find all the details in our documentation: https://www.datocms.com/docs/content-delivery-api/changelog#20200511---changes-in-graphql-filtering

Plugins
New SDK and updated plugins!
April 8th, 2020

We've just released a round of updates on the plugin SDK and the plugins that we maintain.

We've added to the SDK the following methods/properties:

  • scrollToField(...pathChunks) - Plugins can use this method to navigate the record form.

  • saveCurrentItem() - Plugins can use this method to trigger a record save action without pushing the save button.

  • notice(message) and alert(message) - Use these methods to display UI consistent notifications and alerts.

  • itemStatus - Information about the publishing status of the record the plugin is attached to.

  • isSubmitting - Information about the record's form submitting status.

Read all the details on the SDK in the documentation.

Together with the SDK update we've released a new plugin:

  • Field anchor menu - A plugin that creates a sidebar menu that link to the fields in your record

and a few updates:

  • in the Conditional fields plugin - added a new option, invert, that inverts the logic of conditional fields - ie. show slave fields if master boolean is false.

  • in the Yandex translate plugin - we've fixed a bug that prevented the plugin to work with all_locales_required = false

  • Upgraded all dependencies and SDK

  • Removed localtunnel as default option as it's not maintained anymore and you can do withouth

New
Vercel (formerly ZEIT) integration!
March 16th, 2020

We are very proud to announce our latest integration, with Vercel!

You can now add Vercel as a deployment environment. You can trigger a build as usual from DatoCMS for static site generators but you can also use that to clear the cache of a Next.JS application.

Read all the details in our blog post about this.

UI Improvement
Assets in rich text fields are detected as in use
March 12th, 2020

When using assets in rich text fields we couldn't detect them as "in use" in our media area filters.

But now instead we are doing that, so if you want to clear some space, deleting some unused assets from your media area, you are now good to go! The "in use" filter is now safer to use.

Last but not least, if you replace an asset we'll replace the URLs for you in all the rich text fields! This was sort of expected behaviour, but not implemented. Now it is and as a bonus we are doing it also on JSON fields, making also plugins that were saving assets in those fields more reliable.

UI Improvement
Set default values for every locale
March 5th, 2020

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:

UI Improvement
CMS UI improvements
February 12th, 2020

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.

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:

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!

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

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!

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

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.