Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 2.0.5

Important Updates

Spring Boot Upgrade

  • As of Broadleaf Release Train 2.0.4-GA, all microservices have been upgraded to Spring Boot 3.3

New Features & Notable Changes

  • Added ENUM as a new Content Field type option, which allows the user to define a lookup field with custom enum options with corresponding values and labels.

  • Added a new boolean param addressableByUri to the /content-items endpoint to retrieve all content-items with a non-empty uri.

  • Added caching configuration to the DefaultContentItemHydrationService to improve performance.

  • Added metadata introducing MAKE_REUSABLE secondary action to make embedded content items reusable.

  • Added column to Content Field grid to display required boolean field.

  • Improved extension accessibility for JpaCustomizedContentItemRepository by making getManagedType() protected instead of private.

  • Added metadata to support inline content item cloning.

  • Added a discrete cache invalidation

    • This new feature allows invalidating the caches when one of the entities is changed/deleted so that the new changes will be immediately available without needing to wait until the cache has expired.

    • Set broadleaf.content.cache.invalidation.active=true to enable it.

Bug Fixes

  • Fixed a bug with the Content Model create form in which the Are content items of this model addressable by URL? toggle is missing on page-load.

  • Introduced properties to configure the names of other microservices that may send requests to Content as trusted to allow passing additional information in the ContentContext that would normally expect to be derived from the access token.

    • broadleaf.content.content-item.resolver.whitelisted-service-callers

    • Default only includes catalogbrowseclient.

      broadleaf:
       content:
          content-item:
            resolver:
              whitelisted-service-callers:
                - catalogbrowseclient
  • Fixed an issue where database data representing FieldData#value was mistakenly converted into a ContentItemAsset, resulting in empty content item fields.

    • Modified conditions within FieldValueConverter#convertToEntityAttribute to accurately identify instances of ContentItemAsset.

  • Fixed instances where nested content was not hydrated correctly as it was not accounting for non-map objects.

  • Fixed validation discrepancies across embedded and non-embedded content items.

Upgrade Guide

Configuration Properties

Added Properties

  • broadleaf.content.cache.by-content-item-id

    • Description: Time-to-live of hydration cache of a Content Item

    • Default value: 5 minutes