Release notes for Magnolia CMS 6.2.9

Magnolia CMS 6.2.9 is a bug-fixing and security release that also delivers a number of updates and improvements.

Content Editor migrated to Magnolia 6 UI

We have released version 2.0 of the Content Editor module, which has been fully migrated to the Magnolia 6 UI framework.

You can either keep using the bundled 5 UI module and its Stories app (version 1.3.7) or switch to the migrated 6 UI module. For new projects, we recommend using the 6 UI module.

You have to use the migrated module with:

  • 6 UI dialogs (the bundled module only works with 5 UI dialogs).

  • Features built natively on 6 UI (for example, the DAM Connector Pack).

To include the new modules in a webapp based on a 6.2.9 bundle, adjust the following Maven dependencies in the webapp’s POM:

<dependency>
  <groupId>info.magnolia</groupId>
  <artifactId>magnolia-link-unfurl</artifactId>
  <version>2.0</version>
</dependency>

<dependency>
  <groupId>info.magnolia.block</groupId>
  <artifactId>magnolia-block-api</artifactId>
  <version>2.0</version>
</dependency>

<dependency>
  <groupId>info.magnolia.block</groupId>
  <artifactId>magnolia-block-templating</artifactId>
  <version>2.0</version>
</dependency>

<dependency>
  <groupId>info.magnolia.editor</groupId>
  <artifactId>magnolia-content-editor</artifactId>
  <version>2.0</version>
</dependency>

<dependency>
  <groupId>info.magnolia.editor</groupId>
  <artifactId>stories-app</artifactId>
  <version>2.0</version>
</dependency>
The migrated module will only be bundled in Magnolia 6.3.

New Analytics Connector Pack release

A few weeks ago, we announced a new release of the Analytics Connector Pack that gives editors and marketers more power over analytics. With its UI dashboards, the revamped Analytics app provides a user-friendly, no-code way of building attractive dashboards and widgets.

Improvements

Support for Java 16

With this release, we have added Java 16 to our certified stack.

The JavaScript Models module will not work with Java 16 as it relies on the Nashorn JavaScript engine, which was deprecated in JDK 11 and removed in JDK 15.

We are planning to replace Nashorn with GraalVM (JSMODELS-24).

Different configurations possible for different environments

It is now possible to have different configurations in one or more environments. When the magnolia.yaml.envsubst feature flag (JVM option) is set to true, the following syntax in a YAML file will parse the environment variable:

<url>: !env https://${<ENV>}.api.com/<endpoint>
This will only work in plain YAML definitions, not YAML decorator files.

Support for light development in Solr module

Solr module 5.6 brings support for light development where:

  • A new solr-templating module is available.

  • SolrTemplatingFunction and SolrQueryBuilder are used to create pages based on Solr search results.

  • All code related to the earlier model-based architecture is deprecated.

Sortable search results in Periscope module

With the new JcrSearchResultSupplierOrder, it is possible to sort search results by property and direction in the Periscope module. For example:

/periscope-core/searchResultSuppliers/pages-app.yaml
class: info.magnolia.periscope.search.jcr.JcrSearchResultSupplierDefinition
appName: pages-app
workspace: website
nodeTypes:
  - mgnl:page
fullTextSearch: true
titleProperty: title
icon: icon-webpages-app
order:
  property: mgnl:lastModified
  direction: DESC # possible values are ASC and DESC

See Search result suppliers for more information.

Default path-based locking in Publishing module

With Publishing module 1.2.6, path-based locking has become the default locking mechanism. Previously, publishing occasionally failed while nodes remained locked on the public instance (EEPUBLISH-28).

Node-based locking is still available for compatibility reasons.

Field default value no longer of generic type

We have introduced the following binary incompatible change where the field default value no longer has to be an instance of the field type:

- <T> info.magnolia.ui.field.ConfiguredFieldDefinition<T>#defaultValue
+ Object info.magnolia.ui.field.ConfiguredFieldDefinition<T>#defaultValue

Multi fields can be set as required

You can now set multi fields as required using the required and requiredErrorMessage properties.

New Download button for upload fields

You can now download any asset you previously uploaded using the Download button for upload fields.

Notable bug fixes

  • The REST module has been updated to Swagger 2 / OpenAPI 3 to fix an issue where Swagger UI displayed no content. The REST Tools app has also been restyled to match the look of Magnolia 6 UI (MGNLREST-294).

    Swagger tools in admincentral
  • Multi fields with i18n=true can now be retrieved when queried using language parameters via REST (MGNLREST-286).

    When configuring i18n for a multi field, make sure it is defined at the level of the field itself (not its child entries).

  • All siblings of a published node now appear in the same order as on the author instance at the time of approving publication. To disable such ordering of sibling nodes, set /modules/publishing-core/config@orderSiblings to false (PUBLISHING-82).

    This default behavior does not take into account the order at any other point in time (such as the time of creating the published version).
  • Content translations exported in earlier versions of the Content Translation Support module can now be imported in later versions (MGNLCTS-144).

  • JCR apps are no longer automatically refreshed on changes that are not visible in the grid (such as node versioning). Previously, the grid used to flicker due to the server pushing unnecessary data to the browser (MGNLUI-6686).

  • The value you define for info.magnolia.ui.datasource.jcr.JcrDatasourceDefinition#rootPath is not ignored as long as the target folder exists beforehand. Previously, data was incorrectly stored in the default root folder rather than the defined rootPath (MGNLUI-6704).

  • When you restore a previous version of a page, you also restore that version’s activation status (MAGNOLIA-7975).

  • Custom actions based on imported Groovy classes are working again. We have fixed the underlying issue, which was related to ByteBuddy (MAGNOLIA-8094).

Third-party library updates

This release comes with third-party library updates to fix some security and compatibility issues as well as improve performance. The following are the most notable updates:

  • Byte Buddy updated to 1.10.22 (BUILD-460).

  • Commons IO updated to 2.8.0 (BUILD-455).

  • JAXB Runtime updated to 2.3.3-b02 (BUILD-462).

  • Lombok updated to 1.18.20 (BUILD-460).

  • Swagger Core and Swagger Parser updated to 2.1.9 and 2.0.25 respectively (BUILD-460).

  • Vaadin updated to 8.13.0 (BUILD-467).

We keep the details of security fixes private in line with our security policy. Contact our Support team if you need more information.

Others

Known issues

If you are upgrading from an earlier version, read the Upgrading to Magnolia page first and check the Known issues page.

Documentation screenshot updates

Some of the screenshots in the documentation still show the legacy Magnolia 5 UI. Please bear with us as we work to update them.

Changelog

See the 6.2.9 changelog for all the changes.

Updated modules

  • Cache 5.9.3

  • Community Edition 6.2.9

  • Content Editor 1.3.7, 2.0

  • Content Translation Support 2.5.3

  • DAM 3.0.8

  • Demo Projects 1.5.4

  • DX Core 6.2.9

  • External DAM 1.0.7

  • Language Bundles 1.1.4

  • Magnolia 6.2.9

  • Pages 6.2.8

  • Periscope 1.2.4

  • Personalization 2.0.7

  • Publishing 1.2.6

  • Publishing Transactional 1.1

  • Resources 3.0.4

  • REST Framework 2.2.7

  • Solr Search Provider 5.6

  • Templating Essentials 1.5.4

  • Third-party library BOM 6.2.9

  • UI 6.2.9

  • Vaadin Compatibility Addons 1.3.8

Acknowledgements

The Magnolia team would also like to thank everyone who reported issues, contributed patches or simply commented on issues for this release. Your continued interest helps us make Magnolia better. Special thanks go to Christopher Chard, Thomas Duffey, Joseph Kamwena, Marvin Kerkhoff, Marcel Koch, Thomas Martin, Will Scheidegger, CysNET Software, Simon Tourville and Andreas Weder.

Feedback