Changes

This document highlights the most important fixes, improvements, and features, that were introduced in Webiny 5.15.0.

How To Upgrade?

Please check the Webiny 5.15.0 migration guide for the upgrade steps.

The majority of changes that were introduced in this release are related to the Amazon DynamoDBexternal link-only version of Webiny.

Amazon DynamoDB-only version of Webiny

In case you missed it, at the moment, Webiny relies on both Amazon DynamoDBexternal link and Amazon OpenSearch Serviceexternal link databases in order to store and retrieve data. And while this is definitely a good choice for larger projects, for smaller and mid-sized projects, we’ll be introducing an Amazon DynamoDB-only version of Webiny. For now there are no official estimates when this will be available, but we can definitely say that a very large amount of work has already been done.

Page Builder
anchor

Storage Operations (#1872external link)
anchor

We extracted existing DynamoDB + Elasticsearch storage logic into @webiny/api-page-builder-so-ddb-esexternal link package. This allows us to create package that stores the data into DynamoDB only, or some other database.

We moved SearchPagesPlugin, SearchLatestPagesPlugin and SearchPublishedPages from @webiny/api-page-builderexternal link to @webiny/api-page-builder-so-ddb-esexternal link.

GraphQL
anchor

Common Changes
  • sort is now a list of strings and default sort is createdOn_DESC - you can check out the schema to see the fields you can sort by
Changes in Pages Schema:
  • query listPublishedPages page argument is changed to after - pass the meta.cursor value to after to paginate
  • meta output was changed to be the same as in other apps
Changes in Menu Schema:
  • the type PbMenu items input and output are an array of JSON objects

Prerendering
anchor

We extracted prerendering logic into separate file, @webiny/api-page-builder/prerenderingexternal link, so it is now imported into api/code/graphql/src/index.tsexternal link file. If you do not want to use prerendering of pages, feel free to remove the referenced import statement.

Elasticsearch
anchor

Query Modifier Plugin (#1872external link)
anchor

Due to changes in the way of how query building for Elasticsearch works we changed ElasticsearchQueryModifierPlugin in the @webiny/api-elasticsearchexternal link package. It is an abstract class now, so if you used it to modify the query, please change it to either PageElasticsearchQueryModifierPlugin for @webiny/api-page-builderexternal link or FileElasticsearchQueryModifierPlugin for @webiny/api-file-managerexternal link. Also, in that abstract class, method named apply was renamed to modifyQuery.

Body and Sort Modifier Plugins (#1872external link)
anchor

There are new ElasticsearchBodyModifierPlugin and ElasticsearchSortModifierPlugin abstract classes, which are extended in each of the application that uses Elasticsearch. As their name suggests, they are specialized to modify either body or sort parameters of the Elasticsearch query.

For Page Builder check out PageElasticsearchBodyModifierPlugin and PageElasticsearchSortModifierPlugin classes.

For File Manager check out FileElasticsearchBodyModifierPlugin and FileElasticsearchSortModifierPlugin classes.

Headless CMS
anchor

Reference Field - Fixed Order of Entries (#1922external link,@nelsonchen5external link)
anchor

When consuming content via the read Headless CMS GraphQL API, the reference fields that might have been included in the GraphQL query would return entries in an incorrect order. From now on, this is no longer the case.

A special shout out to @nelsonchen5external link for sorting this out! ❤️

Learn more about different types of the Headless CMS GraphQL API in this key topic.

ElasticsearchFieldPluginClass Not Used Anymore (#1872external link)
anchor

The definition of Elasticsearch field now uses CmsEntryElasticsearchFieldPlugin class instead of ElasticsearchFieldPlugin.

File Manager (#1912external link)
anchor

GraphQL
anchor

Fixed a bug with missing where parameter in the listFiles query. Also added the tag_and_in option to where so users can search for files that contain all given tags.

Also note that types, tags, ids and search parameters in listFiles query are deprecated. Use the where parameter instead.

Development
anchor

Webiny CLI ---helpArgument Now Works as Expected (#1926external link,@snstantonexternal link)
anchor

When using the Webiny CLI, the --help argument now works as expected.

Special thanks to @snstantonexternal link for taking care of this! ️️❤️