Upgrade 16.6 to 16.7

Goal

Upgrade a Bloomreach Experience Manager implementation project from version 16.6.x to 16.7.y.

Significant Changes

This minor release introduces a number of new features, technical stack upgrades, and product improvements. The most significant updates for developers and users moving from 16.6 to 16.7 include:

  • AI Content Assistant Access Management: Control feature access through role-based management, allowing isolation to specific users/groups or gradual rollouts. For more information please see Initialize and configure the AI Content Assistant documentation.

  • PDF Support in AI Content Assistant: Use PDF documents from the CMS as primary context or reference materials (e.g., brand guidelines) for AI conversations.

  • Angular v21 Upgrade: The Channel Manager, Project Management, and Navigation applications have been upgraded from Angular v12 to v21 for improved performance, security, and long-term support.

  • Enhanced SVG Security: A new configurable SVG validator provides stronger protection against malicious content in uploaded image files.

  • Refactored CMS File Uploads: The deprecated Blueimp File Upload library has been replaced with Filepond. Several internal Wicket classes were removed or refactored.

  • Image Compression Improvements: A new parameter, compressionLossless, has been introduced for image set variants to control the compression quality factor specifically for lossless formats, such as PNG and GIF. This parameter is detailed in the documentation on Create a Custom Image Set and is also supported by Essentials' Gallery Manager development tool.

See the 16.7.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.

Refactored CMS file uploads 

We replaced the deprecated Blueimp File Upload frontend library with FilePond to remove the dependency on jQuery 1 and address related security concerns. 

As part of this work, several internal Wicket classes were removed and/or significantly refactored:

  • org.hippoecm.frontend.plugins.jquery.upload.multiple.FileUploadBar

  • org.hippoecm.frontend.plugins.jquery.upload.multiple.FileUploadTemplate

  • org.hippoecm.frontend.plugins.jquery.upload.multiple.FileDownloadTemplate

  • org.hippoecm.frontend.plugins.jquery.upload.single.FileUploadBar

If you have customizations or overrides that extend or rely on these classes or their related packages, you will need to review and update those customizations when upgrading to 16.7.0.

Deprecated APIs

We deprecated the following APIs that rely on Jackrabbit RMI connections. These APIs will be removed with brXM version 17.

org.hippoecm.repository.RemoteHippoRepository 
org.hippoecm.repository.decorating.client.ClientHierarchyResolver 
org.hippoecm.repository.decorating.client.ClientQuery 
org.hippoecm.repository.decorating.client.ClientRepository 
org.hippoecm.repository.decorating.client.ClientServicesAdapterFactory 
org.hippoecm.repository.decorating.client.ClientServicingNode 
org.hippoecm.repository.decorating.client.ClientServicingSession 
org.hippoecm.repository.decorating.client.ClientServicingWorkspace 
org.hippoecm.repository.decorating.client.ClientServicingXASession 
org.hippoecm.repository.decorating.client.ClientWorkflowDescriptor 
org.hippoecm.repository.decorating.client.ClientWorkflowManager 
org.hippoecm.repository.decorating.client.LocalServicingAdapterFactory 
org.hippoecm.repository.decorating.remote.RemoteHierarchyResolver 
org.hippoecm.repository.decorating.remote.RemoteQuery 
org.hippoecm.repository.decorating.remote.RemoteRepository 
org.hippoecm.repository.decorating.remote.RemoteServicingNode 
org.hippoecm.repository.decorating.remote.RemoteServicingSession 
org.hippoecm.repository.decorating.remote.RemoteServicingWorkspace 
org.hippoecm.repository.decorating.remote.RemoteServicingXASession 
org.hippoecm.repository.decorating.remote.RemoteWorkflowDescriptor
org.hippoecm.repository.decorating.remote.RemoteWorkflowManager 
org.hippoecm.repository.decorating.server.RemoteServicingAdapterFactory
org.hippoecm.repository.decorating.server.ServerHierarchyResolver 
org.hippoecm.repository.decorating.server.ServerQuery 
org.hippoecm.repository.decorating.server.ServerQueryManager 
org.hippoecm.repository.decorating.server.ServerRepository 
org.hippoecm.repository.decorating.server.ServerServicingAdapterFactory 
org.hippoecm.repository.decorating.server.ServerServicingNode 
org.hippoecm.repository.decorating.server.ServerServicingSession 
org.hippoecm.repository.decorating.server.ServerServicingWorkspace 
org.hippoecm.repository.decorating.server.ServerServicingXASession 
org.hippoecm.repository.decorating.server.ServerWorkflowDescriptor 
org.hippoecm.repository.decorating.server.ServerWorkflowManager 
org.hippoecm.hst.core.jcr.pool.BasicPoolingRepositoryFactory 
org.hippoecm.hst.core.jcr.pool.MultiplePoolingRepositoryFactory 

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?