Release 11.0 - 230921.11.0

This release introduces a new publishing workflow as well as improvements to our versioning system.

Features

Publishing Workflow

We've introduced new tools to help teams make draft changes to an object's metadata, view the changes and ultimately publish them.

A new draft argument on update mutations creates a new version and sets the version as draft and the new x-draft header allows users with relevant permission to view the draft versions. The draft retrieved using x-draft will consist of the most recent version and any subsequent updates will update that draft.

Once the changes are ready to be published, the draft version can be published using the version rolling back/forward functionality documented here.

For example, this request will create a new version of the movie but because the draft argument has been supplied, that new version will not be published.

mutation {
  updateMovie(
    draft: true, 
    uid: "01HAR9ZTNR1S42P0XE2KJ92411", 
    movie: {
      title: "An updated title",
      year_of_release: 2023
  }) {
    uid
    title
    year_of_release
  }
}

I can then retrieve the movie using the getMovie query as normal but passing the x-draft header will show the new draft version.

query {
  getMovie(uid: "01HAR9ZTNR1S42P0XE2KJ92411") {
    uid
    title
    year_of_release
  }
}

Headers:

{
  "x-draft": true
}

The x-draft header works in all queries, including while fetching relationships and set content, with the exception of search as only published objects are indexed.

See here for more information on versioning, including how to view version history and fetching specific versions.

Fixes

  • Fixed an issue where version numbers never went higher than 10
  • Fixed an issue where deleting an availability rule may not update the search index
  • Fixed an error that was being thrown when entering a "falsey" timezone, such as an empty string