Release Summary 26.01 | Jan 08, 2026

The following key features and improvements, along with bug fixes, have been released in Algonomy CXP products in the release version 26.01.

Enterprise Dashboard

Enabled Experience Reporting APIs in Placement Profile

The Placement Profile page has been enhanced to integrate Experience reporting APIs, allowing rrPortal to directly access advanced performance data. This update enables deeper visibility into placement-level analytics, including strategy performance, merchandising rule impact, and key engagement metrics. By securely sourcing data from the Experience service, users can now analyze placement performance more comprehensively within a single interface, improving decision-making and optimization workflows.

Jira: ENG-31195, ENG-31521

Added a User Segments Tab in Test Drives

Added a new User Segments tab to the Recs and Content Test Drives to improve transparency into how user context influences recommendations and content. When a user ID is provided, the Test Drive now displays the user’s active segments, aligned with the logic used in the User Profile page.

Jira: ENG-31516

Introduced Product Impact Visibility for Rules in Recs Test Drive

Enhanced the Recs Test Drive UI to show how many products are affected by each applied rule. A new “No. of Products” column has been added to the Rules table, giving merchandisers immediate insight into the impact of restriction, boosting, manual recommendation, and advanced merchandising rules (strategy rules are shown as N/A).

The product count is clickable, opening a side panel that lists the impacted products with images, product names, and IDs, along with direct links to the Product Catalog. This improvement makes it easier to evaluate rule effectiveness and fine-tune merchandising strategies directly from the Test Drive experience.

Jira:ENG-31425

Enhanced Content Test Drive to Preview Content Using Current URL

Content Test Drive has been enhanced to support previewing personalized content based on the current URL. A new Preview URL field has been added to the Advanced section, which sends the specified URL as a custom header (x-algonomy-referrer) in the personalize API request. The field validates the input, automatically applies https when a protocol is missing, and clearly indicates when the custom header is included. This enhancement allows marketers to validate URL-triggered personalization logic before campaigns go live, improving testing accuracy and efficiency.

Jira: ENG-31424

Added Multi-Currency to the Strategy Performance Graph on Placement Profile

The Placement Profile page now supports multi-currency analysis for Strategy Performance. A new currency selector lets users view performance metrics in different currencies, with the chart updating based on the selected option. The default currency is automatically selected to match existing report behavior, enabling clearer insights for multi-currency sites.

Jira: ENG-31400

Added Strategy Performance Button on Placement Profile Page

Enhanced the Placement Profile experience by adding a Strategy Performance button alongside existing actions. This enables users to view real-time performance data for strategies and Advanced Merchandising rules in an overlay, streamlining analysis without disrupting configuration workflows.

Jira:ENG-31028

Added New Dynamic Experience for Recipes

A new Dynamic Experience has been added to display recipes using the Recipe API. Shoppers can launch the experience from a recs placement or a product page link, view a list of recipes relevant to the product context, and click to see individual recipe details including title, images, ingredients, and instructions. Each ingredient links to the corresponding product, and shoppers can navigate between recipes without leaving the overlay.

This enhancement provides an interactive, personalized recipe experience and demonstrates the capability for future template-based dynamic experiences.

Jira:ENG-30917

Social Proof – Data Engineering

Introduced Social Proof Coverage Analysis (Site-Level Rollup)

Introduced Social Proof Coverage Analysis to help teams evaluate metric coverage across an entire site and identify optimal thresholds for social proof display. This enhancement provides a snapshot view of how many products meet defined user and event count thresholds across key metrics (Views, Clicks, Add to Cart, Purchases), intervals, and categories.

The feature supports configurable metric, category, interval, and threshold selection, and delivers both graphical and tabular visualizations showing product coverage trends. This enables data-driven decisions when tuning social proof thresholds and intervals to maximize impact and consistency across placements.

Jira:ENG-26556

MVT

Improved User Experience

Improved the usability and clarity of the MVT Tests UI to make test management more intuitive. Tests are now sorted by start date in descending order by default (including expired views), making it easier to find recent experiments. Additionally, placement swap tests now include clearer guidance, explicitly indicating which placements should be selected for swapping to reduce user confusion and configuration errors.

Jira: ENG-31321

Other Feature and Technical Enhancements

The following feature enhancements and upgrades have been made in the release version 26.01.

Jira # Module/Title Summary General Availability

ENG-31257

Find:
Implement Hybrid Search Job Chaining in Airflow

Improved Hybrid Search job orchestration by introducing Airflow job chaining, ensuring query vector and catalog embedding jobs execute sequentially based on completion. This enhances reliability and prevents dependency-related failures.

08-Jan-26

ENG-31322

Find:
Automated Vector Job Status Reporting

Implemented automation to track the status of vector jobs and generate daily reports. The find_job_status_report now runs daily via the find-py-scripts:j11-2.19.4 Docker image, sending alerts for any failed jobs to the configured recipients. This ensures timely monitoring and reduces manual effort in verifying vector job executions.

08-Jan-26

ENG-31439

Find:
Remove Redundant Queries from Query Vector Jobs

Introduced a temporary cache in the query writer job to eliminate duplicate queries during query vector generation. By leveraging HDFS as a cache, only unique queries are now selected for new vector generation, reducing redundant processing and improving overall job efficiency.

08-Jan-26

ENG-31293

Find:
Separate Query Vector Collection from Metastore

Separated the query vector collection from the metastore to improve scalability and configuration flexibility. A new Solr queryvector collection was introduced and integrated across services, including Language Service, SFI routing, and Search Service for hybrid search queries. The query vector collection is now configurable and was successfully created and validated in QA, with deployment issues related to missing resource paths identified and addressed during setup.

08-Jan-26

ENG-31411

Find:
Included Stopwords in Exact and Trim Fields in Solr

Enhanced the Find search schema to include stop words in exact and trim fields. Previously, stop words were only considered in searchable fields, which could affect matching for queries containing common words. With this update, shopper queries that include stop words will correctly return results even when matching against exact or trimmed fields, improving search relevance and completeness.

08-Jan-26

ENG-26339

Recommend:

Upgraded Hue to a Modern Version

Upgraded Hue to a newer, supported version to replace the legacy Python 2.6–based setup. The upgrade improves security, usability, and long-term maintainability, includes updated Hive support for Data Science Workbench, removes the Impala UI tab, upgrades authentication, and migrates authorization from Sentry to Ranger. Integration with OneLogin will be handled in a follow-up release.

08-Jan-26

PLAT-4179

Platform:
Updated Feed-to-Streaming Product Properties to Use PCS Search Attribute Definitions

Updated the feed-to-streaming pipeline to derive product property definitions from the pcs.search_attributes table. This ensures that database-driven configurations—such as searchable, facetable, and filterable settings—are consistently applied during property definition creation, improving alignment between data ingestion and search configuration.

08-Jan-26

ENG-31448

Recommend:

Enhanced Replenishment Output with Repurchase Date Insights for Audience Manager

Enhanced the replenishment model output to support downstream Audience Manager use cases by generating an additional output file that includes expected repurchase dates for each user–product pair. The new file is based on the existing replenishment output and adds an array of anticipated repurchase dates, while ensuring all users and products are retained without filtering. This enables richer modeling and analysis without impacting existing replenishment workflows.

08-Jan-26

ENG-31528

Social Proof:
Social Proof Rendering and Performance Improvements

Improved the Social Proof component to address multiple rendering, logic, and styling issues. Message cycling logic was corrected to properly remove previous message elements when multiple messages are enabled and to ensure message rotation occurs only when sufficient event data is available. Event processing was optimized by filtering visible events upfront and avoiding unnecessary value calculations. UI styling was refined by fixing opacity handling, modernizing CSS, and improving icon alignment within containers to ensure consistent visual presentation.

08-Jan-26

ENG-31520

Multivariate Tests:

Optimize MVT Category Rollup

Identified and addressed performance issues in the US MVT Category Rollup, where execution times increased significantly (up to 21 hours) for high-volume days, particularly impacting Category and CategoryPageType metrics. As part of this update, support has been added to explicitly run blacklisted rollups by name, enabling controlled, intentional execution when required.

08-Jan-26

ENG-31616

Enterprise Dashboard:

Added New Chatbot Launch Icon

Added a new Chatbot launch icon to the CDN for use in LSI and is now accessible via the CDN URL for consistent usage across the application.

08-Jan-26

PLAT-4177

Site Configuration:
Moved Enable/Disable Capturing Wishlist Events to Site Configuration

The wishlist event capture configuration has been moved to Site Configuration, simplifying access and providing better visibility and control over event tracking behavior.

08-Jan-26

PLAT-4170

User Profile Service and Profile API:
Changed Read and Write Policies for Ups for Cassandra

Standardized UPS Cassandra consistency to use QUORUM by default, added read fallback to LOCAL_ONE through retry policy, and retained profile-level overrides. Verified through UPS write and Profile API read regression tests.

08-Jan-26

ENG-19275

Enterprise Dashboard:

Updated Default API Key Behavior in Recommendation Templates for Dynamic Experiences

The Recommendation template behavior for Dynamic Experiences has been improved to prevent demo credentials from being prefilled by default. Previously, templates loaded with demo site and client API keys, requiring customers to manually update them. With this enhancement, API key fields are no longer prepopulated, ensuring customers explicitly configure templates for their own site and reducing the risk of misconfiguration.

08-Jan-26

ENG-31419

Enterprise Dashboard:

Updated Favicon and Page Titles for Algonomy Branding

The Dashboard favicon and page titles have been updated to reflect Algonomy branding. The RichRelevance logo has been replaced with the Algonomy logo across all dashboards. Additionally, references to {rr}, RichRecs, or RichRelevance have been removed from all page titles, providing a consistent and modernized branding experience for users.

08-Jan-26

ENG-31438

Sales Assistant Chatbot:

Improved Price-Based Product Filtering and No-Results Messaging

Chatbot product filtering has been enhanced to display recommendations based on valid priceCents values, ensuring products with a valid price are shown even when a sales price is not available. When all recommended products are filtered out, the Chatbot now displays a clear no-results message prompting shoppers to refine their query. Both the minimum price threshold and the no-results message are configurable through Dynamic Experience, providing greater flexibility and control over the Chatbot experience.

08-Jan-26

ENG-31485

Sales Assistant Chatbot:

Added srcstr=chatbot parameter to Click URLs for Reporting

Chatbot click tracking has been enhanced by appending the srcstr=chatbot parameter to click URLs returned by the recsUsingCustomInput API. This enhancement allows customers to clearly identify clicks originating from Chatbot interactions and generate Chatbot-specific performance and analytics reports.

08-Jan-26

ENG-31489

Sales Assistant Chatbot:

Click Tracking for Chatbot Interactions and Question Submissions

The Chatbot experience has been enhanced to trigger a click event each time a user submits a question. This enables customers to track chatbot interactions more accurately and analyze how chatbot engagement influences shopper behavior, conversions, and sales. Multiple chatbot interactions within a single visit are now captured for reporting.

08-Jan-26

PLAT-4191

Engineering:

Auto close LRU Cache on Model Republishing

The LRU cache used by ValueReader has been improved to automatically close old cache instances when models are republished. Previously, periodic stats schedulers retained old ValueReader instances, causing memory leaks with large numbers of cached entries and product objects. The update replaces scheduler-based stats printing with a piggyback approach that prints stats on cache access and ensures old caches are properly invalidated and cleared. This enhancement prevents memory leaks, reduces heap usage, and improves overall system stability while maintaining cache statistics functionality.

08-Jan-26

ENG-31480

Recs Chatbot:

Added Build Help Content to Vector Database

Enhanced the rec chatbot vector database to include the Build section of Help documentation. Previously, Build-related help pages were not fully indexed, which limited chatbot coverage for these topics. With this update, Build content is now ingested and searchable, improving response accuracy, relevance, and completeness for Build-related queries.

08-Jan-26

ENG-31423

Engineering:

Removed QA Events from Mixpanel

Removed Mixpanel initialization from QA and Staging dashboards. Previously, non-production events were tracked and counted toward the monthly event quota. With this update, analytics tracking is limited to production environments only, preventing quota consumption by QA and staging activity and ensuring cleaner, more reliable production analytics.

08-Jan-26

ENG-31200

Social Proof:

Corrected Optimization Spelling in Social Proof Configuration

Corrected the spelling of “optimisation” to “optimization” in the Social Proof site configuration UI to align with platform-wide American English standards. The update was limited to the configuration key display in the portal and did not introduce any backend, API, or optimization logic changes, ensuring no impact on existing functionality or data.

08-Jan-26

Bug and Support Fixes

The following issues have been fixed in the release version 26.01.

Jira # Module/Title Summary General Availability

ENG-29463

Engineering:
Synonyms Not Applied for Hyphenated Search Terms

Fixed an issue where synonym rules were not applied correctly when search terms contained dashes or hyphens. In some cases, terms indexed without hyphens (for example, using spaces instead) caused searches with hyphenated queries to return no results instead of falling back to relevant synonyms or higher-level matches. The fix ensures consistent handling of hyphenated and non-hyphenated terms so that applicable synonyms are correctly matched and search results are returned as expected.

08-Jan-26

ENG-31632

Enterprise Dashbaord:
Fixed p13n.js Security Vulnerability

Fixed a security bug in p13n.js where unencoded values from the rcs cookie (including the rid parameter) could lead to unintended script execution. Inputs such as cfrad, visibility, context properties, and rr_rcs are now properly encoded using encodeURIComponent, preventing code injection across supported p13n versions (v1.2, v2.0, and v2.1).

08-Jan-26

ENG-31463

Recommend:
Fixed Manual Recommendations Page Error on Staging Portal

Resolved a 500 error on the Manual Recommendations (Strategy Rules) page caused by SQL syntax issues after upgrading to PostgreSQL 14+. The issue stemmed from missing spaces in dynamically constructed SQL queries, which are no longer tolerated by the stricter PostgreSQL parser. Queries were updated to include proper spacing, restoring correct page load and rule display. The fix was deployed to staging and verified, and additional unit test coverage is being added to prevent similar issues.

08-Jan-26

ENG-31072

Discover/Find:

Fixed Zero Results in New Browse API Due to Missing Global Rank Fields

Fixed a bug where the new Browse API returned zero results when the expected global rank Solr field was missing for an active Discover configuration. The Browse logic was updated to safely handle cases where the global rank field is missing or not yet published by the global rank job, preventing runtime failures and ensuring results are returned even when configurations become active before ranking data is available.

08-Jan-26

ENG-31501

Recommend:

Applied Brand, Category, and Price Filters to ecentItemStrategy

Fixed an issue where RecentItemStrategy ignored dynamic filters such as brand, category, and price (filcat, filbrand, filprmin, filprmax) passed in the request. These filters are now correctly applied alongside existing recommendation rules, ensuring only eligible products are returned. The fix was verified, and recommendations now respect category, brand, and price constraints as expected.

08-Jan-26

ENG-31471

Find:

Fixed Category Drops in Streaming Find Indexer Due to Missing Language Overrides

Fixed an issue where streaming-find-indexer dropped category documents when category override names were missing for certain languages during indexing. The indexer now handles missing or incomplete language overrides more robustly, preventing unintended category drops across multiple languages and ensuring category data remains consistent between the streaming engine and the Find index.

08-Jan-26

ENG-31611

Enterprise Dashboard:

i18n JSON Conversion Failed for Property Keys with Inconsistent Hierarchy Across Locales

Fixed an issue in the i18n JSP custom tag where properties files with inconsistent key hierarchy depths across locales (for example, a simple text key in one language and nested singular/plural keys in another) caused a server error during JSON generation. The conversion logic has been updated to gracefully handle these cases by correctly reconciling text and object nodes, preventing JSP failures and ensuring valid JSON is generated for all supported languages.

08-Jan-26

ENG-31517

Find:

Fixed Intermittent Empty Related Searches in Suggestion Component

Resolved an issue where the related searches section in the Find recommendations API would intermittently return empty results. The root cause was the use of non–thread-safe class-level variables (stats and suggestionSections) within the suggestion component, which were being modified concurrently in multi-threaded execution. The fix replaces these shared class variables with method-local variables passed explicitly to dependent functions, ensuring thread safety and consistent related search results in API responses.

08-Jan-26

ENG-30778

Find:

Removed Double Boosting of Lexical Results in Hybrid Search

Fixed an issue in hybrid search where lexical results were being boosted twice due to the interaction between vector reranking and existing boost rules applied via the Solr rerank parser. A new custom rrRerank parser was introduced, based on the standard Solr rerank parser, with overridden logic to ensure boost rules are applied only once. This prevents unintended score inflation for lexical results while preserving correct reranking behavior for vector-based matches.

08-Jan-26

ENG-31133

Recommend:
Restriction Rules Not Applied in Recs Test Drive

Fixed an issue where “Only Recommend” (whitelist) restriction rules were not being applied in Recs Test Drive, even when strategy and placement context conditions were correctly configured. As a result, attribute-based filters (such as enforcing specific product attributes) were not reflected in Test Drive results. The fix ensures restriction rules are now evaluated and triggered correctly in Recs Test Drive, aligning its behavior with live recommendation responses.

08-Jan-26

ENG-31028

Engineering:

Provided Placement Optimization for Multi-Content Layouts

Enhanced the optimization framework to support placements configured with multi-content layouts. Such placements are now exposed on the Campaign Optimization page, allowing configuration of optimization metrics and personalization levels. The system enforces configuration constraints by disabling fallback content for multi-content placements to prevent conflicting optimization behavior.

08-Jan-26

PLAT-4178

Engineering:

Scoped Action Replace/Update Events Not Published in Certain Catalog Scenarios

Fixed an issue where legacy catalog scoped actions intermittently failed to publish replace or update events when the final item in a snapshot did not pass the existsInCatalog validation. This could result in expected catalog updates not being propagated. The fix ensures replace and update events are correctly sent in these scenarios, while preserving existing behavior—items containing only enrichment properties still do not trigger events. All existing scoped action, ingest, and streaming workflows continue to function as expected.

08-Jan-26

PLAT-4162

User Profile Service:

Ups Writer was Exiting Abruptly Without Pushing Data in Ups During Restart

Fixed an issue where the UPS Writer could exit abruptly during restart without writing UserEvents to UPS. The throttler now retries failed writes. Regression tests completed for end-to-end event upload and retrieval through the Profile API.

08-Jan-26

ENG-31279

Placement Profile UI:
Fixed Issues with Placement Profile page

Fixed several issues on the Placement Profile page, including long rule names not wrapping, inconsistent handling of multi-element Where/What conditions, missing product names due to backend issues, incorrect search placeholder text on the list page, and missing descriptions in the edit flow.

08-Jan-26

ENG-31325

Guided Selling:
Fixed Issues with Translation File in Guided Selling Template

Fixed Guided Selling translation template issues that caused quiz launch failures with multi-row files and prevented variable names from appearing when translations are missing.

08-Jan-26

ENG-31598

Advanced Merchandising:

Advanced Merchandising Rules Page Failed to Load for JA Users

Fixed an issue where the Advanced Merchandising Rules page failed to load for JA users due to incorrect API routing. Rule requests were incorrectly redirected to a tooltip endpoint returning null, causing an infinite loading state. Requests are now correctly routed to the rules API, restoring normal page load behavior.

08-Jan-26

ENG-31320

Recommend:

CategoryProductCP recommendations were not visible

We have resolved an issue where the CategoryProductCP strategy (recommend items purchased by shoppers who viewed this category) was not generating or displaying recommendations for a client. The issue was caused by underlying model build and data processing problems, including stale input paths and configuration inconsistencies that prevented new data from being processed. These issues have been fixed, model builds now run successfully with the latest data, and category-based recommendations are correctly visible in the dashboard.

08-Jan-26

ENG-31401

Engage:
Resolved Incorrect Rule Attribution in Engage Response

We have resolved an issue where Engage API responses incorrectly identified the fallback rule (Rule ID 109) as the active rule for recommendations that were actually generated by an affinity rule (Rule ID 108). While recommendations and scoring were correct, the rule information returned in the response was inaccurate. The fix ensures that the response now correctly reflects the rule that generated each recommendation, improving validation and troubleshooting accuracy.

08-Jan-26

ENG-31402

Sales Assistant Chatbot:

Fixed Chat Session Restart and Suggested Question Click Issues

We have fixed an issue where users were frequently prompted to restart the chatbot session and experienced unresponsive clicks on suggested questions. The issue occurred due to a timing conflict that caused suggested prompts to be hidden before click actions could complete, particularly on slower devices. The chatbot now correctly handles focus state during prompt selection, ensuring clicks register reliably and the chat session flows smoothly.

08-Jan-26

ENG-31553

Sales Assistant Chatbot:

Removed Suggested Questions Display After Initial Chat Query

We have resolved an issue where suggested questions continued to appear after the initial chatbot query and were reused as follow-up prompts. Because these prompts were based on the same queries used to fetch and display products, subsequent interactions became overly restrictive and reduced recommendation relevance. Suggested questions are now removed after the initial query for both the chat template and LSI, ensuring broader and more accurate product discovery.

08-Jan-26

ENG-31479

Recommend:

Fixed Missing Text in Vector Database for Rec Chatbot Issue

Fixed an issue where some text was missing from the vector database used by the recommendations chatbot, resulting in incomplete responses. The missing content has now been added to ensure accurate and complete chatbot answers.

08-Jan-26

ENG-31294

Enterprise Dashboard:
Page Title Displayed Encoded Characters Instead of Quotes

Fixed an issue where page titles in the portal displayed HTML-encoded characters (such as " instead of quotation marks) in the browser tab, including on the Boosting Rules page. The title rendering has been corrected to properly decode and display special characters, ensuring page titles appear correctly and consistently across the dashboard.

08-Jan-26

ENG-31449

Enterprise Dashboard:
Content Cloning Didn’t Work Properly

Fixed an issue where cloning a Multiple Contents layout incorrectly created it as a Recs layout in the portal. This occurred because the forMultiPromo flag was not included in the clone payload and the Multiple Contents option was being added multiple times during layout creation. The cloning logic has been updated to copy and send the correct forMultiPromo flag from the source layout, and the Multiple Contents option is now added only during initialization, ensuring cloned layouts retain the correct type.

08-Jan-26

ENG-31369

Engage:

Fixed Content Test Drive Placement Cache Issue

Fixed an issue in Content Test Drive where changing the selected placement continued to display results from a previously cached placement, even though the backend API returned the correct placement. The UI cache handling has been corrected so that the selected placement is refreshed properly, ensuring the displayed content and campaigns always match the current placement selection.

08-Jan-26

PLAT-4181

Platform:
Fixed Compatibility Matching for Products Without Explicit Model Names

Products with ambiguous names (for example, “15 Black 12/256 GB”) were sometimes incorrectly matched to the wrong model, such as being identified as iPhone 15 instead of the correct Xiaomi 15.

This issue has been fixed by enhancing seed product extraction to include brand context. A new use_brand_for_seeds flag was introduced, and seed products now pass brand information using a [BRAND: X] prefix during extraction.

08-Jan-26