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.