Content Delivery API > Changelog

    Changelog

    All the changes to the Content Delivery API:

    2022/06/10 - Add RecordInterface and FileFieldInterface interfaces

    • Every GraphQL type related records/blocks now implement the RecordInterface interface;

    • Every GraphQL type related to uploads, single asset or asset gallery fields now implements the FileFieldInterface interface.

    2021/04/12 - Add isBlank filter to text fields

    To have a simple way to filter empty texts, especially when using a structured text field, we have added a isBlank filter to the textual fields.

    • Changes to item fields

      • Single-line text field Added boolean filter isBlank

      • Multiple-line text field Added boolean filter isBlank

      • Structured text field Added boolean filter isBlank

    2020/05/11 - Changes in GraphQL filtering

    To make the API more consistent and prevent ambiguous results we have changed how filtering works in some edge cases.

    This is a big changeset, but should only affect edge cases and the minority of usages, following all the details.

    • Changes to item fields

      • Boolean fieldFiltering fields with {eq: null} will return an error message in response payload. Before this change, the filter would have returned always an empty array. You can still retrieve fields with null value using {eq: false}

      • Color fieldFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. You can use {exists: false} from now on.

      • DateTime fieldFiltering fields with, for instance {neq: "2020-04-09T00:00:00+02:00"} will return also items with null values. Before this change, the filter would have returned only for not null values different from 2020-04-09T00:00:00+02:00.

      • Date fieldFiltering fields with, for instance {neq: "2020-04-09"} will return also items with null values. Before this change, the filter would have returned only for not null values different from 2020-04-09.

      • Upload field

        • Filtering fields with {eq: null} now has the same effect of using {exists: false}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with {neq: null} now has the same effect of using {exists: true}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with, for instance {neq: "123456"} will return also items with null values. Before this change, the filter would have returned only for items with not null uploads ids different from 123456.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

        • Important: Filtering fields with {in: []} will return an empty collection. Before this change, the request would have returned all items.

        • Important: Filtering fields with {notIn: []} will return all items. Before this change, the request would have returned an empty collection.

        • Important: Filtering fields with, for instance {notIn: ["123456"]} will return all items having values different from 123456 OR equal to null. Before this change, the request would have returned only items having not nullvalues different from 123456.

      • Float fields

        • Filtering fields with, for instance, {neq: "2.42"} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from 2.42.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • GalleryFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • Integer

        • Filtering fields with, for instance, {neq: "5"} now will return also items with null values. Before this change, the filter would have returned only for items with not null values different from 5.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • JSONFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • Position (geo points)Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • Link

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

        • Filtering fields with {eq: null} now has the same effect of using {exists: false}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with {neq: null} now has the same effect of using {exists: true}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with, for instance, {neq: "123456"} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from 123456.

        • Important: Filtering fields with {in: []} will return an empty collection. Before this change, the request would have returned all items.

        • Important: Filtering fields with {notIn: []} will return all items. Before this change, the request would have returned an empty collection.

        • Filtering fields with, for instance {notIn: ["123456"]} will return all items having values different from 123456 OR equal to null. Before this change, the request would have returned only items having not nullvalues different from 123456.

      • LinksFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • SeoFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • Slug

        • Filtering fields with, for instance, {neq: "foobar"} now will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with, for instance {notIn: ["foobar"]} will return all items having values different from foobar OR equal to null. Before this change, the request would have returned only items having not nullvalues different from foobar.

      • String

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

        • Filtering fields with {eq: null} now has the same effect of using {exists: false}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with {neq: null} now has the same effect of using {exists: true}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with, for instance, {neq: "foobar"} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with, for instance {notIn: ["foobar"]} will return all items having values different from foobar OR equal to null. Before this change, the request would have returned only items having not nullvalues different from foobar.

      • Text

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

      • VideoFiltering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

    • Changes to item metas

      • ID

        • Filtering fields with {eq: null} will return an error message in response payload. Before this change, the filter would have returned an empty result.

        • Filtering fields with {neq: null} will return an error message in response payload. Before this change, the filter would have returned an empty result.

      • Parent

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

        • Filtering fields with {eq: null} now has the same effect of using {exists: false}. Before this change, the filter would have returned always an empty array.

      • PositionFiltering fields with, for instance, {neq: 3} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from 3.

      • Status

        • Filtering fields with {eq: null} will return an error message in response payload. Before this change, the filter would have returned an empty result.

        • Filtering fields with {neq: null} will return an error message in response payload. Before this change, the filter would have returned an empty result.

    • Changes to Upload fields

      • Alt, Title

        • Added exist filter.

        • Filtering fields with {eq: null} now has the same effect of using {exists: false}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with {neq: null} now has the same effect of using {exists: true}. Before this change, the filter would have returned always an empty array.

        • Filtering fields with, for instance, {neq: "foobar"} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with, for instance {notIn: ["foobar"]} will return all items having values different from foobar OR equal to null. Before this change, the request would have returned only items having not null values different from foobar.

      • Author

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • Copyright

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • FormatFiltering fields with {eq: null}, {neq: null}, will now return an error message in response payload. Before this change, the request would have return an empy collection.

      • Height, WidthFiltering fields with, for instance, {neq: "500"} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from 500.

      • IDFiltering fields with {eq: null}, {neq: null}, will now return an error message in response payload. Before this change, the request would have return an empy collection.

      • InUseFiltering fields with {eq: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {eq: false}. You can use {eq: false} from now on.

      • MimeTypeFiltering fields with {eq: null}, {neq: null}, will now return an error message in response payload. Before this change, the request would have return an empy collection.

      • Notes

        • Filtering fields with, for instance, {notMatches: { pattern: "foobar"}} will return also items with null values. Before this change, the filter would have returned only for items with not null values different from foobar.

        • Filtering fields with {exists: null} will return an error message in response payload. Before this change, the filter would have returned the same result as {exists: false}. Please, use {exists: false} instead.

      • SizeFiltering fields with {eq: null}, {neq: null}, will now return an error message in response payload. Before this change, the request would have return an empy collection.

      • SmartTags, TagsFiltering fields with {contains: null}, will now return an error message in response payload. Before this change, the request would have return an empy collection.