Broadleaf Microservices
  • v1.0.0-latest-prod

Catalog Services Release Notes for 2.0.2-GA

  • The 2.x versions are Spring Boot 3 compatible.

  • This version includes all changes up to 1.8.15 Release Notes


  • JDK 17 is required for Broadleaf release trains 2.0.0-GA, and beyond.

New Features & Notable Changes

  • Reduced resource consumption during product reindex

    • Used distinct category ids when fetching category translations to avoid having a larger than necessary batch size for the query

    • Introduced a more configurable DTO to control the product consolidation flow

      • Added ProductConsolidationRequest to allow more granular control on whether specific contributors should run

        • Everything is set to be true by default to preserve the original behavior to maintain backwards compatibility, meaning that all product assets are still consolidated by default if not explicitly configured not to via the ProductConsolidationRequest

      • Added new endpoints discriminated by the new required configurable=true and ProductConsolidationRequest params for /ignore-narrowing/hydrated and /production/hydrated

  • Updated Product Export Maintenance View metadata and Product Export endpoint to support new Export Commons export initiation flow

    • The Product Export Maintenance View metadata now implements a separate Query Builder field that dictates the filter string to be passed in the export request alongside any selected products from the grid.

    • The target entity grid that allows the user to include/exclude selected products now has the built-in text query filter & advanced query builder filter enabled so that the user can search and filter the grid without necessarily affecting the outcome of the export.

    • The new Product Export endpoint that initiates the export via the ExportManager supports the new Export Commons export initiation flow that expects the filter string to be included as part of the export request body instead of a request parameter. The old version of the endpoint that passes the filter as a request parameter has been deprecated.

  • Added a refresh button to manually trigger updates to the Product browse grid.

  • Reduce resource usage from ProductConsolidationContributors during reindex.

Bug Fixes

  • Fixed active date & flag filtering for variants.

    • Made JpaVariant implement ActiveAware for active date filtering.

  • Added more validations for variant products.

    • If a variant-product’s option is being used in any of the variants, that option cannot be deleted.

    • If a variant-product’s option-value is being used in any of the variants, that option-value cannot be deleted.

    • A product option with the same attribute-name cannot be added.

  • Added option-validation for product imports

  • Fixed issue where product disappeared from admin product view after adding an advanced tag

    • Added RSQL filters to ignore archived product tags during contribution

  • Fixed specific item choice hydration

  • Fixed bug where admin search would not return products with referenced add-ons

  • Fixed admin error when sorting on Facet Groups and Search Groups

  • Fixed issue deleting a product at the tenant level while having relationship entities at the application level

    • Deprecated DeleteProductRelationshipEntitiesHandler

    • Introduce a new Spring EventListener, CatalogEntityDeletedEventListener to handle InternalPersistenceEvent and CatalogEntityDeletedEvent

  • Fixed issue where category archival was not cascaded to the product-category relationships

  • Fix error resolving PDP with deeply nested Item Choice

    • Fixed not including SPECIFIC_PRODUCT choices when determining the Item Choices to hydrate in ItemChoiceHierarchyProductContextContributor.

    • Fixed not returning the current specific choice product when its own item choices are too deep to resolve based on the configured max depth in ProductOptionContributionUtils.

Upgrade Guide

API Changes

New Endpoints

Table 1. New Endpoints
Path Description

GET /ignore-narrowing/hydrated?configurable=true

Read all hydrated ConsolidatedProducts with narrowing ignored and specified product consolidation request

GET /production/hydrated?configurable=true

Read all non-archived, production products with specified product consolidation request

Configuration Properties

Added Properties


    • Description: Controls whether the CatalogEntityDeletionConfiguration beans should be registered.

    • Default value: true