Upgrade 16.1 to 16.2

Introduction

Goal

Upgrade a Bloomreach Experience Manager implementation project from version 16.1.x to 16.2.y.

Significant Changes

  • In the Content perspective, the referring documents dialog has been much improved to also not only show referring documents but also content that is referred to from the document, and channel references.
  • The unused plugin Universal Pixel Integration has been removed
  • As part of our continuous effort to use latest libraries, we upgraded to recent versions such as Spring Boot 3.4, Spring 6.2, Wicket 10.3, Jackson 2.18, GSon 2.11 and more.
  • Also security related, we refactored out the unmaintained net.sf.json-lib:json-lib library in favor of org.json:json
  • Upgraded Hippo CKEditor 4 to use the final non-licensed version 4.22.1-h1 for community projects and latest LTS version 4.25.0-lts-h1 for Enterprise projects.
  • In the Derived Data Engine, support has been added to easily retrieve the path information.
  • Fixed a CMS freeze when switching between perspectives, occurring only in recent browsers (e.g. Chrome/Chromium-based 131, Firefox 133).

See the 16.2.0 release notes for a full list.

Upgrade Steps

Perform Generic Minor Upgrade Steps

Follow the generic instructions for minor upgrades.

Check Custom Project Code for Incompatibilities With Upgraded Libraries

Because of third party library upgrades that may introduce backward compatibility issues, there's a chance that project code doesn't build or run well any more. In that case, look into the specifics and adjust the project code to use the latest library correctly. Special attention to the removal of json-lib library, see the section below.

Check Custom Project Code for Usage of the Json-lib Library

The library net.sf.json-lib:json-lib has been removed from the dependency tree in favor of org.json:json.

Please check any usage in Java code in your project regarding net.sf.json.* objects and either refactor those to use org.json.*, or provide the dependency to json-lib in the project.

Note that some internal classes in the product code were changed so in case you have forked or extended those part, please change the custom code accordingly.

  • in the hippo-cms-api module, this mostly concerns classes in the package org.hippoecm.frontend.plugins.yui. In classes representing Javascript configurations, the getters that used to return JsFunction and YuiId objects are changed to now return String.
  • in the hippo-addon-eforms-hst module (Enterprise Forms delivery) the following methods now return org.json.JSONObject objects instead of net.sf.json.JSONObject objects.
    1) com.onehippo.cms7.eforms.hst.model.Form#getConditionsAsJson
    2) com.onehippo.cms7.eforms.hst.model.condition.JsonConditionalElement#getConditionAsJson
    (plus the same methods 3 subclasses c.o.c.eforms.hst.model.AbstractField, FieldGroup and Page)

Check Hippo CKEditor version change

Due to some dependency changes, community projects should get artifact hippo-ckeditor-4.22.1-h1.jar in their CMS, whereas enterprise projects, that normally use the hippo-enterprise-package-cms-dependencies pom, should get hippo-ckeditor-4.25.0-lts-h1.jar. The latter is a more secure, but licensed version for which a license key will be supplied out-of-the-box for Enterprise customers.

If your project does not have these changes, please inspect the dependency model and adjust, perhaps compare with an new archetype-based 16.2 project.

Detailed Release Notes

See also the detailed release notes for more information.

Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?