For the full list of changes, check out the Webiny 5.41.4external link release on GitHub.

Security
anchor

Cognito Federation: Fixed Handling of Identity's Groups and Teams Properties (#4418external link)
anchor

When using Cognito Federationexternal link, via the getIdentity callback, developers have the ability to customize the identity object.

This is useful when you need to add additional properties to the identity object, such as groups or teams, which can then be used for authorization purposes.

But, there was an issue with how the identity’s groups and teams-related properties were handled. Previously, only the group property was handled. Now, all of the following properties are handled:

  • group
  • groups
  • team
  • teams

This change ensures that the identity object is correctly processed, and that the groups and teams properties are correctly loaded and used for authorization purposes.

Fixed Loading of Teams When Using 3rd Party IdPs (#4419external link)(#4420external link)
anchor

When using 3rd party IdPs, such as Okta or Cognito Federationexternal link, and using the getIdentity callback to customize the identity object, assigning teams to the identity object was not working correctly.

More specifically, resolving security roles from teams that were created via the Admin app was not working as expected. On the other hand, teams that were define programmatically were working as expected.

This issue has been fixed, and now, when using the getIdentity callback, teams are correctly loaded and assigned to the identity object.

Page Builder
anchor

New "Page Builder Element" Extension (#4342external link)
anchor

We’ve introduced a new type of an extension called Page Builder element extension.

Once run, the extension will make sure a users ends up with all of the required files and configurations for a new Page Builder element plugin. This will make it easier for users to start developing new Page Builder elements.

The extension can be accessed like any other extension, via the webiny extension command, by then selecting Page Builder Element from the list of all available extensions.

New Page Element Plugins (#4340external link)
anchor

In order to be more in line with the new Page Builder element extension, and also some of the best practices we’ve been pushing lately, we’ve updated the existing Page Builder element plugins. Essentially, instead of using plain JavaScript objects, users will now do the same via React components.

Note that the previous way of creating Page Builder element plugins will still work, but moving on, we recommend using the new way.

Our existing Create a Custom Page Element article has been updated to reflect these changes.

Introducing theuseLoaderReact Hook (#4424external link) (#4435external link) (#4447external link)
anchor

We’ve introduced a brand new useLoader React hook, which is a essentially utility a hook that helps you load data in custom page elements.

The main purpose of this hook is to ensure that, once the data is loaded in the page prerendering process, it is captured and properly cached. This way, the loaded data is immediately available when the published page is delivered to the end user, which improves page performance and user experience.

For more information, please refer to the Loading Data in Page Elements guide.

Page Prerendering - Preloading of Fonts (#4450external link)
anchor

We’ve improved the page prerendering process to enhance how fonts are loaded.

During prerendering, we now capture all font requests and automatically generate corresponding <link> HTML tags in the document’s <head> to preload the fonts. For example:

Ultimately, this ensures that fonts are loaded before the page is displayed, preventing the dreaded “flash of unstyled text” (FOUT) and improving the overall user experience.

In Case You Missed It

Pages created with the Webiny’ Page Builder are prerendered when published. This means that the page is generated as a static HTML file and served to the end user. This is done to ensure the best possible performance and SEO.

Form Builder
anchor

Form Builder - Create Settings Entry When New Locale Is Created (#4446external link)
anchor

Prior to this release, when a new locale was created, Form Builder application’s settings entry was not created for the new locale. This resulted in users not being able to change the form’s settings for the new locale.

This issue has been fixed, and now, when a new locale is created, the Form Builder application’s settings entry is also created for the new locale.