Upgrade 17.0 to 17.1
Goal
Upgrade a Bloomreach Experience Manager implementation project from version 17.0.x to 17.1.y.
Significant Changes
This minor release introduces new Content AI capabilities, broader availability of the Search Agent, and product improvements. The most significant updates for developers and users moving from 17.0 to 17.1 include:
-
Conversational repository-wide search. Search Agent now enables repository-wide, natural language discovery. By matching on semantic meaning rather than just keywords, it finds relevant documents even when terminology varies or content is stored in different areas. This tool supports editors to find check existing coverage before writing, track the impact of changes, and integrate more context into chat. The Search Agent is now available to all brXM customers including applications hosted in Bloomreach Cloud. Check documentation for more information about the feature.
-
PostgreSQL (PgVector) vector store. PgVector is now supported as a vector store in addition to Redis. See the Vector Store and Ingestion guide.
-
Search Agent result depth is configurable. A new optional property brxm.ai.tools.search.max-results controls how many results the Search Agent returns per query (default 5, range 1 to 20). No action required; the default applies if you do not set it. See Initialize and configure via Properties files documentation for more details.
-
Set up AI features from Essentials. The LiteLLM connector, custom completions paths, and the vector store that powers the Search Agent can now be configured from the Essentials application. See Initialize and configure via Essentials.
-
MimeTypeMapper removed. The deprecated MimeTypeMapper utility has been removed. Projects that call it directly must obtain the MIME type mapping service from HippoServiceRegistry instead.
-
Custom value list providers in the Experience Manager. Selection fields backed by a custom valuelistProvider now render in the Experience Manager as well as in the legacy document editor, resolved through a single registry shared by both. Existing registrations keep working; providers that extend Wicket's Plugin need a small change to appear in the Experience Manager. See Custom Value List Providers.
See the 17.1.0 release notes for a full list.
Upgrade Steps
Repository node type (CND) changes
This release introduces the following node type definition (CND) changes:
-
added property hst:deferpreviewload (boolean) to the node type hst:channel
-
added property hippostdpubwf:rejectedBy (String) to the node type hippostdpubwf:request
Important: simple rollback not supported
The above CND change means that an upgrade to 17.1.0 cannot be rolled back simply by redeploying the previous distribution on the already upgraded repository, by swapping binaries or containers. If you need to downgrade, you must restore from a full repository backup taken before the upgrade.
Perform Generic Minor Upgrade Steps
Follow the generic instructions for minor upgrades.
Migrate Direct MimeTypeMapper Usage (if applicable)
If your project code calls the deprecated MimeTypeMapper directly, migrate to obtaining the MIME type mapping service via HippoServiceRegistry. If your project does not reference MimeTypeMapper, no action is needed.
Custom Value List Providers
No action is required: existing custom value list providers keep working in the legacy document editor exactly as before.
If your project has a custom value list provider and you want the field to render in the Experience Manager too, check how it is implemented. A provider that is a plain class with a public no-argument constructor works in both editors as soon as it is registered under /hippo:configuration/hippo:modules/valuelist-service/hippo:moduleconfig/providers. A provider that extends org.hippoecm.frontend.plugin.Plugin — including any subclass of DocumentValueListProvider — cannot be instantiated by the Experience Manager and renders an empty list there; it is logged at startup as "not Experience Manager compatible". Converting such a provider is three mechanical changes to the class plus one bootstrap change. See Custom Value List Providers for the interface contract, the registration format, and before/after migration examples.
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.
Detailed Release Notes
See also the detailed release notes for more information.