Release notes Shopware 6.7.10.0
Abstract
Shopware 6.7.10.0 is a stability-focused patch release with no major new features, concentrating instead on fixing roughly 117 issues, the vast majority of which are bug fixes. The update prioritizes improving reliability and consistency in real-world production environments, particularly addressing problems that could impact core business flows.
The main areas affected include checkout and ordering processes, search functionality (both storefront and admin/Elasticsearch), product listings and variant handling, pricing logic, visibility and permissions, and overall core system stability. Overall, this release is about making existing functionality more robust and predictable rather than introducing new capabilities.
System requirements
- tested on PHP 8.2, 8.4 and 8.5
- tested on MySQL 8 and MariaDB 11
Improvements
Features
[Experimental] Agentic Commerce sales channel
A new "Agentic Commerce" sales channel type is available in this release. The OpenAI Merchant Center integration is the first supported provider for AI-powered product feed exports. The Administration includes dedicated views for configuration, product mapping, and usage insights.
API
Per-user and per-IP rate limiters for login and OAuth
The login and OAuth token endpoints now support optional per user (login_user, oauth_user) and per IP (login_client, oauth_client) rate limiters, in addition to the existing combined user and IP limiter. These are optional and can be enabled via shopware.api.rate_limiter in shopware.yaml.
Price schemas now describe percentage and reference price fields
The generated Admin API and Store API Price schemas now include property descriptions for percentage, listPrice, regulationPrice, and their nested values. This improves the generated OpenAPI and Stoplight documentation for integrations that inspect raw price payloads and need to distinguish between the current price, list price, discount percentage, and regulation price fields.
Core
Product display_group values use SHA-256
The display_group field on the product entity (available via the Admin API and Store API) is now computed with SHA-256 for variant listing instead of MD5. Stored values are 64 hexadecimal characters instead of 32. The database column was widened to VARCHAR(64).
A migration registers the product indexer so that only the variant listing updater (product.variant-listing, the step that maintains display_group) is queued. That pass runs with the usual deferred indexing after an update or installation finishes, not inside the migration. If your integration or plugin assumes a 32-character display_group, compares against previously stored MD5 values, or relies on custom SQL with the old column width, update it to accept 64-character hashes and the new column definition.
"Find best variant setting" is now applied for storefront filtering
Users can now control which representative of variant products is shown in filtered listings via the Product settings "Preview best matching variant in search results and filtered listings".
Deprecation of permisionsLocked property of SalesChannelContext
The permisionsLocked property of the SalesChannelContext is deprecated. Use permissionsLocked property or the new SalesChannelContext::isPermissionsLocked() getter method instead.
Salutation ordering
A new position column was added to the salutation entity so merchants can control the order in which salutations appear in forms (registration, address, checkout, and CMS forms). Salutations are sorted ascending, meaning lower values appear first.
This replaces the previous alphabetical sorting. Default salutations (not_specified, mrs, mr) are migrated automatically to positions 1, 2, and 3. Custom salutations keep the default value of 100 - review them in Administration → Settings → Shop → Salutations after upgrading and assign explicit positions, otherwise they will appear grouped together at the end.
Deprecated non-used MAIL_TEMPLATE_SALES_CHANNEL_*_EVENT constants
Deprecated the constants Shopware\Core\Content\MailTemplate\MAIL_TEMPLATE_SALES_CHANNEL_{WRITTEN,DELETED,LOADED,SEARCH_RESULT_LOADED,AGGREGATION_LOADED,ID_SEARCH_RESULT_LOADED}_EVENT as the entity has been removed with Shopware 6.5 and the events were not fired anymore.
JSONL product export format
Product exports now support ProductExportEntity::FILE_FORMAT_JSONL as a third file format.
[Experimental] Agentic Commerce product export provider abstraction
The new AbstractAgenticCommerceProductExportProvider can be used to implement custom Agentic Commerce export providers.
Administration
[Internal] Twig to Native Block Runtime Adapter
A runtime adapter has been added that bridges legacy Twig block overrides ({% block %} / {% parent %}) with the new native <sw-block> / <sw-block-parent /> system. When core components migrate from .html.twig blocks to <sw-block name="...">, existing plugin overrides continue to work automatically. A deprecation warning is emitted to guide plugin developers toward the new native syntax.
Fixed mixin-based route guards for lazy-loaded administration routes
Mixin-defined route guards such as beforeRouteLeave are now executed reliably for lazy-loaded Administration route components. This fixes cases where cleanup logic in shared mixins, for example in listing pages, was skipped during navigation to detail pages.
Re-render iframe integrations when location changes
Iframe-based Administration extensions now re-render correctly when their locationId changes. This fixes stale iframe content when switching locations in Meteor Admin SDK integrations and also prevents unnecessary full-page reloads.
Internal comments visible in the order list
The Administration order list now shows internal order comments via a dedicated tooltip icon. This helps merchants spot internal notes directly from the list view without opening the order detail page.
[Experimental] Agentic Commerce sales channel views and tracking entities
New Agentic Commerce sales channels types can be created. These sales channels have dedicated configuration options in the administration for property mapping, and usage insights. New entities for monitoring orders and customers for Agentic Commerce sales channels are included.
Storefront
Order cancellation only shown for open orders
The account order cancellation action is now only shown for orders in state open. This prevents customers from being offered an invalid cancel action for completed orders.
Earlier focus for cookie bar
To improve the accessibility of the cookie bar, it receives automatic focus when it is shown. This improves discoverability for screenreader and keyboard users. A new option autoFocus (default: true) was added to the cookie-permission.html.twig template and CookiePermissionPlugin.
In addition to this the cookie bar will be moved to the top of the body element.
- Deprecated block position of
base_cookie_permissionCookie permission bar will be moved to top of the body element.
Live purchase limits for closeout products on the product detail page
The buy-widget quantity selector now fetches live minPurchase, purchaseSteps, and maxPurchase values for closeout products (internally uses new Store API endpoint GET /store-api/product/purchase-limit) on first user interaction (focus or click). This ensures the selector reflects actual stock even when the PDP HTML is served from HTTP cache.
The fetch is triggered by the QuantitySelectorPlugin when a purchaseLimitUrl option is set on the quantity selector element. This is injected via data-quantity-selector-options by buy-widget-form.html.twig for closeout products. If you override buy_widget_buy_container or related blocks in buy-widget-form.html.twig, preserve the data-quantity-selector-options attribute with a purchaseLimitUrl key and the js-quantity-stock-adjusted-template <template> element to use this functionality.
GLTF Animations
User are now able to play animations from their 3D models in the Storefront. Simply upload a model with one or multiple animations baked into the file, bind the file to a product, and display it in the Storefront.
Show child line items if available
New block component_line_item_type_product_children added to template storefront/component/line-item/type/product.html.twig to display child line items if available
App System
App requirements validation
Apps can now declare requirements in their manifest via a new <requirements> element. Requirements are validated during app installation and updates in production. If a requirement is not met, the process fails with FRAMEWORK__APP_REQUIREMENTS_NOT_MET and an actionable message.
The first introduced requirement, <public-access/>, verifies that APP_URL uses HTTPS, does not point to an IP or reserved/local development host, and that /api/_info/health-check returns HTTP 200 when called from the Shopware server. This helps catch misconfigurations before apps that rely on webhooks or other external communication fail silently.
<requirements>
<public-access/>
</requirements>Unknown requirements are ignored and logged as warnings.
Hosting & Configuration
Possibility to disable product search keyword indexing
The new configuration key shopware.product.search_keyword.indexing can be used to disable the product search keyword indexing. This is helpful for stores that do not require search keywords and want to avoid the overhead of maintaining those indices while still having basic search functionality or using third-party search solutions.
Fixed bugs
- #13719 - Dead end in order process: Customer registration with alternate shipping address and disabled salutation
- #13726 - Changed ProductListingLoader shows random product variant instead of the main variant
- #13736 - DynamicAccess - Search shows locked categories
- #13819 - Elasticsearch Admin search does not find search terms with more …
- #16282 - cheapest price calculation for hidden closeout variants
See all fixed bugs in this release: https://github.com/shopware/shopware/milestone/33?closed=1
Credits
Thanks to all diligent friends for helping us make Shopware better and better with each pull request!
See all contributors on this page: https://github.com/shopware/shopware/releases/tag/v6.7.10.0#Contributors
More resources
- Detailed diff on Github to the former version
- Changelog on GitHub for this version.
- Release News corporate blog post
- Installation overview
- Update from a previous installation
Get in touch
Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there 😉