Broadleaf Microservices
  • v1.0.0-latest-prod

Translation Common Release Notes

2.0.4-GA

  • Made the interface TranslationRepository extend TrackableRsqlFilterExecutor in order to use the RSQL service methods.

  • Fixed an NPE when attempting to map a translated value into an object within an embedded map collection where the untranslated object is null.

    • In particular, this was seen for Product Attributes when then Attribute was null in the default locale but had a translation added in a different locale.

    • The error message seen in the logs was java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "projection" is null

    • The fix allows missing entries (e.g., an Attribute) in maps to be instantiated and populated for the sake of translations.

2.0.3-GA

  • Added support for simple map fields to be translatable.

    • The translation path mapping has been updated to support both simple attributes maps, such as Map<String, Object>, as well as already supported complex sub-object maps, such as Map<String, Attribute>.

2.0.2-GA

  • Multiple user translation creates for the same field can result in duplicates when deployed

    • Now detect duplicate creates for the same translation target at deployment and archive all but the latest

  • Fixed NPE thrown when rejecting promoted changes for creating translations

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

  • Fixed potential query parameter overflow by paging narrowed translation results

  • JpaTranslation defaults inherited behavior to itself in the case it does not have an entityType.

2.0.1-GA

  • Added support for configuring the chunk size when fetching entity translations by entityType and list of entityIds. This can be configured via the following property:

    broadleaf:
        translation:
            common:
                chunk-size: 500

2.0.0-GA

Spring Boot Upgrade

  • As of Broadleaf Release Train 2.0.0-GA, all common libraries have been upgraded to Spring Boot 3.

  • This version includes all changes up to 1.7.3-GA

1.7.3-GA

  • Added support to get a count of non-production translations matching entity and tenant

    • This is useful to determine if there are outstanding sandbox changes before an entity can be deleted. For example, this is used for checking if any outstanding sandbox changes exist for Product translations before the Product can be deleted.

1.7.2-GA

  • Made Translation implement ChangeContainerOverridable

    • This is to support grouping imported changes together such as when importing a Product with translations. This allows all the related changes to a product to be promoted and deployed together if the import was done inside a sandbox.

Release Train Compatibility

Compatible with all Release Trains after 1.7 unless otherwise noted.