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 DynamoDB external link-only version of Webiny.

Amazon DynamoDB-only version of Webiny
In case you missed it, at the moment, Webiny relies on both Amazon DynamoDB external link and Amazon OpenSearch Service external 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 (#1872 external link)
anchor

We extracted existing DynamoDB + Elasticsearch storage logic into @webiny/api-page-builder-so-ddb-es external 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-builder external link to @webiny/api-page-builder-so-ddb-es external 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
meta {
	hasMorePages: Boolean!
	totalCount: Number!
	cursor: String
}
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/prerendering external link, so it is now imported into api/code/graphql/src/index.ts external 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 (#1872 external link)
anchor

Due to changes in the way of how query building for Elasticsearch works we changed ElasticsearchQueryModifierPlugin in the @webiny/api-elasticsearch external 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-builder external link or FileElasticsearchQueryModifierPlugin for @webiny/api-file-manager external link. Also, in that abstract class, method named apply was renamed to modifyQuery.

Body and Sort Modifier Plugins (#1872 external 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 (#1922 external link, @nelsonchen5 external 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 @nelsonchen5 external link for sorting this out! ❤️

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

ElasticsearchFieldPlugin Class Not Used Anymore (#1872 external link)
anchor

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

File Manager (#1912 external 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 - --help Argument Now Works as Expected (#1926 external link, @snstanton external link)
anchor

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

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