⭐️ Lanzado v3.0 con soporte para WordPress 6.6, y bulk mutations
Se ha lanzado Gato GraphQL v3.0, conteniendo nuevas características y un par de breaking changes. Echa un vistazo a las notas de la release en GitHub para la lista completa de cambios.
A continuación están las actualizaciones más importantes.
Añadida compatibilidad con WordPress 6.6
Gato GraphQL 3.0 ha recompilado todos sus bloques, para hacerlos compatibles con WordPress 6.6. (Para todas las versiones previas, los bloques lanzarán un error JS.)
Añadidos campos de bulk mutation (para todas las mutations en el esquema)
Gato GraphQL 3.0 añade campos de "bulk" mutation para todas las mutations en el esquema, permitiéndonos mutar múltiples recursos.
Por ejemplo, la mutation createPosts (la mutation de recurso único es createPost) creará múltiples entradas:
mutation CreatePosts {
createPosts(inputs: [
{
title: "First post"
contentAs: {
html: "This is the content for the first post"
}
},
{
title: "Second post"
contentAs: {
html: "Here is another content, for another post"
}
excerpt: "The cup is within reach"
},
{
title: "Third post"
contentAs: {
html: "This is yet another piece of content"
},
authorBy: {
id: 1
},
status: draft
}
]) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
title
content
excerpt
author {
name
}
status
}
}
}Las bulk mutations desbloquean posibilidades para gestionar nuestro sitio WordPress. Por ejemplo, la siguiente consulta GraphQL usa createPosts (y Multiple Query Execution, proporcionado por Gato GraphQL PRO) para duplicar entradas:
query ExportPostData
{
postsToDuplicate: posts {
rawTitle
rawContent
rawExcerpt
postInput: _echo(value: {
title: $__rawTitle
contentAs: {
html: $__rawContent
},
excerpt: $__rawExcerpt
})
@export(as: "postInputs", type: LIST)
@remove
}
}
mutation CreatePosts
@depends(on: "ExportPostData")
{
createPosts(inputs: $postInputs) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
title
content
excerpt
}
}
}La lista de campos de bulk mutation añadidos es la siguiente:
Root.addCommentToCustomPostsRoot.createCustomPostsRoot.createMediaItemsRoot.createPagesRoot.createPostsRoot.removeFeaturedImageFromCustomPostsRoot.replyCommentsRoot.setCategoriesOnPostsRoot.setFeaturedImageOnCustomPostsRoot.setTagsOnPostsRoot.updateCustomPostsRoot.updatePagesRoot.updatePostsComment.replyWithCommentsCustomPost.addComments
Breaking change: Requiere al menos WordPress v6.0
Para soportar WordPress v6.6, los bloques del plugin tuvieron que ser recompilados apuntando a WordPress v6.0+.
Por tanto, a partir de v3.0, Gato GraphQL requiere al menos WordPress v6.0.
Breaking change: El bloque de schema configuration "Payload Types for Mutations" puede necesitar ser reconfigurado
Al bloque de schema configuration "Payload Types for Mutations" se le ha añadido un nuevo valor de opción: "No usar payload types para mutations (es decir, devolver la entidad mutada)". Por esta razón, su estructura de datos interna ha cambiado.
Si has creado una schema configuration con la opción "No usar payload types para mutations (es decir, devolver la entidad mutada)" seleccionada, tras actualizar a v3.0 este valor de selección se perderá. Necesitas editar la schema configuration, seleccionar esta opción de nuevo, y guardar.