Skip to content

Release notes Shopware 6.7.1.0

24.7.2025

Release notes Shopware 6.7.1.0

Abstract

This minor release comes with some interesting improvements such as switch between metric and imperial measurement system. Additionally, at least 11 bugs have been fixed. Many thanks to 25+ contributors!

System requirements

  • tested on PHP 8.2, 8.3 and 8.4
  • tested on MySQL 8 and MariaDB 11

Improvements

Switch between metric and imperial unit system per Sales Channel

With this new option, you can now configure which measurement units should be displayed per sales channel and domain. You can now maintain product values in your preferred unit, and Shopware will automatically convert them to the appropriate unit for the respective domain or sales channel.

Theme configuration changes

  • Theme configuration used during storefront rendering is now stored in a theme_runtime_config table and regenerated on the refresh stage of theme lifecycle.
  • The \Shopware\Storefront\Theme\CachedResolvedConfigLoader is now deprecated and will be removed in the next major version. Please update the code that directly uses it to use the \Shopware\Storefront\Theme\ResolvedConfigLoader instead.
  • The \Shopware\Storefront\Theme\Exception\ThemeAssignmentException is now deprecated and will be removed in the next major version. Please use \Shopware\Storefront\Theme\Exception\ThemeException::themeAssignmentException.

Measurement system units info are now provided in the store-api

The store API now provides the measurement system units info in the response of the context endpoint and product API endpoints depending on the configured measurement system of the sales channel domain.

Note: The product's measurement units are still stored in the database in fixed units (kg/mm) and converted to the configured measurement units of the sales channel domain when reading or writing the product's measurement units.

We added new request headers sw-measurement-weight-unit and sw-measurement-length-unit to allow clients to specify the measurement units for length and weight when reading or writing product's measurement units.

This is useful when the user can provide measurement units in the header and get the desired product's measurement units in the response. This also goes for writing the product's measurement units in the desired measurement units without convert the units back and forth.

New twig filter to convert measurement units

For the storefront, we added a new twig filter sw_convert_unit to convert measurement units in twig templates. This allows the developers to convert measurement units in the templates without writing custom logic.

It allows the developers to convert measurement units of any value, any variable in the templates without writing custom logic.

Or they can also convert between any measurement units by passing the desired measurement unit as a parameter to the filter.

Translation labels and helpTexts for Themes

A constructed snippet key was introduced in Shopware 6.7 and will be required starting 6.8. This affects label and helpText properties in the theme.json, which are used in the theme manager.

To provide translations for theme configuration, creating administration snippets as usual will be mandatory.

The snippet keys to be used are constructed as follows. The mentioned themeName implies the technicalName property of the theme in kebab case. Also, please notice that unnamed tabs, blocks or sections will be accessible via default.

ThemeConfiguration deprecations

  • The label and helpText fields in the /api/_action/theme/{themeId}/configuration and in the /api/_action/theme/{themeId}/structured-fields API endpoints have been deprecated. For translations you should rely on the labelSnippetKey and helpTextSnippetKey fields instead (present only in the structured fields endpoint).
  • The ThemeService::getThemeConfiguration and ThemeService::getThemeConfigurationStructuredFields methods have been deprecated in favor of the new ThemeConfigurationService::getPlainThemeConfiguration and ThemeConfigurationService::getThemeConfigurationFieldStructure methods. The new methods return the same data as the old ones, excluding the deprecated fields.

Vue i18n Translation Functions

  • The $tc function is deprecated and will be removed in v6.8.0
  • Use $t function instead for all translations
  • The $tc function now shows a deprecation warning when used with the feature flag V6_8_0_0 enabled

Primary delivery ordering and read-only cart extensions

The OrderConverter now explicitly moves the primary order delivery to the front of the deliveries list. This ensures legacy compatibility for existing usages of $deliveries->first(). Two new cart extensions are introduced:

  • ORIGINAL_PRIMARY_ORDER_DELIVERY – returns the originally determined primary order delivery.
  • ORIGINAL_PRIMARY_ORDER_TRANSACTION – returns the originally determined primary order transaction.

These extensions serve as informational only: modifying them does not change the actual primary delivery or transaction set in the order.

Custom field set name is now unique for apps

The name element of the custom-field-set in the app manifest is now unique per app. It should not be the case for your app anyway as it caused problems. However, you should check your app manifest and ensure that the name of the custom-field-set is unique.

Deprecated configuration of visibility in config array

The visibility of filesystems should no longer be configured in the config array. Instead, it should be set on the same level as type. For example, instead of:

yaml
filesystems:
  my_filesystem:
    type: local
    config:
      visibility: public

You should now use:

yaml
filesystems:
  my_filesystem:
    type: local
    visibility: public

For more details, please see UPGRADE-6.7.md.

Fixed bugs

  • Translation for English (US) not working in Default Theme #6601
  • SEO URLs are missing in footer navigation for landing pages #3784

See the entire list of fixed bugs:

Credits

Thanks to all our contributors for helping us improve Shopware with every pull request!

More resources

Get in touch

Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there 😉