It's a particularly useful feature when you have ie. "event" records, where a date might be the most important bit to highlight from a record!
AVIF is now the default format across all accounts if you use auto=format
. AVIF format can also be forced as the output format with fm=avif
. File sizes should drop by nearly 60% compared to JPEG & 35% compared to WebP, so that's awesome news for every project.
We've also made available the iptc=allow
parameter to allow IPTC metadata (which contain attribution info) to pass through from the original JPG image to the transformed image.
In a modular content field, if you specify only one type of required block and you add a validation requiring a minimum number of blocks, like here for example:
We go ahead and by default create the required empty blocks for you when you create a new record, like this:
So your editors will see from the get go all the fields that they will need to populate and save a few clicks!
We have just added a new type of notice for build triggers:
So that now you can see at a glance if it's a build trigger notice and you don't risk missing it thinking it's a record saving or something else.
This change was long overdue, and we're glad we were able to address it! 🥳
Suppose you have ie. a model with 10 fields, 9 of which are optional. Until now, when creating a record, you were required to specify... all 10 fields. If you didn't want any value for the optional ones, you were required to pass a null
value in any case, or the API call would fail:
const { SiteClient } = require("datocms-client");const client = new SiteClient("YOUR-API-TOKEN");const record = await client.items.create({itemType: "1234",requiredField: "Lorem ipsum",optionalField1: null,optionalField2: null,optionalField3: null,optionalField4: null,optionalField5: null,optionalField6: null,optionalField7: null,optionalField8: null,optionalField9: null,});
In addition to being redundant and inconvenient, this was a maintainability problem over time, because when a new optional field gets added on the model, you need adapt every script and add that null
value. Well, now optional fields can be omitted from the payload during creation:
const record = await client.items.create({itemType: "1234",requiredField: "Lorem ipsum",});
Nice, simple and clean. Happy friday!
With today's update, we decided to split two permissions in order to give you a more fine grained permission system.
This change did not alter what your users were already able to do, or not to do. For instance, if an existing role had the ability to "Create/duplicate" records, the same role has both the permissions ("Create" and "Duplicate") defined.