Magnolia 4.5 reached end of life on June 30, 2016. This branch is no longer supported, see End-of-life policy.

Page tree
Skip to end of metadata
Go to start of metadata

What has changed since Magnolia 4.2.3

Magnolia 4.3 brings many new features, improvements and bugfixes; here are some highlights:

  • Multi-domain support (via the Extended Templating Kit (ETK) module)
  • i18n support is enhanced: i18nAuthoringSupport now allows switching languages while editing content.
  • Groovy support (via the Groovy Module): provides a Groovy "shell" or console, allows editing scripts in the repository, and allows using Groovy classes as templating models or any other Magnolia component !
  • Introducing the Magnolia Store: you can now see which of your modules need upgrading... as well as new modules you could use !
  • Configuration items can now inherit from others. This can help avoiding a lot of duplication in configuration nodes, for instance when configuring dialogs or multiple sites. See MAGNOLIA-2994 for details.
  • Various improvements to the cache: it's now locale-, host- and parameters- aware.
  • Publication date can now be specified from the "activate" dialog; workflow definitions can now be edited directly within Magnolia.
  • Users can be arranged in folders for easier maintenance.
  • Paragraphs can be rendered independently via the URL; opens door for integration with other systems by allowing to get and render content snippets. (Ajax, REST, ...)
  • Preliminary support for JCR 2.0 and Jackrabbit 2.0.
  • The Jackrabbit shipped with Magnolia has been updated to the 1.6.1 version.
  • Unicode support in node names: the previous limitation on the characters that could be used to name pages, nodes and properties has been removed. See MAGNOLIA-3009 for details.
  • A couple of libraries used by Magnolia have been updated to newer versions. See MAGNOLIA-2912 for details.
  • Many, many more! See the change logs.

The following should also be of specific interest for developers:

  • The order of filters has changed slightly: the multipart filter is now before the login, logout and uriSecurity filters; the i18n filter is now before the cache filter
  • info.magnolia.objectfactory: we refactored the (now deprecated) FactoryUtil and ClassUtil classes into this new package. For most common usages, you can now use Components and Classes, respectively. This new API will possibly change in future versions, however we expect the Components and Classes classes to remain stable.
  • Observed components are now returned as a proxy: you can get a component once and for all, with the guarantee that its methods and properties will reflect the latest state of the corresponding node in the repository. (Previously, you had to fetch that component from FactoryUtil to get an updated instance). See MAGNOLIA-2553 for details.
  • The content API (HierarchyManager, Content, NodeData) has been refactored and cleaned up. See MAGNOLIA-3015 and sub-tasks for details. A few methods have been deprecated but the changes should otherwise be transparent for most cases.
  • The various wrapper classes for content (HierarchyManagerWrapper, ContentWrapper, NodeDataWrapper) have been improved. We introduced a couple more useful wrappers, too. See MAGNOLIA-3020 for details.
  • The ModuleRegistry.get* methods now throw exceptions for unknown modules; a new isModuleRegistered() method was added to cover cases where the previous behaviour was needed. See MAGNOLIA-2762. Module instances can also be retrieved by class rather than by name.
  • FreeMarker shared variables can now be configured. This allows exposing of objects to templates without having to have a specific renderer, for example.
  • Generics have been introduced in a bunch of classes. See MAGNOLIA-2927 for details.
  • A few classes or methods that have been deprecated since 4.0 or earlier have been removed. See MAGNOLIA-2995 and linked issues for details.

Detailed change logs can be found in our Jira:

Many of the bundled modules have also been updated with a few bug fixes. Two new modules are now bundled with Magnolia Enterprise Edition: the Groovy module, and the Google Analytics for STK module. Those modules are also available for the Community Edition.

Lastly, we've started a preview/proposal module which prefigures a few reviewed templating mechanisms which we're hoping to finalize for Magnolia 5.0. Some details are available at MAGNOLIA-2993, on Greg's blog, and on our wiki. (to be updated)

The Magnolia team would like to thank everyone who reported issues or contributed patches to this release. Your continued interest helps us make Magnolia better.

How to update from Magnolia 4.2.3

Please refer to the general update procedure page.

How to update from an earlier version of Magnolia

Please refer to the release notes for Magnolia 4.2.3. The procedure is identical.

Please see the release notes pages for update instructions specific to each version following the version you are updating from; if you're updating from a fictional 1.2.3 to 1.2.6, for example, please read all release notes concerning the versions you are skipping (1.2.4 and 1.2.5 in this example).

Known issues

JBoss 5

There is an unfortunate issue, specifically when deploying under JBoss *5*: you will need to remove the Xerces jar from the Magnolia webapps: if deploying using war files, you can remove it from the archive, or with the following Unix command zip -d path-to-magnolia.war WEB-INF/lib/xercesImpl-2.8.1.jar. If deploying using an exploded directory, simply remove the WEB-INF/lib/xercesImpl-2.8.1.jar file. See MAGNOLIA-2577 for technical details.
If you get exception messages such as org.jboss.xb.binding.JBossXBException: Failed to create a new SAX parser and/or java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration, this is the issue you're hitting.

Weblogic 10

When deploying on Weblogic 10, there is a version conflict while using commons-lang. While Weblogic-10 is distributed with commons-lang-2.3.jar, JackRabbit and Magnolia need at least commons-lang-2.4.jar. To resolve this issue, modify setDomainEnv.sh of Weblogic and add commons-lang-2.4.jar to the PRE_CLASSPATH. Since version 2.4 of commons-lang doesn't remove any methods, but only adds new API and fixes known bugs, there is no adverse effect from this change to the Weblogic installation.

Weblogic 9

The imaging module doesn't function properly due to conflict with a javax.imageio plugin bundled with this version of Weblogic. There is currently no known workaround for the issue.

Please see the list of known issues in the administration section for more details.