Shopware 6 Aktuell

Changelog

Auf dieser Seite finden Sie den Link zu den offiziellen Änderungen und Neuigkeiten innerhalb Shopware 6.

www.shopware.com.

System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Features Default CMS page ID now persisted for categories Previously, when a category had no CMS page assigned, the default CMS page ID was only set at runtime during entity loading. This caused missing cmsPage association data when loading categories with criteria that included the cmsPage association. Now the default CMS page ID is automatically written to the database when a category is saved without a cmsPageId. A migration also backfills all existing categories that have no CMS page assigned. The categoryLoaded event listener has been removed from CategorySubscriber since the default CMS page ID is now always present in the database. Sales channel-specific CMS page defaults continue to be applied at runtime during salesChannelCategoryLoaded. The runtime-only field cmsPageIdSwitched on CategoryDefinition and CategoryEntity has been deprecated and will be removed in v6.8.0. It is no longer used internally. New internal comment for state machine state history entries A new internal comment field was added to the state change modal which can be used to add additional information about a state change.The internal comment is only visible in the administration and not shown to customers.It can be found in the state machine state history modal (state change modal) on the detail page of an order. Use JSON-LD format for Structured Data The Storefront now emits structured data as JSON-LD (<script type="application/ld+json"> in the <head>) instead of scattered inline microdata attributes (itemscope, itemtype, itemprop). JSON-LD is the preferred format and keeps structured data cleanly separated from the HTML markup. In addition to replacing the existing microdata, several schema types that were missing entirely are now included: a WebSite schema with SearchAction (enabling the Google Sitelinks Searchbox), a top-level Organization schema with the shop logo, an ItemList schema on category and search result pages, and VideoObject entries for product video media. The migration is controlled by the new JSON_LD_DATA feature flag. When the flag is off (default), the existing microdata is rendered as before. When the flag is on, JSON-LD is injected and all microdata is removed. The old microdata is deprecated and will be removed with the next major release (v6.8.0). The following schema types are now emitted as JSON-LD: Schema Pages WebSite + SearchAction All pages (enables Google Sitelinks Searchbox) Organization with logo All pages WebPage / ProductPage / CollectionPage / SearchResultsPage All pages (type narrows per context) BreadcrumbList All pages with a navigation breadcrumb Product Product detail page ItemList Category pages, search results The Product schema on the product detail page is significantly more complete compared to the previous microdata: All product images are listed (previously only cover image via itemprop) VideoObject entries are emitted for any video media in the product's media collection AggregateRating now includes the required ratingCount (total number of approved reviews), sourced via an efficient aggregation query in ProductPageLoader Individual Review items (up to 10 most recent) are included alongside AggregateRating OfferShippingDetails with ShippingDeliveryTime is included for single-price products Dimensions (weight, height, width, depth) are typed as QuantitativeValue nodes itemCondition and a typed seller (Organization) are set on every Offer gtin13 (EAN) and mpn (manufacturer number) are included when present Extending the schema templates Each schema lives in its own Twig template under storefront/layout/structured-data/. Every template exposes two blocks: an outer block that contains the full data-building logic, and an inner _script block that wraps just the <script> output. Plugins and themes can override either level using Shopware's standard template extension mechanism. To add or change properties, override the _script block, merge your changes into the data variable (productData, orgData, webPageData, etc.), and call {{ parent() }}. {# MyPlugin/Resources/views/storefront/layout/structured-data/json-ld-organization.html.twig #} {% sw_extends '@Storefront/storefront/layout/structured-data/json-ld-organization.html.twig' %} {% block layout_structured_data_organization_script %} {% set orgData = orgData|merge({ 'contactPoint': { '@type': 'ContactPoint', 'contactType': 'customer service', 'email': config('core.basicInformation.email') } }) %} {{ parent() }} {% endblock %} The available outer / script block pairs are: Template Outer block Script block json-ld-webpage.html.twig layout_structured_data_webpage layout_structured_data_webpage_script json-ld-breadcrumb.html.twig layout_structured_data_breadcrumb layout_structured_data_breadcrumb_script json-ld-organization.html.twig layout_structured_data_organization layout_structured_data_organization_script json-ld-website.html.twig layout_structured_data_website layout_structured_data_website_script json-ld-item-list.html.twig layout_structured_data_item_list layout_structured_data_item_list_script json-ld-product.html.twig page_product_detail_json_ld page_product_detail_json_ld_script [Experimental] Use OpenSearch for Admin API searches When the data in your store grows larger the administration might become slower, especially when searching for entities in lists.This is because the administration relies only on the DB fulltext search. For larger stores, this can lead to performance issues and even timeouts.Now it is possible to use OpenSearch for the administration and Admin API searches, which can significantly improve the performance of searches in the administration, especially for larger stores.To enable this feature, you can set the ENABLE_OPENSEARCH_FOR_ADMIN_API feature flag to true. For more technical guidelines refer to the section in the Hosting & Configuration updates. Online revocation request form Customers can now conveniently submit revocation requests through an online form.Similar to the existing Contact Form, the revocation form can be integrated and used via Shopping Experiences, allowing flexible placement within the storefront. External media thumbnail support External media entities can now have external thumbnail URLs attached to them, which is useful for CDNs that provide pre-generated thumbnails alongside the main media file. Two new API endpoints have been added: POST /api/_action/media/{id}/external-thumbnails - Add thumbnails to existing external media DELETE /api/_action/media/{id}/external-thumbnails - Remove all external thumbnails from media Both endpoints require the target media entity to be external (i.e. its path must be an HTTP/HTTPS URL). Attempting to call them on regular file-based media returns an error. When creating external media via POST /api/_action/media/external-link, you can now provide an optional thumbnails array directly in the request body: { "url": "https://cdn.example.com/image.jpg", "thumbnails": [ { "url": "https://cdn.example.com/image-200x200.jpg", "width": 200, "height": 200 }, { "url": "https://cdn.example.com/image-400x400.jpg", "width": 400, "height": 400 } ] } The same thumbnails payload shape is accepted by POST /api/_action/media/{id}/external-thumbnails. Support of long-running MySQL connections It is now possible to use libraries like doctrine-mysql-come-back, which wrap the default DBAL connection.More information on how to set up, can be found here: https://developer.shopware.com/docs/guides/hosting/infrastructure/database.html#setup-for-long-running-environments System config overrides in staging mode The system:setup:staging command now supports pre-configuring system config keys during staging setup. Both global and sales channel-specific values can be set, following the same YAML structure used for static system configuration. Use default for global config values and sales channel IDs for channel-specific overrides: shopware: staging: system_config: default: core.mailerSettings.smtpHost: "smtp.staging.local" core.listing.allowBuyInListing: false 0188da12724970b9b4a708298259b171: core.mailerSettings.smtpHost: "smtp.other.staging.local" When bin/console system:setup:staging is executed, the configured keys are written to the database via SystemConfigService. API Minimum value constraints added to quantity fields in ProductPriceDefinition The fields quantityStart and quantityEnd of ProductPriceDefinition now require a minimum value of 1. Deprecation of newsletter route methods The following methods are deprecated and will be removed with the next major version: AbstractNewsletterSubscribeRoute::subscribe() → use subscribeWithResponse() instead AbstractNewsletterConfirmRoute::confirm() → use confirmWithResponse() instead AbstractNewsletterUnsubscribeRoute::unsubscribe() → use unsubscribeWithResponse() instead The new methods currently return StoreApiResponse in the abstract classes. In the next major version, the return types will change to their explicit types: subscribeWithResponse() → NewsletterSubscribeRouteResponse confirmWithResponse() → SuccessResponse unsubscribeWithResponse() → SuccessResponse The Store API newsletter routes now return 200 OK with a response body instead of 204 No Content: Route Response /store-api/newsletter/subscribe {"success": true, "status": "notSet|optIn|optOut|direct"} /store-api/newsletter/confirm {"success": true} /store-api/newsletter/unsubscribe {"success": true} OpenAPI enums via DAL Choice flag DAL fields can now declare a finite set of allowed values using the Choice flag.This information is used to enrich the generated OpenAPI schema with enum values for better API documentation and client generation. By default, Choice is non-strict and does not affect write validation.If you want to enforce values on write, set strict: true when creating the flag; the write layer will then validate the input for supported field types (string, int, float). Deprecated /api/_action/mail-template/validate route The /api/_action/mail-template/validate route is deprecated and will be removed without replacement in v6.8.0.0, as it was not used and did not provide any significant value. Core Changed behaviour of default fields in EntityDefinition Currently, it is not possible to overwrite the default fields createdAt and updatedAt of an entity in the definition.This is because the default fields are applied on top of the fields defined in the defineFields method.From the next major version on, the logic is turned around and the defined fields will be applied after the default fields.This makes it possible to overwrite the current default fields createdAt and updatedAt.Check your EntityDefinitions if this change will have an effect on your entities' behaviour. (Only applicable if you manually add CreatedAtField and/or UpdatedAtField) Product stream deletion is blocked while product exports exist Deleting a product stream that's been used in a product export raises a dedicated delete restriction.This rule is additionally enforced on database level by changing the foreign key delete action from CASCADE to RESTRICT. Reduced HTTP cache invalidation on system config changes SystemConfigService::set(), setMultiple(), and delete() now accept an optional $silent parameter. When silent=true, the internal config cache is still cleared immediately, but the broad HTTP cache tag system.config-{salesChannelId} is not invalidated. This prevents "invalidation storms" where writing internal config values (e.g. timestamps, license keys, store secrets) would wipe big amount of HTTP-cached pages. Internal Shopware call sites that write non-storefront config values now pass silent=true. The ConfigSet CLI command accepts --silent, and the Admin API POST /_action/system-config and POST /_action/system-config/batch accept a ?silent query parameter. In v6.8.0.0, silent parameter in SystemConfigService methods will default to true. Clients should pass value explicitly to prepare for changes. Scheduled cleanup of expired customer recovery records A new scheduled task customer.cleanup_customer_recovery has been added that automatically removes expired customer recovery records from the database on a daily basis. Customer recovery records (password reset tokens) expire after 2 hours. Previously these records were never removed, causing the customer_recovery table to grow indefinitely. The new task deletes all records older than 48 hours. New attribute field types for entity definitions The attribute-based entity definition system now supports additional field types: FieldType::EMAIL maps to EmailField for email validation #[Password] attribute for password fields with configurable hashing algorithm, hash options, and scope #[ListField] attribute for storing lists with optional typed field specification FieldType::PRICE maps to PriceField for price storage Inheritance added to product main categories Product main categories are now inherited from parent product if not explicitly defined on the variant itself. CategoryIndexer doesn't dispatch IndexingMetaEvent when only index irrelevant data changes The CategoryIndexer did already check for changed payload and only triggered the tree/child-count updaters when the parentId changed and the breadcrumb updater when the name changed.But it still dispatched the CategoryIndexingMessage, even though all relevant Updaters would be skipped. For performance and efficiency reasons that event is not thrown anymore in the case of an update when only irrelevant data has changed.This saves resources, as we don't need to fetch any child categories, dispatch unneeded messages and create DB transactions when it's not needed, especially as this whole handling was also triggered when you only assign products to a category, which is a quite common action.Note that this only affects the update case, in the case of newly inserted or deleted categories the event is still dispatched, as all updaters are relevant in that case. Existing cart recalculations no longer recreate deleted carts When an existing cart is recalculated, Shopware now uses the cart's persisted state to avoid recreating carts that were already deleted.This prevents race conditions where a concurrent request, such as placing an order, deletes the cart and a stale recalculation writes it back afterwards. Deprecation of unused TemplateGroup class The class \Shopware\Core\Content\Seo\SeoUrlTemplate\TemplateGroup has been deprecated as it is unused and will be removed in the next major version v6.8.0. New criteria events for product slider CMS element Two new events are dispatched when the product slider CMS element resolves its product criteria, allowing subscribers to modify the criteria: Shopware\Core\Content\Product\Events\ProductSliderStaticCriteriaEvent is fired by the StaticProductProcessor when resolving a static product list. Shopware\Core\Content\Product\Events\ProductSliderStreamCriteriaEvent is fired by the ProductStreamProcessor when resolving a product stream. Allow custom HTTP client injection for S3 client creation The S3 client creation flow (S3ClientFactory, AwsS3v3Factory, PresignedUploadUrlGenerator)now accepts an optional HttpClientInterface parameter. When provided, this HTTP client isforwarded to the underlying AsyncAws S3Client instead of letting it create its own default. Both AwsS3v3Factory and PresignedUploadUrlGenerator are wired via DI to the newshopware.filesystem.s3.client service ID. This service is not registered by default, sonull is injected and AsyncAws uses its own internal HTTP client. Integrators can registerthe shopware.filesystem.s3.client service to provide a custom Symfony HTTP client withcustom timeouts, retry strategies, or HTTP protocol version for S3 operations. Administration CMS data mapping source for media custom fields Fixed media custom fields not being available as data mapping source for image elements in category and product CMS layouts. Shop Administrators can now reliably bind media custom fields to images in CMS pages without workarounds. Storefront Block renaming Deprecated block page_product_detail_product_buy_button_label in Resources/views/storefront/component/product/card/action.html.twig which will be removed in v6.8.0. Use block component_product_box_action_buy_button_label instead. Disabled runtime error overlay in webpack dev server The webpack dev server overlay for runtime errors has been disabled in hot-reload mode. The overlay frequently interrupted the development workflow by covering the entire viewport for non-critical runtime errors, making it difficult to interact with the storefront during development. Error details remain available in the browser console. HEAD-requests do not trigger the registration double-opt-in As some mail clients send HEAD requests to links which are contained in emails, the registration double-opt-in was sometimes already confirmed, as Symfony treats HEAD-requests the same as GET-request. Now HEAD-requests do not trigger the registration double-opt-in anymore, only "real" GET-requests. App System Hosting & Configuration Critical Fixes What's Changed fix: index used custom fields in product by @rittou in https://github.com/shopware/shopware/pull/14770 fix(promotion): redeemed when entering code in lowercase by @FlorianKe in https://github.com/shopware/shopware/pull/14589 fix: add number type to stock inline edit fields by @lacknere in https://github.com/shopware/shopware/pull/15004 fix: Do not try to create a list price of 0 by @aragon999 in https://github.com/shopware/shopware/pull/14889 fix: Head Request do not trigger account confirm by @aragon999 in https://github.com/shopware/shopware/pull/14614 fix: use order versionId by @En0Ma1259 in https://github.com/shopware/shopware/pull/15028 feat: Return subscription status in "store-api.newsletter.subscribe" by @umutdogan4291 in https://github.com/shopware/shopware/pull/14653 feat: Refactor empty usage in Framework DAL to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/15041 feat: Refactor empty usage in Framework app and API to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/15040 fix: ATTRIBUTE_NO_STORE is not processed when CACHE_REWORK feature is disabled by @h1k3r in https://github.com/shopware/shopware/pull/15142 fix: remove _isCmsForm to not run into formSubmittedByCaptcha blocking the form submission by @BrocksiNet in https://github.com/shopware/shopware/pull/15119 fix: apply analyzer for search term with one token to filter stopword by @tamvt in https://github.com/shopware/shopware/pull/14646 fix: Do not hide important info from mobile users by @amenk in https://github.com/shopware/shopware/pull/15103 fix: use new hasLineItemWithType method by @En0Ma1259 in https://github.com/shopware/shopware/pull/15097 feat: add action response possibility to newsletter subscribe route by @lacknere in https://github.com/shopware/shopware/pull/15010 fix: use correct expiry for symfony cache by @keulinho in https://github.com/shopware/shopware/pull/15149 fix: resolve npm audit failures across all packages by @BrocksiNet in https://github.com/shopware/shopware/pull/15164 fix: allow select parent product for cross selling by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15169 feat: Persist backend and tracking consent by @SebastianFranze in https://github.com/shopware/shopware/pull/15127 feat: product analytics auth fetch transport by @adrianles in https://github.com/shopware/shopware/pull/13887 fix: revert fix for storefront session cookie path (#14599) by @umutdogan4291 in https://github.com/shopware/shopware/pull/15173 fix: default folder for product media by @sydinh in https://github.com/shopware/shopware/pull/15174 feat: allow to refresh opensearch during cache clear by @keulinho in https://github.com/shopware/shopware/pull/15162 fix: empty product stream id when updating product assignment type to product by @rittou in https://github.com/shopware/shopware/pull/15138 fix: prevent image upscaling in standard display mode (#14468) by @taltholtmann in https://github.com/shopware/shopware/pull/15171 feat: Set up Consent Rate metrics by @bubleg in https://github.com/shopware/shopware/pull/14961 fix(cms-slider): Adjust image/product slider/galery styling (re-apply) by @marcelbrode in https://github.com/shopware/shopware/pull/15066 fix: analytics test when admin loads longer then 3s by @keulinho in https://github.com/shopware/shopware/pull/15191 fix: deprecated sw-product-settings-mode component by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14379 fix: administration have no robots information + set robots meta to no-index, no-follow by @DerKaito in https://github.com/shopware/shopware/pull/15208 fix: Check plugin requirements during activation by @mitelg in https://github.com/shopware/shopware/pull/15177 fix: prevent maintenance mode heading style inconsistency (#15090) by @taltholtmann in https://github.com/shopware/shopware/pull/15223 fix: use correct delimiter in refresh migration command by @keulinho in https://github.com/shopware/shopware/pull/15211 feat: trigger conditions for consent by @bubleg in https://github.com/shopware/shopware/pull/15161 fix: ZUGFeRD download label and filename by @vintagesucks in https://github.com/shopware/shopware/pull/15202 fix: rename product box action buy button label block by @lacknere in https://github.com/shopware/shopware/pull/14956 feat: online revocation request by @DennisGarding in https://github.com/shopware/shopware/pull/14362 feat: add mainCategories inheritance by @lacknere in https://github.com/shopware/shopware/pull/15197 fix(admin): enable natural sorting when sorting variants by name by @sydinh in https://github.com/shopware/shopware/pull/15220 feat: Use new consent system for backend data consent by @SebastianFranze in https://github.com/shopware/shopware/pull/14814 feat: Add event for the config info API route by @mitelg in https://github.com/shopware/shopware/pull/15229 fix: correct the change log by @rittou in https://github.com/shopware/shopware/pull/15286 revert: applifecycle reorganisation by @AydinHassan in https://github.com/shopware/shopware/pull/15281 refactor: use Context::enableInheritance in ProductStreamUpdater by @lacknere in https://github.com/shopware/shopware/pull/15238 feat: add Model Editor sidebar by @feliopterix in https://github.com/shopware/shopware/pull/15105 fix: Use correct array annotation for country address format property by @mitelg in https://github.com/shopware/shopware/pull/15072 fix: email template link in flow builder modal by @vintagesucks in https://github.com/shopware/shopware/pull/15128 fix: add loading indicator to sw-flow detail by @keulinho in https://github.com/shopware/shopware/pull/15232 fix: attach xml invoice documents to emails by @vintagesucks in https://github.com/shopware/shopware/pull/15255 fix(language-widget): update language display in offcanvas by @BrocksiNet in https://github.com/shopware/shopware/pull/15219 feat: apply opensearch globally in admin by @vienthuong in https://github.com/shopware/shopware/pull/11634 fix: Fix issue ES working wrong with NotEquals filter in nested fields by @tamvt in https://github.com/shopware/shopware/pull/15244 fix(cookie): recaptcha form validation issue by @BrocksiNet in https://github.com/shopware/shopware/pull/15212 fix: Check for consent in the admin before sending events by @bubleg in https://github.com/shopware/shopware/pull/15296 fix(snippet): Replace snippet with global default by @marcelbrode in https://github.com/shopware/shopware/pull/15311 fix: mt-text-editor closing bug by @MartinKrzykawski in https://github.com/shopware/shopware/pull/15297 fix(admin): Clean up usage data consent modal checklist and icon layout by @bubleg in https://github.com/shopware/shopware/pull/15320 feat: Add CMS product slider criteria events by @aragon999 in https://github.com/shopware/shopware/pull/15306 feat: Add declined state for consent by @SebastianFranze in https://github.com/shopware/shopware/pull/15301 feat: make database tz data required in next major by @shyim in https://github.com/shopware/shopware/pull/15282 feat: Add scheduled task to delete old customer recovery entries by @aragon999 in https://github.com/shopware/shopware/pull/15134 feat(administration): send identified consent_revoked event with deletion identifiers by @bubleg in https://github.com/shopware/shopware/pull/15334 feat(telemetry): Handle telemetry events from Telemetry.track by @SebastianFranze in https://github.com/shopware/shopware/pull/15345 fix: remove unused template for address-actions by @Berkantdoku in https://github.com/shopware/shopware/pull/15317 refactor: document settings by @larskemper in https://github.com/shopware/shopware/pull/14878 fix: broken transaction level on cache storage deadlock by @keulinho in https://github.com/shopware/shopware/pull/15332 fix: twig template loading without db by @shyim in https://github.com/shopware/shopware/pull/14856 feat(consent): Don't show consent modal when consent was already set by @SebastianFranze in https://github.com/shopware/shopware/pull/15355 fix: load language on languageId change by @davidtraum in https://github.com/shopware/shopware/pull/15183 feat: introduce enum provider for better API schema by @vienthuong in https://github.com/shopware/shopware/pull/13811 fix(performance): Change full table scan to indexed parent id query by @runelaenen in https://github.com/shopware/shopware/pull/14719 feat: make model editor scale lockable by @Deristes in https://github.com/shopware/shopware/pull/15368 refactor: implement sw-vector-field varaints colored - neutral by @Deristes in https://github.com/shopware/shopware/pull/15369 fix: crash of admin by extension reload through propagating reload to the entire page by @gweiermann in https://github.com/shopware/shopware/pull/14868 fix(snippets): Fix grammar mistakes by @marcelbrode in https://github.com/shopware/shopware/pull/15387 fix: disable anonymous tracking by @shyim in https://github.com/shopware/shopware/pull/15411 fix: insufficient contrast for review timestamps by @larskemper in https://github.com/shopware/shopware/pull/15375 fix: preview document invoice reference by @vintagesucks in https://github.com/shopware/shopware/pull/15338 fix: remove unnecessary profiler toggling in tests by @shyim in https://github.com/shopware/shopware/pull/15412 fix: avoid double event tracking on first consent by @bubleg in https://github.com/shopware/shopware/pull/15422 fix: add alt fall back to product name by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15241 feat: Use types to validate consent event options by @SebastianFranze in https://github.com/shopware/shopware/pull/15434 fix: Missing undefined array key checks in HookableBusinessEvent by @mitelg in https://github.com/shopware/shopware/pull/15420 feat: improved cache invalidation on system config writes by @h1k3r in https://github.com/shopware/shopware/pull/15279 feat: add heartbeat scheduled hookable event by @Gaitholabi in https://github.com/shopware/shopware/pull/15316 fix(admin): adjust consent modal layout by @bubleg in https://github.com/shopware/shopware/pull/15453 feat: Allow external thumbnails for external media by @dgrothaus-sw in https://github.com/shopware/shopware/pull/15340 fix: dont use product search config loader in global search term interpreter by @vienthuong in https://github.com/shopware/shopware/pull/15436 fix: token refresh behavior over multiple tabs by @davidtraum in https://github.com/shopware/shopware/pull/14454 fix: Sales channel shows wrong language data after save on language switch by @davidtraum in https://github.com/shopware/shopware/pull/14641 fix: Sync frontend email validation with backend by @s-hamann in https://github.com/shopware/shopware/pull/15449 refactor: text rendering in sw-highlight-text by @davidtraum in https://github.com/shopware/shopware/pull/15467 fix: Don't validate composer constraints on activate after install by @keulinho in https://github.com/shopware/shopware/pull/15472 fix(admin): remove pre-consent amplitude sdk usage by @bubleg in https://github.com/shopware/shopware/pull/15493 fix: update feedback ID format for Google reCAPTCHA v2 and v3 components by @BrocksiNet in https://github.com/shopware/shopware/pull/15494 feat: add moduleCriteria method for admin es search by @vienthuong in https://github.com/shopware/shopware/pull/15446 fix: validate RTE code content before closing CMS element settings mo… by @taltholtmann in https://github.com/shopware/shopware/pull/15406 fix: delete document media files by @ennasus4sun in https://github.com/shopware/shopware/pull/15319 feat: add webhook failure strategy by @AydinHassan in https://github.com/shopware/shopware/pull/15488 fix: reset order addresses on destroy in sw-order-detail by @mstegmeyer in https://github.com/shopware/shopware/pull/15503 fix: normalize telemetry event names to snake_case by @bubleg in https://github.com/shopware/shopware/pull/15528 fix: race condition on theme assign causes error when mariadb is used by @h1k3r in https://github.com/shopware/shopware/pull/15498 fix: admin amplitude retries and disable sdk logs by @bubleg in https://github.com/shopware/shopware/pull/15479 fix: price inheritance is not applied correctly for product variants by @nguyenytran in https://github.com/shopware/shopware/pull/15373 fix: race condition between cart persist and load by @mstegmeyer in https://github.com/shopware/shopware/pull/15501 fix: create product page wrong directly to variant page by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15396 feat: product filter by product number with partial matches by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15413 feat: move digital content access checkbox to submit order button by @Berkantdoku in https://github.com/shopware/shopware/pull/15309 fix: change product stream product export delete rule by @rittou in https://github.com/shopware/shopware/pull/15243 fix: add sales-channel access key to HTTP cache Vary headers by @shyim in https://github.com/shopware/shopware/pull/15445 fix(consent): Don't update consent state in Admin when logged out by @SebastianFranze in https://github.com/shopware/shopware/pull/15547 feat(consent): Move legal links into sub cards by @SebastianFranze in https://github.com/shopware/shopware/pull/15532 fix(admin): delete amplitude user data when consent is revoked during deferred init by @bubleg in https://github.com/shopware/shopware/pull/15538 fix: rating average for products with variants by @vintagesucks in https://github.com/shopware/shopware/pull/15526 refactor: applifecycle reorganisation by @AydinHassan in https://github.com/shopware/shopware/pull/15463 fix: don't read unfiltered many to many associations by @keulinho in https://github.com/shopware/shopware/pull/15539 feat: Ensure proper types on connection driver options by @mitelg in https://github.com/shopware/shopware/pull/15551 fix(meteor): register mt-badge component by @fschmtt in https://github.com/shopware/shopware/pull/15454 fix(admin): hide upload button when runtime extension management is disabled by @shyim in https://github.com/shopware/shopware/pull/15439 fix: allow bulk deletion of dependent documents via sync API by @ennasus4sun in https://github.com/shopware/shopware/pull/15549 feat: add warning message to the error that catches unexpected warnings in admins testing environment by @gweiermann in https://github.com/shopware/shopware/pull/15585 feat: allow custom HTTP client injection for S3 client creation by @lankhaar in https://github.com/shopware/shopware/pull/15464 perf: improve join in PerformanceRedemptionUpdater by @mstegmeyer in https://github.com/shopware/shopware/pull/15603 refactor: deprecate blocking automatic promotions by @mstegmeyer in https://github.com/shopware/shopware/pull/15602 fix: center dashboard card content by @larskemper in https://github.com/shopware/shopware/pull/15590 fix: setting vatIds back to null by @jozsefdamokos in https://github.com/shopware/shopware/pull/15588 feat: Structured Data as JSON-LD Format by @Phil23 in https://github.com/shopware/shopware/pull/15541 fix: Listen to input-change event of mt-price-field by @tristantisch in https://github.com/shopware/shopware/pull/15261 fix: digital products are not downloadable on storefront by @vienthuong in https://github.com/shopware/shopware/pull/15563 fix: align flow names with event names by @larskemper in https://github.com/shopware/shopware/pull/15611 fix(snippet): Be consistent with shop data translation by @marcelbrode in https://github.com/shopware/shopware/pull/15613 feat: async email address validation by @DennisGarding in https://github.com/shopware/shopware/pull/15102 feat: add zugferd cancellation invoice by @larskemper in https://github.com/shopware/shopware/pull/15421 fix(admin): preserve consent event order in amplitude by @bubleg in https://github.com/shopware/shopware/pull/15587 fix(admin): prevent consent modal overlap with shop id change modal by @bubleg in https://github.com/shopware/shopware/pull/15567 fix(admin): use natural sorting in product list for correct ordering by @sydinh in https://github.com/shopware/shopware/pull/15495 fix: replace wrong feature flag change by @Phil23 in https://github.com/shopware/shopware/pull/15621 feat: add zugferd embedded cancellation invoice by @larskemper in https://github.com/shopware/shopware/pull/15492 feat: add loading indicator to cms form submit buttons by @larskemper in https://github.com/shopware/shopware/pull/15612 fix(static-analyze): improve cache handling in phpstan-bootstrap.php by @BrocksiNet in https://github.com/shopware/shopware/pull/15625 revert: fix: order address validation by @En0Ma1259 in https://github.com/shopware/shopware/pull/15642 feat: add zugferd & embedded credit note by @larskemper in https://github.com/shopware/shopware/pull/15568 fix(admin): use shield icon for privacy settings menu item by @bubleg in https://github.com/shopware/shopware/pull/15610 fix: Making SQL query lighter, just check if the table is accessible in TestBootstrapper by @matheusgontijo in https://github.com/shopware/shopware/pull/15230 fix: Display correct rate limit message by @DennisGarding in https://github.com/shopware/shopware/pull/15662 feat: filter product list by configurable product types by @sydinh in https://github.com/shopware/shopware/pull/15648 feat(consent): Refactor consent events in Administration by @SebastianFranze in https://github.com/shopware/shopware/pull/15595 fix: Can't unlink inherited custom fields in bulk edit by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15656 fix(admin): send logout analytics beacon as json and dedupe flush flow by @bubleg in https://github.com/shopware/shopware/pull/15660 fix(admin): add explicit consent actions for single-option usage data modal by @bubleg in https://github.com/shopware/shopware/pull/15666 fix: cart not recalculated without ESI on sub requests by @keulinho in https://github.com/shopware/shopware/pull/15460 fix: ProductPriceCalculator calculate doesnt work with partial entity by @vienthuong in https://github.com/shopware/shopware/pull/15185 fix: revert breaking changes by @larskemper in https://github.com/shopware/shopware/pull/15679 fix: load cms page association data with category has no cms page by @rittou in https://github.com/shopware/shopware/pull/15215 feat: app url validation infra by @AydinHassan in https://github.com/shopware/shopware/pull/15593 fix: Correct description of the customer.hash field by @aragon999 in https://github.com/shopware/shopware/pull/15683 fix: bulk edit handle any document type by @jozsefdamokos in https://github.com/shopware/shopware/pull/15658 fix(phpstan): Iterable type errors in Shopware\Core\Content by @aragon999 in https://github.com/shopware/shopware/pull/15664 feat: add customer number and customerid to customer login logs by @Berkantdoku in https://github.com/shopware/shopware/pull/15654 feat: implemented oauth token revocation (compliant to OIDC 3.1.2.1 & RFC-7009) by @Nickolaus in https://github.com/shopware/shopware/pull/15569 feat(product-analytics): Identify users by @SebastianFranze in https://github.com/shopware/shopware/pull/15677 feat: Add danger rule so the baseline for routes without Schema doesn't get bigger by @mitelg in https://github.com/shopware/shopware/pull/15697 feat: improve readability of rate limiter key by @matheusgontijo in https://github.com/shopware/shopware/pull/15668 fix: Dynamic Product Group preview not showing correct results when Advanced Search is enabled by @tamvt in https://github.com/shopware/shopware/pull/15691 fix: NPM audit issues by @Phil23 in https://github.com/shopware/shopware/pull/15704 fix: load default sql number range increment storage with redis by @lacknere in https://github.com/shopware/shopware/pull/15426 fix: remove unknown tags field by @bojanrajh in https://github.com/shopware/shopware/pull/15600 fix: load missing product media with product detail store api by @rittou in https://github.com/shopware/shopware/pull/15310 fix: switch inheritance in product listing variants modal on price column by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15646 fix: bulk edit product auto calculated price by @nguyenquocdaile in https://github.com/shopware/shopware/pull/15674 fix: dal reverse association error by @vienthuong in https://github.com/shopware/shopware/pull/15716 fix: time zone shift in date range rule by @DennisGarding in https://github.com/shopware/shopware/pull/15703 fix: Wrong usage of JSON_THROW_ON_ERROR flag on json_decode by @Claude in https://github.com/shopware/shopware/pull/15725 fix(product-analytics): Send delete user requests via gateway client by @SebastianFranze in https://github.com/shopware/shopware/pull/15698 feat: allow system config overrides in staging mode by @shyim in https://github.com/shopware/shopware/pull/15723 feat: add isEmpty method to Collection by @mvanhorn in https://github.com/shopware/shopware/pull/15724 fix: sales channel name translations in mail templates by @DennisGarding in https://github.com/shopware/shopware/pull/15676 fix: change wrong tax snippet in storefront order history by @Berkantdoku in https://github.com/shopware/shopware/pull/15689 fix: sales channel context language by @En0Ma1259 in https://github.com/shopware/shopware/pull/15733 feat: added search ranking attribute by @teunkoster in https://github.com/shopware/shopware/pull/14483 feat: Allow overriding entity default fields by @jasperP98 in https://github.com/shopware/shopware/pull/14326 fix: number ranges starting from zero by @keulinho in https://github.com/shopware/shopware/pull/15711 feat: Storefront Components by @Phil23 in https://github.com/shopware/shopware/pull/15651 fix: remove obsolete warning log from send mail action by @larskemper in https://github.com/shopware/shopware/pull/15708 fix: adds CMS data mapping source for media custom fields #14648 by @zFl4wless in https://github.com/shopware/shopware/pull/15597 fix: avoid infinite retries on rufus 401 SSO error by @davidtraum in https://github.com/shopware/shopware/pull/15653 fix: typo in usage data settings snippet by @Jofu-swag in https://github.com/shopware/shopware/pull/15765 fix: migrate deprecated rule and product stream conditions by @vienthuong in https://github.com/shopware/shopware/pull/15678 fix: wasted empty space in documents by @larskemper in https://github.com/shopware/shopware/pull/15712 fix: prevent SSO state invalidation caused by race condition during logout redirect by @Nickolaus in https://github.com/shopware/shopware/pull/15696 fix: Import map for index components by @Phil23 in https://github.com/shopware/shopware/pull/15768 fix: add min value constraints to product price quantity fields by @lacknere in https://github.com/shopware/shopware/pull/15771 feat: Refactor empty usage in ES and Storefront bundle to prepare its… by @mitelg in https://github.com/shopware/shopware/pull/15778 fix: test mail double mail attachment by @larskemper in https://github.com/shopware/shopware/pull/15731 feat: Improve copying of admin assets by @mitelg in https://github.com/shopware/shopware/pull/15756 fix: Fix issue that incorrect navigation to product detail when variant names are similar by @tamvt in https://github.com/shopware/shopware/pull/15452 fix: Add specific ACL checks for routes that render twig templates by @keulinho in https://github.com/shopware/shopware/pull/15764 feat: Shim for OptionsAPI overrides on Components written with CompositionAPI by @jleifeld in https://github.com/shopware/shopware/pull/15034 fix: filter unrelated YAML defaults in SystemConfigService::getDomain() by @vanWittlaer in https://github.com/shopware/shopware/pull/15323 fix: List price ratio rule by @DennisGarding in https://github.com/shopware/shopware/pull/15760 fix: and search on multiple terms should be a must query by @vienthuong in https://github.com/shopware/shopware/pull/15599 fix: admin es index throws even without errors by @keulinho in https://github.com/shopware/shopware/pull/15802 fix: Add prefix to e-mail validation path by @davidtraum in https://github.com/shopware/shopware/pull/15806 fix: load the env var for admin path redirect by @zukucker in https://github.com/shopware/shopware/pull/14619 feat: add bulk deletion of documents in admin by @ennasus4sun in https://github.com/shopware/shopware/pull/15672 fix(promotion): fix cart merge with product set promotions by @Aliaaaam in https://github.com/shopware/shopware/pull/15777 fix: disable runtime errors overlay in webpack dev server by @shyim in https://github.com/shopware/shopware/pull/15742 fix: less distract devs on storefront watcher by @shyim in https://github.com/shopware/shopware/pull/15782 fix: prevent duplicate import export mappings by @larskemper in https://github.com/shopware/shopware/pull/15739 feat: Add password, list and email field types to attribute entity by @OliverSkroblin in https://github.com/shopware/shopware/pull/15337 fix: upgrade axios dependency to version 1.15 (backport: 6.7.9.x) by @shopware-octo-sts-app-2[bot] in https://github.com/shopware/shopware/pull/16127 New Contributors @DerKaito made their first contribution in https://github.com/shopware/shopware/pull/15208 @s-hamann made their first contribution in https://github.com/shopware/shopware/pull/15449 @tristantisch made their first contribution in https://github.com/shopware/shopware/pull/15261 @matheusgontijo made their first contribution in https://github.com/shopware/shopware/pull/15230 @Nickolaus made their first contribution in https://github.com/shopware/shopware/pull/15569 @Claude made their first contribution in https://github.com/shopware/shopware/pull/15725 @zukucker made their first contribution in https://github.com/shopware/shopware/pull/14619 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.8.2...v6.7.9.0 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
See the UPGRADE.md for all important technical changes. #11435 - Buybox CMS element references non-existent association #15984 - Translated CMS Slot Overrides #7835 - Installer does not use DATABASE_URL #15405 - Autocomplete in backend forms returns only 25 entries — important addresses/entries are missing. #15543 - User in history log "last change" is not changed #15839 - Remove dependency on maltyxx/images-generator #15489 - Order cancellation only shown for open orders #15741 - Unknown feature "V6_8_0" #15694 - feat: add zugferd documents (backport: 6.6.x) #15788 - fix: Add specific ACL checks for routes that render twig templates (backport: 6.6.x) #14648 - Custom Field Data Mapping: Media custom field treated as text #11895 - Improve admin search indexing event handling and iterator versioning #15418 - core/System/NumberRange/ValueGenerator/Pattern/IncrementStorage/IncrementSqlStorage returns string type if database entry is empty #15403 - Misleading info after clicking several times submit button at online cancelation request form #4053 - Adds MIN() Function to cheapestPrice Accessor (Ullrich Löblein) #15269 - PromotionRedemptionUpdater performance #15581 - Fix race condition between cart persist and load #14520 - Google reCAPTCHA is only verified/set for the first form on a page #15021 - Can't remove promotion set products from cart #10872 - Product image alt text no longer falls back to product name on product detail page since 6.6 #15435 - When every line/field in product_search_config_field has "searchable" 0, certain product searches with "term" fail with an error #15419 - Fix invoice number selection for credit notes and storno invoices (Justus Geramb) #15443 - fix: revocation form field validation #14397 - Promotion individual code is not marked as redeemed when entering the code in lowercase letters #14713 - Performance issue when resolving category children
System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Critical Fixes Webhook for order state change Fixed an undefined array key warning within the webhook handling, which could lead to a server error, if strict error displaying is set up. Digital product legacy states repair after update We fixed a bug in the indexer for the product.states field, which lead to issues where rules (and flows depending on those rules) with the line item with product state condition did not work as expected. This especially affected the flows to deliver digital download products after purchase. This release repairs digital products with missing legacy states via a one-time UpdatePostFinishEvent subscriber. The repair runs automatically once per installation and is marked as completed in app_config. What's Changed fix: disable anonymous tracking (backport: 6.7.8.x) by @shyim in https://github.com/shopware/shopware/pull/15527 fix: Missing undefined array key checks in HookableBusinessEvent (backport: 6.7.8.x) by @mitelg in https://github.com/shopware/shopware/pull/15518 feat: add webhook failure strategy (backport: 6.7.8.x) by @AydinHassan in https://github.com/shopware/shopware/pull/15546 fix: price inheritance is not applied correctly for product variants (backport: 6.7.8.x) by @nguyenytran in https://github.com/shopware/shopware/pull/15548 fix: digital products are not downloadable on storefront (backport: 6.7.8.x) by @vienthuong in https://github.com/shopware/shopware/pull/15614 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.8.1...v6.7.8.2 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Critical Fixes Double signature verification in app-reregistration flow Introduces a secure, asynchronous app secret rotation feature to the app system, including both API and CLI interfaces.Added a new API endpoint and command for rotating app secrets, implemented the underlying rotation logic, and adjusted the app registration process to support secret updates and dual signature confirmation.This increases security by enforcing a two-step verification process during app re-registration, ensuring that only authorized parties can update app secrets. LoginRoute and AccountService don't throw CustomerNotFoundException The LoginRoute and AccountService have been updated to no longer throw a CustomerNotFoundException when a login attempt is made with an email address that does not exist in the system.Instead, they will now throw a generic BadCredentialsException without revealing whether the email address is registered or not.This change enhances security by preventing potential attackers from enumerating valid email addresses through error messages. Improve OrderRoute deepLinkCode filter type validation Improve the logic in \Shopware\Core\Checkout\Order\SalesChannel\OrderRoute::load to ensure the deepLinkCode filter is an instance of \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter. What's Changed GHSA-c4p7-rwrg-pf6p - Double signature verification in app-reregistration flow GHSA-gqc5-xv7m-gcjq - Limit account enumeration via Store API GHSA-7vvp-j573-5584 - Proper check for the deepLinkCode filter type Full Changelog: https://github.com/shopware/shopware/compare/v6.7.8.0...v6.7.8.1 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Features New internal comment for state machine state history entries A new internal comment field was added to the state change modal which can be used to add additional information about a state change.The internal comment is only visible in the administration and not shown to customers.It can be found in the state machine state history modal (state change modal) on the detail page of an order. API Core Indexing the product's custom fields Custom fields used in product sorting and product streams, as well as those belonging to apps, are now included when indexing products with Elasticsearch. Deprecation of increment-based message queue statistics The increment-based message queue statistics system is deprecated and will be removed in v6.8.0.0. What's changing: The Administration notification center will no longer show indexing progress notifications (e.g., "X products will be indexed") API endpoint GET /api/_info/queue.json is deprecated - use GET /api/_info/message-stats.json instead Deprecated configuration options: shopware.admin_worker.enable_queue_stats_worker shopware.increment.message_queue Deprecated code: IncrementGatewayRegistry::MESSAGE_QUEUE_POOL constant Increment-based handling in MessageQueueStatsSubscriber::onMessageHandled() Why?The increment-based statistics were often inaccurate due to hardcoded multipliers and missing decrements in edge cases. The replacement functionality was introduced in https://github.com/shopware/shopware/pull/8698 Immediate disable:To disable the deprecated functionality before v6.8.0.0: shopware: admin_worker: enable_queue_stats_worker: false Internal product streams A new boolean field internal has been added to product streams with a default value of false.This allows you to mark product streams as internal for system or plugin use, preventing them from appearing in merchant-facing selection lists throughout the Administration (e.g., in categories, cross-selling, CMS elements, or sales channels). Use this feature when you need to create product streams programmatically that should not be modified or selected by shop administrators. Database table helper class A new helper class \Shopware\Core\Framework\Util\Database\TableHelper was introduced,which could be used to check the table for existence, columns, indexes, and foreign keys. Deprecation of helper methods in \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper As consequence of the introduction of the new table helper class following methods are deprecated and will be removed with the next major version: \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::columnExists \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::columnIsNullable \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::tableExists Migration generator improvements The migration generator previously used a fixed format: fk.<table-name>.<column> for foreign key names.Doctrine does not support this format and creates broken migrations; therefore, we changed to the format fk__<table-name>__<column> for foreign key names. Also, the generator now sets CASCADE DELETE on foreign keys for the translation table references. CategoryIndexer selective indexing optimization The CategoryIndexer now skips tree/child-count updaters when parentId hasn't changed, and breadcrumb updater when name hasn't changed. All updaters still run for INSERT and DELETE operations. Updated doctrine/dbal dependency The doctrine/dbal dependency was updated to the new 4.4 minor version.They introduced many deprecations, especially in the SchemaManager tool, which also might affect you.Read more about it in their upgrade guide. Primary key validation in dal:validate command The dal:validate command now includes validation to detect mismatches between database PRIMARY KEY constraints and entity definition PrimaryKey flags.This validation prevents silent failures where queries return correct total counts but empty data arrays due to entity hydration failures caused by inconsistent primary key definitions.When a mismatch is detected, the command provides a clear error message indicating which fields differ between the database schema and the entity definition. Deprecation of default value for serializer in #[Serialized] field attribute When you use #[Serialized] field in your attribute entity you should always pass the serializer explicitly, as the default serializer does not work as expected.Additionally, the SerializerField will become internal in the next major release, as that field should be only used for attribute entities, but never directly in classic EntityDefinitions. Administration Product detail variants: configSettingGroups as computed and deprecations In sw-product-detail-variants, the following changes were made: configSettingGroups (now computed): Previously a data() property set by loadConfigSettingGroups(). It is now a computed property derived from productEntity.configuratorSettings and groups. loadConfigSettingGroups() (deprecated): Marked as @deprecated tag:v6.8.0. It will be removed in 6.8.0 without replacement. Deprecation of items prop in sw-entity-listing component The items prop in the sw-entity-listing component has been deprecated and will be removed in v6.8.0.Please use the dataSource prop instead to align with the parent sw-data-grid component. Before (deprecated): <sw-entity-listing :items="entityList" :repository="entityRepository" :columns="columns" /> After (recommended): <sw-entity-listing :data-source="entityList" :repository="entityRepository" :columns="columns" /> The component will continue to work with the items prop for backward compatibility, but you will see a deprecation warning in the browser console. Notification translations now update when language changes Notifications now store translation keys directly in their title and message fields instead of translating them immediately.The template checks if the text is a translation key and translates it reactively, allowing notifications to update automatically when the user changes the interface language. Help text support for color picker custom fields The color picker type for custom fields now supports adding a help text. When creating or editing a custom field of type "Colorpicker" in Settings > Content > Custom fields, you can now specify a help text that will be displayed to users in the Administration. sw-select-base clearable button default behavior changed The showClearableButton prop in sw-select-base now defaults based on the required attribute: When required is false or not set: clearable button is shown by default When required is true: clearable button is hidden by default Previously, the clearable button was always hidden by default (showClearableButton: false). Migration: If you relied on the previous behavior where the clearable button was hidden by default, explicitly set :show-clearable-button="false" on your select components. Storefront Selling and packaging information in the product detail page Display the selling and packaging information with the product that has advanced pricing. Deprecated block buy_widget_price_unit and it childrens in Resources/views/storefront/component/buy-widget/buy-widget-price.html.twig, will be moved into Resources/views/storefront/component/buy-widget/buy-widget.html.twig. Default theme breakpoints now available in theme config The default layout breakpoints in the Storefront were hard-coded before and couldn't easily be overriden. Now you will find new theme config fields in the default config, which serve as the default values. The fields are hidden in the visual configuration, so they serve as a feature for theme developers for now. You can override the following config fields in your custom theme.json file to change the default breakpoints. The fields are mapped to the existing hard-coded configuration. The configuration is only passed in Twig and JS currently and there is no direct usage in SCSS, as they represent the Bootstrap default breakpoints. If you want to make a full override, you can simply configure the Bootstrap breakpoints in your custom SCSS and use the theme config values for that. sw-breakpoint-xs sw-breakpoint-sm sw-breakpoint-md sw-breakpoint-lg sw-breakpoint-xl sw-breakpoint-xxl Make static alerts announced in the screenreader Static alert boxes that are rendered in the DOM on page load were previously not read out by screenreaders.The role="alert" did not have an effect. Only role="alerts" added to the DOM by JavaScript were read out. To solve the screenreader issue with static alerts, we introduced a new parameter announceOnLoad.When announceOnLoad is set to true, the alert box content will be announced in the screenreader right after the page is loaded.The alert box will apply an additional JavaScript plugin that attempts to trigger the screenreader.This is done by changing the DOM within the aria-live region after a short delay, which tells the screenreader to read it. {% sw_include '@Storefront/storefront/utilities/alert.html.twig' with { type: "primary", content: "An important message on initial page load", announceOnLoad: true ariaLive: 'assertive' {# Define the priority of the alert #} } %} App System Fixed custom headers for app flow action webhooks in async mode Custom headers defined in app flow action configurations are now correctly sent when webhooks are processed asynchronously via message queue (when admin_worker is disabled). Previously, these headers were only sent when admin_worker was enabled (synchronous processing). Hosting & Configuration Deprecated HTTP cache reverse proxy configuration The following HTTP cache reverse proxy configuration options have been doing nothing since 6.7.0.0 and are therefore now deprecated. They will be removed in version 6.8.0.0: shopware.http_cache.reverse_proxy.use_varnish_xkey shopware.http_cache.reverse_proxy.ban_method shopware.http_cache.reverse_proxy.ban_headers shopware.http_cache.reverse_proxy.purge_all shopware.http_cache.reverse_proxy.purge_all.ban_method shopware.http_cache.reverse_proxy.purge_all.ban_headers shopware.http_cache.reverse_proxy.purge_all.urls If you are currently using any of these options, you can safely remove them from your configuration. Configurable Elasticsearch shard and replica counts The number_of_shards and number_of_replicas settings for Elasticsearch indices are now configurable via environment variables instead of being hardcoded. For the Storefront/Store API Elasticsearch: SHOPWARE_ES_NUMBER_OF_SHARDS (default: empty, meaning Elasticsearch default) SHOPWARE_ES_NUMBER_OF_REPLICAS (default: empty, meaning Elasticsearch default) For the Admin Elasticsearch: SHOPWARE_ADMIN_ES_NUMBER_OF_SHARDS (default: 3, will also be empty with next major) SHOPWARE_ADMIN_ES_NUMBER_OF_REPLICAS (default: 3, will also be empty with next major) Critical Fixes Session deadlock fix for file-based sessions A new configuration option shopware.cache.disable_stampede_protection has been added to prevent deadlocks when using file-based sessions with Symfony's cache stampede protection. Problem: A deadlock (ABBA pattern) can occur when: Process 1: Acquires Session File Lock → Needs Cache → Tries to acquire Cache Lock Process 2: Acquires Cache Lock (stampede protection) → Needs Session → Tries to acquire Session File Lock Solution: Set shopware.cache.disable_stampede_protection: true in your configuration to disable file-based cache locking when file-based sessions are in use. shopware: cache: disable_stampede_protection: true Note: This is an opt-in fix for environments where Redis is not available. Using Redis for both sessions and cache is the recommended solution. Disabling stampede protection may increase database load under high concurrency when cache entries expire. What's Changed fix: sw-grid spacer by @larskemper in https://github.com/shopware/shopware/pull/14408 fix: Required fields can not be saved with empty value by @rittou in https://github.com/shopware/shopware/pull/14479 fix: migration generator to use unique fk names by @shyim in https://github.com/shopware/shopware/pull/14406 refactor: login meteor tokens & add proper sso button by @larskemper in https://github.com/shopware/shopware/pull/14363 fix: display selling and packaging information in pdp with product has advanced pricing by @rittou in https://github.com/shopware/shopware/pull/14524 fix: Release date input is vertically misaligned on Admin product detail page by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14528 fix: Google reCAPTCHA input visibility and error handling by @mdanilowicz in https://github.com/shopware/shopware/pull/14548 fix: Partial entity loading with nested association by @mitelg in https://github.com/shopware/shopware/pull/14536 fix: DateRangeRule empty timezone by @aragon999 in https://github.com/shopware/shopware/pull/14492 fix: allow empty field for product measurement by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14547 fix: update router link for user edit context menu item in user listing component by @jleifeld in https://github.com/shopware/shopware/pull/14559 fix: Image zoom modal touch gestures by @Phil23 in https://github.com/shopware/shopware/pull/14550 fix: random deadlocks when file session handler is used by @h1k3r in https://github.com/shopware/shopware/pull/14474 fix: error during offline theme compilation by @h1k3r in https://github.com/shopware/shopware/pull/14543 fix: optimize default product seo category selection by @lacknere in https://github.com/shopware/shopware/pull/14461 fix: Subtotal element styling by @rittou in https://github.com/shopware/shopware/pull/14572 fix: tax rate is inconsistent with variant products by @rittou in https://github.com/shopware/shopware/pull/14596 fix: flaky BasicConsentBannerAcceptAllCookies.spec.ts in SaaS by @yusufttur in https://github.com/shopware/shopware/pull/14603 fix: Profiler: use $title as key in start() so it will correctly be unset in stop() by @daniel-memo-ict in https://github.com/shopware/shopware/pull/14019 fix: skip VariantProductListingPriceVisibility.spec.ts in SaaS by @yusufttur in https://github.com/shopware/shopware/pull/14609 feat: general consent system by @AydinHassan in https://github.com/shopware/shopware/pull/14031 fix(storefront-js): JS errors in CmsGdprVideoElement by @tobiasberge in https://github.com/shopware/shopware/pull/14549 refactor: change unit price and total price from int to double by @FlorianKe in https://github.com/shopware/shopware/pull/14192 feat: Introduce database table helper by @mitelg in https://github.com/shopware/shopware/pull/14277 fix: fallback on invalid locale in twig number format filters by @keulinho in https://github.com/shopware/shopware/pull/14637 refactor: migrate from sw-modal to mt-modal in sw-media-modal-v2 by @gweiermann in https://github.com/shopware/shopware/pull/14556 refactor!: set default behavior of showClearableButton to true by @gweiermann in https://github.com/shopware/shopware/pull/14591 fix: add help text to custom field color picker configuration by @gweiermann in https://github.com/shopware/shopware/pull/14584 fix: added a new block outside if by @En0Ma1259 in https://github.com/shopware/shopware/pull/14504 feat: Add internal column for product stream table by @phuoccx in https://github.com/shopware/shopware/pull/14458 fix: reset document selection state between bulk edits by @vintagesucks in https://github.com/shopware/shopware/pull/14618 refactor: notification center by @larskemper in https://github.com/shopware/shopware/pull/14597 fix: newsletter settings by @larskemper in https://github.com/shopware/shopware/pull/14418 feat: update notification handling to support translation keys by @jleifeld in https://github.com/shopware/shopware/pull/14590 fix: app flow actions custom headers are not sent by @h1k3r in https://github.com/shopware/shopware/pull/14617 fix: entitylisting component mismatch with parent data grid component by @jleifeld in https://github.com/shopware/shopware/pull/14601 fix: Product Stream should have default value for internal field by @silverDuy in https://github.com/shopware/shopware/pull/14662 fix: register all twig extensions in DI container by @keulinho in https://github.com/shopware/shopware/pull/14546 fix: disable meteor fields is now working in system config by @jleifeld in https://github.com/shopware/shopware/pull/14639 fix: build price definition by @rittou in https://github.com/shopware/shopware/pull/14652 fix: elasticsearch requirement in core bundle by @shyim in https://github.com/shopware/shopware/pull/14696 fix: add missing product heading cms element snippets by @lacknere in https://github.com/shopware/shopware/pull/14714 fix: getAddress inAddressDetailPageLoader by @gecolay in https://github.com/shopware/shopware/pull/14718 fix: respect invoice selection in credit notes by @vintagesucks in https://github.com/shopware/shopware/pull/14668 fix: exception typo by @En0Ma1259 in https://github.com/shopware/shopware/pull/14743 fix: order edit loading by @keulinho in https://github.com/shopware/shopware/pull/14745 fix: Add default language to ui by @alexdumea in https://github.com/shopware/shopware/pull/14429 fix: Sales channel bound customer logout issue by @Phil23 in https://github.com/shopware/shopware/pull/14574 fix: JS plugin initialization in async content by @Phil23 in https://github.com/shopware/shopware/pull/14557 feat: Update doctrine/dbal and fix deprecations by @mitelg in https://github.com/shopware/shopware/pull/13911 fix: conditionally hide product selection cms inherit wrapper as a whole in buy box cms element by @lacknere in https://github.com/shopware/shopware/pull/14734 feat(cms-video): Add CMS video block and element by @marcelbrode in https://github.com/shopware/shopware/pull/14239 fix(snippet-sets): Toggle inlineEdit after snippet set creation by @marcelbrode in https://github.com/shopware/shopware/pull/14773 feat(consent): Add ACL check to consents by @SebastianFranze in https://github.com/shopware/shopware/pull/14761 feat(consent): Remove all consents during staging setup by @SebastianFranze in https://github.com/shopware/shopware/pull/14751 feat(product-analytics): Load consents in Admin by @SebastianFranze in https://github.com/shopware/shopware/pull/14010 fix: handle uncaught errors during customer deletion by @Aliaaaam in https://github.com/shopware/shopware/pull/14760 feat: introduce dependabot for ATS by @frobel in https://github.com/shopware/shopware/pull/14460 feat: provide field description in entity schema by @larskemper in https://github.com/shopware/shopware/pull/14748 fix(storefront): resolve base url without index.php script name by @SpiGAndromeda in https://github.com/shopware/shopware/pull/14769 fix: remove deprecated assert active option by @frobel in https://github.com/shopware/shopware/pull/14799 fix: Upgrade dompdf to 3.1.4 to fix PHP 8.5 issues by @gecolay in https://github.com/shopware/shopware/pull/14766 fix: improve pagination and filter behavior by @davidtraum in https://github.com/shopware/shopware/pull/14588 feat: add disposal of quickview in sw-model-viewer by @feliopterix in https://github.com/shopware/shopware/pull/14810 feat: auto merge downstream PRs by @keulinho in https://github.com/shopware/shopware/pull/14650 fix: Change allowed_types default value to match config file by @JoshuaBehrens in https://github.com/shopware/shopware/pull/14762 fix(customer): prevent failure when customer language is missing from sales channel by @Aliaaaam in https://github.com/shopware/shopware/pull/14772 fix(a11y): alerts on initial page load not read by screenreader by @tobiasberge in https://github.com/shopware/shopware/pull/14575 fix: shop logo size when using smaller viewports in checkout by @pt1602 in https://github.com/shopware/shopware/pull/14448 feat: Add FileLoader methods to load media files from MediaEntity by @alexdumea in https://github.com/shopware/shopware/pull/14480 fix: translate notification titles by @vintagesucks in https://github.com/shopware/shopware/pull/14808 refactor: replace schema introspection patterns with tablehelper methods by @SpiGAndromeda in https://github.com/shopware/shopware/pull/14642 fix: changing variant in buybox on shopping experience by @pt1602 in https://github.com/shopware/shopware/pull/14165 fix: navigation-flyout-col to use 3 or 4 column depending on media by @BrocksiNet in https://github.com/shopware/shopware/pull/14510 feat: Add prompt=login to SSO redirect by @mitelg in https://github.com/shopware/shopware/pull/14783 fix: product-slider cms element navigationArrows config by @lacknere in https://github.com/shopware/shopware/pull/14688 fix: Google reCAPTCHA base plugin initialization and form validation feedback with multiple forms by @lacknere in https://github.com/shopware/shopware/pull/14573 fix(notifications): Re-implement rendering of titles by @marcelbrode in https://github.com/shopware/shopware/pull/14843 feat: Make default breakpoints available in theme config by @Phil23 in https://github.com/shopware/shopware/pull/14612 feat: add more precise test for model viewer condition. by @feliopterix in https://github.com/shopware/shopware/pull/14847 fix: Prevent admin search bar render issue with missing order customer by @gecolay in https://github.com/shopware/shopware/pull/14776 feat: add 3D viewer background color support through css. by @feliopterix in https://github.com/shopware/shopware/pull/14875 feat: Refactor empty usage in checkout area to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14812 fix: missing exclude regulation price extension when encoding calculated price by @rittou in https://github.com/shopware/shopware/pull/14874 fix(theme-manager): Ensure general tab to be first in order by @marcelbrode in https://github.com/shopware/shopware/pull/14885 feat: db instant column, phpstan check by @BrocksiNet in https://github.com/shopware/shopware/pull/14545 fix(customer): validate language assignment before creation by @Aliaaaam in https://github.com/shopware/shopware/pull/14836 fix: deleting properties not possible by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14720 feat: Refactor empty usage in tests to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14906 perf: Memoize twig env for script rules by @keulinho in https://github.com/shopware/shopware/pull/14867 fix(breadcrumb): handle null category in buy-widget-form by @BrocksiNet in https://github.com/shopware/shopware/pull/14884 feat: add env vars for opensearch replica shards by @shyim in https://github.com/shopware/shopware/pull/14887 feat: Update rector and add rules for refactoring empty by @mitelg in https://github.com/shopware/shopware/pull/14905 fix: generate variants with empty restrictions by @rittou in https://github.com/shopware/shopware/pull/14660 fix: correct manufacturer link condition check by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14866 fix: integrate sw-upload-listener component for media uploads by @BrocksiNet in https://github.com/shopware/shopware/pull/14883 feat: Add primary key validation to dal:validate command by @BrocksiNet in https://github.com/shopware/shopware/pull/13483 fix: prevent float steps for integer custom fields by @davidtraum in https://github.com/shopware/shopware/pull/14846 fix: only upload playwright html reports if exists by @mkraeml in https://github.com/shopware/shopware/pull/14877 fix: system config card field block by @FlorianKe in https://github.com/shopware/shopware/pull/14687 fix: account register accessibility errors (a11y) by @FlorianKe in https://github.com/shopware/shopware/pull/14207 refactor: fix a11y errors by @FlorianKe in https://github.com/shopware/shopware/pull/14531 fix(media-modal): Fix auto-close of media modal on any click by @marcelbrode in https://github.com/shopware/shopware/pull/14896 fix: correct order date filter by @Aliaaaam in https://github.com/shopware/shopware/pull/14935 feat: Remove caching of SchemaManager in TableHelper by @mitelg in https://github.com/shopware/shopware/pull/14924 fix: load all existing property group in product variants by @rittou in https://github.com/shopware/shopware/pull/14826 feat: Refactor empty usage in administration to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14908 fix: add branch alias for main by @shyim in https://github.com/shopware/shopware/pull/14820 fix: rollback plugin installation on failure by @umutdogan4291 in https://github.com/shopware/shopware/pull/14558 feat: add no unserialize usage rule by @larskemper in https://github.com/shopware/shopware/pull/14936 fix: skip VAT ID validation for non-EU company shipping countries by @Aliaaaam in https://github.com/shopware/shopware/pull/14907 feat: app app url as referer to service list request by @AydinHassan in https://github.com/shopware/shopware/pull/14934 fix: clear cache after creating categories by @keulinho in https://github.com/shopware/shopware/pull/14942 fix: allow disabling autocomplete in single select components by @shyim in https://github.com/shopware/shopware/pull/14827 fix: import export profile mapping disabled position buttons by @lacknere in https://github.com/shopware/shopware/pull/14859 fix(cms-sliders): Adjust image slider/galery styling by @marcelbrode in https://github.com/shopware/shopware/pull/14913 feat: Refactor empty usage in storefront to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14909 fix: Consider SSO correctly while opening the admin user details by @mitelg in https://github.com/shopware/shopware/pull/14939 feat(translations): Added missing languages to download command by @marcelbrode in https://github.com/shopware/shopware/pull/14931 fix: use cookie path in storefront sessions by @umutdogan4291 in https://github.com/shopware/shopware/pull/14599 fix: Fixed media upload in image gallery by @MartinKrzykawski in https://github.com/shopware/shopware/pull/14943 feat: Refactor empty usage in content area to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14815 fix: deprecate noop options in HTTP cache by @shyim in https://github.com/shopware/shopware/pull/14526 feat: add Shopware account login/logout events and small refactor by @AydinHassan in https://github.com/shopware/shopware/pull/14959 fix: correct promotion rule evaluation by @Aliaaaam in https://github.com/shopware/shopware/pull/14962 feat: Add comment column to state_machine_history table by @gecolay in https://github.com/shopware/shopware/pull/13351 fix(Storefront): skip popstate handling for hash-only in product listing by @mkucmus in https://github.com/shopware/shopware/pull/14539 feat: Add presign url generator by @alexdumea in https://github.com/shopware/shopware/pull/14686 fix: use correct path in playwright html upload check by @mkraeml in https://github.com/shopware/shopware/pull/14980 fix: load phpunit config from PR when found by @nfortier-shopware in https://github.com/shopware/shopware/pull/14643 fix: set autofocus true by @En0Ma1259 in https://github.com/shopware/shopware/pull/14957 fix: required field validation by @En0Ma1259 in https://github.com/shopware/shopware/pull/14923 fix: Reading associations via the parent, if the parent has multiple associations of the same type and to the same entity by @mitelg in https://github.com/shopware/shopware/pull/14215 fix: hide TOS setting by @mstegmeyer in https://github.com/shopware/shopware/pull/15001 fix: optimize unused media deletion process to prevent out-of-memory issues by @DrauzJu in https://github.com/shopware/shopware/pull/14865 fix: restore horizontal scroll in flow builder by @vintagesucks in https://github.com/shopware/shopware/pull/14999 feat: Add support for dev containers in VS Code based IDE by @Phil23 in https://github.com/shopware/shopware/pull/15008 refactor(category): replace magic number with navigation depth constant by @SpiGAndromeda in https://github.com/shopware/shopware/pull/14978 fix: Increase total blocking time assertion limit by @davidtraum in https://github.com/shopware/shopware/pull/15005 fix: streamline product creation and assignment in Lighthouse tests by @frobel in https://github.com/shopware/shopware/pull/15015 fix: redirect after finishing first run wizard by @vintagesucks in https://github.com/shopware/shopware/pull/15003 fix: PHP bench data fixture class detection by @phuoccx in https://github.com/shopware/shopware/pull/14525 fix: mt-colorpicker not working in text selection toolbar by @davidtraum in https://github.com/shopware/shopware/pull/14870 fix(a11y): adjust aria-popover roles to announce correct popover content by @tobiasberge in https://github.com/shopware/shopware/pull/14989 fix: Move migration for oauth_user table creation to Core by @astehlik in https://github.com/shopware/shopware/pull/14977 fix: provide id to redirection route after email template header footer creation by @CR0YD in https://github.com/shopware/shopware/pull/14963 fix: Fix SwTwigFunction memory leak in long-running environments by @mateuszfl in https://github.com/shopware/shopware/pull/14582 fix(cms-sliders): Revert - Adjust image slider/galery styling (#14913) by @marcelbrode in https://github.com/shopware/shopware/pull/15059 fix: Reset mode settings when creating new product by @davidtraum in https://github.com/shopware/shopware/pull/14663 fix: Optimize CleanupCorruptedMediaHandler by @MartinKrzykawski in https://github.com/shopware/shopware/pull/15033 fix(storefront): fix hot mode variant switch by @8mylez-dg in https://github.com/shopware/shopware/pull/14918 fix(magnifier): prevent event registration when zoom container is missing by @BrocksiNet in https://github.com/shopware/shopware/pull/15069 fix: Form validation helper setFieldNotRequired by @Phil23 in https://github.com/shopware/shopware/pull/15089 feat: service requirements by @AydinHassan in https://github.com/shopware/shopware/pull/15026 fix: review rating rounding for screen readers by @vintagesucks in https://github.com/shopware/shopware/pull/15075 feat: Refactor empty usage in Elasticsearch to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14967 fix: log message by @AydinHassan in https://github.com/shopware/shopware/pull/15096 feat: Refactor empty usage in migration, maintenance, etc to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14971 feat: Refactor empty usage in checkout, devops and Framework/Adapter to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/15032 feat: Model Editor capabilities by @feliopterix in https://github.com/shopware/shopware/pull/14620 feat: move config defaults into actual config definition by @shyim in https://github.com/shopware/shopware/pull/15031 fix: preserve customer context on order creation in the Administration area by @Aliaaaam in https://github.com/shopware/shopware/pull/15062 fix: country-state-select vatIdRequired type by @lacknere in https://github.com/shopware/shopware/pull/15037 fix: Enhance navigation ID resolution for landing pages by @BrocksiNet in https://github.com/shopware/shopware/pull/14949 feat: Refactor empty usage in System area to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/14968 feat: Refactor empty usage in Framework to prepare its prohibition by @mitelg in https://github.com/shopware/shopware/pull/15042 fix: index used custom fields in product (backport to 6.7.8.x) by @rittou in https://github.com/shopware/shopware/pull/15166 fix: revert fix for storefront session cookie path (#14599) (backport: 6.7.8.x) by @shopware-octo-sts-app-2[bot] in https://github.com/shopware/shopware/pull/15175 fix: resolve npm audit failures across all packages (backport: 6.7.8.x) by @shopware-octo-sts-app-2[bot] in https://github.com/shopware/shopware/pull/15181 feat: allow to refresh opensearch during cache clear (backport: 6.7.8.x) by @shopware-octo-sts-app[bot] in https://github.com/shopware/shopware/pull/15184 fix: analytics test when admin loads longer then 3s (backport: 6.7.8.x) by @shopware-octo-sts-app-2[bot] in https://github.com/shopware/shopware/pull/15210 New Contributors @nsaliu made their first contribution in https://github.com/shopware/shopware/pull/14509 @Aliaaaam made their first contribution in https://github.com/shopware/shopware/pull/14760 @8mylez-dg made their first contribution in https://github.com/shopware/shopware/pull/14918 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.7.1...v6.7.8.0 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Features Symfony 7.4 update All symfony packages have been updated to version 7.4.Take a look at the Symfony 7.4 release post for more information.Especially note that Symfony now requires php-redis extension v6.1 or higher: https://github.com/symfony/symfony/blob/7.4/UPGRADE-7.4.md#cache.If you note compatibility issues with the Redis extension please check the installed version php-redis. Changed maintenance mode redirect After maintenance ends, users are now redirected back to the page they were on before maintenance.Previously, users were always redirected to the shop homepage. Support of media paths with up to 2046 characters Previously the maximum length for media paths was limited to 255 characters (due to default StringField limit) while thedatabase field already supported up to 2046 characters. This limitation has now been lifted and media paths can be up to2046 characters long. Configurable Custom Field Searchability Custom fields are now not searchable by default. To make a custom field searchable, you need to enable the "Include in search" option in the custom field detail modal when creating or updating a custom field in Settings > System > Custom fields. This change helps optimize index storage size and improve search performance, especially for stores with many custom fields. Important: When enabling searchability for an existing product custom field, you must rebuild the search index or update the products manually to include the custom field data in search results. Media Model Viewer From now on you are able to inspect your 3D models directly in the Media module in the Administration. Simply select a model file and you will find an interactive 3D viewer in the Preview collapsable in the item sidebar on the right. This new component is called sw-model-viewer. API Improved tagged based cache invalidation Next routes now support cache tagging, enabling automatic invalidation when relevant entities are written: /store-api/breadcrumb/{id} /store-api/media /store-api/product/{productId}/find-variant /store-api/product/{productId}/cross-selling Core Rework of DAL query generation for nested filters groups The DAL criteria builder has been adjusted to generate EXISTS subqueries instead of LEFT JOINs for nested filter groups. Previously, each level of nested filters resulted in an additional LEFT JOIN, even when the join was only required to check for the existence of a related entity subject to some filter.In complex criteria trees with multiple filters on the same entity, this led to an exponential explosion of joins and significant performance degradation (e.g., the same table being joined multiple times only to evaluate existence conditions). An example of this is a query such as "find orders that have a line item of type A and one of type B and one of type C".According to aadr/2020-11-19-dal-join-filter.md, this would look like: $criteria->addFilter( new EqualsFilter('lineItems.type', 'product'), new EqualsFilter('lineItems.type', 'custom'), new EqualsFilter('lineItems.type', 'other'), ); Previously, the generated query would LEFT JOIN order_line_item multiple times onto order, causing the query to be extremely slow. The new EXISTS checks prevent this, making the query much faster. Introduce Immutable DAL flag A new Immutable flag is available for Data Abstraction Layer fields. Fields marked as immutable can be set during entity creation but cannot be updated later. This prevents accidental renames of technical identifiers that other subsystems rely on. Core entities now using the flag include: custom_field.name custom_field.type custom_field_set.name Trying to update these columns now results in a WriteConstraintViolationException with the message The field foo is immutable and cannot be updated., giving developers clear feedback when attempting to change these values.If the value is not set in the payload, or the value won't change, no exception is thrown. Performance Improvement for ProductCategoryDenormalizer The SQL Query inside the ProductCategoryDenormalizer has been optimized to run faster, especially on large catalogues.Previously MySql needed to perform a full table scan based on the where condition, now the result set is already limited by indexed columns.This lead to performance improvements from up to 3s for the query down to less than 1ms on large catalogues (3000%). Deprecation of product states in favor of the new product type The product.states field is deprecated and will be removed in the next major release.A new field product.type was introduced to clearly indicate whether a product is digital or physical, or other types registered by third-party developers. As part of this change, the following deprecations were made: The order_line_item.states field is deprecated in favor of order_line_item.payload.product_type. \Shopware\Core\Checkout\Cart\LineItem\LineItem::$states is deprecated in favor of \Shopware\Core\Checkout\Cart\LineItem\LineItem::$payload['productType']. The LineItemProductStatesRule is deprecated in favor of the new LineItemProductTypeRule. The StatesUpdater service and its related dispatched events (ProductStatesBeforeChangeEvent, ProductStatesChangedEvent) are deprecated. A new parameter shopware.product.allowed_types was introduced to allow third-party developers to register additional product types. For more details, please refer to the 2025-11-14-introduce-product-type-and-deprecate-states.md If you are using the rule LineItemProductStatesRule, product stream filters, or product listing filters that rely on product.states, you should update them to use the new product.type field instead.If you create digital products using admin api, you should explicitly set the type field to digital when creating new products instead of relying on backend handling. New RequestParamHelper Symfony deprecated the "magic" Request::get() method, which was used to retrieve parameters from the request, by checking the attribute, query or request parameter bags.For easier backward compatibilty we backported the old behaviour in the new RequestParamHelper class, however, it should only be used in explicit cases, where the parameter could be in any of those parameter bags.The best practice is to check the explicit parameter bag, where you expect the parameter to be.However, as we have a lot of API routes that support being called by GET and POST methods both, the helper is handy in such cases. Before: $parameter = $request->get($parameterName, $default); After: $parameter = RequestParameterHelper::get($request, $parameterName, $default); To provide full backward compatibility, the helper currently also checks the attribute bag for the parameter first.However, it should be possible to strictly differentiate between request attributes (which are generally controlled and set by the application itself) and input parameters (which are provided by the client, and based on how they are passed are either part of the query bag or the request bag) in the future.Therefore the check of the attribute bag is deprecated and will be removed in the next major release.When you need to get a value from the request attributes, you should use the Request::attributes->get() method directly.In case you used to set request attributes to override specific parameters, you should instead overwrite the parametes in the query or request parameter bags directly. The TranslationLoader class is now decoratable The TranslationLoader class extends from the new AbstractTranslationLoader class and implements the decoratable pattern. This allows third-party developers to decorate the loader to add custom logic when a translation is loaded. DomainExceptions don't create \RuntimeException anymore All factory methods for domain exceptions now return specific exception classes instead of creating a generic \RuntimeException.Changing the type of the thrown exception from \RuntimeException to a specific domain exception is not considered a breaking change, since all Domain Exceptions extend from \RuntimeException. This means code like this will stay valid: try { $this->someService->willThrowDomainException(); } catch (\RuntimeException $e) { // handle exception } Additionally all changed factory methods were marked as deprecated, because the \RuntimeException return type will be removed in the next major release.This affects the following exception factory methods: DataAbstractionLayerException::cannotBuildAccessor(...) DataAbstractionLayerException::onlyStorageAwareFieldsAsTranslated(...) DataAbstractionLayerException::onlyStorageAwareFieldsInReadCondition(...) DataAbstractionLayerException::primaryKeyNotStorageAware(...) DataAbstractionLayerException::missingTranslatedStorageAwareProperty(...) DataAbstractionLayerException::noTranslationDefinition(...) DataAbstractionLayerException::missingVersionField(...) DataAbstractionLayerException::unexpectedFieldType(...) WebhookException::invalidDataMapping(...) WebhookException::unknownEventDataType(...) More fine-grained caching control in HttpCacheCookieEvent A new doNotStore property was added to the HttpCacheCookieEvent to allow fine-grained control over caching behavior.This new property allows preventing the current response from being stored in the cache.This behaviour differs from the existing ìsCacheable` property, which will also prevent the following requests from that session being cached. Logging for invalidated cache tags Added logging for invalidated cache tags at the info level, with the ability to enable or disable the logging via configuration for debugging and transparency. Removed CacheInvalidationSubscriber::getChangedPropertyFilterTags due to performance issues The getChangedPropertyFilterTags method has been removed from CacheInvalidationSubscriber due to performance issues where it could cause invalidation storms by selecting all product IDs for popular property options. Changing a property group or option will no longer automatically invalidate product and product list caches. It's recommended to rely on TTLs for bigger shops. If you experience issues after changing a property group, a manual cache clear may be required. Administration Deprecations in mail template components The mail template index will be split into separate tabs for templates and headers/footers in v6.8.0.0. The following deprecations apply to sw-mail-template-list and sw-mail-header-footer-list: searchTerm prop and watcher will be removed in v6.8.0.0 getList() method: searchTerm variable will be replaced with this.term in v6.8.0.0 @page-change handler will change to onPageChange in v6.8.0.0 The following deprecations apply to sw-mail-template-index: The listing mixin will be removed in v6.8.0.0 term data property will be removed in v6.8.0.0 onChangeLanguage method: the if/else block will be replaced with just the if-branch logic in v6.8.0.0 Storefront Cookie consent now language-aware The cookie consent banner now tracks cookie configuration per language. Previously, switching languages would cause the cookie banner to reappear because the configuration hash changed due to translated cookie descriptions. Now, switching back to a previously accepted language will not show the banner again. The Store API endpoint /store-api/cookie-groups now includes a languageId field in the response. New window.activeNavigationPathIdList variable A new global JavaScript variable window.activeNavigationPathIdList is now available, containing the IDs of parent categories for the current page. This can be used by plugins or themes to implement custom navigation highlighting. Improved cookie consent dialog UI and accessibility The cookie consent dialog now uses toggle switches instead of checkboxes for a more modern look. Additionally, accessibility improvements were made by adding proper ARIA attributes (role="switch", aria-disabled, aria-labelledby) and converting links to semantic buttons where appropriate. HTTP caching policies update The following changes are relevant when HTTP caching policies feature is enabled (CACHE_REWORK or v6.8.0.0 feature flag): HTTP caching policy system now takes into account _noStore route attribute to apply no-store directive in Cache-Control header. Cache-Control header set by policies is sent to the client for all responses, even when no reverse proxy is enabled. Previously, headers were replaced with no-cache when no reverse proxy was configured. Important: Verify your cache policy configuration is appropriate for client-side caching, as browser caches cannot be invalidated on-demand unlike reverse proxies that use tag-based invalidation. First tap on iOS Safari did not trigger call-to-action buttons on product detail page Fixes an issue on iOS Safari where the first tap does not trigger the desired action on the product detail page after scrolling over the image gallery.The touchmove event listener was removed from zoom-modal.plugin.js because it stopped the tap/click event.A regular click event is used instead to open the Zoom-Modal. The browser itself can determine via the click event if the user is still scrolling or clicking/taping. Google Analytics 4 Integration Update The Google Analytics integration has been updated to align with GA4 standards, enhancing e-commerce tracking capabilities. The event parameters for add_to_cart, begin_checkout, purchase, view_item, and remove_from_cart have been enriched with additional data such as currency, value, item_brand, and a hierarchical item_category structure. Furthermore, new events for add_to_wishlist, remove_from_wishlist, view_cart, add_shipping_info, and add_payment_info have been implemented to provide a more comprehensive view of user interactions. The checkout funnel now tracks shipping and payment method selections, including when users change their selections. The view_item_list and add_to_cart events now fire when users navigate through product listings via pagination or apply filters, not just on initial page load. New Configuration: Track Offcanvas Cart A new configuration option Track offcanvas cart has been added to the Sales Channel Analytics settings. When enabled, the view_cart GA4 event will fire whenever the offcanvas cart is opened or its content is updated (e.g., quantity changes, product removals, promotions). New Configuration: Open Offcanvas Cart After Add to Cart A new configuration option Open offcanvas cart after adding a product has been added to the Cart settings (Settings → Shop → Cart). This setting is enabled by default. When disabled: The offcanvas cart will not open automatically after adding items to the cart A success message will be shown instead The cart widget in the header will still update to show the new item count Recommended for accurate funnel tracking: Disable "Open offcanvas cart after adding a product" and enable "Track offcanvas cart". This ensures view_cart events only fire when users intentionally click the cart button, providing accurate funnel metrics. Critical Fixes Flash messages are not cached anymore As soon as a flash message is displayed, the response won't be stored in the HTTP cache anymore, thus preventing the message from being displayed to other users.Additionally, the cache will be passed as soon as there is a flash message that still needs to be displayed. This ensures that flash messages are always displayed on the next request, and not only on the next request to an uncached page. What's Changed fix: cannot disable inheritance of mt-switch field by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14106 fix: added missing get/caching support for LandingPageRoute by @h1k3r in https://github.com/shopware/shopware/pull/14124 feat: add maxPortnumber fallback to support dockware admin watcher port by @crayssnlabs in https://github.com/shopware/shopware/pull/13521 fix: mark translation association as required in attribute entities by @keulinho in https://github.com/shopware/shopware/pull/14145 feat: Allow searching while quicksearch is still loading by @amenk in https://github.com/shopware/shopware/pull/13727 fix: canonical link on paginated pages by @lacknere in https://github.com/shopware/shopware/pull/13568 fix: Allow deletion of primary keys without primary key named id by @JoshuaBehrens in https://github.com/shopware/shopware/pull/13034 feat: introduce immutable flag by @vienthuong in https://github.com/shopware/shopware/pull/13957 fix: adjust StringField length of media path to 2048 by @jenskueper in https://github.com/shopware/shopware/pull/14153 feat: Allow Configuration of Custom Fields to be Searchable by @tamvt in https://github.com/shopware/shopware/pull/14161 fix: Fixes username placeholder text in sw-settings-mailer/.../en.json according to de.json by @JannisMCMXCV in https://github.com/shopware/shopware/pull/14163 fix: Ensure product is included in search keywords by @vanWittlaer in https://github.com/shopware/shopware/pull/13947 fix: Add release information for version 6.7.5.0 by @alvarothomas in https://github.com/shopware/shopware/pull/14016 fix: Mailer SMTP port input field allows floats by @pt1602 in https://github.com/shopware/shopware/pull/14152 fix: shows a full response on error registration by @shyim in https://github.com/shopware/shopware/pull/14140 feat: apply OpenAPI descriptions for Definitions by @bojanrajh in https://github.com/shopware/shopware/pull/13581 fix: rename criteria property in Admin API sync definition by @astehlik in https://github.com/shopware/shopware/pull/14171 fix(snippets): Minor ellipsis fix by @marcelbrode in https://github.com/shopware/shopware/pull/14185 fix: Allow dynamic properties on test struct by @mitelg in https://github.com/shopware/shopware/pull/14177 fix: Update composer to ensure safe version by @mitelg in https://github.com/shopware/shopware/pull/14188 fix: Misleading redis connection configuration by @aragon999 in https://github.com/shopware/shopware/pull/14181 feat: introduce product type by @vienthuong in https://github.com/shopware/shopware/pull/13554 feat: add loading screen to admin (#13902) by @vienthuong in https://github.com/shopware/shopware/pull/14204 fix: remove hard-code path from vite config by @shyim in https://github.com/shopware/shopware/pull/14191 feat: Always create base snippet set by @dgrothaus-sw in https://github.com/shopware/shopware/pull/14097 refactor: split mail template index into tabs by @vintagesucks in https://github.com/shopware/shopware/pull/13908 feat: enhance cookie configuration UI, primary CTAs by @BrocksiNet in https://github.com/shopware/shopware/pull/14076 refactor: flow builder meteor tokens by @larskemper in https://github.com/shopware/shopware/pull/14170 refactor: import export meteor tokens by @larskemper in https://github.com/shopware/shopware/pull/14193 fix: checkPromotion query param in AccountEditOrderPageLoader by @gecolay in https://github.com/shopware/shopware/pull/14195 fix: improve collection phpstan types by @cyl3x in https://github.com/shopware/shopware/pull/13818 fix: accessble payment and shipping method selections on checkout confirm by @cyl3x in https://github.com/shopware/shopware/pull/14095 fix(snippets): Add german snippets by @marcelbrode in https://github.com/shopware/shopware/pull/14223 fix: delete restrict notification message by @nguyenytran in https://github.com/shopware/shopware/pull/14235 fix: Run command in non interactive env by @alexdumea in https://github.com/shopware/shopware/pull/14194 fix(cms-slots): Replace v-show with v-if by @marcelbrode in https://github.com/shopware/shopware/pull/14228 fix: Add release information for version 6.7.6.0 and 6.7.7.0 by @flegarjur in https://github.com/shopware/shopware/pull/14236 feat(google-analytics): Enhance GA4 integration by @BrocksiNet in https://github.com/shopware/shopware/pull/13662 feat: add tag based invalidation to StoreAPI routes by @h1k3r in https://github.com/shopware/shopware/pull/14166 fix(captcha): For loop issue by @BrocksiNet in https://github.com/shopware/shopware/pull/14254 feat: add default address bool to customer address by @mstegmeyer in https://github.com/shopware/shopware/pull/14255 fix: remove settings card border by @larskemper in https://github.com/shopware/shopware/pull/14284 fix: update deprecation message by @En0Ma1259 in https://github.com/shopware/shopware/pull/14278 fix: return selected main variant when displayParent is active by @Alex--C in https://github.com/shopware/shopware/pull/13208 fix: pass resizeWidth property to deprecated sw-popover component by @davidtraum in https://github.com/shopware/shopware/pull/14227 fix: accept inactive customer to customer groups by @FlorianKe in https://github.com/shopware/shopware/pull/14052 fix: add submit button functionality for password recovery by @jleifeld in https://github.com/shopware/shopware/pull/14240 fix: product boxes background color by @pt1602 in https://github.com/shopware/shopware/pull/14162 fix(phpstan): Add iterable types to import/export module by @aragon999 in https://github.com/shopware/shopware/pull/14200 feat(consent): hide-header and remove close on click by @SebastianFranze in https://github.com/shopware/shopware/pull/14309 fix: update i18n snippet handling to ensure reactivity on locale mess… by @jleifeld in https://github.com/shopware/shopware/pull/14212 fix(a11y): remove unnecessary labelledby attribute by @bschulzebaek in https://github.com/shopware/shopware/pull/14281 fix: generate EXISTS conditions instead of left joins for nested filter groups in DAL criteria builder by @timtheisinger in https://github.com/shopware/shopware/pull/14216 feat: Add 3D viewer to Media item sidebar by @ffrank913 in https://github.com/shopware/shopware/pull/14270 fix: Inherited attribute now correctly adds Inherited flag to fields by @matthias-nijland in https://github.com/shopware/shopware/pull/14285 feat: implement cache control headers for administration responses by @jleifeld in https://github.com/shopware/shopware/pull/14222 fix: Improve error handling for plugin config loading by @BrocksiNet in https://github.com/shopware/shopware/pull/14269 fix: include transaction on recalculation by @En0Ma1259 in https://github.com/shopware/shopware/pull/14022 fix: cached pathIdList for active state in main navigation by @BrocksiNet in https://github.com/shopware/shopware/pull/14305 perf: Optimize ArrayFacade reset() and remove() methods by @xndrdev in https://github.com/shopware/shopware/pull/14316 fix: set requestedGroupId to null on change customer group flow action by @dithom in https://github.com/shopware/shopware/pull/14304 fix: Login by review log in form after filtering reviews by @DennisGarding in https://github.com/shopware/shopware/pull/14214 fix: #14332 Filter by id and product_id first in ProductCategoryDenormalizer by @runelaenen in https://github.com/shopware/shopware/pull/14333 fix: update rule updated_at on condition change by @vintagesucks in https://github.com/shopware/shopware/pull/14233 feat: upgrade axios dependency to v1.x with opt-in forward compatibility by @jleifeld in https://github.com/shopware/shopware/pull/14096 fix!: replace StateMachineEntity with StateMachineStateEntity in OrderTransactionCapture by @wexoag in https://github.com/shopware/shopware/pull/14342 fix: LineItemProductType constructor should accept null parameter by @vienthuong in https://github.com/shopware/shopware/pull/14369 fix: flyout navigation correctly closes on mouseleave by @bschulzebaek in https://github.com/shopware/shopware/pull/14351 feat: make find best variant feature as opt-in by @vienthuong in https://github.com/shopware/shopware/pull/13952 fix: visual bugs in after sales by @larskemper in https://github.com/shopware/shopware/pull/14293 fix: Critical dive canvas resize bug. by @ffrank913 in https://github.com/shopware/shopware/pull/14380 feat: add expand button and modal to model-viewer. by @ffrank913 in https://github.com/shopware/shopware/pull/14359 fix: Allow filter zero and negative value for stock by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14365 fix: allow bulk edit stock with negative value by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14371 fix: add watcher to sw-time-ago to update when props change by @communicode-sw-dev in https://github.com/shopware/shopware/pull/14357 fix: theme_runtime_config contains duplicate entries after theme install/uninstall by @h1k3r in https://github.com/shopware/shopware/pull/14318 feat(cookie-consent): Implement per-language cookie consent tracking by @BrocksiNet in https://github.com/shopware/shopware/pull/14264 fix: double slash in path for migration by @shyim in https://github.com/shopware/shopware/pull/14403 feat: use abstract class to make TranslationLoader decoratable by @dgrothaus-sw in https://github.com/shopware/shopware/pull/14398 fix(cookie-consent): remove primary notice, reverted that change by @BrocksiNet in https://github.com/shopware/shopware/pull/14426 fix: TypeError when _httpCache route attribute contains string by @h1k3r in https://github.com/shopware/shopware/pull/14416 feat: add support for ReverseInherited flag in attributed entities by @nickygerritsen in https://github.com/shopware/shopware/pull/14427 fix: Never load unfiltered many-to-many by @keulinho in https://github.com/shopware/shopware/pull/14409 fix: keep mail attachments across flow actions by @vintagesucks in https://github.com/shopware/shopware/pull/14411 fix: transitive dependency for phpseclib/phpseclib by @shyim in https://github.com/shopware/shopware/pull/14452 fix: Do not cache flash messages by @keulinho in https://github.com/shopware/shopware/pull/13983 fix: add missing foreign key name by @shyim in https://github.com/shopware/shopware/pull/14431 feat: Log cache invalidations by @umutdogan4291 in https://github.com/shopware/shopware/pull/14253 feat: only validate immutable fields if value has changed by @vienthuong in https://github.com/shopware/shopware/pull/14422 fix: attribute entities missing with auto configuration by @shyim in https://github.com/shopware/shopware/pull/14401 fix: Improve error handling and validation in plugin:create command by @umutdogan4291 in https://github.com/shopware/shopware/pull/14407 feat: Changed MaintenanceResolver to set current path for the user being redirected afterwards by @tinect in https://github.com/shopware/shopware/pull/14175 fix: Media manager improvements based on feedback by @MartinKrzykawski in https://github.com/shopware/shopware/pull/14273 fix: restore muted tests for NotificationController by @nfortier-shopware in https://github.com/shopware/shopware/pull/14339 fix: attribute fallback for RequestParamHelper by @keulinho in https://github.com/shopware/shopware/pull/14466 fix(SeoUrl): allow filtering for isCanonical or isDeleted by @BrocksiNet in https://github.com/shopware/shopware/pull/14437 fix: use click event in zoom-modal to fix ios safari click issue by @tobiasberge in https://github.com/shopware/shopware/pull/14352 feat: add upload playwright traces to s3 workflow by @frobel in https://github.com/shopware/shopware/pull/14420 fix: caches invalidation performance issues on property changes by @h1k3r in https://github.com/shopware/shopware/pull/14512 fix: helptext and label is shown twice in theme config by @gweiermann in https://github.com/shopware/shopware/pull/14004 New Contributors @crayssnlabs made their first contribution in https://github.com/shopware/shopware/pull/13521 @jenskueper made their first contribution in https://github.com/shopware/shopware/pull/14153 @JannisMCMXCV made their first contribution in https://github.com/shopware/shopware/pull/14163 @pt1602 made their first contribution in https://github.com/shopware/shopware/pull/14152 @bojanrajh made their first contribution in https://github.com/shopware/shopware/pull/13581 @flegarjur made their first contribution in https://github.com/shopware/shopware/pull/14236 @Alex--C made their first contribution in https://github.com/shopware/shopware/pull/13208 @davidtraum made their first contribution in https://github.com/shopware/shopware/pull/14227 @timtheisinger made their first contribution in https://github.com/shopware/shopware/pull/14216 @matthias-nijland made their first contribution in https://github.com/shopware/shopware/pull/14285 @xndrdev made their first contribution in https://github.com/shopware/shopware/pull/14316 @wexoag made their first contribution in https://github.com/shopware/shopware/pull/14342 @communicode-sw-dev made their first contribution in https://github.com/shopware/shopware/pull/14357 @umutdogan4291 made their first contribution in https://github.com/shopware/shopware/pull/14253 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.6.2...v6.7.7.0 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
System requirements tested on PHP 8.2, 8.4 and 8.5 tested on MySQL 8 and MariaDB 11 Features HTTP caching rework Support for HTTP caching policies was added. It allows defining HTTP cache behavior per area (storefront, store_api)and per route using configuration. The feature is experimental and can be enabled with the CACHE_REWORK feature flagtogether with other HTTP caching improvements. Selected Store API routes were marked as cacheable and now support HTTP caching with Cache-Control headers. Send email on customer password change A new flow has been introduced which sends a confirmation email whenever a customer changes their password. This helps to identify any suspicious account activity more quickly. API Video cover management /api/_action/media/{mediaId}/video-cover Added endpoint to assign or remove cover images for video media files. Requires media.editor ACL permission.Accepts coverMediaId (string or null) in request body.Cover image reference is stored in metaData.video.coverMediaId.When a cover image is deleted, all video references are automatically cleaned up via VideoCoverCleanupSubscriber. StoreAPI HTTP caching support HTTP caching support was added for the following Store API endpoints: /store-api/breadcrumb/{id} /store-api/category /store-api/category/{navigationId} /store-api/navigation/{activeId}/{rootId} /store-api/cms/{id} /store-api/product /store-api/seo-url /store-api/country /store-api/country-state/{countryId} /store-api/currency /store-api/language /store-api/salutation GET methods and HTTP caching support were added for the following Store API endpoints: /store-api/media /store-api/product/{productId}/cross-selling /store-api/product/{productId} /store-api/product/{productId}/find-variant /store-api/product-listing/{categoryId} /store-api/product/{productId}/reviews /store-api/search /store-api/search-suggest It's intended to work with the new HTTP caching policy system, and should increase performance for cacheable Store API requests. Store API: compressed criteria parameter support Criteria can be passed in the GET requests as single query parameter, encoded as JSON -> gzip -> base64url. This allowssending complex criteria without hitting URL length limits. Also, ProductListingCriteria fields are supported.Please note that this is a temporary workaround intended to be used until QUERY request method is standardized and supported.Check the ADR for more details. Document download /store-api/document/download/ The endpoint now selects the document file type based on the Accept header.When no Accept header is set or with */*, PDF will be returned. (PR #12944) Core PHP 8.5 support Shopware is now fully compatible with PHP 8.5. Deprecation of sw-states and sw-currency handling and new way to disable caching The sw-states and sw-currency handling is deprecated, which means by default the HTTP-Cache will also be active for logged in customers or when the cart is filled in the next major version.You can opt in to the new behaviour by activating either the v6.8.0.0 (all upcoming breaking changes), PERFORMANCE_TWEAKS (all performance related breaks) or CACHE_REWORK (only the HTTP-Cache related breaks) feature flag. Due to the rework of the contained rules in the cache hash, this becomes efficiently possible. The complete caching behaviour is now controlled by the sw-cache-hash cookie. You should rework you extensions to also work with enabled cache for logged in customers and when the cart is filled.To modify the default behaviour there are several extension points you can hook into, for a detailed explanation please take a look at the caching docs. The following classes and constants were deprecated as they will not be used anymore: \Shopware\Core\Framework\Adapter\Cache\Http\CacheStateValidator \Shopware\Core\Framework\Adapter\Cache\CacheStateSubscriber \Shopware\Core\Framework\Adapter\Cache\Http\HttpCacheKeyGenerator::SYSTEM_STATE_COOKIE \Shopware\Core\Framework\Adapter\Cache\Http\HttpCacheKeyGenerator::INVALIDATION_STATES_HEADER \Shopware\Core\Framework\Adapter\Cache\Http\HttpCacheKeyGenerator::CURRENCY_COOKIE \Shopware\Core\Framework\Adapter\Cache\CacheStateSubscriber::STATE_LOGGED_IN \Shopware\Core\Framework\Adapter\Cache\CacheStateSubscriber::STATE_CART_FILLED Additionally, the following configuration was deprecated: shopware.cache.invalidation.http_cache HTTP Caching Policies Added support for caching policies to define HTTP cache behavior via configuration. You can now configure named caching policies that define how the Cache-Control header is formed. These policies can be assigned per area (storefront, store_api) and per route. The header controls how caches (browser, reverse proxy, CDN, Symfony cache layer) should cache the response. The feature is enabled using the CACHE_REWORK feature flag. For more details see the caching policies documentation. Add recursive assign method to AssignArrayTrait A new method assignRecursive has been added to Shopware\Core\Framework\Struct\AssignArrayTrait. Along with it, the new Shopware\Core\Framework\Struct\AssignArrayInterface has been introduced.To make full use of assignRecursive, every class using AssignArrayTrait must also implement the new AssignArrayInterface.The assignRecursive method enables deeply nested, JSON-serialized data structures - for example, a fully serialized ProductEntity including associations such as properties - to be converted back into a fully populated ProductEntity instance, including all nested Struct and Collection objects. Note: assignRecursive uses reflection and creates nested struct instances, so it is noticeably slower than the classic shallow assign and is intended for import/export and (re-)hydration scenarios rather than tight, performance-critical loops. Performance improvements for generating category SEO-Urls We don't synchronously fetch and generate the SEO-Urls for all child categories anymore.Instead, we rely on the CategoryIndexer to trigger the re-index of children asynchronously.This prevents cases where SEO-Urls were generated multiple times for the same category, and thus it considerably improves the performance of category indexing. Administration Loading indicator for whole page When the initial page takes more than two seconds to load, a loading indicator appears instead of a blank page. Search filter for settings module In the settings module, there is now a search bar in the top right. It can be used to filter settings based on a search term to quickly find what you need. Storefront The email validation supports IDN email addresses The domain part of email addresses may now contain internationalized domain names (IDN). The Storefront validation will properly check these domains. The form validation in PHP may still deny IDN emails addresses, but the default Shopware forms already allow them. App System App Script caching control As before, app developers can control caching via in app scripts using syntax {% do response.cache.<directive> %}, which map to ResponseCacheConfiguration methods.Next changes were made to ResponseCacheConfiguration methods: added sharedMaxAge(seconds) - set shared (reverse proxy/CDN) cache TTL, equivalent to s-maxage cache control directive. added clientMaxAge(seconds) - set client-side (browser) cache TTL, equivalent to max-age cache control directive. Has effect only if CACHE_REWORK feature flag is enabled. deprecated maxAge(seconds) - use sharedMaxAge() instead. Admins can override policies per script using route_policies with route#hook pattern in configuration (see HTTP caching policies description in the Core section). Hosting & Configuration Control language analyzer usage in Elasticsearch search queries A new environment variable SHOPWARE_ES_USE_LANGUAGE_ANALYZER has been added to control whether language-specific analyzers (like sw_english_analyzer, sw_german_analyzer) are used for search queries. By default (SHOPWARE_ES_USE_LANGUAGE_ANALYZER=1), search queries use the same analyzer as the indexed field, which includes language-specific features like stopword filtering and stemming. This provides broader, more fuzzy search results. When set to 0 (SHOPWARE_ES_USE_LANGUAGE_ANALYZER=0), search queries use sw_whitespace_analyzer instead, providing less fuzzy search results with fewer matches. Note: This setting only affects search queries, not indexing. Indexed data continues to use language analyzers for proper tokenization. Possibility to disable extensions when setting up staging mode A new config option shopware.staging.extensions.disable was added to allow configuring extensions that should be automatically disabled when the staging mode gets activated via system:setup:staging command. shopware: staging: extensions: disable: ["TheExtensionName", "AnotherExtensionName"] Deprecated HTTP cache configuration SHOPWARE_HTTP_DEFAULT_TTL environment variable. shopware.http.cache.default_ttl parameter. shopware.http_cache.stale_while_revalidate parameter. shopware.http_cache.stale_if_error parameter. Deprecated parameters will have no effect when CACHE_REWORK feature flag is enabled, and will be removed in 6.8.0.0. Full list of changes fix: missing block address_item by @mstegmeyer in https://github.com/shopware/shopware/pull/13640 fix: ManyToMany association of inherited associations by @keulinho in https://github.com/shopware/shopware/pull/13636 fix(snippets): Adjust snippets by @marcelbrode in https://github.com/shopware/shopware/pull/13652 fix: timezone field date range rule by @larskemper in https://github.com/shopware/shopware/pull/13517 feat: Disable configured extensions in the staging mode by @aragon999 in https://github.com/shopware/shopware/pull/12378 feat: Enhance max limit handling in product listing processor by @lx-wnk in https://github.com/shopware/shopware/pull/13399 fix: change native type of usageKey in PromotionDiscountEntity by @schneider-felix in https://github.com/shopware/shopware/pull/13633 fix(media-upload): Fix drag&drop reordering with more than 5 items by @marcelbrode in https://github.com/shopware/shopware/pull/13673 fix: replaced blocking lock in the CacheClearer with throwing exception by @h1k3r in https://github.com/shopware/shopware/pull/13115 fix: reindex product when conflicted mapper introduced by @vienthuong in https://github.com/shopware/shopware/pull/13454 feat(product-analytics): Add sw-settings-usage-data-consent-modal by @SebastianFranze in https://github.com/shopware/shopware/pull/13524 fix: Search keyword input wrong in admin if more keywords added by @nguyenquocdaile in https://github.com/shopware/shopware/pull/13698 fix(storefront): npm audit issue with glob by @patzick in https://github.com/shopware/shopware/pull/13706 refactor: Improve admin performance by @jleifeld in https://github.com/shopware/shopware/pull/13600 feat: add select by row click data-grid option by @larskemper in https://github.com/shopware/shopware/pull/13587 fix: resolve double HTML encoding issue in product descriptions by @BrocksiNet in https://github.com/shopware/shopware/pull/13628 feat: Allow IDN for email addresses by @dgrothaus-sw in https://github.com/shopware/shopware/pull/13615 feat(product-analytics): Hide usage data consent banner if product an… by @SebastianFranze in https://github.com/shopware/shopware/pull/13677 fix: mt-empty-state alignment issues by @alastair-simon in https://github.com/shopware/shopware/pull/13703 fix: Fix product slider with variants in closeout by @lukasrump in https://github.com/shopware/shopware/pull/13653 feat: add warning to order state change flow action by @larskemper in https://github.com/shopware/shopware/pull/13728 fix(security): address axios and node-forge vulnerabilities by @patzick in https://github.com/shopware/shopware/pull/13734 fix: Make doctrine/dbal version narrower by @mitelg in https://github.com/shopware/shopware/pull/13753 fix: Role detail page gets stuck in loading state when sw-verify-user-modal is closed by @SebastianFranze in https://github.com/shopware/shopware/pull/13717 feat: Add indexer queuer for plugin migrations by @mdanierov in https://github.com/shopware/shopware/pull/13646 fix: add missing alt attribute to order mail product images by @vintagesucks in https://github.com/shopware/shopware/pull/13768 fix: custom price fields in rules by @vintagesucks in https://github.com/shopware/shopware/pull/13744 fix: Update ATS for new web installer button name by @dgrothaus-sw in https://github.com/shopware/shopware/pull/13773 feat: elasticsearch tunning by @vienthuong in https://github.com/shopware/shopware/pull/12452 fix: add missing stateMachineState association by @damian-pastorini in https://github.com/shopware/shopware/pull/13667 fix: theme manager tabs not shown in 6.7 by @tobiasberge in https://github.com/shopware/shopware/pull/13767 feat: add action button file type filtering. by @ffrank913 in https://github.com/shopware/shopware/pull/13685 refactor(product-analytics): Create subcomponents out of sw-settings-… by @SebastianFranze in https://github.com/shopware/shopware/pull/13735 fix: require cache hash when cache cookies are set by @keulinho in https://github.com/shopware/shopware/pull/13704 fix: typo in date range rule timezone field css class by @vintagesucks in https://github.com/shopware/shopware/pull/13772 fix: alternative shipping address salutation by @cyl3x in https://github.com/shopware/shopware/pull/13731 fix: improve RedisInvalidatorStorage by @BrocksiNet in https://github.com/shopware/shopware/pull/13669 fix: domain assignment of StorefrontControllers by @mstegmeyer in https://github.com/shopware/shopware/pull/13748 feat: add BeforeSalesChannelContextAssembledEvent by @mstegmeyer in https://github.com/shopware/shopware/pull/13795 fix: date range rule json serialization format by @vintagesucks in https://github.com/shopware/shopware/pull/13791 feat: add delete cart endpoint for storefront by @shyim in https://github.com/shopware/shopware/pull/13701 fix: address empty state by @FlorianKe in https://github.com/shopware/shopware/pull/13676 fix: add missing transactions state machine state association by @damian-pastorini in https://github.com/shopware/shopware/pull/13740 fix: only api aware fields should be selectable in import export prof… by @DennisGarding in https://github.com/shopware/shopware/pull/13660 feat: add new mt-snackbar for media upload status displays by @bschulzebaek in https://github.com/shopware/shopware/pull/13689 feat: Add PHP 8.5 support by @pweyck in https://github.com/shopware/shopware/pull/12709 feat(product-analytics): Hide store data consent if user has no permit by @SebastianFranze in https://github.com/shopware/shopware/pull/13693 feat: Allow node 25 by @aragon999 in https://github.com/shopware/shopware/pull/13665 fix: google product comparison template by @lacknere in https://github.com/shopware/shopware/pull/13619 feat: center empty states in admin by @alastair-simon in https://github.com/shopware/shopware/pull/13836 fix: MariaDB syntax in DELETE statement in ProductSubscriber by @hanneswernery in https://github.com/shopware/shopware/pull/13809 fix: Ensure consistent order of methods and properties in generated documentation by @mitelg in https://github.com/shopware/shopware/pull/13879 feat: apply ngram search for long term by @vienthuong in https://github.com/shopware/shopware/pull/13874 fix: Reset calculated LineItemGroupBuilder results by @En0Ma1259 in https://github.com/shopware/shopware/pull/13865 fix: DownloadResponseGenerator::getResponse in case of using external storage by @flkasper in https://github.com/shopware/shopware/pull/13695 fix: Fix EntityResolverContext code completion for cms extensions by @MartinKrzykawski in https://github.com/shopware/shopware/pull/13774 fix: unskip skipped tests by @frobel in https://github.com/shopware/shopware/pull/13687 fix: Cms element enrichment by @nexxome in https://github.com/shopware/shopware/pull/13871 fix: preserve PDO driverOptions from DSN parameters by @blakesaunders in https://github.com/shopware/shopware/pull/13623 fix: Remove usage of deprecated PDO constants by @mitelg in https://github.com/shopware/shopware/pull/13870 feat: add warning if Dynamic Product Group indexing disable in product stream detail page by @nguyenquocdaile in https://github.com/shopware/shopware/pull/13626 refactor: convert images to webp by @gweiermann in https://github.com/shopware/shopware/pull/13837 fix: Display divergent delivery address in invoice by @DennisGarding in https://github.com/shopware/shopware/pull/13862 fix: limit admin notifications (worker side) by @nfortier-shopware in https://github.com/shopware/shopware/pull/13813 fix(snippets): Adjust quotations + global.default use by @marcelbrode in https://github.com/shopware/shopware/pull/13919 perf: don't fetch child categories in seo url updater by @keulinho in https://github.com/shopware/shopware/pull/13934 fix: Thumbnail "sizes" on PDP can be too small by @Mugentoki in https://github.com/shopware/shopware/pull/13578 fix(sales-channel-products): Exchange sw-empty-state with mt-empty-state by @marcelbrode in https://github.com/shopware/shopware/pull/13938 fix: variant inheritance for release date field by @nguyenquocdaile in https://github.com/shopware/shopware/pull/13944 fix: Do not use newest PHP features in TestBootstrapper by @mitelg in https://github.com/shopware/shopware/pull/13948 fix: flag major changed by @En0Ma1259 in https://github.com/shopware/shopware/pull/13904 fix: Elasticsearch Admin search does not find search terms with more … by @tamvt in https://github.com/shopware/shopware/pull/13819 fix: multiple change rounding error in the sales unit by @vienthuong in https://github.com/shopware/shopware/pull/13932 feat: recursive assign by @En0Ma1259 in https://github.com/shopware/shopware/pull/13551 fix: add filetype param to store api document download by @ennasus4sun in https://github.com/shopware/shopware/pull/12944 fix: convert array to collection by @En0Ma1259 in https://github.com/shopware/shopware/pull/13964 fix(sw-snippet-field): Add input field spacing for icon to not overlap with content by @marcelbrode in https://github.com/shopware/shopware/pull/13935 feat(product-analytics): Add new consent card on usage data page by @SebastianFranze in https://github.com/shopware/shopware/pull/13868 feat(product-analytics): Add user data consent to profile page by @SebastianFranze in https://github.com/shopware/shopware/pull/13863 fix: scroll to checkbox if validation failed by @FlorianKe in https://github.com/shopware/shopware/pull/13341 feat: enable store api routes caching by @h1k3r in https://github.com/shopware/shopware/pull/12370 fix: add asset-css-postprocess-plugin to rewrite asset URLs in CSS by @jleifeld in https://github.com/shopware/shopware/pull/13994 fix: product exports may get stuck permanently by @nguyenytran in https://github.com/shopware/shopware/pull/12977 feat: Add cover image for videos by @alexdumea in https://github.com/shopware/shopware/pull/13718 fix(snippets): Fix honorific prefixes by @marcelbrode in https://github.com/shopware/shopware/pull/13990 fix: add a11y document support to order confirmation emails by @vintagesucks in https://github.com/shopware/shopware/pull/13869 fix: document template inheritance for duplicated themes and headless by @vintagesucks in https://github.com/shopware/shopware/pull/13847 refactor: improve admin loading performance by @jleifeld in https://github.com/shopware/shopware/pull/13798 feat: Add support for compressed _criteria GET parameter by @h1k3r in https://github.com/shopware/shopware/pull/12476 feat: add get method support to non mutating storeapi endpoints by @h1k3r in https://github.com/shopware/shopware/pull/12633 feat: add support of ProductListingCriteria to compressed criteria parameter by @h1k3r in https://github.com/shopware/shopware/pull/13643 fix: infinite loading spinner on quantity change by @FlorianKe in https://github.com/shopware/shopware/pull/13930 fix(eslint): Allow nested feature declarations by @SebastianFranze in https://github.com/shopware/shopware/pull/13984 feat: send email after password change by @FlorianKe in https://github.com/shopware/shopware/pull/13553 feat: Allow disable search language analyzer via env variable by @tamvt in https://github.com/shopware/shopware/pull/13940 fix: adding missing slot setting services by @quando1910 in https://github.com/shopware/shopware/pull/14035 feat: hide tos checkbox optional by @FlorianKe in https://github.com/shopware/shopware/pull/13823 fix: allow selecting read-only properties in import/export profiles by @vintagesucks in https://github.com/shopware/shopware/pull/14069 feat: upgrade dive version. by @ffrank913 in https://github.com/shopware/shopware/pull/14088 feat: add search bar to settings in admin by @gweiermann in https://github.com/shopware/shopware/pull/13927 fix: fix mt-floating-ui visual bugs with major flag by @jleifeld in https://github.com/shopware/shopware/pull/13460 fix: update tests with ChangeStorefrontCurrency() to accommodate 6.6 without ACCESSIBILITY_TWEAKS flag by @ravenokko in https://github.com/shopware/shopware/pull/14078 fix: Fixed media upload in the cms image slider by @MartinKrzykawski in https://github.com/shopware/shopware/pull/14025 fix: allow CalculatedPrice fields in order exports by @vintagesucks in https://github.com/shopware/shopware/pull/14081 fix: migrate the correct delivery to primary_order_delivery_id by @schneider-felix in https://github.com/shopware/shopware/pull/14059 fix: products with no purchase price by @DennisGarding in https://github.com/shopware/shopware/pull/14107 feat: remove light intensity setting. by @ffrank913 in https://github.com/shopware/shopware/pull/14111 feat: add loading screen to admin by @gweiermann in https://github.com/shopware/shopware/pull/13902 fix: list bullet points and numbering invisible in wysiwyg editor by @nguyenquocdaile in https://github.com/shopware/shopware/pull/14090 refactor: confirm term snippet by @FlorianKe in https://github.com/shopware/shopware/pull/14117 fix: remove superfluous entity count validation in breadcrumb builder by @lacknere in https://github.com/shopware/shopware/pull/14093 fix: Use correct collection for state machine state translation entities by @nickygerritsen in https://github.com/shopware/shopware/pull/14066 fix: accessable shipping method label in offcanvas by @cyl3x in https://github.com/shopware/shopware/pull/14094 fix: remove hard-code path from vite config (backport: 6.7.6.x) by @shopware-octo-sts-app[bot] in https://github.com/shopware/shopware/pull/14210 New Contributors @mdanierov made their first contribution in https://github.com/shopware/shopware/pull/13646 @blakesaunders made their first contribution in https://github.com/shopware/shopware/pull/13623 @gweiermann made their first contribution in https://github.com/shopware/shopware/pull/13837 @Mugentoki made their first contribution in https://github.com/shopware/shopware/pull/13578 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.5.1...v6.7.6.0 Get in touch Discuss about decisions, bugs you might stumble upon, etc in our community discord. See you there ;)
Features Tax Calculation Logic The tax-free detection logic if the cart changed to handle B2B and B2C customers separately.Previously, enabling "Tax-free for B2C" in the country settings also affected B2B customers.Now, tax rules are applied correctly based on the customer type. Robots.txt configuration The rendering of the robots.txt file has been changed to support custom User-agent blocks and the full robots.txt standard.For a detailed guide on how to use the new features and extend the functionality, please refer to our documentation guide Extend robots.txt configuration. Scheduled Task for cleaning up corrupted media entries A new scheduled task media.cleanup_corrupted_media has been introduced.It detects and removes corrupted media records, such as entries created by interrupted or failed file uploads that have no corresponding file on the filesystem. API Add the possibility to specify indexer in context When you want to specify which indexer should run, you can add the EntityIndexerRegistry::EXTENSION_INDEXER_ONLY extension to the context as follows: $context->addExtension(EntityIndexerRegistry::EXTENSION_INDEXER_ONLY, new ArrayEntity([ ProductIndexer::STOCK_UPDATER // Only execute STOCK_UPDATER. ]), ); When making a call to the Sync API, specify the required indexer in the header: curl -X POST "http://localhost:8000/api/_action/sync" \ -H "indexing-only: product.stock" \ #... Core Improved Store API OpenAPI documentation with field descriptions The OpenAPI schema generator for Store API endpoints now includes descriptions for entity fields, making it easier for developers to understand the available fields and their purposes. Additionally, available associations for each entity are now automatically listed in the OpenAPI operation descriptions, showing developers which relationships can be loaded. To add descriptions to fields in your custom entity definitions, use the setDescription() method: (new ManyToOneAssociationField('group', 'customer_group_id', CustomerGroupDefinition::class, 'id', false)) ->addFlags(new ApiAware()) ->setDescription('Customer group determining pricing and permissions') Allow overwriting Doctrine wrapperClass on Primary/Replica setups It's now possible to overwrite the wrapperClass of the Doctrine\DBAL\Connection instance.This is useful if you want to use e.g. Doctrine MySQL Comeback to automatically reconnect if the MySQL connection is lost. composer require facile-it/doctrine-mysql-come-back ^3.0 Then specify the wrapperClass in the .env file: DATABASE_URL=mysql://root:root@database/shopware?driverOptions[x_reconnect_attempts]=5&wrapperClass=Facile\DoctrineMySQLComeBack\Doctrine\DBAL\Connection Robots.txt parsing A new Shopware\Storefront\Page\Robots\Parser\RobotsDirectiveParser has been introduced to parse robots.txt files. This new service provides improved error tracking and adds new events for better extensibility.As part of this change, the constructor for Shopware\Storefront\Page\Robots\Struct\DomainRuleStruct is now deprecated for string parameters. You should use the new parser to create a ParsedRobots object to pass to the constructor instead. new JWT helper Added new Shopware\Core\Framework\JWT\SalesChannel\JWTGenerator and Shopware\Core\Framework\JWT\Struct\JWTStruct to build general structure for encoding and decoding JWT. Added PHP 8.5 polyfill The new dependency symfony/polyfill-php85 was added, to make it possible to already use PHP 8.5 features, like array_first and array_last Removal of old changelog handling As we changed how we process and generate changelogs the "old" changelog files are no longer needed.Therefore, we removed all the internal code used to generate and validate them.The whole Shopware\Core\Framework\Changelog namespace was removed.The code is not needed anymore, you should adjust the RELEASE_INFO and UPGRADE files manually instead. Deprecated the \Shopware\Core\Framework\Test\TestCaseHelper\ReflectionHelper Refection has significantly improved in particular since PHP 8.1, therefore the Shopware\Core\Framework\Test\TestCaseHelper\ReflectionHelper was deprecated and will be removed in the next major release.See below for the explicit replacements: - $property = ReflectionHelper->getProperty(MyClass::class, 'myProperty'); + $property = \ReflectionProperty(MyClass::class, 'myProperty'); - $method = ReflectionHelper->getMethod(MyClass::class, 'myMethod'); + $method = \ReflectionMethod(MyClass::class, 'myMethod'); - $propertyValue = ReflectionHelper->getPropertyValue($object, 'myProperty'); + $propertyValue = \ReflectionProperty(MyClass::class, 'myProperty')->getValue($object); - $fileName = ReflectionHelper->getFileName(MyClass::class); + $fileName = \ReflectionClass(MyClass::class)->getFileName(); New constraint to check for existing routes The new constraint \Shopware\Core\Framework\Routing\Validation\Constraint\RouteNotBlocked checks if a route is available or already taken by another part of the application. Multiple payment finalize calls allowed With the feature flag REPEATED_PAYMENT_FINALIZE, the /payment-finalize endpoint can now be called multiple times using the same payment token.This behaviour will be the default in the next major release.If the token has already been consumed, the user will be redirected directly to the finish page instead of triggering a PaymentException.To support this behavior, a new consumed flag has been added to the payment token struct, which indicates if the token has already been processed.Payment tokens are no longer deleted immediately after use. A new scheduled task automatically removes expired tokens to keep the payment_token table clean. Added sanitized HTML tag support for app snippets Added sanitized HTML tag support for app snippets. App developers can now use HTML tags for better formatting within their snippets. The sanitizing uses the basic set of allowed HTML tags from the html_sanitizer config, ensuring that security-related tags such as script are automatically removed. App custom entity association handling The behaviour creating associations with custom entities in apps changed.Now an exception will be thrown if the referenced table does not exist, instead of creating a reference to the non-existing table. To allow the schema updater to skip creating associations if the referenced table does not exist, improving flexibility and robustness during schema updates, a new optional attribute ignore-missing-reference was added to association types (one-to-one, one-to-many, many-to-one, many-to-many). Example usage: <one-to-many name="custom_entity" reference="quote_comment" ignore-missing-reference="true" store-api-aware="false" on-delete="set-null" /> Translatable product manufacturer links The link property of the product manufacturer entity is now translatable. Administration URL restrictions for product and category SEO URLs When creating a SEO URL for a product or category, the URL is now checked for availability. Before it was possible to override existing URLs like account or maintenance with SEO URLs. Existing URLs are now blocked to be used as SEO URLs. Refactor filters for the newsletter recipients list. We now use the <mt-select> instead administration/src/module/sw-newsletter-recipient/component/sw-newsletter-recipient-filter-switch.Because of that, we deprecate these twig blocks: sw_newsletter_recipient_list_sidebar_filter_status_not_set sw_newsletter_recipient_list_sidebar_filter_status_direct sw_newsletter_recipient_list_sidebar_filter_status_opt_in sw_newsletter_recipient_list_sidebar_filter_status_opt_out These blocks will be removed in v6.8.0.0 without replacement. Use the parent blocks instead.We also deprecateadministration/src/module/sw-newsletter-recipient/component/sw-newsletter-recipient-filter-switch which will be removed with v6.8.0.0 andadministration/src/module/sw-newsletter-recipient/page/sw-newsletter-recipient-list/index.js which will be private in v6.8.0.0. Storefront Language selector twig blocks New extensible Twig blocks layout_header_actions_language_widget_content_inner and layout_header_actions_languages_widget_form_items_flag_inner have been added to the language selector to allow custom flag implementations. context.token is no longer available in twig rendering context The context.token variable is no longer available in twig rendering context to prevent potential security vulnerabilities. If you need to access the token, consider using alternative methods that do not expose it in the rendered HTML.Usually inside the Twig storefront there is no need to handle the context token manually, as it is handled automatically via the session handling in the Storefront. Added specific add-product-by-number template The page_checkout_cart_add_product* blocks inside @Storefront/storefront/page/checkout/cart/index.html.twig are deprecated and a new template @Storefront/storefront/component/checkout/add-product-by-number.html.twig was added. Instead of overwriting any of the page_checkout_cart_add_product* blocks inside @Storefront/storefront/page/checkout/cart/index.html.twig,extend the new @Storefront/storefront/component/checkout/add-product-by-number.html.twig file using the same blocks. Change: {% sw_extends '@Storefront/storefront/page/checkout/_page.html.twig' %} {% block page_checkout_cart_add_product %} {# Your content #} {% endblock %} to: {% sw_extends '@Storefront/storefront/component/checkout/add-product-by-number.html.twig' %} {% block page_checkout_cart_add_product %} {# Your content #} {% endblock %} Hosting & Configuration Sales Channel Replace URL Command A new sales-channel:replace:url command was added to replace the url of a sales channel. bin/console sales-channel:replace:url <previous_url> <new_url> Changed CACHE_CONTEXT_HASH_RULES_OPTIMIZATION feature flag to CACHE_REWORK The CACHE_CONTEXT_HASH_RULES_OPTIMIZATION feature flag was renamed to CACHE_REWORK to better reflect its purpose, as more changes will be toggled by that flag, to enable the new cache behaviour. To enable the new cache behaviour, set the CACHE_REWORK feature flag to 1 in your .env file:Before: CACHE_CONTEXT_HASH_RULES_OPTIMIZATION=1 Now: CACHE_REWORK=1 To not break plugins that might check for the old flag unnecessarily, the old flag will be kept until the next major release, however, the flag has no effect anymore. Staging configuration The disabled delivery check in MailSender now checks for the Staging Mode core.staging, the shopware.staging.mailing.disable_delivery configuration and the config setting shopware.mailing.disable_delivery.Regardless of mode the config setting shopware.mailing.disable_delivery always allows disabling mail delivery. Critical fixes Product weight precision The database column product.weight now uses DECIMAL(15,6) instead of DECIMAL(10,3) to keep gram-based measurements accurate when values are stored in kilograms. Full list of changes refactor: Deprecate the Shopware\Core\Framework\Test\TestCaseHelper\ReflectionHelper by @aragon999 in https://github.com/shopware/shopware/pull/13063 fix: Remove unnecessary PHPStan Symfony command feature by @mitelg in https://github.com/shopware/shopware/pull/13192 fix(theme): ensure theme config directory is created by @BrocksiNet in https://github.com/shopware/shopware/pull/13181 fix: respect errorRoute parameter in captcha failure handler by @BrocksiNet in https://github.com/shopware/shopware/pull/13158 fix: improve select result list sometimes not loading the next page when scrolling to the bottom by @janpetto in https://github.com/shopware/shopware/pull/13037 fix: search in import/export profile mapping modal by @vintagesucks in https://github.com/shopware/shopware/pull/13069 feat: remove datepicker wrapper by @alastair-simon in https://github.com/shopware/shopware/pull/12948 refactor: cleanup after-sales styles by @larskemper in https://github.com/shopware/shopware/pull/12924 fix: #12525 improve url assembling in listing.plugin by @ROBJkE in https://github.com/shopware/shopware/pull/12553 fix: tax free config by @FlorianKe in https://github.com/shopware/shopware/pull/12820 fix: Apply default indentation for composer.json by @mitelg in https://github.com/shopware/shopware/pull/13213 fix: update dive with depth buffer fix. by @ffrank913 in https://github.com/shopware/shopware/pull/13209 fix: Improve PHPStan bootstrapping by @mitelg in https://github.com/shopware/shopware/pull/13202 fix: Add check for supported types by @alexdumea in https://github.com/shopware/shopware/pull/13108 feat: Update PHPStan and its plugins (10-2025) by @mitelg in https://github.com/shopware/shopware/pull/12971 feat: Apply new screen design by @dgrothaus-sw in https://github.com/shopware/shopware/pull/13191 fix: Fix document generation error messages by @lacknere in https://github.com/shopware/shopware/pull/13214 feat(product-analytics): Don't send multiple page change events when query parameters change by @SebastianFranze in https://github.com/shopware/shopware/pull/13203 fix: invalid wording in sw-order-general-info component by @gecolay in https://github.com/shopware/shopware/pull/13239 fix: List/price percentage ratio dynamic product groups not working by @nguyenytran in https://github.com/shopware/shopware/pull/13012 feat: Add save media modal by @quynhnguyen68 in https://github.com/shopware/shopware/pull/12146 fix: Increase precision of product weights by @nguyenytran in https://github.com/shopware/shopware/pull/13245 refactor(tests): simplify cache clearing, retry for needed cookies by @BrocksiNet in https://github.com/shopware/shopware/pull/13174 fix: mark product number as required field by @wannevancamp in https://github.com/shopware/shopware/pull/13269 test: admin sales channel visual test by @ocavli in https://github.com/shopware/shopware/pull/13252 test: update acceptace test readme by @ocavli in https://github.com/shopware/shopware/pull/13264 fix: Remove wrong assert assumption and optimize array types by @mitelg in https://github.com/shopware/shopware/pull/13253 style: adjust sw-grid styles to use meteor tokens by @larskemper in https://github.com/shopware/shopware/pull/13276 fix: clarify demo data command error message by @tripleelectric in https://github.com/shopware/shopware/pull/13221 fix: Special Characters "/" in Search Not Working Even When Added as … by @tamvt in https://github.com/shopware/shopware/pull/13188 fix: Add addtional information to probably breaking change by @mitelg in https://github.com/shopware/shopware/pull/13288 feat: Add generate blocks command to composer.json by @M-arcus in https://github.com/shopware/shopware/pull/13281 refactor: Various PHP code improvements by @aragon999 in https://github.com/shopware/shopware/pull/13286 feat: cms content override indicator by @bschulzebaek in https://github.com/shopware/shopware/pull/12688 feat: allow transaction finalize called multiple times by @FlorianKe in https://github.com/shopware/shopware/pull/13014 feat: Display username in the import/export table by @M-arcus in https://github.com/shopware/shopware/pull/13279 Update cms-element-product-description-reviews.html.twig by @cramytech in https://github.com/shopware/shopware/pull/6487 feat: acceptance test for product analytics by @frobel in https://github.com/shopware/shopware/pull/12992 fix: Cheapest price of variant product applies across sales channels by @tamvt in https://github.com/shopware/shopware/pull/13206 fix: Reset canonical product id on product clone through the administration by @M-arcus in https://github.com/shopware/shopware/pull/13292 feat: Sort sales channel selection options by name in administration by @M-arcus in https://github.com/shopware/shopware/pull/13293 fix: Use specific staging config check for mail delivery by @M-arcus in https://github.com/shopware/shopware/pull/13280 style: convert first run wizard to meteor tokens by @larskemper in https://github.com/shopware/shopware/pull/13291 fix: improve missing entity error message in update-only imports by @vintagesucks in https://github.com/shopware/shopware/pull/13297 fix: increase precision of kg unit to match database schema by @vienthuong in https://github.com/shopware/shopware/pull/13314 feat: add a unique user ID to product analytics by @adrianles in https://github.com/shopware/shopware/pull/12913 build: bump the 12.0.0 ats version by @hienha-sw in https://github.com/shopware/shopware/pull/13243 fix: Always overwrite currency id based on header by @keulinho in https://github.com/shopware/shopware/pull/13304 fix: positioning of partial review stars by @vintagesucks in https://github.com/shopware/shopware/pull/13325 feat: Add new console command to replace the URL of a sales channel by @M-arcus in https://github.com/shopware/shopware/pull/13282 feat: custom fingerprint compare by @AydinHassan in https://github.com/shopware/shopware/pull/13271 feat: Empty Cart product add by @seggewiss in https://github.com/shopware/shopware/pull/13300 build: bump ats version to 12.0.1 by @hienha-sw in https://github.com/shopware/shopware/pull/13344 build: bump ats version to 12.0.1 by @hienha-sw in https://github.com/shopware/shopware/pull/13342 fix: deprecate recurring data struct properties by @cyl3x in https://github.com/shopware/shopware/pull/13326 fix: change sidebars min width by @dfrancos-hub in https://github.com/shopware/shopware/pull/13301 fix: fix measurement system migration test by @vienthuong in https://github.com/shopware/shopware/pull/13375 feat: Allow selecting pack unit for essential characteristics of products by @nguyenquocdaile in https://github.com/shopware/shopware/pull/13382 fix: guest checkout change default address by @FlorianKe in https://github.com/shopware/shopware/pull/13345 fix: review rating stars voiceover by @jozsefdamokos in https://github.com/shopware/shopware/pull/13390 fix: Modify import statements and use raw suffix by @alexdumea in https://github.com/shopware/shopware/pull/13317 feat: Add v6.7.30 and v6.7.4.0 releases by @kermie in https://github.com/shopware/shopware/pull/13354 fix: storefront missing system services (Storefront Analytics / Google Analytics) by @gecolay in https://github.com/shopware/shopware/pull/13401 fix: releases.json was not a valid JSON by @tinect in https://github.com/shopware/shopware/pull/13405 fix: Introduce generic ID structure type to reduce ID checks by @mitelg in https://github.com/shopware/shopware/pull/13334 fix: import export profile search by technical name by @jozsefdamokos in https://github.com/shopware/shopware/pull/13383 feat: convert to Meteor components in dynamic field renderer by @jleifeld in https://github.com/shopware/shopware/pull/13185 refactor: replace imitation token with JWT by @mstegmeyer in https://github.com/shopware/shopware/pull/12828 fix(admin): settings storefront icon size by @FlorianKe in https://github.com/shopware/shopware/pull/13400 feat: remove flag icons by @BrocksiNet in https://github.com/shopware/shopware/pull/13313 fix: Storefront route usage in Core by @mstegmeyer in https://github.com/shopware/shopware/pull/13379 test: update currency-price assertion with formatPrice() function by @ravenokko in https://github.com/shopware/shopware/pull/13356 fix: correct favicon path for administration module by @jleifeld in https://github.com/shopware/shopware/pull/13392 test: unit test ContextGatewayControllerTest is flaky by @nfortier-shopware in https://github.com/shopware/shopware/pull/13442 fix: error messages when removing cms sections by @taltholtmann in https://github.com/shopware/shopware/pull/13428 fix: Allow html tags in app snippets by @MartinKrzykawski in https://github.com/shopware/shopware/pull/13436 fix: guest behavior for address edit by @mstegmeyer in https://github.com/shopware/shopware/pull/13395 fix: blocked shipping method not switched by @FlorianKe in https://github.com/shopware/shopware/pull/13435 feat: Allow specific indexers in EntityIndexerRegistry by @NielDuysters in https://github.com/shopware/shopware/pull/8929 fix: app lifecycle with entity association by @rittou in https://github.com/shopware/shopware/pull/13357 feat: enable Meteor text editor with feature flag in administration by @jleifeld in https://github.com/shopware/shopware/pull/13102 fix: fix wrong display type of svgs by @jleifeld in https://github.com/shopware/shopware/pull/13471 fix: Fix theme manager detail page in 6.8 by @lukasrump in https://github.com/shopware/shopware/pull/13316 feat: robots directive, full robots tag support by @BrocksiNet in https://github.com/shopware/shopware/pull/12998 fix: Remove superfluous service injections by @aragon999 in https://github.com/shopware/shopware/pull/13463 fix: center empty state icon in cross selling page by @nguyenquocdaile in https://github.com/shopware/shopware/pull/13468 fix: Cleanup release info file by @mitelg in https://github.com/shopware/shopware/pull/13437 test: add RuleBuilderCreate test by @GitEvil in https://github.com/shopware/shopware/pull/6803 fix: german mail snippets by @lacknere in https://github.com/shopware/shopware/pull/13480 fix: dont expose context token in twig by @keulinho in https://github.com/shopware/shopware/pull/13272 fix: bump ats to 12.1.3 by @yusufttur in https://github.com/shopware/shopware/pull/13506 fix: bump ats to 12.1.4 by @yusufttur in https://github.com/shopware/shopware/pull/13538 fix: remove deprecated method ignore from GoogleStorageFactory by @shyim in https://github.com/shopware/shopware/pull/13544 fix: Trim spaces from promotion codes by @aragon999 in https://github.com/shopware/shopware/pull/13508 fix: Add missing tooltip on product images in category listing by @diyaa97daoud in https://github.com/shopware/shopware/pull/13425 feat: add a service to check for reserved router URLs by @dgrothaus-sw in https://github.com/shopware/shopware/pull/13309 fix: bump ats to 12.1.5 by @vanpham-sw in https://github.com/shopware/shopware/pull/13557 fix: rule area updater updates many to many associations by @keulinho in https://github.com/shopware/shopware/pull/13533 fix: aria-controls attribute for shipping cost collapse by @quisse in https://github.com/shopware/shopware/pull/13547 fix: Add mt-popover-deprecated wrapper to ignored path by @alexdumea in https://github.com/shopware/shopware/pull/13477 fix: FormFieldToggle plugin breaking with value="false" by @damian-pastorini in https://github.com/shopware/shopware/pull/13520 fix(navbar): Navbar won't hide when passing an item without children by @marcelbrode in https://github.com/shopware/shopware/pull/13525 feat: Added corrupted media cleanup scheduled task by @MartinKrzykawski in https://github.com/shopware/shopware/pull/13535 fix: attribute-value for data-magnifier-options by @digitalgopnik in https://github.com/shopware/shopware/pull/13427 test: flow validation test by @GitEvil in https://github.com/shopware/shopware/pull/8784 fix: Add streamIds field to Elasticsearch product mapping by @timeo-schmidt in https://github.com/shopware/shopware/pull/13153 fix: prevent parameter parsing in criteria titles by @astehlik in https://github.com/shopware/shopware/pull/13573 feat: improve associations documentation in OpenAPI Schema | store-api context by @mkucmus in https://github.com/shopware/shopware/pull/13514 fix: audit issue with glob and js-yaml by @patzick in https://github.com/shopware/shopware/pull/13580 fix: context token in twig by @keulinho in https://github.com/shopware/shopware/pull/13502 fix(cross-selling): Fix transition speed of cross-selling element and make it configurable by @marcelbrode in https://github.com/shopware/shopware/pull/13575 fix: fix multiple sw-single-select issue by @jleifeld in https://github.com/shopware/shopware/pull/13488 feat: add media schema type to LineItem cover property by @mdanilowicz in https://github.com/shopware/shopware/pull/13484 fix: salutation autocomplete (a11y) by @mstegmeyer in https://github.com/shopware/shopware/pull/13576 fix: Adjust EOL because of skipped major release by @keulinho in https://github.com/shopware/shopware/pull/13585 fix: condition list of restricted rules by @mstegmeyer in https://github.com/shopware/shopware/pull/13572 refactor: payment tokens to new JWT structure by @mstegmeyer in https://github.com/shopware/shopware/pull/13519 feat: Change manufacturer link to LongTextField and make translatable by @flkasper in https://github.com/shopware/shopware/pull/13542 feat: ADRs for updated http caching strategy by @h1k3r in https://github.com/shopware/shopware/pull/12541 fix: failing AppAsyncPaymentHandlerTest after JWT refactoring by @mstegmeyer in https://github.com/shopware/shopware/pull/13602 fix: Fix issue that deleting variants in the variant overview does not consider its entries in product_configurator_setting by @tamvt in https://github.com/shopware/shopware/pull/13495 refactor: Replace email recipients filters with mt select by @DennisGarding in https://github.com/shopware/shopware/pull/13536 fix: Allow boolean field types in SCSS validation by @Phil23 in https://github.com/shopware/shopware/pull/13584 fix: expectException instead of catch by @mstegmeyer in https://github.com/shopware/shopware/pull/13608 fix: remove html from plain text mail templates by @DennisGarding in https://github.com/shopware/shopware/pull/13589 feat: allow overwriting wrapperClass on primary/replica mode by @shyim in https://github.com/shopware/shopware/pull/13410 fix: robots.txt on storefront domains by @keulinho in https://github.com/shopware/shopware/pull/13606 fix: document search on order details page by @jozsefdamokos in https://github.com/shopware/shopware/pull/13485 test: add product review visual test by @yusufttur in https://github.com/shopware/shopware/pull/13607 feat: handle description for $ref schemas by @mkucmus in https://github.com/shopware/shopware/pull/13617 feat: add filters to product review module by @shyim in https://github.com/shopware/shopware/pull/13595 fix: Changed default sorting for export to autoIncrement and createdAt if available by @JoshuaBehrens in https://github.com/shopware/shopware/pull/12846 fix: composer removal on uninstall with deactivate by @mstegmeyer in https://github.com/shopware/shopware/pull/13624 fix: number field in individual promotion code generation modal by @mstegmeyer in https://github.com/shopware/shopware/pull/13592 New Contributors @janpetto made their first contribution in https://github.com/shopware/shopware/pull/13037 @ROBJkE made their first contribution in https://github.com/shopware/shopware/pull/12553 @tripleelectric made their first contribution in https://github.com/shopware/shopware/pull/13221 @cramytech made their first contribution in https://github.com/shopware/shopware/pull/6487 @hienha-sw made their first contribution in https://github.com/shopware/shopware/pull/13243 @kermie made their first contribution in https://github.com/shopware/shopware/pull/13354 @NielDuysters made their first contribution in https://github.com/shopware/shopware/pull/8929 @diyaa97daoud made their first contribution in https://github.com/shopware/shopware/pull/13425 @quisse made their first contribution in https://github.com/shopware/shopware/pull/13547 @digitalgopnik made their first contribution in https://github.com/shopware/shopware/pull/13427 @timeo-schmidt made their first contribution in https://github.com/shopware/shopware/pull/13153 @flkasper made their first contribution in https://github.com/shopware/shopware/pull/13542 Full Changelog: https://github.com/shopware/shopware/compare/v6.7.4.2...v6.7.5.0
See the UPGRADE.md for all important technical changes. #12145 - Add custom action in media sidebar #12165 - Fix vite bundling for Symfony bundles #12233 - Allow granular inheritance for slot_config overrides #12349 - Fix plugin config default values #12498 - Update health check API #12672 - Improve error output of app loader in CI environment #12723 - Remove not needed shipping detail admin SCSS @aragon999 #12724 - Properly define the padding of the admin modal @aragon999 #12755 - Do not use the Symfony validator to validate the honeypot captcha @aragon999 #12756 - Fix Cache Cookie Handling to prevent cache poisoning #12808 - Add gitignore when creating a plugin @wannevancamp #12832 - Fix deletion and sorting of log events listing in the administration #12833 - Fix proper display of the administrator switch in the user create @wannevancamp #12834 - Fix media search navigation #12835 - Replace latest sw-switch-field component with bool input @wannevancamp #12836 - Fix SalesChannelContext::state to reset to previous state @JoshuaBehrens #12837 - Add more Twig blocks to product box to reduce amount of code to be copied over @JoshuaBehrens #12839 - Add option for FormAutoSubmit to trigger form validation @JoshuaBehrens #12865 - Add aria-label to CMS image link @lacknere #12869 - Improve shipping and payment cart blocking errors @gecolay #12892 - Improved error handling when a sales channel cannot be deleted because it is still assigned to other entities #12925 - Add product available sorting criteria option @lacknere #12932 - Only consider filterable discount packages @aragon999 #12947 - Improve SCSS color validation #12986 - Fix sidebar width persistence issue when collapsed through button #13007 - Add message queue message size limit config option @gecolay #13011 - Add admin notification transformers #13070 - Add possibility to set fetchpriority="high" on cms image elements @aragon999 #13082 - Add events when fetching entities for the sitemap @aragon999 #13087 - Fix IAP decoding with old OpenSSL versions #13091 - Replace $result type with native CmsPageCollection type in the CmsPageLoadedEvent @aragon999 #13094 - Fixed 3D light intensity #13146 - Fix webhook cleanup for queued webhook event logs #13156 - Fix flaky storefront test for active route parameters #13161 - Respect the COMPOSER_PLUGIN_LOADER environment variable in the bin/shopware cli command @aragon999 #13177 - Only display last search index date 12292 - Fix issue with loading seo url preview 12411 - Load product streams over opensearch 12783 - Search result should include products when parent product number matches 12805 - Clearance sale (stock handling) is ignored as soon as a product is in the cart 13127 - Fix cookie offcanvas link not working when opened from navigation offcanvas 4307 - Fix Google Consent Mode v2 default and update implementation 9451 - Google reCAPTCHA loading only if cookie accepted 9451 - Interactive offcanvas cookies https://github.com/shopware/shopware/issues/12823 - Fix session locking during kernel reboot on plugin state change https://github.com/shopware/shopware/issues/6409 - Separate Vimeo and YouTube cookie consent https://github.com/shopware/shopware/pull/13079 - Fix CacheClearer global locking
See the UPGRADE.md for all important technical changes. #11055 - Add global styling for blockquotes #11215 - Restore ResetInterface support in long-running runtimes @mateuszfl #11484 - Don't check for canonical SEO Urls when no path info given during SEO URL creation @M-arcus #11580 - Increased minimum required version of MySQL database #11580 - Symfony components updated #11766 - Fix boolean fields in theme config #11803 - Fix advanced prices for fixed item price discount #11823 - optimize fetching product properties #11830 - Fix display of line item taxes with tax provider #11838 - Fix recursive cart lock usage #11839 - Fix duplicate address display in sw-order-detail #11855 - Fix removal of composer plugins #11967 - Fix zoom functionality to prevent a large window #12029 - Fix custom fields with same names as foreign keys #12209 - Allow docx file extension #12225 - Fix invoice empty pages @lacknere #12464 - Fix initialization of DiscountCampaignStruct and add additional properties #12756 - Fix Cache Cookie Handling to prevent cache poisoning #7156 - Fix API aware flag for proxied requests #7238 - Update SwitchContextEvent @PheysX #10707 - Fix Elasticsearch Datetime format #11001 - Show relevant products without previews when searching @tinect #11074 - Fix admin es search for document number does not return any result #11097 - Fix wrong customer context on login if entry from sales_channel_api_context is expired #11528 - Show correct exception when updating an entity with a foreign key constraint fails #11550 - Fix inconsistent seoUrls for cross-selling products #11619 - Fix SeoUrl generate database-error when the url changes #11654 - Fixing document squished line item listing #11800 - fix overwrite slot config #8018 - Move Search config loader class to Core bundle #8018 - Use minimal search term length in config tables #8584 - Error when trying to remove "Main category" for product #12979 - compatibility with OpenSearch 3.x
See the UPGRADE.md for all important technical changes. #10220 - Only consider product rule ids in HTTP cache key generation @aragon999 #10529 - Simplify personal company fields @aragon999 #10737 - Serialization cart size check #10935 - Check all form attributes in js form plugins @gecolay #11055 - Add global styling for blockquotes #11163 - Cache default category levels #11414 - Improved language settings UI #11459 - Add constants to global Shopware object @lacknere #11526 - Fix SCSS Valiator to save original color functions #11543 - Fix cart error message translation in store api @gecolay #11557 - Add MediaEntity to ResolveRemoteThumbnailUrlExtension @scarbous #11646 - fix price calculation runs twice #11721 - Deleting properties fails without error popup when property values are still in use @nguyenquocdaile #11766 - Fix boolean fields in theme config #11855 - Fix removal of composer plugins #11872 - Compatbile with symfony/validator 7.3 #11911 - remove media data when sync product #11945 - Only show folder categories if they have children @aragon999 #11962 - Fix promotion discount entity property initialization error in shopping cart #11984 - Add Design Tokens to the Review module #11984 - Fix alignment of review stars #11999 - Update OpenSearch in tests @tinect #12029 - Fix custom fields with same names as foreign keys #12034 - Make product of OrderLineItem api aware @aragon999 #12105 - Add natural sorting for property option list @nguyenquocdaile #12116 - Add a crud permission shortcut to manifest #12124 - Optimize navbar focus and toggle @lacknere #12128 - fix order entities in search preferences #12129 - Fix app user id admin privileges #12133 - Update sales channel context after switching #12142 - Consider landing page assignments in CMS page list @lacknere #12173 - Allow docx file extension #12187 - Remove load expensive administration order sorting @gecolay #12192 - Remove unused and unnecessary associations from administration order list @gecolay #12193 - Add skipConfigurator & skipCmsPage query parameter to ProductDetailRoute @gecolay #12198 - Add criteria excludes property @gecolay #12219 - Added missing 30 days period for export cleanup @lx-wnk #12224 - Fix media thumbnail generation with null media thumbnail size @gecolay #12252 - Fix order creation page reload during confirmation dialog when clicking save order button #12262 - Recover stuck scheduled tasks #12314 - Add ScheduledTaskMessageInterface @gecolay #12319 - Add extension API handler to retrive the current view router path #12326 - Add guest login functionality to OrderRoute #12334 - Change CMS to show element type @amenk #12351 - Fix customer profile account type forced to commercial with company signup form #12361 - Fix missing promotion product rule select #12394 - Adjust line height of sw-label to match the mt-label line height @aragon999 #12418 - Fix initialization of DiscountCampaignStruct and add additional properties #12436 - Fix inherited switch value @lacknere #12577 - Fix install lock creation on failure #12610 - Clarify integration documentation @amenk #12639 - Add missing refreshTokenTtl context field to administration template @gecolay #12642 - Optimized performance on 3D viewer canvases #12654 - Fixed model placement in 3D Viewer #12655 - Decreased camera's near clipping distance in 3D viewer #12757 - Implemented mt-empty-stage component #6749 - Shop ID change suggestion modal #7156 - Fix API aware flag for proxied requests #9387 - Added shared indexes to the order tables #11097 - Fix wrong customer context on login if entry from sales_channel_api_context is expired #11842 - Fix customer registration address validation #12074 - Apply search score as fallback sort criteria on searching #12159 - Fix promotion exclusion for fixed delivery discounts #12182 - Fix intra community electronic invoice #12296 - Improve RuntimeException for getSchema on store API #12354 - Warn in rules when DPG indexing is disabled #12398 - Add env var for readonly filesystem support #12430 - Fix cart price initialization in shipping method price matrix settings #12433 - Fix ES index language inheritance issue #12573 - Extract url encoder utility #12600 - Fix default shipping and billing address reset on cart deletion #5882 - Fix customer address name field length mismatch #6652 - Allow Store-API search endpoints to set a limit again #7422 - Remove global controllerName and controllerAction variables from templates #9451 - Add cookie hash to cookie groups API response #9451 - Add request to cookie event #9451 - Refactor providing of cookies #9835 - Remove unnecessary default rules Ocarthon - Interpret checkbox custom fields values as booleans @Ocarthon #12154 - fix: expose one port for admin watcher, fixes #12154 (#12161) #12188 - Implement lint translation files command
See the UPGRADE.md for all important technical changes. #10491 - Implemented a command to download and install translation #10528 - Remove superfluous vat-id block from address-form.html.twig @aragon999 #10530 - Allow admininistration scripts being provided by bundles @JoshuaBehrens #10556 - min search term is now configurable #10721 - Properly align logout link with icon @aragon999 #10751 - Add search sorting for live search #10866 - Allow Storefront routes without prefix #10870 - Improve basic captcha accessibility #10878 - Fix order version for determining credit notes when creating credit notes @jgeramb #10959 - Use createdAt column as default for product list sort @gecolay #11083 - Reduce event bus usage for AddCacheTagEvent @gecolay #11108 - AR Placement #11139 - refresh measurement units #11167 - category path does not display #11188 - Reset UpdatedByField for updates via API #11191 - Implement soft purge HTTP cache functionality #11202 - Change class constants to self classes @M-arcus #11205 - Deprecated EntityDefinition constructor @aragon999 #11215 - Restore ResetInterface support in long-running runtimes @mateuszfl #11222 - Update DBAL to 4.3.1 #11223 - Copy app snippets after system language change #11282 - add cart rule loader extension event #11297 - Replace AddCacheTagEvent's with CacheTagCollector addTag @gecolay #11314 - config endpoints cached indefinitely #11327 - Add missing context config setting access optional chaining @gecolay #11341 - Correctly delete bearerAuth cookie from base path in administration @gecolay #11373 - Fix sidebar SDK handlers in Meteor page #11391 - Add missing ApiAware flag to CmsBlock & CmsSection id's @gecolay #11409 - Add missing timezone option for TimeRangeRule @gecolay #11410 - Allow child classes for getting extension of type #11417 - Fix media thumbnail sizes with mediaThumbnailSizeId @gecolay #11466 - Allow for LineItemFactoryHandler decoration #11485 - Skip persisting admin snippets for non-existing locales #11491 - Remove FK delete exception handler #11492 - Fix ThemeCompiler side effects @gecolay #11510 - allow configuring the minimum search term length #11515 - Fix reset active apps after app deactivation #11521 - fix: improve check for visibility parameter check, fixes #11521 (#11565) #11551 - Increased minimum required version of MySQL database #11551 - Symfony components updated #11566 - Add Design Tokens to the Smart Bar #11578 - Add dark mode support to sidebar #11582 - Added dark mode support to select components #11583 - Fix state machine history FK constraint to integration #11599 - Change createdComponent back to being sync #11604 - Copy context rules to ESI request context #11608 - Add app user ID header and fix domain exception patterns #11633 - Fix mediaThumbnailSizeId not null in MediaThumbnailEntity @gecolay #11636 - Fix service menu wrap @lacknere #11650 - Fix ScriptLoader loading invalid cache paths @gecolay #11653 - Add aria-label to image slider links @M-arcus #11670 - Add commands to schedule and disable scheduled tasks @M-arcus #11702 - sorting of properties #11725 - Fix guest logout manipulation possibility #11726 - Add cart data to the symfony profiler @aragon999 #11730 - Fix CMS block slot config error highlighting @lacknere #11731 - Fix login page redirect parameters @lacknere #11739 - Stale cache over queue #11748 - Improve property group loading performance #11759 - Add Dark Mode support to modals #11768 - Fix CMS content slot overrides for modules and languages #11769 - Input quantity for extended prices incorrect @nguyenquocdaile #11773 - Cart persistence behaviour #11778 - Opimize CMS create wizard page type selection spacing @lacknere #11781 - Load all category levels for current path #11782 - Fix advanced prices for fixed item price discount #11783 - Adjust MatrixElement extends Struct for StoreApi @gecolay #11785 - Remove assign override of MediaThumbnailEntity @gecolay #11788 - Fix advanced prices for fixed item price discount #11792 - Event interfaces for extension events #11798 - Download translations to private filesystem #11804 - Fix display of line item taxes with tax provider #11806 - Fix duplicate address display in sw-order-detail #11822 - Fix CMS block component rendering @lacknere #11823 - optimize fetching product properties #11828 - Fix recursive cart lock usage #11832 - Added Design Tokens to the dashboard #11852 - Remove superfluous overrides of id methods in entities @gecolay #11866 - Load all hookable entities dynamically by checking shopware.entity.hookable tag #11867 - Fix webhook deactivation on failure #11874 - Enable sidebar apps in cms detail page #11906 - Fix forwarding after login #11915 - Allow autoconfigure attribute on attribute entities #11916 - Fix zoom functionality to prevent a large window #11944 - Make navbar template extendable @aragon999 #11955 - Fix sidebar renderer width reset on close #11956 - Add Design Tokens to sw-switch #11974 - Add Design Tokens to grid related components #11974 - Add Design Tokens to the Tabs Component #11986 - Add Design Tokens to help center and shortcut overview #11986 - Add Design Tokens to the tooltip #11987 - Fix storage names of category runtime fields @aragon999 #12023 - Add loading of active category in category tree on change @lacknere #12037 - Make AsyncAwsS3WriteBatchAdapter batch size configurable #12040 - Fix confusing error on user create in admin #12046 - Remove usage of imagedestroy @tinect #12047 - Use bootstrap gutter variables for product-listing grid #2938 - Fix tax rounding errors for percentage price calculation #4053 - Adds MIN() Function to cheapestPrice Accessor @ulloe #5418 - Add configuration for meta tag "robots" @dallyger #9614 - Replace breadcrumb separator by the bootstrap default solution @aragon999 #9635 - Add custom field entities (unit and newsletter_recipient) to apps #10707 - Fix Elasticsearch Datetime format #10720 - Update MatchAllLineItemsRule to support multiple item types #11001 - Show relevant products without previews when searching @tinect #11074 - Fix admin es search for document number does not return any result #11128 - Improve admin search on searching for numeric tokens #11130 - Optimize storefront elasticsearch #11204 - Change main category seo url of a variant leads to an empty for its parent @nguyenquocdaile #11420 - Fix navigation cache invalidation #11528 - Show correct exception when updating an entity with a foreign key constraint fails #11534 - Added document return address display option #11568 - Remove language switch from import/export #11619 - Fix SeoUrl generate database-error when the url changes #11654 - Fixing document squished line item listing #11800 - fix overwrite slot config #11895 - Improve admin search indexing event handling and iterator versioning #11899 - Updated ignored URL parameters for http cache @tinect #12011 - Fix issue with theme config update if fields got removed #5868 - fix product media import with whitespace in url #5913 - Disallow usage of file_exists @tinect #8584 - Error when trying to remove "Main category" for product #10897 - Include GET methods to store API schema where POST and GET supported #11085 - Fix primary connection is not working when replica configured #11106 - Fix Quote counts up the order number range #11110 - Fix SystemConfigService::deleteExtensionConfiguration removes only global configuration #11194 - Add fetchpriority attribute to first image slider and image gallery item @M-arcus #11397 - Make sidebar expandable by dragging #7881 - Add headers to vary Storefront API caches based on context vars
See the UPGRADE.md for all important technical changes. #11157 - Scope RenamePaidTransitionActions migration to order transaction state transitions #11386 - Fix CMS element loading when reviews are not activated #8724 - Added locking to cart mutating routes Improve CMS slot selection and prevent misclicks @marvn-r3 #10030 - Align error styles of form components #10051 - Added namespaces option for dal:validate command @OliverSkroblin #10056 - Added shorthands for not equals filter @OliverSkroblin #10130 - Added Elasticsearch response to ElasticsearchEntitySearcherSearchedEvent @OliverSkroblin #10146 - Filter cart success error messages #10191 - Fix tooltip of the sw-product-variant-info component @aragon999 #10234 - Removed global Vue2 event emitter from the sw-order-detail component @aragon999 #10243 - Fix password field autocomplete with the new-password type @akf-bw #10244 - Fix wrong variant of mt-banner-on-sales-channel-detail-page #10312 - Improve error handling of Storefront JS plugin manager #10341 - Skip MediaIndexing when remote thumbnails are enabled #10358 - Added price calculation extension @OliverSkroblin #10368 - Fix spelling and typos in core packages @wannevancamp #10438 - Improve ES search scoring for numeric tokens @thuong-le #10495 - Spatial Asset Caching #10498 - Installer supports presets based on the language selection #10520 - Remove unused url specification from app metadata @aragon999 #10531 - Add modifyFields method to EntityExtension @gecolay #10534 - Fix authentication for document downloads via the Store API @jgeramb #10679 - Add validation for theme configuration #10688 - "CountryStateController: Support GET for /country/country-state-data and deprecate POST" #10688 - New Media Upload API v2 #10696 - Respect missing shipping method currency prices #10697 - Fix Vimeo video element iframe title @lacknere #10711 - Use global Vue PropType @gecolay #10712 - Fix session usage and session start behaviour @gecolay #10718 - Properly display product slider element with border in the administration @aragon999 #10738 - Custom field set name is now unique for apps #10738 - Fix apps with duplicated custom field sets #10744 - Fix duplicate grid settings space @gecolay #10749 - Fix product search SQL scoring @lacknere #10754 - fix: find correct admin root without explict env, fixes #10754 (#10925) #10764 - Unify margins of admin dashboard @aragon999 #10767 - Added twig block to mt-text-editor component template @acris-lf #10774 - Multiple promotions order count fix #10853 - Skip In-App Purchases update task on missing authentication headers #10855 - Fix duplicate checkout gateway filter @gecolay #10874 - Fix invoice creation with a custom number @jgeramb #10876 - Fix invoice number selection for credit notes and storno invoices @jgeramb #10877 - Cleanup styles of the sw-category module @aragon999 #10880 - Use display index to get active slide element #10885 - Prevent line item price editing in admin if price definition is missing @aragon999 #10919 - Delete correct expired store session #10947 - Add createdAt column to customer list in administration @gecolay #10948 - Add administration product number filter @gecolay #10949 - Fix tooltip formatting @lacknere #10955 - Add missing dateTimeFormat property for sw-time-ago @gecolay #10956 - Improved initial camera position of 3D viewer #10958 - Use single shared interval for sw-time-ago component @gecolay #10965 - Add staging config to SetupStagingEvent #10969 - Add CanonicalRedirectExtension to CanonicalRedirectService @gecolay #10971 - Removed EntityHydrator internal class tag @gecolay #10974 - Deprecate filesystem visibility in config array #10978 - Add remove loader function to form submit loader plugin #10981 - Improved XmlHttpRequest denied exception information @gecolay #10983 - Use sw-time-ago for past date times @gecolay #10988 - Change URL generation for ESI includes to avoid HTTPS issues with Varnish @stefanpoensgen #10998 - Fix order line items label display & add type column @gecolay #10999 - Fix variant listing config when cloning products or deleting variants @schneider-felix #11008 - Add product creation date sorting criteria option @lacknere #11010 - Change deprecated && in sql accessor builder @gecolay #11033 - Change ApiAware visibility for externalUser field in ProductReview @gecolay #11035 - Change ApiAware visibility for products association in CustomerWishlist @gecolay #11043 - Generate routes based on current request #11079 - Optimize product slider CMS element @lacknere #11113 - Add error handling to YouTube CMS element link parsing @LukasVoeller #3784 - Fix SEO URLs for landing pages in footer navigation #4728 - Deprecate force option from es:index:cleanup command @M-arcus #6001 - Add an explicit configurable robots.txt @aragon999 #6032 - Unify constraint option structure and checks @akf-bw #6038 - Fix Gallery Thumbnail Slider #6418 - Fix negative zero when calculating price @JasperP98 #6486 - Change redirect path for wishlist after login @tinect #7346 - feat: Fixes #7346 - Allow variable icon names in sw_icon (#8369) #7457 - Add acl hook service #7494 - Preserve administration sidebar state @akf-bw #7716 - Improve fetching of language information for SalesChannelContext #7719 - add nl2br filter to customer review content variable @marvn-r3 #7770 - Move review active check into store api routes @aragon999 #7840 - Fix CmsDataResolver same Criteria different Entities @Fayti1703 #7852 - Add storefront snippet events @scarbous #7932 - Remove non-existing imports from admin module stub @M-arcus #7938 - fix cms block removable check @schneider-felix #7993 - Removed write protection flag from fileExtension field in the MediaDefinition #8027 - Deprecated theme translations to use admin snippets #8041 - save fileHash if it is available @scarbous #8055 - Deprecated payment method DebitPayment #8209 - Spatial AR viewer checks #8226 - Add renaming scales unit banner in Settings overview @nguyenquocdaile #8228 - Allow empty alt with sw_thumbnails #8390 - Fix invoice empty pages @lacknere #8393 - Add support for extended definition of attribute entity #8478 - Add remote thumbnail url extension @TheBreaken #8531 - Truncate long custom field descriptions in rulebuilder @lacknere #8538 - Add measurement settings into sales channel configuration #8539 - Add measurement settings into sales channel domain configuration #8540 - Update domain listing to show measurement information #8558 - Skip cart recalculation on ESI sub requests #8574 - Deprecate account order detail page #8591 - Fixed theme config inheritance for database child themes #8670 - Implement media component with Admin SDK #8698 - Message queue statistics #8763 - Add recalculated custom line-items to delivery #8873 - Fix unprepared statements breaking profiler @MelvinAchterhuis #8900 - Deprecated carts-alerts #8903 - Added DIVE as a 3D Viewer for Storefront #8981 - Remove specific color on icon-wishlist @tinect #8989 - Track status changes performed by integrations @schneider-felix #9028 - Remove obsolete requiredMessage variable declarations @aragon999 #9031 - ci: reenable 6.6.0.0 update (fixes #9031) (#9245) #9068 - Fix app uninstalls with custom entities #9101 - Deprecate active language and currency from header pagelet @aragon999 #9229 - Fix the reading of the cart widget by screen readers #9254 - Load SalesChannelCategoryEntity when loading the breadcrumb #9397 - chore: add cleanup-needs-triage (fixes: #9397) (#9527) #9477 - Add guest conversion route to Store API #9555 - A11y-Compliant alt tag for decorative images @wbm-sbasler #9739 - Fix paging listing page parameter usage in post requests @akf-bw #9826 - Added new API to delete unused increment keys or cluster #9828 - Register mt-modal componants globally #9850 - Add deprecations to the theme configuration APIs #9851 - feat: implement event on Sitemap Generation, closes #9851 (#9853) #9887 - Improved AR Error feeback #9928 - Primary order and transaction deliveries during recalculation #9980 - Silence and log exceptions of In-App purchases Remove first level app snippet restriction #10297 - Products with variants should return the variant that match the search term in the product detail page #10507 - Fix media item quickinfo update after save @bschulzebaek #10513 - Fix issue SEO url not generating anymore #10706 - Add lock for CacheClearer #10906 - Change path of header and footer routes #11131 - add env variables for Opensearch min_ngram and max_ngram #5913 - Remove usage of file_exists @tinect #5913 - Remove usage of file_exists @tinect #5913 - Remove usage of file_exists @tinect #5913 - Remove usage of file_exists @tinect #7225 - Add measurement system #7730 - Create migration and DAL for measurement system #7732 - add sw-settings-measurement module #7792 - Implement app:list command @devin-ai-integration #8471 - ES should work correctly with ScoreQuery #8541 - add selling packaging card #8542 - add sw-product-measurement-form component #8543 - Apply last chosen measurement settings as user preferred settings #8545 - adjust bulk editing products with new product measurements #9175 - Add ACL #9909 - Fix unable to fall back to parent language on product entity #9931 - deprecate i18n $tc function Add twig block around filter columns Ocarthon - fix AfterSort with multiple null values @PhilipStandt https://github.com/shopware/service-enablement/issues/17 - Changed Admin-SDK handler for context.can #10248 - Added DeduplicatableMessageInterface #11053 - Delete Admin snippet cache after app install #11085 - Fix mysql replica parameters parsing #3712 - Meta information in landing pages is not inherited @Songworks #4936 - Add primary order delivery and primary order transaction reference @hanneswernery #5913 - Change file_exists to is_dir @tinect #7480 - New config to toggle salutation field on registration #7482 - Added new configs for changing cart columns #7766 - Optimizing theme config loading #9851 - Add Event to modify SalesChannelContext @wrongspot
Shopware 6.7.0.0 This major release introduces significant technical improvements, cleanup of deprecated features, upgraded accessibility changes and impactful changes for long-term platform stability. After a RC validation period in different phases, the 6.7 release is now production-ready for self-hosted environments. Highlights Vue 3 is now fully supported in the administration. The compatibility layer has been removed, and Pinia replaces Vuex for state management. Webpack has been replaced with Vite for the administration build process, improving performance and DX. Storefront and Admin templates have been migrated to the Meteor Component Library. Several legacy components have been deprecated or removed. The cache system has been reworked. Store-API route caching has been removed, and ESI was introduced for more precise cache control. Native type declarations have been added to PHP class properties across the platform. Multiple core libraries were upgraded: DBAL 4.x, PHPUnit 11.x, Dompdf 3.x, oauth2-server 9.x. The OAuth token request flow is now spec-compliant. The /api/oauth/authorize endpoint has been removed. Accessibility improvements have been made across the admin UI in preparation for the European Accessibility Act (EAA). Deprecation Cleanup 6.7 finalizes the deprecation removals that were scheduled during the 6.6 lifecycle. Please refer to the Upgrade Guide for detailed migration instructions. Upgrade Considerations Plugin and app developers should test compatibility, particularly with the Vue 3 and Vite changes. Private apps and themes may require additional review due to internal API and caching adjustments. Redis configuration and Varnish now rely on updated modules. See the hosting section in the upgrade guide. Additional Resources Upgrade Guide Developer Changelog The changes introduced between RC5 and the final release were limited to bug fixes and minor adjustments. No additional breaking changes were introduced after RC5.
See the UPGRADE.md for all important technical changes. #9447- Assets repeatedly disappearing #10112 - Silence and log exceptions of In-App purchases #10254 - Pass through extensions from IdSearchResult to EntitySearchResult in ProductListingLoader @OliverSkroblin #10259 - Translated custom field value accessor @OliverSkroblin #10285 - Unwrap messages when routing #10300 - Fix StoreAPI criteria endpoints schema @akf-bw #8321 - Fix nested line items #8739 - Imitate customer active sales channel check @MelvinAchterhuis #8763 - Add recalculated custom line-items to delivery #9031 - ci: reenable 6.6.0.0 update (fixes #9031)[6.6.x] (#9248) #9117 - Allow enriching seoUrls for search results's extensions #9179 - Elasticsearch index's mapping should be updated post update #9198 - Fix StructEncoder custom field visibility @akf-bw #9236 - Add AllowHtml Attribute support @raffaelecarelle #9333 - Added locking mechanism to CartOrderRoute #9356 - Fixed accessibility issue of collapse button of orders @aragon999 #9388 - Fix search result order #9460 - Transmit correct shipping costs to Google Analytics @aragon999 #9517 - Provide context token to current request #9532 - Refactored snippet set list #9572 - Fix theme settings getting lost when navigating quickly @amenk #9615 - Changed manufacturer wrapper from <a> to <div> when link is missing #9712 - Display Promotion rule correctly as line item rule in Administration #9729 - Fix search term custom find weird icons #9844 - Fix incorrect overwrite of deepLinkCode on order recalculation #9851 - feat: implement event on Sitemap Generation, closes #9851 [6.6.x] (#9968) #10190 - Fix essential characteristics create template with more than 2 values does not work #5413 - Fix sorting of countries in Storefront #5899 - Elasticsearch list/price percentage ratio dynamic product groups not working #7447 - Variant indicator missing in product listing #8285 - Fixed promotion deletion cart error #8790 - Fix inline media upload preview image option is broken #8828 - Fix category search results not scrollable #8922 - Fix allowFullscreen attribute in CmsGdprVideoElement #9384 - Fix search result order in preview search in mysql #9612 - Remove overwrite of CreatedByField with non-live version #9715 - Set Limit when loading options in property group detail page #9855 - Elasticsearch custom fields dynamic product groups not working #7768 - Reduce downtime while theme change #9851 - Add Event to modify SalesChannelContext @wrongspot
See the UPGRADE.md for all important technical changes. #8388 - Replace old data protection info the our current standard #9433 - Adjust styling label created by admin on customer detail page #9461 - Transmit correct shipping costs to Google Analytics @aragon999 #9510 - Add skip-theme-compile option for app uninstall #9518 - Provide context token to current request #9532 - Refactored snippet set list #9572 - Fix theme settings getting lost when navigating quickly @amenk #9579 - Account design adjustments #9600 - Show rendered type of tax rule restrictions @aragon999 #9615 - Changed manufacturer wrapper from <a> to <div> when link is missing #9623 - Adjusted the styling of the tooltip dot marker #9713 - Display Promotion rule correctly as line item rule in Administration #9729 - Fix search term custom find weird icons #9845 - Fix incorrect overwrite of deepLinkCode on order recalculation #9868 - Replaced sw-checkbox-field component by mt-checkbox in theme assignment @aragon999 #9955 - Update Meteor to 4.12.1 #5413 - Fix sorting of countries in Storefront #5899 - Elasticsearch list/price percentage ratio dynamic product groups not working #7447 - Variant indicator missing in product listing #8790 - Fix inline media upload preview image option is broken #9055 - Replace theme media sidebar with media modal #9384 - Fix search result order in preview search in mysql #9557 - Fix first level nav bar links #9612 - Remove overwrite of CreatedByField with non-live version #7768 - Reduce downtime while theme change #9426 - Fix Change in new generated language get an error
Notable Changes Mitigate Meteor components migration with deprecated components To support extension developers and ensure compatibility between Shopware 6.6 and Shopware 6.7, a new prop called deprecated has been added to Shopware components. Prop Name: deprecated Default Value: false (uses the new Meteor Components by default) Purpose: When deprecated is set to true, the component will render the old (deprecated) version instead of the new Meteor Component. This allows extension developers to maintain a single codebase compatible with both Shopware 6.6 and 6.7 without being forced to immediately migrate to Meteor Components. Example: <!-- Uses mt-button in 6.7 and sw-button-deprecated in 6.6 --> <template> <sw-button /> </template> <!-- Uses sw-button-deprecated in 6.6 and 6.7 --> <template> <sw-button deprecated /> </template> Improve extensibility of header and footer ESI templates With this change it is possible to add query parameters to the header/footer ESI requests.This could be used to customize the header/footer templates. Extending the src/Storefront/Resources/views/storefront/base.html.twig file: {% sw_extends '@Storefront/storefront/base.html.twig' %} {% block base_esi_header %} {% set headerParameters = headerParameters|merge({ 'vendorPrefixPluginName': { 'activeRoute': activeRoute } }) %} {{ parent() }} {% endblock %} Within a plugin, you can also use the Shopware\Storefront\Event\StorefrontRenderEvent class StorefrontSubscriber { public function __invoke(StorefrontRenderEvent $event): void { if ($event->getRequest()->attributes->get('_route') !== 'frontend.header') { return; } $headerParameters = $event->getParameter('headerParameters') ?? []; $headerParameters['vendorPrefixPluginName']['salesChannelId'] = $event->getSalesChannelContext()->getSalesChannelId(); $event->setParameter('headerParameters', $headerParameters); } } After that you can use this data to customize the header template: {% sw_extends '@Storefront/storefront/layout/header.html.twig' %} {% block header %} {{ dump(headerParameters.vendorPrefixPluginName.activeRoute) }} {{ dump(headerParameters.vendorPrefixPluginName.salesChannelId) }} {{ parent() }} {% endblock %} See the UPGRADE.md for all important technical changes. #7346 - feat: Fixes #7346 - Allow variable icon names in sw_icon [6.7.0.0] (#8477) #7476 - fix no new line for placeholder #7652 - Rename order_transaction transition action pay and pay_partially #8002 - Show customer default addresses in available listing #8412 - fix broken snippets in rule builder conditions #8499 - Improve basic captcha form validation compatibility #8649 - Solve admin promotion issues #8686 - Case insensitive guest order e-mail and postal code check #8739 - Imitate customer active sales channel check @MelvinAchterhuis #8896 - Fix local mode of sw-one-to-many-grid @aragon999 #8937 - Fix multi select filter for translated entities @nickygerritsen #8964 - Allow small size of sw-simple-search-field @aragon999 #9012 - export createTextEditorDataMappingButton through global Shopware component helper #9037 - Allow small size of sw-select-rule-create @aragon999 #9051 - Changed text when editing locked CMS page in table view @MelvinAchterhuis #9060 - Remove extra closing curly brace @MelvinAchterhuis #9075 - Add active styling class to main navigation #9102 - Fix admin password recovery submit @wannevancamp #9112 - Fix height of search field in sw-card-filter component @aragon999 #9118 - Allow enriching seoUrls for search results's extensions #9137 - Fix admin ui when staging mode enabled @MelvinAchterhuis #9160 - Revert "Silently ignore admin ES errors (NEXT-37382)" @paulvonallwoerden #9180 - Elasticsearch index's mapping should be updated post update #9199 - Fix StructEncoder custom field visibility @akf-bw #9210 - Do not include empty subcategory navigation lists @aragon999 #9215 - "Fix admin watcher Vite origin host for DDEV" @vanWittlaer #9252 - Change PropertyGroupOption combinable visibility @akf-bw #9290 - Improve sw-page back button linking @lacknere #9313 - Add blocks for inputs for address and register form @aragon999 #9334 - Added locking mechanism to CartOrderRoute #9357 - Fixed accessibility issue of collapse button of orders @aragon999 #9390 - Cleanup cancel order modal @aragon999 8265 - Changed form validation to check for custom error message 8285 - Fixed promotion deletion cart error 8828 - Fix category search results not scrollable 8859 - Add deprecated prop to facilitate the migration to meteor components 8922 - Fix allowFullscreen attribute in CmsGdprVideoElement 8925 - Fix faulty modal behavior in Advanced Pricing "Create New Rule" @maheshbohara 8976 - Fix admin assets with underscores in plugin names 8978 - Fix incorrect proportions of tags in orders @maheshbohara 9207 - Fixed misalignment of 'Add tags...' placeholder in order edit view @maheshbohara https://github.com/shopware/shopware/issues/8136 - Improve extensibility ESI templates https://github.com/shopware/shopware/issues/9024 - Fix RetryableTransaction missing savepoint error #9389 - Fix search result order
See the UPGRADE.md for all important technical changes. #4450 - OffCanvasSingleton does not remove hard-coded offcanvas from DOM #4654 - Fix HTML quirks mode in the Storefront #6311 - Increase contrast for slider UI #6648 - Make product variation accessible in seo url templates #6675 - Fix elasticsearch indexing performance for orders in administration @niklaswolf #6760 - Fix order delivery state machine name @akf-bw #6820 - Removed the total count mode when selecting products during order creation in the administration. #6837 - Ask for save order before proceeding #6845 - Restore customer address from order for context #6875 - Sorted conditions alphabetically #6886 - Improve db queries on media files #6954 - Only show style attribute if blockBgColor variable isset @jmatthiesen81 #7108 - Add title attribute to filter remove button #7113 - Eliminate errors when clicking product rating #7128 - Adjust card component position name in order detail #7131 - Fixed bulk edit custom fields #7134 - Fix missing CMS product slider animation and re-enable CMS sliders speed configuration @lacknere #7136 - Use current order data in mail preview #7215 - Improve accessibility of footer collapse sections on mobile. #7244 - Accessibility of keyboard navigation on mobile #7256 - Add aria-labels to product slider controls @aragon999 #7382 - Make off-canvas navigation accessible #7624 - Improve cookie settings accessibility #7654 - Close search suggests when focus of input is lost @nguyenquocdaile #7697 - Fix double triggering of switch field update:value event #7699 - Add missing dependency field of URL runtime field to media definition @pascalniklaspaul #7758 - fix cms block removable check @schneider-felix #7877 - Improve search widget accessibility #7890 - Disable Prefix Search for Synonyms to Prevent Irrelevant Results #7925 - Remove DeleteThemeFilesMessage usage in ThemeCompiler #7953 - Fix CmsDataResolver same Criteria different Entities @Fayti1703 #8007 - Correctly reset promotion duplication fields @akf-bw #8020 - Pin promotions for admin orders #8230 - Spatial AR viewer checks #8234 - Fix loading of to one associations with partial data loading @pascalniklaspaul #8278 - Fix the issue where a criteria limit of 500 prevents loading admin modules #8317 - Prevent imitating as customer when not possible @MelvinAchterhuis #8333 - Fixed calls to update extensions #8401 - Show navigation arrows of product cross selling sliders (again) @aragon999 #8422 - Fix override paging listing page parameter @akf-bw #8674 - New event for fetched category ids 5328 - Fix DAL inherited to-many field reads with limits 5615 - Allowed nulls in SystemConfigValidator for required values in child-configs 6842 - Exclude app namespaces in BundleHierarchyBuilder if DISABLE_EXTENSIONS is set 7093 - a11y insufficient accessibility of the search form field for screen readers @nguyenquocdaile 7858 - Fix webhook dispatching for not versioned events 8293 - Make search parameter optional in search api ANA-217 - Add shopware.usage_data.collection_enabled config to improve usage of shopware.usage_data.gateway.dispatch_enabled https://github.com/shopware/shopware/issues/6969 - Add file type to download and open e-invoices https://github.com/shopware/shopware/issues/7228 - Added missing rule filter for shipping price matrix https://github.com/shopware/shopware/issues/7350 - Show new customer address after saving admin modal #8895 - Fix local mode of sw-one-to-many-grid @aragon999
[!WARNING]Not all security issues are included in this release, you still need the Security Plugin Fixed security issues: Broken ACL on Document retrieval to access other customers documents Denial Of Service via password length (@bsmietana) Security Issues fixed by Plugin Blind SQL-injection in DAL aggregations Check for registered accounts through the store-api (@niklaswolf) Other changes: #3476 - NEXT-33504 - fix: Allow association_fields of media_default_folder to be nullable (@aragon999) #3486 - NEXT-32844 - fix(elasticsearch): Add separator to admin ES search indexer queries (@M-arcus) #3494 - NEXT-30575 - fix(core): Remove HTML sanitization from mail header and footer fields (@M-arcus) #3518 - NEXT-33235 - perf: Only use searchIds for import id resolving (@aragon999) #3567 - NEXT-34491 - NEXT-14691 - Add pseudo modal twig blocks (@lacknere) #3579 - NEXT-34070 - Improved seo url replacer (@akf-bw) #3580 - NEXT-34102 - Add new block in analytics template (@wannevancamp) #3605 - NEXT-34399 - Update action.html.twig to include css class for detail button (@choeft) #3611 - NEXT-34676 - Update ProductDetailRoute.php (@aneufeld23) #3684 - NEXT-36143 - feat: resolve extension parameters in compiler passes (@Ocarthon) #3718 - NEXT-36288 - feat: Add event to select variant on product detail page (@aragon999) #3779 - NEXT-36924 - Add missing check for context object in request attributes for StoreApiSeoResolver (@mromeike) #3833 - NEXT-37557 - Update Bootstrap Docs Link (@levin192) #3836 - NEXT-37684 - Fix updating thumbnails in strict mode (@phizab) #5759 - NEXT-39897 - Backport the getAssociatedDefinition method of the EntityDefinitionQueryHelper from NEXT-34674 (@SpiGAndromeda) NEXT-29637 - Allowed nulls in SystemConfigValidator for required values in child-configs
🧪 Shopware 6.7 RC1 is here! We're happy to share the first Release Candidate of Shopware 6.7. This RC includes major improvements such as the Vite migration, native Vue 3 support, and accessibility updates aligned with the European Accessibility Act. This version is intended for testing and extension compatibility validation. Please do not use RC versions in production environments. Please refer to the UPGRADE.md for all important technical changes. 📦 Installation and Upgrade Instructions 🔖 Release tag on GitHub To setup a new project with the RC you can start with: symfony composer create-project shopware/production shopware-6.7 v6.7.0.0-rc1 This will install a fresh Shopware 6.7 RC1 project. For existing projects, see below. Updating an existing project To update an existing project to 6.7 RC1, make sure to allow RC versions in your composer.json: diff --git a/composer.json b/composer.json index de4cbd1..9f12c99 100644 --- a/composer.json +++ b/composer.json @@ -5,7 +5,7 @@ "require": { "composer-runtime-api": "^2.0", "shopware/administration": "*", - "shopware/core": "~v6.6.0", + "shopware/core": "~v6.7.0@rc", "shopware/elasticsearch": "*", "shopware/storefront": "*", "symfony/flex": "~2" @@ -38,7 +38,7 @@ "App\\": "src/" } }, - "minimum-stability": "stable", + "minimum-stability": "RC", "prefer-stable": true, "config": { "allow-plugins": { 🐛 Known Issues #7835 – Installer fails with shopware/production Docker setupIn some Docker environments using the production template, the installer may fail. We’re currently investigating the cause. A broader list of open issues is being tracked on GitHub. We're monitoring and triaging these ahead of the final release. 💬 Found something unexpected? Feel free to open an issue or share feedback via our community channels. Changes: !4345 - fix-media-folder-thumbnail-settings (Felix Schneider) #4980 - Add Twig functions and tokens with their alternatives with inheritance (Joshua Behrens) #5237 - Improve product box accessibility #5634 - Add state machine settings module (Elias Lackner) #5678 - Add events for order loading when creating documents (Max) #5726 - Refactored internals of the MailService (Max) #5781 - Improve product export performance by reducing seo-url replacement calls (Felix Schneider) #5840 - Migrate Action Buttons Store to Pinia (Iván Tajes Vidal) #5840 - Migrate Context Store to Pinia (Iván Tajes Vidal) #5840 - Migrate Error Store to Pinia #5840 - Migrate Help Center Store to Pinia (Iván Tajes Vidal) #5840 - Migrate paymentOverviewCard store to Pinia (Iván Tajes Vidal) #5840 - Migrate rule-conditions-config store to pinia #5840 - Migrate session store to Pinia (Iván Tajes Vidal) #5840 - Migrate showpwareExtensions store to Pinia #5840 - Migrate sw-seo-url store to Pinia #5840 - Migrate swCategoryDetail store to Pinia #5840 - Migrate swOrder store to Pinia #5840 - Migrate swOrderDetail store to Pinia #5840 - Migrate swProductDetail store to Pinia #5840 - Migrate swShippingDetail store to Pinia (Iván Tajes Vidal) #5840 - Replace "extensionEntryRoutes" vuex store with Pinia #5840 - Replace "extensionMainModules" vuex store with Pinia #5840 - Replace "marketing" Vuex store with Pinia store #5840 - Replace "menuItem" Vuex store with Pinia store (Iván Tajes Vidal) #5840 - Replace "modals" Vuex store with Pinia store (Iván Tajes Vidal) #5840 - Replace extension-component-section store with Pinia store #5840 - Replace licenseViolation store with Pinia store #5840 - Transition extension sdk module vuex store to pinia store #5840 - Transition extension store to Pinia #5840 - Transition shopwareApps store to pinia #5840 - migrate swFlow store to Pinia (Iván Tajes Vidal) #5840 - migrate-notification-store-to-pinia (Iván Tajes Vidal) #5847 - Product Slider Refactoring #5861 - Update to doctrine/dbal:4.2 #5866 - Fix can't create customer with different addresses #5867 - Replace sw-text-editor with mt-text-editor #5987 - Add AllowHtml Attribute support (Raffaele Carelle) #6075 - Improve core checkout domain search usage (Benjamin Wittwer) #6194 - Increase account main content width on XL viewport (Max) #6195 - Make accountOrderDropdown button id unique (Max) #6293 - Improve core checkout domain performance (Benjamin Wittwer) #6311 - Increase contrast for slider UI #6347 - Make product variation accessible in seo url templates #6367 - Get rid of the files card on the product creation page #6425 - Update polyfills and cleanup JS #6469 - Use native iteration instead of iterator helper #6491 - Fix elasticsearch indexing performance for orders in administration (Niklas Wolf) #6500 - Add admin vite poc #6500 - Improve vite logs #6565 - Replace Storefront modal links with page links #6577 - Added mapping property to the ManyToMany entity attribute (Oliver Skroblin) #6598 - Fix slot config inheritance for CMS layout overrides via category #6605 - Remove Accessibility Feature Flag and Storefront Deprecations #6633 - Upgrade Storefront deps and jest #6637 - Add AllowEmptyString Attribute support (Raffaele Carelle) #6661 - Improve ResetInterface usage with array data (Benjamin Wittwer) #6673 - Add possibility to use the Google Tag Manager (Max) #6678 - Reorganized menu items on the settings page #6681 - Improve db queries on media files #6686 - Deprecated incorrect non-nullable return types to align with nullable properties #6688 - Fix order delivery state machine name (Benjamin Wittwer) #6694 - Remove language switch from settings > documents #6716 - Changed the default CMS block margin for default listing pages to be aligned #6719 - Restore customer address from order for context #6730 - Removed SQL_SET_DEFAULT_SESSION_VARIABLES and enforce MySQL performance tweaks #6747 - Fix the number slops to find numbers between non-digits #6756 - Ask for save order before proceeding #6801 - Update Bootstrap to 5.3.3 #6817 - Fix ProductStreamUpdater performance issues (Benjamin Wittwer) #6834 - Deprecate DomAccess Helper for 6.8 #6835 - Introduce oauth api client confidential flag #6847 - iOS Quick Look Chrome #6863 - Sorted conditions alphabetically #6874 - Adjust card component position name in order detail #6916 - Marked entity attributes classes final #6938 - Move sw-progress-bar to mt-progress-bar #6953 - Only show style attribute if blockBgColor variable isset (Jan Matthiesen) #6958 - Added phpstan rule ensuring that all attribute classes are final #6960 - ci: skip downstreams in case of no write perms (fixes: #6960) (#6963) #7001 - Fix missing CMS product slider animation and re-enable CMS sliders speed configuration (Elias Lackner) #7002 - Support og:video meta tag (Elias Lackner) #7008 - Fix accessibility issues in address manager #7035 - Removed deprecated Twig filter "spaceless". #7040 - Fix essential characteristics settings cannot save #7050 - Eliminate errors when clicking product rating #7070 - ci: only execute downstream with valid token (fixes: #7070) (#7118) #7071 - Add generic type to entity loaded events (Max) #7073 - Fix translation scope issue in i18n-t component #7076 - Use current order data in mail preview #7091 - Use the correct Opensearch client for es:admin:reset command (John Sorial) #7098 - Add div wrapper support for extensions api #7104 - Implement windowGetId message from meteor Admin SDK #7112 - Fix $set for sw-list-price-field component #7131 - Fixed bulk edit custom fields #7167 - Add aria-labels to product slider controls (Max) #7203 - Bulk editing products stock fails #7231 - Accessibility of keyboard navigation on mobile #7237 - Digital products contain the Measures & packaging card #7238 - Update SwitchContextEvent (Ioannis Pourliotis) #7253 - Set aria-current page for activateNavigationId in navbar #7259 - ci: Move reopened GitHub issues back to WIP (fixes: #7259) (#7381) #7279 - Add new data id to set off-canvas aria-labelledby #7286 - Add internal comment to orders #7359 - Make off-canvas navigation accessible #7362 - Add twig blocks to cms-element-image-gallery.html.twig #7366 - Delete cart immediately after order is created #7369 - Make sw_icons aria-hidden by default #7377 - Fix currency and language switch in OffCanvas #7451 - Fix progress bar showing NaN #7507 - Add missing dependency field of URL runtime field to media definition (Pascal Paul) #7521 - Set WishlistPage to noindex (tinect) #7544 - Improve tag selection in the administration #7614 - Close search suggests when focus of input is lost (Le Nguyen) #7622 - Fix text decoration for search suggestion product link and remove a search suggestion file (Le Nguyen) #7646 - Corrected the property type of MediaEntity::cmsPages (Max) #7702 - Use modern fetch API instead of XMLHttpRequest #7743 - fix cms block removable check (Felix Schneider) 3925 - Support for empty filter values for Equals and EqualsAny filters 40777 - Improve accessibility of footer collapse sections on mobile. 5615 - Allowed nulls in SystemConfigValidator for required values in child-configs ANA-217 - Add shopware.usage_data.collection_enabled config to improve usage of shopware.usage_data.gateway.dispatch_enabled NEXT-36116 - Accessibility improvements for the main navigation https://github.com/shopware/shopware/issues/6672 - Use CheckoutGateway for SetPaymentOrderRoute payment validation https://github.com/shopware/shopware/issues/6872 - Rearrange CartSavedEvent in RedisCartPersister https://github.com/shopware/shopware/issues/6969 - Add file type to download and open e-invoices https://github.com/shopware/shopware/issues/7020 - Added cart errors after recalculation https://github.com/shopware/shopware/issues/7228 - Added missing rule filter for shipping price matrix https://github.com/shopware/shopware/issues/7350 - Show new customer address after saving admin modal https://github.com/shopware/shopware/issues/7454 - Reset customer on cancel order create modal https://shopware.atlassian.net/browse/NEXT-40802 - Single element for v-show condition
See the UPGRADE.md for all important technical changes. #3661 - Add supports to GoogleAnalytics BeginCheckoutEvent (Sascha Heilmeier) #4921 - Fix assert bin/console state-machine:dump (Alexander Menk) #4942 - Add missing twig blocks to admin components as private API (Joshua Behrens) #4968 - NEXT-40034 - #4800 Add field for meta author and use it in frontend (@Schrank) #4971 - smaller documents sender addresses in documents (Felix Hoffmann) #4999 - Improve admin last activity behavior (Benjamin Wittwer) #5020 - Fix admin refresh token (Benjamin Wittwer) #5193 - Improve accessibility of product variant switch #5259 - Refactor form handling for better accessibility #5319 - Change autocomplete to new-password in Honeypot (tinect) #5363 - Bulk entity extension #5366 - Fix issue with defaulting release date to current day in product schema (Stefan Pilz) #5396 - Add extension point for ProductListingLoader loadPreviews (Rune Laenen) #5419 - Change outdated language property to inLanguage on Review schema (Alex Jank) #5453 - Use global entity & entity collection types (Benjamin Wittwer) #5467 - Fix exception thrown by the logic of the ElasticsearchIndexer #5490 - Improve mail sender by using the private file system over message queue (Benjamin Wittwer) #5632 - Prevent license violation from loopback address (Felix Schneider) #5662 - NEXT-39796 - chore: Remove unused storefront lighthouse scripts (@aragon999) #5664 - Cleanup internals of ProductSliderCmsElementResolver (Max) #5668 - fix: dont emit deprecations for production environments, fixes #5668 (#5914) #5680 - NEXT-39781 - fix: schema for the customer accountType distinction #5683 - Improve CheckoutOrderPlacedEvent with SalesChannelContext (Benjamin Wittwer) #5686 - NEXT-39788 - chore: adjust bug issue template (@niklaswolf) #5689 - Unify cache state and cookie constants (Max) #5690 - NEXT-39801 - Fix payment method active toggle (@lacknere) #5705 - NEXT-39820 - refactor: Various code simplifications (@aragon999) #5739 - Fixed Elasticsearch Filter parsing of translated fields in product-related entities (Martin Bens) #5761 - Identify themes installed via plugin by technical name (Elias Lackner) #5780 - Move mail variable update to system scope (Felix Schneider) #5792 - Show generation date for coupon codes (Alexander Menk) #5806 - Remove unneeded uppercasing of PHP methods (Max) #5820 - Added new .encode event for store api routes (Oliver Skroblin) #5834 - [A11y-HTML] Offer HTML alternative to our pdf standard documents #5839 - Add promo code input placeholder #5844 - Ability to add modal root content #5874 - New adresse manager modal #5877 - Add SystemLanguageChangeEvent to ShopConfigurator #5881 - Unify focus outlines for better accessibility #5902 - improve-scheduled-task-recovery (Julian Drauz) #5925 - Immediately invalidate critical caches #5927 - Additional header for http, replace escaped URLs #5939 - Validate migration timestamps #5950 - Consistent JavaScript filename in Storefront #5966 - Set default search result sorting #5988 - Add product slider release date sorting (Benjamin Wittwer) #6002 - Select initial hreflang localisation when creating a new sales channel domain (Max) #6007 - Fix sw-promotion module position (Benjamin Wittwer) #6010 - Fix Cyprus vatId pattern #6013 - Fix deletion of extensions with cancelled licenses #6015 - Fix Display of Expiration Date of Extensions #6026 - Fix app-action visibility behavior #6035 - Improve PaymentMethodIndexer context state usage (Benjamin Wittwer) #6036 - Improve SalesChannel id & context usage (Benjamin Wittwer) #6040 - Remove message queue error notification in admin #6042 - Add enum field to DAL #6043 - Improve test generator generateSalesChannelContext (Benjamin Wittwer) #6046 - Update context languageIdChain types (Benjamin Wittwer) #6048 - Allow custom pagination parameters (Max) #6049 - Replace custom CSS declarations from the _header.scss file by bootstrap helper classes (Max) #6058 - Fix memory leak in tooltip directive #6059 - Add mysql cache invalidator storage #6061 - Add force cache invalidate header #6062 - Deprecate cache id loading #6068 - Introduce Hydrator class on Attribute Entity #6069 - [A11y-HTML] Mark image as decorative #6074 - Improve method call usage (Benjamin Wittwer) #6076 - Improve administration area search usage (Benjamin Wittwer) #6077 - Improve elasticsearch area search usage (Benjamin Wittwer) #6176 - Fix b2b package phpstan-type (Benjamin Wittwer) #6187 - Clean entity schema cache key on framework schema generation (Benjamin Wittwer) #6196 - Make JIRA issue in changelog create command optional (Max) #6197 - Fix foreign key definition (Oliver Skroblin) #6205 - TWIG Update to 3.18.0 #6218 - Updated child order line item quantity on parent quantity change #6236 - Change the stable version of experimental spatial features to 6.8 #6240 - Disabled autoplay to legal advice on accessibility #6251 - Inject aria-label from data grid component to the form controles in a column ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) #6256 - CMS sections changed to HTML sections #6262 - Fix message deserialization (Christian Schiffler) #6282 - Deprecations related to the update to doctrine/dbal:4 in shopware 6.7 #6288 - SHOPWARE_ADMIN_BUILD_ONLY_EXTENSIONS flag is now only working in production builds #6289 - Fix totalReviewCount with matrix total (Benjamin Wittwer) #6292 - Introduce ESI for header and footer #6292 - Introduce global template data for language and navigation #6295 - Improve storefront area search usage (Benjamin Wittwer) #6298 - Remove the asterisk next to every price #6301 - Fix image gallery navigation 'none' configurations (Elias Lackner) #6314 - Improve cart line item prices for screen readers #6327 - Use plugin upgrade version, if available, to check for plugin conflicts (Julian Drauz) #6328 - Added theme-name option to theme:dump command (Oliver Skroblin) #6337 - Fix address editor modal udpate multiple state selects (Yanneck Bülow) #6355 - Send small mail object directly without filesystem access (Benjamin Wittwer) #6360 - Change sidebar support link styles #6368 - Fix EntitySearchResult entity types (Benjamin Wittwer) #6402 - Added live updates for cart changes in the Storefront #6448 - Make Rule classes internal #6462 - Fixed the listing when using the browser back button and filters #6474 - Fix data grid inline edit ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) #6490 - Add addTrailingSlash option to url field ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) #6493 - Allow empty fields in theme config #6496 - Fix webpack plugin config order #6496 - Update Twig to 3.19.0 #6498 - Added skip button to image gallery element for better accessibility. #6514 - Deprecate fine-grained caching #6524 - Remove unneeded tax info in order item #6592 - Adjust VAT, TOS and tax links to show modal depending on the context #6647 - Mark parts of the Import/Export functionality as internal #6658 - Fix CMS-Section background (Rune Laenen) NEXT-00000 - Add technicalName of Payment Method to allow list NEXT-00000 - Fix loading data for one to many grid component NEXT-18106 - Added Oauth support for mail authentication NEXT-25333 - Remove deprecated autoload === true associations NEXT-32135 - Set-Group promotions cause a timeout if too many products are in cart NEXT-36185 - Fix navbar category image overlap NEXT-37481 - Add h1 to listing layouts NEXT-37585 - Don't consider user given limits in storefront NEXT-37992 - Shopping cart is emptied after login of a B2B employee NEXT-37992 - Shopping cart is not moved to new token NEXT-38322 - Services stability improvements NEXT-38513 - Improved Checkout accessibility NEXT-38535 - Adding the sort when searching the properties NEXT-38710 - A11y promotion discounts are not read as negative amounts NEXT-38716 - A11y convey how the promotion information when submit NEXT-38805 - Improved A11y for 3D Viewer NEXT-38812 - Improve open AR button for VoiceOver NEXT-38845 - Added mail template test language not assigned to sales channel warning NEXT-38975 - Fix forms labels conflict NEXT-39088 - add accessibility to embeded videos NEXT-39173 - Remain original Admin API sales channel source NEXT-39173 - create rule for check rule order creation by admin NEXT-39193 - Changed login and register h1 into h2 NEXT-39211 - Improve modal accessibility in the Storefront NEXT-39214 - Display remove from wishlist title on remove button hover NEXT-39231 - A11y change display property for checkout aside NEXT-39251 - General accessibility warning hint for admin options NEXT-39344 - Update to Symfony 7.2 NEXT-39388 - Using external URL for media's path without storing physical files NEXT-39546 - Fix an issue where the product available is set to 0 if the isCloseout is null NEXT-39630 - A11y changed link styling in checkout NEXT-39635 - Refactor navigation options of product slider NEXT-39641 - datepicker shows date and time in the format depending on the locale ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) NEXT-39671 - Deprecate implicit HTTP cache clearing from cache:clear command and introduce explicit cache:clear:http command NEXT-39736 - Add aggregate admin api NEXT-39740 - A11y date picker must have label NEXT-39755 - Deprecate messenger.bus.shopware service NEXT-39764 - Set limit for generating promotion code NEXT-39781 - Add flag to ignore certain fields in openapi Schema NEXT-39782 - Deprecate setTwig in Storefront Controller NEXT-39790 - Add aria label to price field currency link NEXT-39803 - Fix draco encoders path NEXT-39855 - A11y mobile filter panel NEXT-39885 - Allow duplicate promotion NEXT-39910 - Allow disable product stream indexer NEXT-39921 - Speculation Rules for the Storefront NEXT-39965 - Fix upgrade symfony7.2 broken behind proxy configuration NEXT-39986 - Reduce duplicated requests in media module NEXT-40007 - Deprecate custom entities for plugins NEXT-40008 - Add flag for persistent database connection NEXT-40014 - Deprecate DISABLE_EXTENSIONS and add PERFORMANCE_TWEAKS flag NEXT-40034 - Add meta author configuration and use it in frontend NEXT-40037 - Add mysql compression flag NEXT-40042 - Changed invalid access key exception returned status code NEXT-40175 - Removed the total count mode when selecting products during order creation in the administration. #6763 - Add custom_field storeApiAware field (Benjamin Wittwer) #4666 - Do not show skip to content when clicking scroll up button
See the UPGRADE.md for all important technical changes. #3476 - NEXT-33504 - fix: Allow association_fields of media_default_folder to be nullable (@aragon999) #3486 - NEXT-32844 - fix(elasticsearch): Add separator to admin ES search indexer queries (@M-arcus) #3494 - NEXT-30575 - fix(core): Remove HTML sanitization from mail header and footer fields (@M-arcus) #3518 - NEXT-33235 - perf: Only use searchIds for import id resolving (@aragon999) #3567 - NEXT-34491 - NEXT-14691 - Add pseudo modal twig blocks (@lacknere) #3579 - NEXT-34070 - Improved seo url replacer (@akf-bw) #3580 - NEXT-34102 - Add new block in analytics template (@wannevancamp) #3605 - NEXT-34399 - Update action.html.twig to include css class for detail button (@choeft) #3611 - NEXT-34676 - Update ProductDetailRoute.php (@aneufeld23) #3684 - NEXT-36143 - feat: resolve extension parameters in compiler passes (@Ocarthon) #3718 - NEXT-36288 - feat: Add event to select variant on product detail page (@aragon999) #3779 - NEXT-36924 - Add missing check for context object in request attributes for StoreApiSeoResolver (@mromeike) #3833 - NEXT-37557 - Update Bootstrap Docs Link (@levin192) #3836 - NEXT-37684 - Fix updating thumbnails in strict mode (@phizab) #5759 - Fixed Elasticsearch Filter parsing of translated fields in product-related entities (Martin Bens) NEXT-32135 - Set-Group promotions cause a timeout if too many products are in cart NEXT-38535 - Adding the sort when searching the properties NEXT-38579 - Changed to cleanup custom fields before save to DB NEXT-39044 - Fix order can not recalculate when line items are empty NEXT-39215 - Fixed Belgian VAT ID pattern NEXT-39245 - Fix address handling does not work properly NEXT-39299 - Fixed price field collection serialization NEXT-39349 - Fixed shipping method fixed tax recalculation NEXT-39414 - Fix issue delivery promotion not apply
See the UPGRADE.md for all important technical changes. #3513 - Allow rate limiter usage twice without breaking memoized rate limit configuration (Joshua Behrens) #3829 - Remove cover of line item if media has been deleted (Max) #4764 - Prevent product being loaded in own cross selling product streams (Elias Lackner) #4881 - Fix - delivery address editing during order creation saving leads to Axios error (Lily) #4924 - Fix flow for setting delivery status does not reliably set status for orders with shipping discounts #4958 - Fix component name of custom fields on change (Max) #4965 - Make it possible to configure the order of the city and ZIP field (Max) #4986 - NEXT-39519 - * If no label set in a custom fields option, the technical name will be displayed. #ISSUE-4641 (@nextflex) #5042 - NEXT-39515 - Update UPGRADE-6.5.md (@wannevancamp) #5105 - Fix admin i18n tags (Benjamin Wittwer) #5116 - Fix JS script loading of child themes in the Storefront (Raffaele Carelle) #5119 - Fix custom field content in flow builder #5133 - Set 'X-Shopware-Event-Name' header to type string in MailService (Marcus Müller) #5188 - Only show Google Ads cookie notice if Google Analytics is enabled (Max) #5228 - Fix Mailer Settings persisting old data (Florian Liebig) #5230 - NEXT-39606 - Allow to specify custom field types for attributed entities (@nickygerritsen) #5241 - NEXT-39609 - Allow to specify entity collection for attributed entities (@nickygerritsen) #5254 - Add more line-item TWIG blocks (Toby Denhaerinck) #5282 - Removed sites from apple-touch-icon (tinect) #5288 - Add rule for requested customer group (Robin Homberg) #5303 - Fix gallery slider image height while loading (Carlo Cecco) #5305 - Add criteria filter types to sw-string-filter (Marcus Müller) #5306 - Add option to exclude hidden products from sitemap (Marcus Müller) #5315 - Fix session persistent sw-imitating-user-id (Benjamin Wittwer) #5320 - Reuse product slider stream associations and fields from collect criteria (Elias Lackner) #5332 - Fix administration promotion detail bugs (Benjamin Wittwer) #5334 - Added pdf renderer extension (Oliver Skroblin) #5336 - Added extension point for flow executor #5342 - Changed shopware.http_cache.ignored_url_parameters by removing duplicate gad_source parameter (Wanne Van Camp) #5372 - Fix multiple field types in product bulk edit #5374 - Fix unknownRedisConnection adapter exception message (Benjamin Wittwer) #5376 - Fix snippets inaccessible & unchangeable (Benjamin Wittwer) #5400 - NEXT-39449 - fix: Do not use deprecated method in Twig rendering (@aragon999) #5402 - Added --force option to command bin/console system:setup:staging (Marcus Müller) #5412 - Open correct image in PDP Zoom modal (Rune Laenen) #5421 - NEXT-39713 - chore: Correct command in changelog (@aragon999) #5426 - Fix return type of method getOrderCustomers (Moritz Müller) #5428 - Fix promotion help text (Benjamin Wittwer) #5456 - Fix symfony scheduler bridge for tasks with long interval #5463 - NEXT-39597 - Update .gitignore to exclude the .vscode folder except settings.json (@akf-bw) #5482 - Change behaviour of MessageQueueSizeRestrictListener (Benjamin Wittwer) #5483 - NEXT-39594 - fix: correct config-schema.json to match properties of usage_data (@tinect) #5513 - NEXT-39737 - Fix typo in QueryStringParser (@sjerdo) #5690 - Fix payment method active toggle (Elias Lackner) NEXT-21038 - Add SCSS Validator for theme changes NEXT-29543 - Dont apply fuzzy search by default NEXT-33734 - Parameter renaming in MigrationStep NEXT-35928 - Add skip to links for search and navigation NEXT-35977 - Fix Admin Vite for cluster setups NEXT-36468 - Move product review loader to core (Benjamin Wittwer) NEXT-37103 - Add Elasticsearch explain mode NEXT-37265 - Fix stopwords are not working with AND search NEXT-37335 - Fix account password autocomplete NEXT-37406 - Fix the inheritance of the search keywords cannot be activated NEXT-37409 - Allow injection of additional context actions above dangerous actions in sw-extension-card-base NEXT-37478 - Improve loading performance admin shipping detail page NEXT-37801 - Valid date range condition for rule builder NEXT-38215 - Prevent displaying discount message of automatically promotion in the cart if total price is zero NEXT-38296 - Fix default hero image display NEXT-38414 - Media library items disapear after switch tabs in media modal NEXT-38481 - Dynamic content replacement with custom fields NEXT-38490 - Fix select indicator NEXT-38643 - Allow update product description containing only invalid tag NEXT-38681 - Add 3D Scene editor primitives and materials to data collection NEXT-38709 - A11y Promotions input has no visible label NEXT-38712 - A11Y promotion submit button has no accessible name or visible label NEXT-38714 - A11y promotion input accessible name/instructions are unclear NEXT-38757 - Cart duplicates when restored by token NEXT-38862 - Fix sw-url-field not emitting empty urls NEXT-38923 - Improved outline contrast of button links NEXT-38924 - A11y change styling for promotion submit button NEXT-38926 - Improved semantics of product quantity inputs NEXT-38927 - Improved accessibility of quantity select with live updates NEXT-38947 - Default not_specified salutation is invalid NEXT-39044 - Fix order can not recalculate when line items are empty NEXT-39104 - Omit duplicate links in product box NEXT-39192 - Changed mini cart headline to facilitate accessibility NEXT-39196 - The filtering of variant list are not working correctly NEXT-39215 - Fixed Belgian VAT ID pattern NEXT-39242 - Fix unsaved saleschannel domain NEXT-39245 - Fix address handling does not work properly NEXT-39299 - Fixed price field collection serialization NEXT-39312 - Add configurable installer timeout (Marc Christenfeldt) NEXT-39314 - Updated product comparison sales channel template NEXT-39317 - windowRouterPush handle does not await for promises inside to resolve NEXT-39321 - Hot Reload - dont follow redirects, DDEV config NEXT-39321 - Hot reload improvements for fonts, svg and ddev NEXT-39349 - Fixed shipping method fixed tax recalculation NEXT-39374 - Support multiple theme variables in HotMode NEXT-39402 - Add missing registration of guest customer deletion task NEXT-39414 - Fix issue delivery promotion not apply NEXT-39430 - Fixed currency selection failure NEXT-39436 - PHP class properties will be natively typed in the future NEXT-39489 - Remove duplicated sortedProperties from SalesChannelProductDefinition NEXT-39569 - Fix Sync License Host for services NEXT-39603 - Reduced data loaded in Store-API Register Route and Register related events NEXT-39606 - Allow specifying field class for attributed entities directly (Nicky Gerritsen) NEXT-39609 - Allow to override entity collection class for attribute entities (Nicky Gerritsen) NEXT-39627 - Explicitly setting lazyLoad flag to false for redis connection services NEXT-39651 - Fix ElasticSearch indexing exception on order updates NEXT-39659 - Required foreign key in mapping definition for many-to-many associations NEXT-39678 - Fix unique ids for address forms NEXT-39724 - theme:dump interactive part should be optional NEXT-39749 - Unwrap messages when routing
See the UPGRADE.md for all important technical changes. #3764 - Unique Ids for address forms #3780 - Do not use case insensitive validation of vat ids (Max) #3782 - Use correct locale when switching language (Melvin Achterhuis) #4582 - NEXT-38751 - Select all required inputs in addresses (@miljkovic5) #4583 - Fix cms form reset on unsuccessful ajax submission (Paik Paustian) #4585 - Add error on unstoppable submit events, that should be handled by form-ajax-submit plugin (Joshua Behrens) #4686 - Add cross selling tab to variants (Elias Lackner) #4734 - Fix back/forward cache issue in language switch (Niklas Wolf) #4746 - Fix to handle Google ReCaptcha double form submit (Carlo Cecco) #4773 - Updated ignored URL parameters for http cache (tinect) #4844 - Cancelled order should not be editable in the storefront (Carlo Cecco) #4846 - Export products without manufacturer #4908 - NEXT-38713 - Just apply filters of the criteria builder to build the sync criteria (@OliverSkroblin) #4929 - Add new inner block to order list bulk slot (Ioannis Pourliotis) #4931 - Changed PromotionGatewayInterface return type to PromotionCollection (Max) #4934 - Move label outside of button group #4944 - Dispatch Address Validation Events With Correct Name In CheckoutConfirmPageLoader (Alessandro Aussems) #4946 - Extending context (Oliver Skroblin) #4949 - Fix demodata of mapped fields (Max) #4966 - Fix double slash in sitemap urls for entities without seo url (Benny Poensgen) #4969 - Fix custom stock storages (Felix Schneider) #4972 - Changed algo for DataContextHash in CartProcessor (tinect) #4973 - NEXT-38758 - Refactor getContext method to include SalesChannelId (@raffaelecarelle) #4974 - Removing ratingSuccess variable in twig (Joschi) #4975 - Fix watch storefront multi saleschannel with multi theme #4976 - Added WriteBatchInterface (tinect) #4977 - Fix overlapping text in cookie configuration in safari (Joschi) #4982 - Fix the selected customer when creating a new order (Moritz Müller) #4984 - Add criteria titles to wishlist Store APIs (Joshua Behrens) #4987 - NEXT-38726 - Removed non-existent argument from pre-commit ecs-fix (now using php-cs-fixer instead of ecs) (@raffaelecarelle) #4990 - NEXT-38727 - Allow ThemeCreateCommand.php to create static themes (@raffaelecarelle) #4991 - NEXT-38725 - chore: Add native return type to subscriber (@aragon999) #4992 - Do not yield an error if the .finish-ordernumber element cannot be found (Max) #5055 - Add new console command "cache:clear:all" (Raffaele Carelle) #5092 - NEXT-38884 - Fix typo in CartCalculator (@JoshuaBehrens) #5103 - Fix imitate customer button (Benjamin Wittwer) #5139 - Only add invalid class when field violation is present (Jasper Peeters) #5147 - NEXT-39100 - Remove internal state from Defaults (@OliverSkroblin) #5152 - Fix WriteCommandQueue command order (Benjamin Wittwer) #5172 - Add frame-ancestors to default Content-Security-Policy Header (Florian Liebig) #5176 - NEXT-39159 - Use constant from parent class in InstallServicesTask.php (@ablazejuk) #5177 - Remove internal from ids collection (Oliver Skroblin) #5178 - Allow generic store api response (Oliver Skroblin) #5179 - NEXT-39224 - Remove deprecation of AppSystemTestBehaviour (@OliverSkroblin) #5180 - Fix colorpicker overlapping issue (Florian Liebig) #5191 - Fix styling input groups (Wanne Van Camp) NEXT-21888 - Added landing page provider for sitemap NEXT-33839 - Resolve seoUrls in cmsPage content via store API NEXT-35023 - Fix the bug that changed stocks are not updated to es NEXT-36797 - Using product stream preview API to load products when assigning a dynamic product group to a category NEXT-37689 - Metrics public interfaces NEXT-37871 - Rewrite Hot Reload to support HTTPS NEXT-37871 - Support TLS proxy for hot reloading NEXT-37903 - Enable headless sales channel without a theme assigned NEXT-38225 - Customer is created despite error by using Admin API NEXT-38234 - Improve CMS display mode configuration and preview NEXT-38259 - Fix image slider on mobile NEXT-38382 - Remove JSON API content type from request body NEXT-38384 - Catch exception if local storage is blocked NEXT-38410 - Configurable layout filter in the category settings NEXT-38411 - Show selected customer in create order popup when navigating from customer module NEXT-38422 - Improved redis config structure NEXT-38483 - Add form prefix NEXT-38485 - Changed HTML sanitizer for mail template footers and headers NEXT-38504 - Missing block in sw-customer-imitate-customer-modal component NEXT-38519 - Fixed snippet file sorting in snippet module NEXT-38534 - Add opensearch sigv4 credential provider configuration NEXT-38535 - Properties in product detail page are sorted randomly NEXT-38579 - Changed to cleanup custom fields before save to DB NEXT-38579 - Removal of obsolete method in DefinitionValidator NEXT-38615 - rename stores with the Store suffix ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) NEXT-38616 - Unify config files NEXT-38617 - Migrate Admin Menu Store to Pinia ([Iván Tajes Vidal](https://github.com/Iván Tajes Vidal)) NEXT-38638 - Dispatch editing user through extension API NEXT-38645 - Additional bundles from bundle NEXT-38696 - Validate cache states before persisting response to cache NEXT-38713 - Allow delete by filter over sync API NEXT-38717 - Product number range cannot be created NEXT-38723 - Add Prettier to the Administration NEXT-38751 - Fix required zip-code field (Vladimir Miljkovic) NEXT-38758 - Added salesChannelId parameter to TestShortHands integration tests trait NEXT-38789 - Improve contrast for inputs and remove button NEXT-38794 - Deprecate unused auth endpoint NEXT-38809 - Allow csv, xls and xlsx in media manager NEXT-38846 - Improved category and product indexing for many entities at once NEXT-38914 - Fix breadcrumbs API for the LP NEXT-38995 - Add directory code coverage for service package in phpunit NEXT-39001 - Fix conflict between same filenames during build NEXT-39077 - Add global exports to Shopware object NEXT-39100 - Remove internal flag from Defaults (Oliver Skroblin) NEXT-39103 - Fill the last_usage_at date in the integration table NEXT-39224 - Remove deprecation of AppSystemTestBehaviour (Oliver Skroblin)
See the UPGRADE.md for all important technical changes. #3575 - Use order currency if defined to display line items, default to context currency (Melvin Achterhuis & Fabian Blechschmidt) #3738 - NEXT-38052 - Fix include of address actions (@iNaD) #3819 - Only select used fields of translation tables (Sven Münnich) #3824 - NEXT-38051 - added missing twig dependency StorefrontControllerGenerator (@panakour) #3844 - Add no-progress option to indexing commands (Marcus Müller) #4491 - Fix Shopping Experience demo entity loading (Max) #4501 - Mark autoprefixer as deprecated (tinect) #4538 - Fix partial hydreateEntity bug #4544 - Fix product category selection unchecked (Elias Lackner) #4632 - NEXT-38321 - Fix: product.rating-averaget to product.rating-average for indexing (@bh-pu) #4665 - NEXT-38216 - handling sliderInfo.controlsContainer undefined case in base-slider.plugin.js (@luminalpark) #4671 - Allow admin-search to get aborted by new request (Benjamin Wittwer) #4672 - Deprecate legacy format in system:config:get command (Max) #4687 - Fix deprecation message for shopware.payment.method (Rahpaël HOMANN) #4700 - add support for message queue for local sendmail type (tinect) #4704 - Fix state attribute on attributed entities (Nicky Gerritsen) #4737 - Prevent newsletter optin through HEAD requests (Niklas Wolf) #4760 - Cast thumbnail size to integer (Vladislav Sultanov) #4779 - Changed usages of hash algo md5 to xxh128 (tinect) #4782 - Changed hash algo for manifest to xxh128 (tinect) #4788 - Improve order amount stats performance (Benjamin Wittwer) #4812 - Move NavigationPageLoadedEvent to end (Niklas Wolf) #4819 - Changed wishlist cookie from a session cookie to a cookie valid for 30 days (Max) #4820 - Do not throw an error if no labels are present on country change (Max) #4821 - Remove unneeded mediaFolder association (Max) #4822 - Simplified product media sorting (Max) #4850 - Added mailTemplateId and mailTemplateTypeId to data sent to mail action (Niklas Wolf) #4851 - Added criteria events for country and country state routes (Niklas Wolf) #4865 - NEXT-38520 - Avoid double submissions on password recovery form (@sneakyvv) #4894 - Changed the JSON-LD schema links to use https instead of http (Wanne Van Camp) #4903 - NEXT-38521 - Ignore Google Merchant parameter for caching (@wannevancamp) #4948 - Do not create log package in plugin database migrations (Max) #4953 - NEXT-38701 - Fix Typo('s) in PR Template (@alessandroaussems) NEXT-16211 - Add ProductListingCriteriaExtension NEXT-19063 - Added company and department to different views NEXT-24954 - Add store API endpoints for product and category breadcrumbs NEXT-26677 - Added ariaLabel parameter to sw-icon NEXT-26705 - Improve keyboard UX and accessibility in top-bar navigation NEXT-26705 - Preserve focus of radio inputs for shipping and payment method selection in checkout NEXT-26705 - Preserve focus state after variant switch page reload NEXT-26712 - Add missing visual focus states NEXT-26712 - Improve focus handling for Off-Canvas cart and quantity selector NEXT-26715 - Improve error suggestions NEXT-32922 - Postal code not mandatory in alternative delivery address NEXT-33575 - Use bootstrap prefix variable instead of hard-coded bs- NEXT-33697 - Accessibility improvements for the slider plugin NEXT-33807 - Improved text editor formatting NEXT-33807 - Improved text formatting in the storefront NEXT-33825 - Update postal code required for country table to default value is true NEXT-34090 - Change search dropdown close action to button NEXT-34133 - Add initial services infrastructure NEXT-34142 - Fix creating invoices via bulk edit missing invoice address NEXT-34189 - Shipping cost discount is not recalculated correctly NEXT-35455 - Prevent account menu dropdown on mobile NEXT-36016 - Improve inheritance in cms-details page NEXT-36382 - Introduce app filesystem abstraction NEXT-36420 - Added new batch import strategy for import/export NEXT-36490 - Incorrect tax calculation for shipping costs with automatic calculation with discount item NEXT-36697 - Double thumbnail after uploaded NEXT-36851 - Moved plugin config button to main view NEXT-36925 - Release promotion code after remove promotion line item NEXT-37279 - Add chunkhash for async JS built files NEXT-37439 - remove-bundles-from-path NEXT-37456 - Fix generate individual code more than 25 items NEXT-37503 - Update variant listing config when removing variants of product NEXT-37506 - Prevent hyphens in custom field names NEXT-37521 - Use correct Domain for Sitemap locations in SitemapIndex NEXT-37532 - Fix unselect for media base item NEXT-37564 - Remove deprecations during test execution NEXT-37654 - Property value is limited to 500 on when on generating variant modal NEXT-37658 - Fixed the issue where product export feed does not meet idealo requirements NEXT-37661 - Allow toggling page smart bar NEXT-37692 - Add json output for system checks command NEXT-37767 - Fixed orders of app-cms blocks via xml NEXT-37832 - Changed price schema for open api spec to be more precise NEXT-37869 - Hide update button for extensions managed by composer NEXT-37900 - Fix test namespace regex in DefinitionValidator NEXT-37991 - Fix many to many filtered join to same table NEXT-37997 - VAT is not mandatory in alternative shipping address NEXT-38011 - add defineStore method to Shopware.Store NEXT-38012 - Prevent overwriting of media path NEXT-38038 - Optimizing Elasticsearch product indexing NEXT-38043 - Add product variants only NEXT-38045 - Update ESLint rules NEXT-38052 - Deprecate address card template (Daniel Gehn) NEXT-38112 - Fix issue cart discount with rule not possible in promotion NEXT-38170 - Improve account orders accessibility NEXT-38207 - Cash rounding for tax prices with multiple tax rules NEXT-38209 - Added category object to navigation page NEXT-38229 - Add interval DAL fields to entity generator NEXT-38239 - Update Twig to 3.14.0 NEXT-38241 - allow customFields on mapping on newsletter_recipient NEXT-38262 - Fix issue cart discount with total quantity rule not possible NEXT-38266 - Expand notification message column to allow longer messages NEXT-38273 - Added an Import/Export locale code serialization fallback NEXT-38309 - Fix issue cannot rename media files when remote thumbnails are enabled NEXT-38324 - Change size of icon for confirm field component NEXT-38331 - Fix password reset validation handling NEXT-38407 - Remove duplicate twig block NEXT-38409 - Load all languages in snippet modal NEXT-38420 - Make StateAwareTrait serializable NEXT-38427 - Sort sales channels in product visibility selection (Marcus Müller) NEXT-38436 - Fix birthday display in admin NEXT-38495 - Update account accordion to Bootstrap version 5 NEXT-38520 - Block double password recovery form submissions (Bart Vanderstukken) NEXT-38521 - Add srsltid parameter to ignored http cache parameters (Wanne Van Camp) NEXT-38642 - add sw-users-permissions-user-detail-integrations position identifier NEXT-7505 - Improved extensibility of CMS resolvers
See the UPGRADE.md for all important technical changes. NEXT-28114 - Rework Storefront pagination to use anchor links NEXT-34379 - Add Email Idn handling NEXT-37350 - Allow attributed entity to have a many to many association with versioned entities (Nicky Gerritsen) NEXT-37127 - Add the possibility to add other test namespaces to the FeatureFlagExtension NEXT-36869 - Added 3D Viewer light intensity in Media config NEXT-33271 - Exclude custom fields of type text from possible float casting NEXT-37386 - Abstract and reduce rule condition components (Justus Maier) NEXT-37370 - Media thumbnails load incorrectly when switching remote thumbnail setting from disabled to enabled NEXT-37348 - Fix shipping address in order detail work not correct after changes NEXT-37418 - Add media option to dynamic url field (Elias Lackner) NEXT-35061 - Allow template to load without custom form type NEXT-37382 - Silently ignore admin ES errors NEXT-37467 - Improve admin component override logic (Benjamin Wittwer) NEXT-36117 - Affiliate and campaign code editable NEXT-36102 - Fix product slider not displaying products from dynamic product groups NEXT-37454 - Ignore old js script files during theme compile NEXT-26717 - Improve listing filter accessibility for screen readers NEXT-37443 - Only cast custom fields to floats when they are number types NEXT-37512 - Fix cms product slider offsetWidth error (Elias Lackner) NEXT-37464 - Fix accessibility violations according to AXE report NEXT-37146 - Fix customer groups seo url display NEXT-36445 - Fix missing salutation error when creating a customer NEXT-37462 - Upsert custom fields in app lifecycle NEXT-33696 - Improve focus handling for modal and offcanvas content NEXT-37272 - Replace assignment count in cms layout listing NEXT-37277 - Update @shopware-ag/meteor-icon-kit dependency NEXT-37525 - Allow empty tax provider results NEXT-26712 - Add visible focus states for wishlist buttons NEXT-26714 - Add language to reviews NEXT-37412 - Added a customer before delete flow trigger NEXT-37588 - Exclude folder categories from sitemap (Elias Lackner) NEXT-33697 - Improve the accessibility of slider elements NEXT-26682 - The user needs to be able to close triggered, additional content NEXT-37362 - Add system healthchecks structure NEXT-37684 - Fix updating thumbnails in strict mode (Philipp Zabel) NEXT-37667 - Add integration tests covering searching and reading translated entities (Sven Münnich) NEXT-33693 - Improve accessibility of image zoom modal NEXT-37699 - Add visibility to cms block defaults (Max) NEXT-37109 - Adjusted time zone hint at datepicker component NEXT-37605 - Allow singular shipping address in register route NEXT-37100 - Enforce message queue size NEXT-00000 - Add max length constant of text to ElasticSearch indexing (Marcus Müller) NEXT-37666 - Fix minor changelog linting and creation issues (Marcus Müller) NEXT-31802 - Fixed the currency display in account orders to use the correct currency of the order NEXT-37480 - Fix issue promotions with rules cannot apply NEXT-37571 - Validate VAT Reg.No. format does not work correct NEXT-26680 - Improved text scaling of the Storefront NEXT-37673 - Dont save cart on any request NEXT-37600 - Change typehint in MediaUrlPlaceholderHandler NEXT-33689 - Improved registration form accessibility NEXT-37559 - Removed language dropdown from Settings > Basic Information NEXT-37720 - Fix data-grid column ordering (Elias Lackner) NEXT-37593 - Fix issue promotions are not applied anymore when the max. uses per customer is reached NEXT-27410 - Fix price validation in custom fields NEXT-37567 - Sign static iframe module src NEXT-37724 - add-composer-name-to-plugin-list-command NEXT-31669 - Cache tagging NEXT-34338 - improve-cms-product-slider-variant-display NEXT-37715 - Make the promotionId within Order-Line-Item definition writable for AdminAPI NEXT-37759 - Improving admin performance for layouts with many elements NEXT-37713 - Fix deletion of categories from category (Max) NEXT-37783 - Adding beforeUpdateQuantity property to BeforeLineItemQuantityChangedEvent after line item quantity modification (Carlo Cecco) NEXT-37993 - Allow "0" value for translated string fields with custom hydrators (Max) NEXT-25614 - phpstan rule to validate acl names NEXT-34090 - Fix scroll up button accessibility NEXT-37745 - Undefined TCPDF constant caused by opcache preloading NEXT-37772 - Remove argument delay from InvalidateCacheTaskHandler (tinect) NEXT-38050 - Add missing GROUP BY to EntityReader NEXT-37561 - Deprecated exceptions and properties due to PHPStan update NEXT-38080 - Add criteria nesting level
See the UPGRADE.md for all important technical changes. NEXT-37141 - Add toggle to choose generate variants or only add variants (Alexander Menk) NEXT-0000 - Remove category criteria for editor links (Max) NEXT-337778 - Order placed incorrectly NEXT-37361 - Show all property filters when filterable properties are not restricted (Max) NEXT-31047 - Improve payment handlers & general payment process NEXT-21273 - Add Media Option to CMS Link Selector (Alexander Menk) NEXT-35756 - Add error handling to HttpClient service NEXT-34674 - Elasticsearch with special chars NEXT-36854 - Add customer impersonation (Benjamin Wittwer) NEXT-37357 - Improve admin login session (Benjamin Wittwer) NEXT-35618 - Fixed the headline for SEO in product detail page NEXT-36499 - Fix cms data mapping for nested translations (Christoph Pötz) NEXT-36528 - Add intra-community delivery label to all tax relevant documents (Marina Egner) NEXT-36872 - Add path required to run profiler to storefront url whitelist (Benedikt Brunner) NEXT-373559 - Run unit-setup in admin:unit:watch command (Max) NEXT-36782 - Add storage name to entity attributes NEXT-34382 - Fix company addresses to be shown twice NEXT-34808 - Total in cancellation invoices should be negative NEXT-36424 - Fix no matching sales channel found when creating order NEXT-35776 - Added URI to environment information NEXT-36982 - Fix media url loader with unset thumbnails (Elias Lackner) NEXT-35343 - The selected order language is not saved for a manually created orders NEXT-36983 - Add mediaUpdatedAt to thumbnailPattern for disabled thumbnail generation (tinect) NEXT-37360 - Fix administration input of linked prices and comma values (Max) NEXT-36924 - Fix StoreApiSeoResolver priority and add context check before accessing it (Marcel Romeike) NEXT-36876 - Fixed typo in language-widget NEXT-16551 - Add order and customer number filters to admin lists NEXT-36774 - Fix $super call stack exception NEXT-34642 - Add default value for augmented-reality media NEXT-36534 - Bulk edit with more than 25 selections broken NEXT-37067 - Fix dead form serialize utility guard (Justus Maier) NEXT-26705 - Add skip to content link to improve a11y NEXT-00000 - Fix performance issues in EntityLoadedEventFactory (Cedric Engler) NEXT-36837 - Fix rule condition price listprice percentage ratio to actually use ratios NEXT-12399 - Improve product search term scoring on exact matches (Elias Lackner) NEXT-37145 - Add twig blocks to sw-order-create-general-info.html.twig (Jörg Lautenschlager) NEXT-36862 - Adjust AR icon label and 3D placeholder NEXT-36927 - Don't remove cache cookies for 404 pages NEXT-37104 - Improve wishlist user experience (Elias Lackner) NEXT-16807 - Search by product number NEXT-37123 - Update Github playwright test image (Max) NEXT-30132 - Add API routes list endpoint NEXT-33726 - Allow adding default values to custom entities NEXT-34309 - Enhance plugin:list command output with information about plugins required by composer NEXT-31209 - Increase app payment timeout to 20 s NEXT-37072 - Only cleanup successfully delivered or permanently failed webhook events NEXT-37121 - Search by product number should redirect to detail page NEXT-36809 - Deprecate sw-select-number-field component NEXT-37034 - Fix automatically applied promotions does not work after save the order NEXT-37140 - Limit search term length for mysql search NEXT-37143 - Merge search preferences NEXT-37327 - Open Shopping Experience section settings when clicking on "Setting" in the context menu (Max) NEXT-37095 - Avoid negative reviews offset NEXT-37170 - Fix GitHub Jest & Lint workflows (Benjamin Wittwer) NEXT-21275 - Removed customer default payment method NEXT-37175 - Set correct asset path for bundle assets NEXT-37298 - Cleanup ACL rules for default layouts (Max) NEXT-37237 - Fix admin customer sales channel & acl checks (Benjamin Wittwer) NEXT-34331 - custom field ui fix NEXT-33695 - The form element quantity selector is not labeled NEXT-36788 - Add parameters to checkout exception translations NEXT-37373 - defined-system-config-default-node-structure (Michał Daniel) NEXT-36326 - Deprecate sw-dashboard-statistics NEXT-37160 - Filetype in admin media search NEXT-37183 - Add Criteria title to search endpoint NEXT-37264 - refactor & convert flowBuilderService to typescript NEXT-37364 - Add component_payment_method_name block (Max) NEXT-37336 - Removed automatic state change for direct debit default payment NEXT-37428 - Added after order cart to cart service NEXT-37453 - Add block for admin login scripts
See the UPGRADE.md for all important technical changes. NEXT-33234 - Implement Custom Field entity select for dynamic product groups (Rafael Kraut) NEXT-30845 - Fix admin grid headline actions resizing on using context menus (Joshua Behrens) NEXT-26302 - Improve alert color contrast and accessibility NEXT-34217 - 2024-03-22-update-register-from-validation NEXT-00000 - Fix verify user modal (Benjamin Wittwer) NEXT-36418 - Add missing module warn message (Benjamin Wittwer) NEXT-33827 - Added autostart for spatial via qr code NEXT-36283 - Add names and company of addresses to customer admin es search index (Marcus Müller) NEXT-34463 - Disable thumbnail generation and use external service NEXT-33049 - enable fetching files from urls without file extensions NEXT-34293 - Add wrapper component for sw-popover NEXT-36403 - Added full partial fields path check NEXT-36529 - Disable icon cache for the wishlist product box (Max) NEXT-33627 - Add technical name to import/export profiles NEXT-36090 - Remove required setting of custom fields NEXT-36358 - Validation input of the options before searching variant NEXT-0000 - Improve OneToOneAssociationField error message to include the path (Max) NEXT-36279 - Broken initial pagination of property values in the administration NEXT-36441 - slotId ApiAware NEXT-33675 - Remove unwanted aria-live attributes from sliders NEXT-35831 - Add system config values via yaml NEXT-34301 - Changed default recipient for mails send via the Flow Builder on the product review send trigger NEXT-36477 - Currency dependent pricing modal is broken NEXT-36415 - Fix shipping costs can not changes after order is submitted NEXT-35896 - Improve rating widget accessibility and add alt texts NEXT-36838 - Add discount id check when collecting promotions (Jasper Peeters) NEXT-36433 - Fix the inability to use admin order when the system default language is not available in the sales channel NEXT-36479 - Move routing overwrite NEXT-33111 - Search icon and hamburger menu are not align NEXT-36704 - Cleanup line items on recalculation (Jasper Peeters) NEXT-36511 - Promotions will be created with an error thrown in the admin NEXT-36564 - Changed extension icon overflow to hidden (Max) NEXT-36738 - Fix cms form data not cleared from localstorage after submission (Paik Paustian) NEXT-00000 - Add debug info to mail header when staging mode is enabled (Melvin Achterhuis) NEXT-36555 - Add admin url to staging banner (Melvin Achterhuis) NEXT-33734 - Change migration selection mode NEXT-33734 - Drop column helper method NEXT-36668 - Fix attribute compiler pass NEXT-36695 - Add maker commands for plugin scaffolding (Raffaele Carelle) NEXT-26717 - Replace Viewport Helper html pseudo element to improve screen reader accessibility NEXT-29835 - Scalar type serialization while import NEXT-36670 - Fix self-referencing parents NEXT-36780 - Improve composer executions while plugin lifecycle NEXT-34393 - Fix that invoices always show incl vat NEXT-36523 - Add extension component in product detail, order detail, customer detail and dashboard page NEXT-36834 - Fix persist default permissions when switching customer NEXT-36700 - Replace Vuex with Pinia NEXT-36874 - Add new context request attribute on customer login
See the UPGRADE.md for all important technical changes. NEXT-34326 - Add Last-Modified header to feeds response (Fabian Blechschmidt) NEXT-33613 - Only index product custom fields NEXT-00000 - Add missing transactions association (Jasper Peeters) NEXT-30813 - Checkout Gateway NEXT-34648 - Removed hard coded dependency on redis in shopware config NEXT-32255 - Remove definition from WriteCommand NEXT-00000 - Fix AR on Quest 3 (Alexander Menk) NEXT-35209 - correct copy-able to copyable for text-field (tinect) NEXT-35521 - add-language-to-send-mail-event (Jasper Peeters) NEXT-36107 - Fix review filter (Benjamin Wittwer) NEXT-36064 - Adding order criteria event (Tomislav Odovic) NEXT-35109 - Fixed elastic search re-throwing exceptions NEXT-00000 - Fix migration saleschannel test (Benjamin Wittwer) NEXT-27720 - Fix missing user avatar media (Benjamin Wittwer) NEXT-35071 - Improve elasticsearch NEXT-15307 - Fix currency formatting on invalid currencies NEXT-35581 - Fix multicolor icons (Benjamin Wittwer) NEXT-36143 - Resolve extension parameters in Shopware compiler passes (Philip Standt) NEXT-35664 - Fix app installation with symlinked manifest NEXT-33218 - Open Api newsletter recipient NEXT-33232 - Open Api read shipping method NEXT-35094 - Remove unprintable ASCII characters in media path NEXT-35602 - Add NoAssertsOnResponseObjectsRule NEXT-33203 - Open Api order route response schema NEXT-35668 - Update the entity name regex NEXT-33216 - Open Api create customer address body schema NEXT-35968 - Fix OpenApi Schema validation (Benjamin Wittwer) NEXT-33195 - Open Api line item schema NEXT-34403 - Add 3D Scene editor entities to data collection NEXT-00000 - Change media partial loaded event name NEXT-33673 - Add autocomplete to input fields NEXT-33182 - Open Api calculated price schema NEXT-34765 - Disallow empty id filters in Criteria (Benedikt Brunner) NEXT-36023 - Fix cart address state validation (Alexander Bischko) NEXT-35509 - Added entity name to event data of type entity NEXT-34315 - Add allow list for admin app snippet keys NEXT-36024 - Allow order address custom fields edits (Yannick Van Velthoven) NEXT-36289 - Fix changeset issues (Jasper Peeters) NEXT-36018 - Unify SendMailAction constants (Max) NEXT-34280 - Add wrapper component for sw-tabs NEXT-33683 - Improve line-item labels and alt texts NEXT-26705 - Add visual focus indication for important page elements NEXT-34279 - Add wrapper component for sw-select-field NEXT-35973 - Allow getting the user's timezone NEXT-35273 - Redocly lint warning changes NEXT-36088 - Add database profiler on CLI if "--profile" option is used. (Andreas Allacher) NEXT-35674 - Added maximum mail body length config NEXT-36151 - Do not process promotions when cart price is zero (Jasper Peeters) NEXT-35765 - Add fallback parameters to thumbnail template NEXT-34282 - Add wrapper component for sw-textarea-field NEXT-35996 - Decode custom fields in Store API mapper NEXT-31160 - Fix medium usage is not detected in slot configs NEXT-36082 - Fix plugin refresh if root composer.json is a plugin (Alexander Stehlik) NEXT-36108 - Add SalesChannelId filter to NewsletterSubscribeRoute NEXT-36123 - Make Shopware update event hookable NEXT-29683 - Search by document numbers does not work for orders with many documents NEXT-36122 - Allow empty string in order customer comment (Marcus Müller) NEXT-36065 - Fix bug that CMS SDK elements not changing correctly NEXT-36144 - Disabled technical name for plugins and apps NEXT-0000 - Add event to select variant on product detail load (Max) NEXT-34282 - Add wrapper component for sw-datepicker NEXT-34290 - Add wrapper component for sw-password-field NEXT-36325 - Improve error message for wrong API usage ManyToOne field (Joshua Behrens) NEXT-34295 - AAdd wrapper component for sw-colorpicker NEXT-34292 - Add wrapper component for sw-external-link NEXT-34291 - Add wrapper component for sw-skeleton-bar NEXT-35761 - Handle invalid uuid error NEXT-34294 - Implement mt-email-field NEXT-35332 - Remove selection lists from order list filtering NEXT-34296 - Add wrapper component for sw-url-field NEXT-36275 - Check variant listing configuration NEXT-34501 - Execute composer remove on kernel response NEXT-00000 - Update OpenApi schema lint (Benjamin Wittwer) NEXT-34297 - Exchange sw-progress-bar NEXT-00000 - Fix Playwright tests image (Benjamin Wittwer)
See the UPGRADE.md for all important technical changes. NEXT-34787 - show-correct-saleschannel-on-customer-view.md (Fabian Blechschmidt) NEXT-33970 - Changed error handling for ImportExport NEXT-34525 - Support webpack config ts & cts files (Benjamin Wittwer) NEXT-32927 - Fixed switch edit mode to html doesn't save new content NEXT-00000 - Improve snippet author performance (Benjamin Wittwer) NEXT-34298 - Add Meteor Component Library to Admin dependencies NEXT-33636 - adjust MailerTransportDecorator NEXT-34756 - Fix storefront webpack (Benjamin Wittwer) NEXT-34826 - Improve hydrate performance (Benjamin Wittwer) NEXT-35041 - Improve storefront webpack watch twig (Benjamin Wittwer) NEXT-34664 - Add extension points to sw-settings-usage-data NEXT-33594 - Added VAT info to customer account NEXT-34384 - Avoid to set active billing address with null NEXT-34615 - Handle empty query exception NEXT-0000 - Add gad_source parameter to ignored http cache parameters (Max) NEXT-34269 - Add wrapper component for sw-button NEXT-33773 - Add IPv6 CIDR to known IP address for maintenance allow list suggestions (Joshua Behrens) NEXT-34512 - Validation the length of the title from product reviews NEXT-34800 - Deprecated mail attachment loader (Max) NEXT-34784 - Return active property for every feature flag NEXT-34803 - Allow toggling the smart bar from an app module NEXT-34792 - Fix GallerySlider Plugin not being detected at first NEXT-34798 - Fix missing backdrop in checkout address modals NEXT-34801 - Keep element keys when sort by positions NEXT-34270 - Add wrapper component for sw-icon NEXT-34825 - Admin product-listing - empty sorting return array not object NEXT-33823 - Fix typo in default mail footer NEXT-34980 - Fix missing document settings modal fallback for custom documents (Stefan Richter) NEXT-33823 - Set the system default flag for mail header and footer template NEXT-19836 - Generalise german form violation texts (Justus Maier) NEXT-34921 - Add native array return type to getSubscribedEvents() (Max) NEXT-34961 - Delete modal for media manager always assume the media is use even when it is not NEXT-34924 - Fix installer French translation file NEXT-34923 - Strip prefix from redis keys in redis incrementer NEXT-34798 - Add configurable delay to pseudoModal NEXT-34272 - Add wrapper component for sw-card NEXT-35665 - Correct display of long names of child items in administration order (Joschka) NEXT-34922 - Fix profiler table and icons (Benjamin Wittwer) NEXT-34419 - Fix snippet search for very long snippets (Altay Akkus) NEXT-34914 - Form validation errors ignored by captcha NEXT-26889 - Change language inheritance NEXT-32927 - Fix show sanitize warning info on sw-cms-el-config NEXT-35066 - Allow toggling the main menu from an app NEXT-35016 - Fix issue with Umlauts in promotion code field not working NEXT-29590 - Remove unnecessary wishlist icon css NEXT-34273 - Add wrapper component for sw-text-field NEXT-31926 - Fix varnish ban all NEXT-35318 - Add heading elements for account login page to improve accessibility & SEO (Jesper Ingels) NEXT-35103 - Image Slider preview broken in administration shopping experiences NEXT-34274 - Add wrapper component for sw-switch-field NEXT-35121 - Recompile theme on plugin with additional bundles NEXT-34676 - Change the order of product price sorting in ProductDetailRoute NEXT-33694 - Change shipping method toggle in OffCanvas cart to button element NEXT-34275 - Add wrapper component for sw-number-field NEXT-35317 - Check transition and flow exceptions on process order NEXT-35339 - Check for invalid language id on language change NEXT-00000 - Fix / Update pipelines (Benjamin Wittwer) NEXT-34276 - Add wrapper component for sw-loader NEXT-34277 - Add wrapper component for sw-checkbox-field NEXT-35567 - Allow non-transmission of payment status for all App payment handlers NEXT-35571 - Block twig update to 3.9 NEXT-35585 - Fix shipping cost matrix for non-rules
See the UPGRADE.md for all important technical changes. NEXT-34653 - Check for invalid rules in criteria instead at runtime (Joshua Behrens) NEXT-30706 - Fix issues by statefulness twig environment in SeoUrlGenerator (JoshuaBehrens) NEXT-33684 - No empty nav tag NEXT-33751 - allow-trailing-slash-in-seo-url (Jan Emig) NEXT-25671 - Fixed setting of custom field number type (Alexander Pankow) NEXT-18681 - add-flag-for-full-indexing-category NEXT-33833 - Append slash to sitemap home url (Benny Poensgen) NEXT-33717 - Fix working with Feature Flags in Plugin Configuration (Rafael Kraut) NEXT-28620 - Added the option to delete a payment method NEXT-31834 - Add ADR for insider preview NEXT-33256 - Reload config when the config namespace changes (Max) NEXT-33255 - Set correct extension data on first load of configuration (Max) NEXT-32204 - Improve OpenAPI Schema for product listing endpoint NEXT-0000 - Allow association_fields of media_default_folder to be nullable (Max) NEXT-32957 - Changed dir to delete NEXT-24159 - Load all inherited snippets NEXT-30575 - Remove HTML sanitization from mail header and mail footer fields (Marcus Müller) NEXT-34415 - Cleanup product/card/action.html.twig template (Max) NEXT-33311 - Add intra-community delivery label to invoice renderer (Cedric Engler) NEXT-33774 - Make RuleConfig field names unique (Max) NEXT-0000 - Replace single quotes around json object attributes by double quotes (Max) NEXT-33063 - Add missing field types to schema generation (Marcus Müller) NEXT-32882 - Reduce log level of NoConfigurationException NEXT-33086 - Fix flow dispatcher error handling for nested transactions NEXT-00000 - Fix API security tags (Benjamin Wittwer) NEXT-31870 - Deprecate ShopIdChangedException NEXT-33241 - Add user:list command NEXT-33259 - Create PHPStan rule to check that fields are registered with the SchemaBuilder NEXT-33257 - Deprecate CreateSchemaCommand and SchemaGenerator (Marcus Müller) NEXT-33242 - Fix cms block background images NEXT-33253 - Replace the old help center for the extension module NEXT-26124 - Added phpstan rule for routeScope and namespace NEXT-32832 - Allow toggling the modal footer NEXT-30089 - Correcting the defaults entity in TreeBuildingNavigationRoute NEXT-33165 - Fix web installer with custom db port NEXT-30360 - Add check processed promotions to avoid duplicates NEXT-32832 - Customize the modal body gap NEXT-23783 - Fix Affiliate Code / Campaign Code Tracking not working for registration NEXT-32133 - Fix order status can not changes NEXT-30489 - Fix snippet default value sanitize NEXT-17867 - Fix umlauts in ProductSearchTermInterpreter NEXT-33337 - Fixed reloading of customer orders and customer order count (Marcus Müller) NEXT-33296 - Update meteor-admin-sdk to the latest version NEXT-32254 - Added option to confirm a customers email within the admin NEXT-33028 - Allowed guest users to change their default addresses NEXT-17301 - Cannot add properties to variants of product NEXT-33326 - Changed type in constructor NEXT-30424 - Fix alignment of cms image elements NEXT-28055 - Fix code editor emitting without blur NEXT-30892 - Fix custom field content change in media module NEXT-31749 - Fix losing page content in category layout tab when switching to a landing page NEXT-33354 - Fix for Thumbnail generation Edge Cases NEXT-30314 - Fixed image slider in category detail NEXT-33336 - Improve app script performance (Benjamin Wittwer) NEXT-33204 - Open Api builder including ID NEXT-33339 - Prevent invalid values in currency rounding configuration (Felix Schneider) NEXT-33328 - Promotion individual code pattern should be nullable NEXT-29424 - Add check for empty productId for wishlist NEXT-32932 - Changed technical name errors for payment and shipping methods to a hint NEXT-28235 - Fix translation ISO code unique check NEXT-28228 - no og tags on error pages NEXT-33214 - Open Api sitemap required fields NEXT-31763 - Change shortName to isoCode property for order module NEXT-32051 - Changed order saving behaviour to prevent overriding staged changes on error NEXT-11827 - Clean-up temp files after use of MediaService NEXT-33355 - Fix issue on windowRouterPush NEXT-32940 - Fix variant names without dashes in bulk edit NEXT-33197 - Open Api media thumbnail required url field NEXT-33196 - Open Api media required fields NEXT-33202 - Open Api order line item download NEXT-33209 - Open Api product reviews NEXT-33210 - Open Api property group option NEXT-30640 - Remove product count from sales channel list NEXT-32776 - Admin order - Number of entries in selection field "Delivery address" / "Billing address" limited to 25 NEXT-33378 - Close the help sidebar on route changes NEXT-33377 - Fix bug cannot upload 3D file NEXT-32770 - Fix discount calculation in order detail page NEXT-33193 - Open Api document NEXT-31225 - Fix empty content after saving a layout has missing components NEXT-32989 - Fix HTML entities in the SEO fields NEXT-23962 - Fix opening ajax modal within ajax modal NEXT-33018 - Fix local mailer step in FRW NEXT-33212 - Open Api seoUrl NEXT-33417 - Add APP_CACHE_DIR to cache dir NEXT-30059 - Added delete restriction to sales channel domain NEXT-19420 - Added SEO warning notification to landing pages in admin NEXT-32942 - Changed logic for joining a header and footer to an email NEXT-33394 - Fix auto logout in Safari NEXT-32024 - Fix customer language reset to default after login NEXT-23571 - Fix for deleting value exclusions breaks variant generation NEXT-31770 - Fix product comparison use APP_URL instead of assigned sales channel domain NEXT-17592 - Incorrect contact-form receiver validation-regex NEXT-31862 - No faulty preview of product comparison sales channels NEXT-33208 - Open Api product media schema NEXT-28908 - Optimize performance of data-grid NEXT-32248 - Shrink rule detail page associations NEXT-29113 - Add ACL to send mail route NEXT-29687 - Add possibility to disable zoom for spatial NEXT-31588 - Make sure exists the defaultCurrency NEXT-27029 - Remove is--capitalized in plugin recommendation NEXT-33423 - Validate email when unsubcribing newsletter NEXT-31040 - Add pagination in media selection NEXT-31903 - Add store API endpoint to fetch media entities NEXT-31919 - Determine correct url in RequestTransformer NEXT-31504 - Disable autocomplete for password fields inside user and profile settings NEXT-33461 - fix rule builder unit conversion calculation when no input is given NEXT-33395 - Fix storefront account address UI NEXT-29093 - Fix theme config label inheritance (Elias Lackner) NEXT-33199 - Open Api order schema NEXT-33211 - Open Api sales channel context schema NEXT-20137 - Add ludtwig composer commands NEXT-8675 - Added bootstrap xxl breakpoint NEXT-33031 - Fix Admin web workers NEXT-32021 - Support throwing exception when create customer NEXT-33497 - Improve cart table NEXT-32365 - Changed permissions for discount promotions in order NEXT-33465 - Update data consent NEXT-32936 - Added correct favicon for marketing module NEXT-32339 - Do not allow deleting connected media thumbnail size NEXT-33541 - Fix cloning of structs with enums NEXT-33440 - Support HTML5 tags NEXT-33503 - Check user cookie preference before replace video element NEXT-33555 - Fix asset path generation in plugin html files NEXT-33431 - Fix async-component factory edge case NEXT-33571 - Fix creating a new thumbnail size error NEXT-33362 - Fix many to many serializer check NEXT-33516 - Implemented mesh data decompression via DRACO loader. NEXT-33556 - JS error after switching layout tab in product NEXT-33192 - Open Api customer group NEXT-33194 - Open Api landing page NEXT-33215 - Open Api wishlist load route response NEXT-32925 - Add Google Consent V2 NEXT-19984 - add order with sent document rule condition NEXT-32091 - Fix missing iframe query params in CMS element NEXT-33147 - Fix save customer group NEXT-33578 - Deprecation of unused product detail page template files NEXT-33516 - Draco Lib integration correctly NEXT-31023 - Fix style issue with total of all purchase prices rule NEXT-33741 - Improve product page load performance (Benjamin Wittwer) NEXT-00000 - Improve shopware profiler repository tracer (Benjamin Wittwer) NEXT-33691 - Allow HMAC JWT NEXT-32929 - Fix display of today's orders on the dashboard NEXT-33455 - Fix plugin index.html NEXT-33699 - Fix static theme compilation NEXT-33724 - Fix wrong order currency NEXT-33642 - Product Export Renderer use cdn url when set NEXT-33516 - Added DRACO library as an asset. NEXT-33748 - Fix sw-media-modal-v2 target-folder property NEXT-33740 - Improved admin typescript implementation NEXT-33746 - Make migration more stable NEXT-33701 - Fix variant name not visible in dynamic product NEXT-33796 - Add validation to line item identifier NEXT-33516 - Also update area rule ids in cart caluclation (Max) NEXT-33667 - Add back button to SDK settings modules NEXT-21544 - Added the "transactions" and "deliveries.stateMachineState" properties of an order as options in Import/Export NEXT-33857 - Ignore JS script files if they do not match the new file path pattern NEXT-33826 - Fix privileges error in dataset handling NEXT-33867 - remove deprecated vue2 option api usage NEXT-30218 - Remove privileges from SDK iFrame urls NEXT-34649 - Add customer data to CustomerDeletedEvent NEXT-33338 - Apply fixes in user permissions NEXT-33707 - Core fixes NEXT-33846 - Fixes missing setIndexer for NewsletterRecipientIndexingMessage NEXT-33882 - Handle reverse proxy errors gracefully NEXT-33716 - Add translation to all SDK endpoints NEXT-33888 - Fix sw-url-field on load ssl state NEXT-33918 - Removed unnecessary param from method call (Matheus Gontijo) NEXT-31639 - Upgrade composer/composer and symfony/runtime dependencies NEXT-34102 - Add new block in analytics template (Wanne Van Camp) NEXT-30469 - Enable iFrame full screen for sdk modules NEXT-34001 - Fix async initialize of single JS-plugin NEXT-33820 - Landing page SEO template leads to infinite redirection NEXT-33868 - Added serialization of the itemRounding and totalRounding property of an order entity NEXT-34028 - Change path column in app definition to varchar(4096) NEXT-31729 - fix insufficient rule condition unit value rounding NEXT-29601 - Fix Storno document always generated from current order NEXT-34020 - Fix tax modal NEXT-34027 - Indexing results in an exception, when a inherting language is used NEXT-34023 - Slow query with criteria term NEXT-34006 - Fixed the customer group tax overview NEXT-33576 - Add new HTML CMS element NEXT-31922 - Added new API route to update order addresses NEXT-33317 - Update app metadata NEXT-30026 - Add a createCLIContext method to Context NEXT-26377 - Open customer from order detail page NEXT-34650 - add-options-argument-to-recalculate-order (Jasper Peeters) NEXT-34060 - No ips selectable in allowlist at sales channel NEXT-34114 - Fix user email validation NEXT-34072 - Member function getHash on null NEXT-34216 - Change order list filter entity (Wanne Van Camp) NEXT-34151 - Add Stoplight Elements NEXT-34113 - Clear cookies on 404 pages NEXT-34012 - Revert using SCN Domain URL in ProductExportRenderer NEXT-34111 - Update SalesChannel theme assignment NEXT-34225 - Add product video functionality (Elias Lackner) NEXT-33880 - Always resolve closest node_modules folder for apps and plugins NEXT-34109 - Changed routing for creating flows from templates NEXT-34181 - Changed type in constructor NEXT-34166 - Add possibility to add local manifest file NEXT-34184 - Add support for webpack.config.cjs in storefront NEXT-34165 - Exclude remote click plugin from mobile view NEXT-34215 - Fix form field inheritance NEXT-34214 - Fix plugin chunk hash NEXT-34213 - Fixed reactivity of order status NEXT-24683 - Fix imageSlider when including deleted media (Communicode AG / Andreas Greif) NEXT-34234 - Fix width of CMS Slider url input NEXT-33669 - Implement counterpart for CMS Block functionality in Admin SDK NEXT-34303 - Replace MySQL with DAL in document upload flow (Wanne Van Camp) NEXT-33690 - Update Meteor Admin SDK version to 5.0.1 NEXT-34410 - Allow Twig array filters to accept null (Max) NEXT-34654 - Add sales channel context getter to CustomerDoubleOptInRegistrationEvent (Max) NEXT-32987 - Allow Vue compat mode removal NEXT-34155 - Search for a composer.json in custom/static-plugins/ NEXT-33682 - Provide distinctive document titles for each page NEXT-34344 - Fix command creation on plugin create for SF7 NEXT-29460 - Change OpenAPI schema output NEXT-34343 - Media fastly proxy NEXT-34361 - Use ThemeCompilerInterface in CompileThemeHandler NEXT-34394 - Fix loaded template of AJAX product review route NEXT-34381 - Fix media image replacement reload issue NEXT-00000 - NEXT-00000 - Ensure decoration of media url generator (Stefan Poensgen) NEXT-34503 - Add column assigned pages to CMS list (Alexander Menk) NEXT-14691 - Add pseudo modal twig blocks (Elias Lackner) NEXT-30327 - Ensure export temporary file is open before copying data (Cuong Huynh) NEXT-34478 - Snippet cache invalidation NEXT-33775 - Allow export of invalid records of import-only profiles NEXT-34524 - Run blue-green safe destructive migrations in system:update:finish command NEXT-34616 - Add sanitize field for cms text fields (Jasper Peeters) NEXT-34131 - handle nullable app id NEXT-34596 - handle nullable state machine name NEXT-34469 - handle nullable tax status NEXT-34730 - Add sync theme compile CLI option
See the UPGRADE.md for all important technical changes. The following security issues have been fixed with this release: NEXT-34608 - Improve account logout (GHSA-5297-wrrp-rcj7) The following issues have been fixed: NEXT-32311 - Updated validation in EntityWriter NEXT-11827 - Clean-up temp files after use of MediaService NEXT-23962 - Fix opening ajax modal within ajax modal NEXT-31040 - Add pagination in media selection NEXT-32339 - Do not allow deleting connected media thumbnail size NEXT-33571 - Fix creating a new thumbnail size error NEXT-33748 - Fix sw-media-modal-v2 target-folder property NEXT-33707 - Core fixes NEXT-33846 - Fixes missing setIndexer for NewsletterRecipientIndexingMessage NEXT-34102 - Add new block in analytics template (Wanne Van Camp) NEXT-33820 - Landing page SEO template leads to infinite redirection NEXT-34028 - Change path column in app definition to varchar(4096) NEXT-34027 - Indexing results in an exception, when a inherting language is used NEXT-34023 - Slow query with criteria term NEXT-31922 - Added new API route to update order addresses NEXT-33078 - Allow integrations to manage users NEXT-34113 - Clear cookies on 404 pages NEXT-34012 - Revert using SCN Domain URL in ProductExportRenderer NEXT-34181 - Changed type in constructor NEXT-34165 - Exclude remote click plugin from mobile view NEXT-34214 - Fix plugin chunk hash NEXT-34323 - Fix CMS product-slider when assigned products are deleted NEXT-31710 - Don't run delete unused media scheduled task on unsupported database versions NEXT-33555 - Fixed asset path generation in plugin html files NEXT-14691 - Add pseudo modal twig blocks (Elias Lackner) NEXT-34478 - Snippet cache invalidation NEXT-34615 - Handle empty query exception
See the UPGRADE.md for all important technical changes. NEXT-34439 - Ensure decoration of media url generator (Stefan Poensgen) NEXT-32919 - Allow post update indexer to run synchronously on post update event NEXT-34165 - Exclude remote click plugin from mobile view NEXT-34344 - Fix command creation on plugin create for SF7 NEXT-34343 - Media fastly proxy NEXT-33833 - Append slash to sitemap home url (Benny Poensgen) NEXT-11827 - Clean-up temp files after use of MediaService NEXT-33018 - Fix local mailer step in FRW NEXT-33147 - Fix save customer group NEXT-34102 - Add new block in analytics template (Wanne Van Camp) NEXT-33820 - Landing page SEO template leads to infinite redirection NEXT-34027 - Indexing results in an exception, when a inherting language is used NEXT-33078 - Allow integrations to manage users NEXT-34060 - No ips selectable in allowlist at sales channel NEXT-34114 - Fix user email validation NEXT-34151 - Add Stoplight Elements NEXT-34113 - Clear cookies on 404 pages NEXT-34012 - Revert using SCN Domain URL in ProductExportRenderer NEXT-34111 - Update SalesChannel theme assignment NEXT-33880 - Always resolve closest node_modules folder for apps and plugins NEXT-34109 - Changed routing for creating flows from templates NEXT-34181 - Changed type in constructor NEXT-34215 - Fix form field inheritance NEXT-34214 - Fix plugin chunk hash NEXT-34213 - Fixed reactivity of order status NEXT-33669 - Implement counterpart for CMS Block functionality in Admin SDK NEXT-33690 - Update Meteor Admin SDK version to 5.0.1 NEXT-32204 - Improve OpenAPI Schema for product listing endpoint NEXT-24159 - Load all inherited snippets NEXT-30575 - Remove HTML sanitization from mail header and mail footer fields (Marcus Müller) NEXT-33204 - Open Api builder including ID NEXT-28235 - Fix translation ISO code unique check NEXT-33214 - Open Api sitemap required fields NEXT-33197 - Open Api media thumbnail required url field NEXT-33196 - Open Api media required fields NEXT-33202 - Open Api order line item download NEXT-33209 - Open Api product reviews NEXT-33210 - Open Api property group option NEXT-33193 - Open Api document NEXT-23962 - Fix opening ajax modal within ajax modal NEXT-33212 - Open Api seoUrl NEXT-30059 - Added delete restriction to sales channel domain NEXT-32024 - Fix customer language reset to default after login NEXT-33208 - Open Api product media schema NEXT-31040 - Add pagination in media selection NEXT-31903 - Add store API endpoint to fetch media entities NEXT-33199 - Open Api order schema NEXT-33211 - Open Api sales channel context schema NEXT-32339 - Do not allow deleting connected media thumbnail size NEXT-33571 - Fix creating a new thumbnail size error NEXT-33362 - Fix many to many serializer check NEXT-33556 - JS error after switching layout tab in product NEXT-33192 - Open Api customer group NEXT-33194 - Open Api landing page NEXT-33215 - Open Api wishlist load route response NEXT-32925 - Add Google Consent V2 NEXT-32091 - Fix missing iframe query params in CMS element NEXT-33578 - Deprecation of unused product detail page template files NEXT-32929 - Fix display of today's orders on the dashboard NEXT-33455 - Fix plugin index.html NEXT-33642 - Product Export Renderer use cdn url when set NEXT-33748 - Fix sw-media-modal-v2 target-folder property NEXT-33746 - Make migration more stable NEXT-33701 - Fix variant name not visible in dynamic product NEXT-33516 - Also update area rule ids in cart caluclation (Max) NEXT-33667 - Add back button to SDK settings modules NEXT-33857 - Ignore JS script files if they do not match the new file path pattern NEXT-33826 - Fix privileges error in dataset handling NEXT-33867 - remove deprecated vue2 option api usage NEXT-30218 - Remove privileges from SDK iFrame urls NEXT-33338 - Apply fixes in user permissions NEXT-33707 - Core fixes NEXT-33846 - Fixes missing setIndexer for NewsletterRecipientIndexingMessage NEXT-33882 - Handle reverse proxy errors gracefully NEXT-33716 - Add translation to all SDK endpoints NEXT-33888 - Fix sw-url-field on load ssl state NEXT-31639 - Upgrade composer/composer and symfony/runtime dependencies NEXT-30469 - Enable iFrame full screen for sdk modules NEXT-34001 - Fix async initialize of single JS-plugin NEXT-34028 - Change path column in app definition to varchar(4096) NEXT-29601 - Fix Storno document always generated from current order NEXT-34020 - Fix tax modal NEXT-34023 - Slow query with criteria term NEXT-33504 - Allow association_fields of media_default_folder to be nullable (Max) NEXT-28228 - No og tags on error pages NEXT-29687 - Add possibility to disable zoom for spatial NEXT-31588 - Make sure the defaultCurrency exists NEXT-33423 - Validate email when unsubcribing newsletter NEXT-33461 - Fix rule builder unit conversion calculation when no input is given NEXT-32021 - Support throwing exceptions when creating customer accounts NEXT-33440 - Support HTML5 tags NEXT-33699 - Fix static theme compilation NEXT-33724 - Fix wrong order currency NEXT-32337 - Refactor pagination templates and paging of the search result (Max) NEXT-29007 - Make newsletter recipient module Vue 3 compatible NEXT-24968 - Hide configurable custom product default layout NEXT-31894 - Add form validation to address editor modal (Adrian Pietrzak) NEXT-31908 - Improve newsletter registration text (Alexander Menk) NEXT-31962 - Add redirect to password recover page for login with legacy password which does not match new requirements (Sven Mäurer) NEXT-31873 - Add contentPadding prop for sw-card component (Vu Le) NEXT-25613 - New language inheritance mechanism for elasticsearch NEXT-31821 - Ensure databags convert parameters consistently (Joshua Behrens) NEXT-31655 - Allow usage of language property on OrderEntity when not loading the language association (Joshua Behrens) NEXT-25538 - Replace media to any file type (Ivan Ananev) NEXT-31913 - Add avif image file support (Benjamin Wittwer) NEXT-28833 - Vue 3 feature flag NEXT-32086 - Improve storefront accessibility (Benjamin Wittwer) NEXT-29472 - Address UX Improvements NEXT-30672 - Fix for distorted Thumbnails NEXT-28991 - Change default event of sw-text-field NEXT-28991 - Change sw-boolean-radio-group default event NEXT-28991 - Change sw-bulk-edit-change-type default event NEXT-28991 - Change sw-custom-entity-input-field default event NEXT-28991 - Change sw-entity-many-to-many-select default event NEXT-28991 - Change sw-entity-multi-id-select default event NEXT-28991 - Change sw-extension-rating-stars default event NEXT-28991 - Change sw-extension-select-rating default event NEXT-28991 - Change sw-file-input default event NEXT-28991 - Change sw-gtc-checkbox default event NEXT-28991 - Change sw-many-to-many-assignment-card default event NEXT-28991 - Change sw-meteor-single-select default event NEXT-28991 - Change sw-multi-select default event NEXT-28991 - Change sw-multi-tag-select default event NEXT-28991 - Change sw-price-field default event NEXT-28991 - Change sw-radio-panel default event NEXT-28991 - Change sw-select-field default event NEXT-28991 - Change sw-select-number-field default event NEXT-28991 - Change sw-single-select default event NEXT-28991 - Change sw-tagged-field default event NEXT-28991 - Change sw-textarea-field default event NEXT-28991 - Change sw-url-field default event NEXT-28991 - Change sw-button-process default event NEXT-28991 - Change sw-import-export-entity-path-select default event NEXT-28991 - Change sw-inherit-wrapper default event NEXT-28991 - Change sw-media-breadcrumbs default event NEXT-28991 - Change sw-media-library default event NEXT-28991 - Change sw-multi-snippet-drag-and-drop default event NEXT-28991 - Change sw-order-customer-address-select default event NEXT-28991 - Change sw-order-select-document-type-modal default event NEXT-28991 - Change sw-password-field default event NEXT-28991 - Change sw-promotion-v2-rule-select default event NEXT-28991 - Change sw-radio-field default event NEXT-31914 - Media cannot be moved higher than the parent folder NEXT-28998 - Make CMS module compatible with Vue3 NEXT-31874 - Add entity index to state machine history (Maximilian Rüsch) NEXT-30501 - Fix vue-meta for Vue 3 NEXT-0000 - Provide nested line item modal for container items (Stefan Poensgen) NEXT-31875 - Sort child line items by position (Stefan Poensgen) NEXT-29001 - Fix media module for Vue 3 NEXT-30604 - Avoid creating SEO URLs for headless sales channels. (Andreas Allacher) NEXT-30588 - Fix listings and tabs NEXT-31890 - Fix Bulk Edit one to many associations length evaluation and infinite requests (Lily Berkow) NEXT-30588 - Fix smalle issued in flow builder NEXT-29011 - Make all settings module Vue3 compatible NEXT-31920 - Add easier way to admin to only reindex some indices without inversion of selection (Joshua Behrens) NEXT-29011 - Make settings module compatible with Vue3 NEXT-31423 - Fix unsubscribe name (Tommy Quissens) NEXT-19596 - Fix salesChannel language validator (Sascha Heilmeier) NEXT-23252 - Customer Custom Field Rule evaluates wrong on multiple-selection custom fields (Jan Emig) NEXT-31896 - Fix promotion individual code redeemer if first assigned promotion is not instance of PromotionIndividualCodeEntity (Wolfgang Kreminger) NEXT-30404 - Reworked behavior of default sorting selection in sw-settings-listing NEXT-29212 - remove-es-scripts-from-cluster NEXT-23563 - Improved installing an extension will activate it NEXT-31162 - Enhanced error handling for invalid manifest files NEXT-31251 - Remove experimental state of shipping methods via apps NEXT-29686 - Upload and usage of spatial objects as media NEXT-31590 - Use property name in price serialization (Joshua Behrens) NEXT-29293 - Improve Inter font filenames (Elias Lackner) NEXT-30261 - Add esi tags NEXT-30951 - Improved error handling for media file renamings if the provided name is too long NEXT-30785 - fixed country region validation in checkout NEXT-32088 - Twig block spelling error in the standard contact form (AEYCEN) NEXT-30176 - Async JavaScript and all.js removal NEXT-31213 - customer variables in E-Mail-Templates do not work NEXT-26756 - Undundle storage adapters NEXT-31579 - Replace sw-field with real components NEXT-31307 - Collapse values for multi tags select component NEXT-25328 - Deprecated association auto-loading in SalesChannelDefinition NEXT-30405 - Changed display minimum of sorting select in storefront NEXT-31746 - Fix loading of default currency on product bulk edit NEXT-31146 - Listing variant in the product assignment of the category configuration NEXT-25802 - Update jwt package NEXT-32315 - Add missing parameters to StorefrontControllerTestBehaviour::request (Johannes Przymusinski) NEXT-31459 - Fix new version deletion NEXT-31901 - Update product stream definitions to make them ApiAware (Sander Drenth) NEXT-30554 - Changed primary identifier of product sortings in administration to product sorting id NEXT-32331 - Improve storefront render exception (Benjamin Wittwer) NEXT-31726 - Add admin request tracing NEXT-31579 - Add 'after' block to sw-settings-search tabs NEXT-31014 - Added new create migration command NEXT-26134 - fix-getting-request-from-event NEXT-31662 - Enhance searchable content card NEXT-31349 - Improve CustomFieldSubscriber Performance NEXT-31638 - New 6.6 System Requirements NEXT-32250 - Allow missing foreign key lookups and fail on missing lookups (Joshua Behrens) NEXT-31716 - Fix bug cross selling in combination with Elasticsearch NEXT-31876 - Fix payment method indexing (Niklas Wolf) NEXT-31845 - Remove tests classes from services xml NEXT-30550 - Handle languages correct on not found pages NEXT-31660 - countryId error handling NEXT-31769 - ES admin search is broken with third party plugins NEXT-29628 - Country not show in order details NEXT-30261 - Remove http cache deprecations NEXT-25276 - Updated PHPUnit to version 10+ NEXT-30983 - StringTemplateRenderer throws AdapterException with error code "FRAMEWORK__INVALID_TEMPLATE_SYNTAX" due invalid template syntax NEXT-32009 - Allow Symfony messenger exceptions without using domain exception pattern NEXT-32803 - Fix breadcrumb styles (Elias Lackner) NEXT-32042 - Correct address_format column type NEXT-30943 - Deprecated ProductCollection::getPrices NEXT-32027 - Fix typehint NEXT-32034 - Improve file validation service (Elias Lackner) NEXT-31739 - Remove ES_MULTILINGUAL_INDEX language flag NEXT-29586 - Stop fetching media items individually NEXT-30687 - Upgrade to symfony 7 NEXT-32095 - Fix address modal closing NEXT-00000 - Fix download link mail (Elias Lackner) NEXT-30912 - Fix promotion priority (Elias Lackner) NEXT-31889 - Fixed check for existence of export directory in ProductExportFileHandler NEXT-29585 - Product listing consumes much resources NEXT-32102 - typecast unsupported type in review filter NEXT-32283 - Add twig whitespace-control to all labels of CMS form elements (AEYCEN) NEXT-32101 - Catch numeric json param NEXT-32097 - Load SalesChannelAnalytics for storefront sales channels NEXT-32087 - Move max upload filesize logic NEXT-31798 - Remove deprecated load method from flow storers NEXT-31798 - Remove deprecation of CsvReader NEXT-31798 - Remove rule condition IsNewCustomerRule NEXT-32085 - Remove Storefront Twig, JS and CSS deprecations for v6.6.0 NEXT-31798 - Remove writeAccess field from IntegrationDefinition NEXT-31184 - Added deprecations for major release 6.7 NEXT-32170 - Redirect direct guest login call NEXT-32269 - Ensure that script files are only included once (Max) NEXT-22973 - Change snippet translation key NEXT-29587 - Optimize variant listing loading NEXT-31739 - Remove framework deprecations NEXT-32268 - Update Inter font in the storefront (Max) NEXT-32093 - Added nullable check to boolean fields in export NEXT-31592 - Change administration node version NEXT-32258 - Refactor LoginRoute and AccountService (Max) NEXT-31798 - Remove flow deprecations NEXT-32085 - Remove Storefront deprecations NEXT-32198 - Rename consent banner button "Deny" to "Only technically required" NEXT-32336 - Add event for health check (Silvio Kennecke) NEXT-32252 - Add new twig blocks to image gallery NEXT-23252 - Move comparison methods to comparison classes NEXT-32257 - Remove experimental tag from async theme compile feature NEXT-18778 - Add sw-language-id to the header of the api service NEXT-32264 - Add new twig blocks in offcanvas navigation templates NEXT-32279 - Fix Google ReCaptcha V3 cannot refresh the token on submit NEXT-32085 - Remove Storefront deprecations NEXT-31826 - Create help sidebar NEXT-29246 - Do not apply important to Bootstrap utility classes NEXT-32361 - Use file validation service via injection (Elias Lackner) NEXT-32377 - Added phpstan rule to use phpunit attributes over annotations NEXT-28322 - buld and variant retry ([Pascal Thesing](https://github.com/Pascal Thesing)) NEXT-31897 - Fix empty page on shipping method create NEXT-32388 - Update dompdf/dompdf to 2.0.4 NEXT-31593 - Add RememberMe checkbox in login to prevent autologout NEXT-32295 - Catch email not set error NEXT-32778 - Deprecated unused variables selectQuantityThreshold (Max) NEXT-32712 - Improve webpack performance NEXT-32771 - Fix sw-select-number-field component example (Stefan Zopfi) NEXT-32742 - Fix translation of salutations in contact form NEXT-30176 - Remove PluginManager imports and replace with window NEXT-30952 - Upgrade Admin webpack to version 5 NEXT-32750 - Add domain exception for snippet NEXT-31974 - Fix Document can not upload custom document file NEXT-30879 - Fix sorting of product cross sellings with dynamic product group by price with Elasticsearch NEXT-32736 - Fixed condition fields in rule builder NEXT-31820 - Remove unneeded NPM packages NEXT-32754 - Use swc core to minify files in Storefront NEXT-32760 - Use swc in admin to minify NEXT-32680 - Check redirectTo param is string NEXT-32696 - Fix theme script loading with remote files NEXT-29246 - Remove unneeded CSS NEXT-30923 - Update Bootstrap to 5.3.2 NEXT-31979 - Use 'birthdayFieldRequired' Config In 'My Account' (Alessandro Aussems) NEXT-32814 - Add separator to admin ES search indexer queries (Marcus Müller) NEXT-32302 - Add extension component section to the help center NEXT-32289 - Fix update email template type error when missing translation NEXT-31978 - Validate file name contains funky characters NEXT-32826 - Control iframe border via css NEXT-32251 - Grouped write results NEXT-32852 - Abstract tax detector NEXT-29389 - Admin search fix NEXT-29439 - Enforce id sorting NEXT-32201 - Add 'innovation as package title' NEXT-32903 - Add new blocks for prod and dev script tags NEXT-32895 - Admin SDK CMS Element config not rendernd NEXT-26217 - Reset variantListingConfig.mainVariantId when clone the product NEXT-32898 - Update Belgian VAT ID Validation Regex NEXT-33105 - Add initial sorting functionality to customer detail order view (Marcus Müller) NEXT-26065 - Add symfony scheduler bridge NEXT-32328 - Consider subfolders when deleting using a specific entity NEXT-32937 - Create plugin with composer constraint valid for 6.6 NEXT-32772 - Fix class fields in swc-loader NEXT-32926 - Fix media module inline edit handler NEXT-32311 - Updated validation in EntityWriter NEXT-26321 - Added new transactions to the status history NEXT-32889 - Fix privileges for state machine NEXT-30923 - Update NPM packages NEXT-32993 - remove duplicated option setting (tinect) NEXT-32738 - Convert product line items of deleted products to custom line items NEXT-30649 - Fix error on disabled products NEXT-31983 - Remove link for missing product on order detail NEXT-32997 - Configureable system update finish NEXT-32919 - Trigger MediaIndexer after MediaPathPostUpdater NEXT-32959 - Added events for changing multiple system configs NEXT-33030 - Multi select field with multiple collapsed values can not be expanded anymore NEXT-33056 - Add title attribute to sw_cms_list_item (Jonas Wrosch) NEXT-0000 - Do not require sales channel id for the GenerateDocumentAction (Max) NEXT-33006 - Fix live updating SEO url NEXT-32266 - Fixed reloading of default customer addresses NEXT-31817 - Reclassify IntegrationNotFound error NEXT-33058 - Storefront presentation modal leads infinite loading circle NEXT-31166 - Unify sw-form-field-renderer-events NEXT-33079 - Fix error handling for message handlers NEXT-33055 - Fix product slider cms element not displayed NEXT-32238 - Reschedule some scheduled tasks on failure NEXT-26984 - 204 footer empty NEXT-31342 - Add main category NEXT-30573 - Fix suggest paging NEXT-33138 - Fix $super chain with empty overrides NEXT-31864 - Fixed template select for product comparison sales channels NEXT-33041 - Reclassify DELETION_DEFAULT_CMS_PAGE error NEXT-33171 - Fix preview modal for image-gallery and image-slider NEXT-33245 - Fix return type of collection iterator (Max) NEXT-33151 - Merge plugin autoload-dev to classloader for PHPUnit NEXT-26696 - Rename Admin SDK NEXT-33235 - Use searchIds for import id resolving (Max) NEXT-32109 - replace-country-state-hook NEXT-30089 - Correcting the defaults entity in TreeBuildingNavigationRoute NEXT-23783 - Fix Affiliate Code / Campaign Code Tracking not working for registration NEXT-32133 - Fix order status can not changes NEXT-17301 - Cannot add properties to variants of product NEXT-33354 - Fix for Thumbnail generation Edge Cases NEXT-33339 - Prevent invalid values in currency rounding configuration (Felix Schneider) NEXT-33328 - Promotion individual code pattern should be nullable NEXT-32932 - Changed technical name errors for payment and shipping methods to a hint NEXT-31763 - Change shortName to isoCode property for order module NEXT-32051 - Changed order saving behaviour to prevent overriding staged changes on error NEXT-33355 - Fix issue on windowRouterPush NEXT-32940 - Fix variant names without dashes in bulk edit NEXT-32776 - Admin order - Number of entries in selection field "Delivery address" / "Billing address" limited to 25 NEXT-33377 - Fix bug cannot upload 3D file NEXT-31225 - Fix empty content after saving a layout has missing components NEXT-32989 - Fix HTML entities in the SEO fields NEXT-31770 - Fix product comparison use APP_URL instead of assigned sales channel domain NEXT-33395 - Fix storefront account address UI
See the UPGRADE.md for all important technical changes. NEXT-32204 - Improve OpenAPI Schema for product listing endpoint NEXT-24159 - Load all inherited snippets NEXT-30575 - Remove HTML sanitization from mail header and mail footer fields (Marcus Müller) NEXT-33204 - Open Api builder including ID NEXT-28235 - Fix translation ISO code unique check NEXT-33214 - Open Api sitemap required fields NEXT-33197 - Open Api media thumbnail required url field NEXT-33196 - Open Api media required fields NEXT-33202 - Open Api order line item download NEXT-33209 - Open Api product reviews NEXT-33210 - Open Api property group option NEXT-33193 - Open Api document NEXT-23962 - Fix opening ajax modal within ajax modal NEXT-33212 - Open Api seoUrl NEXT-30059 - Added delete restriction to sales channel domain NEXT-32024 - Fix customer language reset to default after login NEXT-33208 - Open Api product media schema NEXT-31040 - Add pagination in media selection NEXT-31903 - Add store API endpoint to fetch media entities NEXT-33199 - Open Api order schema NEXT-33211 - Open Api sales channel context schema NEXT-32339 - Do not allow deleting connected media thumbnail size NEXT-33571 - Fix creating a new thumbnail size error NEXT-33362 - Fix many to many serializer check NEXT-33556 - JS error after switching layout tab in product NEXT-33192 - Open Api customer group NEXT-33194 - Open Api landing page NEXT-33215 - Open Api wishlist load route response NEXT-32925 - Add Google Consent V2 NEXT-32091 - Fix missing iframe query params in CMS element NEXT-33578 - Deprecation of unused product detail page template files NEXT-32929 - Fix display of today's orders on the dashboard NEXT-33455 - Fix plugin index.html NEXT-33642 - Product Export Renderer use cdn url when set NEXT-33748 - Fix sw-media-modal-v2 target-folder property NEXT-33746 - Make migration more stable NEXT-33701 - Fix variant name not visible in dynamic product NEXT-33516 - Also update area rule ids in cart caluclation (Max) NEXT-33667 - Add back button to SDK settings modules NEXT-33857 - Ignore JS script files if they do not match the new file path pattern NEXT-33826 - Fix privileges error in dataset handling NEXT-33867 - remove deprecated vue2 option api usage NEXT-30218 - Remove privileges from SDK iFrame urls NEXT-33338 - Apply fixes in user permissions NEXT-33707 - Core fixes NEXT-33846 - Fixes missing setIndexer for NewsletterRecipientIndexingMessage NEXT-33882 - Handle reverse proxy errors gracefully NEXT-33716 - Add translation to all SDK endpoints NEXT-33888 - Fix sw-url-field on load ssl state NEXT-31639 - Upgrade composer/composer and symfony/runtime dependencies NEXT-30469 - Enable iFrame full screen for sdk modules NEXT-34001 - Fix async initialize of single JS-plugin NEXT-34028 - Change path column in app definition to varchar(4096) NEXT-29601 - Fix Storno document always generated from current order NEXT-34020 - Fix tax modal NEXT-34023 - Slow query with criteria term
See the UPGRADE.md for all important technical changes. NEXT-32814 - Add separator to admin ES search indexer queries (Marcus Müller) NEXT-29439 - Enforce id sorting NEXT-26217 - Reset variantListingConfig.mainVariantId when clone the product NEXT-30649 - Fix error on disabled products NEXT-32919 - Trigger MediaIndexer after MediaPathPostUpdater NEXT-33030 - Multi select field with multiple collapsed values can not be expanded anymore NEXT-0000 - Do not require sales channel id for the GenerateDocumentAction (Max) NEXT-33079 - Fix error handling for message handlers NEXT-32238 - Reschedule some scheduled tasks on failure NEXT-30573 - Fix suggest paging NEXT-33138 - Fix $super chain with empty overrides NEXT-30261 - Fix redirect loop NEXT-33151 - Merge plugin autoload-dev to classloader for PHPUnit NEXT-33235 - Use searchIds for import id resolving (Max) NEXT-30089 - Correcting the defaults entity in TreeBuildingNavigationRoute NEXT-33260 - Downgrade bootstrap version NEXT-33354 - Fix for Thumbnail generation Edge Cases NEXT-33328 - Promotion individual code pattern should be nullable NEXT-29424 - Add check for empty productId for wishlist NEXT-32932 - Changed technical name errors for payment and shipping methods to a hint NEXT-31763 - Change shortName to isoCode property for order module NEXT-30640 - Remove product count from sales channel list NEXT-32776 - Admin order - Number of entries in selection field "Delivery address" / "Billing address" limited to 25 NEXT-31225 - Fix empty content after saving a layout has missing components NEXT-32989 - Fix HTML entities in the SEO fields NEXT-30059 - Added delete restriction to sales channel domain NEXT-31770 - Fix product comparison use APP_URL instead of assigned sales channel domain NEXT-33395 - Fix content should be replaced which click on other tab in address modal NEXT-33440 - Support HTML5 tags
See the UPGRADE.md for all important technical changes. Also check our Blog Post about our new Release Candidate. NEXT-32337 - Refactor pagination templates and paging of the search result (Max) NEXT-29007 - Make newsletter recipient module Vue 3 compatible NEXT-24968 - Hide configurable custom product default layout NEXT-31894 - Add form validation to address editor modal (Adrian Pietrzak) NEXT-31908 - Improve newsletter registration text (Alexander Menk) NEXT-31962 - Add redirect to password recover page for login with legacy password which does not match new requirements (Sven Mäurer) NEXT-31873 - Add contentPadding prop for sw-card component (Vu Le) NEXT-25613 - New language inheritance mechanism for elasticsearch NEXT-31821 - Ensure databags convert parameters consistently (Joshua Behrens) NEXT-31655 - Allow usage of language property on OrderEntity when not loading the language association (Joshua Behrens) NEXT-25538 - Replace media to any file type (Ivan Ananev) NEXT-31913 - Add avif image file support (Benjamin Wittwer) NEXT-28833 - Vue 3 feature flag NEXT-32086 - Improve storefront accessibility (Benjamin Wittwer) NEXT-29472 - Address UX Improvements NEXT-30672 - Fix for distorted Thumbnails NEXT-28991 - Change default event of sw-text-field NEXT-28991 - Change sw-boolean-radio-group default event NEXT-28991 - Change sw-bulk-edit-change-type default event NEXT-28991 - Change sw-custom-entity-input-field default event NEXT-28991 - Change sw-entity-many-to-many-select default event NEXT-28991 - Change sw-entity-multi-id-select default event NEXT-28991 - Change sw-extension-rating-stars default event NEXT-28991 - Change sw-extension-select-rating default event NEXT-28991 - Change sw-file-input default event NEXT-28991 - Change sw-gtc-checkbox default event NEXT-28991 - Change sw-many-to-many-assignment-card default event NEXT-28991 - Change sw-meteor-single-select default event NEXT-28991 - Change sw-multi-select default event NEXT-28991 - Change sw-multi-tag-select default event NEXT-28991 - Change sw-price-field default event NEXT-28991 - Change sw-radio-panel default event NEXT-28991 - Change sw-select-field default event NEXT-28991 - Change sw-select-number-field default event NEXT-28991 - Change sw-single-select default event NEXT-28991 - Change sw-tagged-field default event NEXT-28991 - Change sw-textarea-field default event NEXT-28991 - Change sw-url-field default event NEXT-28991 - Change sw-button-process default event NEXT-28991 - Change sw-import-export-entity-path-select default event NEXT-28991 - Change sw-inherit-wrapper default event NEXT-28991 - Change sw-media-breadcrumbs default event NEXT-28991 - Change sw-media-library default event NEXT-28991 - Change sw-multi-snippet-drag-and-drop default event NEXT-28991 - Change sw-order-customer-address-select default event NEXT-28991 - Change sw-order-select-document-type-modal default event NEXT-28991 - Change sw-password-field default event NEXT-28991 - Change sw-promotion-v2-rule-select default event NEXT-28991 - Change sw-radio-field default event NEXT-31914 - Media cannot be moved higher than the parent folder NEXT-28998 - Make CMS module compatible with Vue3 NEXT-31874 - Add entity index to state machine history (Maximilian Rüsch) NEXT-30501 - Fix vue-meta for Vue 3 NEXT-0000 - Provide nested line item modal for container items (Stefan Poensgen) NEXT-31875 - Sort child line items by position (Stefan Poensgen) NEXT-29001 - Fix media module for Vue 3 NEXT-30604 - Avoid creating SEO URLs for headless sales channels. (Andreas Allacher) NEXT-30588 - Fix listings and tabs NEXT-31890 - Fix Bulk Edit one to many associations length evaluation and infinite requests (Lily Berkow) NEXT-30588 - Fix smalle issued in flow builder NEXT-29011 - Make all settings module Vue3 compatible NEXT-31920 - Add easier way to admin to only reindex some indices without inversion of selection (Joshua Behrens) NEXT-29011 - Make settings module compatible with Vue3 NEXT-31423 - Fix unsubscribe name (Tommy Quissens) NEXT-19596 - Fix salesChannel language validator (Sascha Heilmeier) NEXT-23252 - Customer Custom Field Rule evaluates wrong on multiple-selection custom fields (Jan Emig) NEXT-31896 - Fix promotion individual code redeemer if first assigned promotion is not instance of PromotionIndividualCodeEntity (Wolfgang Kreminger) NEXT-30404 - Reworked behavior of default sorting selection in sw-settings-listing NEXT-29212 - remove-es-scripts-from-cluster NEXT-23563 - Improved installing an extension will activate it NEXT-31162 - Enhanced error handling for invalid manifest files NEXT-31251 - Remove experimental state of shipping methods via apps NEXT-29686 - Upload and usage of spatial objects as media NEXT-31590 - Use property name in price serialization (Joshua Behrens) NEXT-29293 - Improve Inter font filenames (Elias Lackner) NEXT-30261 - Add esi tags NEXT-30951 - Improved error handling for media file renamings if the provided name is too long NEXT-30785 - fixed country region validation in checkout NEXT-32088 - Twig block spelling error in the standard contact form (AEYCEN) NEXT-30176 - Async JavaScript and all.js removal NEXT-31213 - customer variables in E-Mail-Templates do not work NEXT-26756 - Undundle storage adapters NEXT-31579 - Replace sw-field with real components NEXT-31307 - Collapse values for multi tags select component NEXT-25328 - Deprecated association auto-loading in SalesChannelDefinition NEXT-30405 - Changed display minimum of sorting select in storefront NEXT-31746 - Fix loading of default currency on product bulk edit NEXT-31146 - Listing variant in the product assignment of the category configuration NEXT-25802 - Update jwt package NEXT-32315 - Add missing parameters to StorefrontControllerTestBehaviour::request (Johannes Przymusinski) NEXT-31459 - Fix new version deletion NEXT-31901 - Update product stream definitions to make them ApiAware (Sander Drenth) NEXT-30554 - Changed primary identifier of product sortings in administration to product sorting id NEXT-32331 - Improve storefront render exception (Benjamin Wittwer) NEXT-31726 - Add admin request tracing NEXT-31579 - Add 'after' block to sw-settings-search tabs NEXT-31014 - Added new create migration command NEXT-26134 - fix-getting-request-from-event NEXT-31662 - Enhance searchable content card NEXT-31349 - Improve CustomFieldSubscriber Performance NEXT-31638 - New 6.6 System Requirements NEXT-32250 - Allow missing foreign key lookups and fail on missing lookups (Joshua Behrens) NEXT-31716 - Fix bug cross selling in combination with Elasticsearch NEXT-31876 - Fix payment method indexing (Niklas Wolf) NEXT-31845 - Remove tests classes from services xml NEXT-30550 - Handle languages correct on not found pages NEXT-31660 - countryId error handling NEXT-31769 - ES admin search is broken with third party plugins NEXT-29628 - Country not show in order details NEXT-30261 - Remove http cache deprecations NEXT-25276 - Updated PHPUnit to version 10+ NEXT-30983 - StringTemplateRenderer throws AdapterException with error code "FRAMEWORK__INVALID_TEMPLATE_SYNTAX" due invalid template syntax NEXT-32009 - Allow Symfony messenger exceptions without using domain exception pattern NEXT-32803 - Fix breadcrumb styles (Elias Lackner) NEXT-32042 - Correct address_format column type NEXT-30943 - Deprecated ProductCollection::getPrices NEXT-32027 - Fix typehint NEXT-32034 - Improve file validation service (Elias Lackner) NEXT-31739 - Remove ES_MULTILINGUAL_INDEX language flag NEXT-29586 - Stop fetching media items individually NEXT-30687 - Upgrade to symfony 7 NEXT-32095 - Fix address modal closing NEXT-00000 - Fix download link mail (Elias Lackner) NEXT-30912 - Fix promotion priority (Elias Lackner) NEXT-31889 - Fixed check for existence of export directory in ProductExportFileHandler NEXT-29585 - Product listing consumes much resources NEXT-32102 - typecast unsupported type in review filter NEXT-32283 - Add twig whitespace-control to all labels of CMS form elements (AEYCEN) NEXT-32101 - Catch numeric json param NEXT-32097 - Load SalesChannelAnalytics for storefront sales channels NEXT-32087 - Move max upload filesize logic NEXT-31798 - Remove deprecated load method from flow storers NEXT-31798 - Remove deprecation of CsvReader NEXT-31798 - Remove rule condition IsNewCustomerRule NEXT-32085 - Remove Storefront Twig, JS and CSS deprecations for v6.6.0 NEXT-31798 - Remove writeAccess field from IntegrationDefinition NEXT-31184 - Added deprecations for major release 6.7 NEXT-32170 - Redirect direct guest login call NEXT-32269 - Ensure that script files are only included once (Max) NEXT-22973 - Change snippet translation key NEXT-29587 - Optimize variant listing loading NEXT-31739 - Remove framework deprecations NEXT-32268 - Update Inter font in the storefront (Max) NEXT-32093 - Added nullable check to boolean fields in export NEXT-31592 - Change administration node version NEXT-32258 - Refactor LoginRoute and AccountService (Max) NEXT-31798 - Remove flow deprecations NEXT-32085 - Remove Storefront deprecations NEXT-32198 - Rename consent banner button "Deny" to "Only technically required" NEXT-32336 - Add event for health check (Silvio Kennecke) NEXT-32252 - Add new twig blocks to image gallery NEXT-23252 - Move comparison methods to comparison classes NEXT-32257 - Remove experimental tag from async theme compile feature NEXT-18778 - Add sw-language-id to the header of the api service NEXT-32264 - Add new twig blocks in offcanvas navigation templates NEXT-32279 - Fix Google ReCaptcha V3 cannot refresh the token on submit NEXT-32085 - Remove Storefront deprecations NEXT-31826 - Create help sidebar NEXT-29246 - Do not apply important to Bootstrap utility classes NEXT-32361 - Use file validation service via injection (Elias Lackner) NEXT-32377 - Added phpstan rule to use phpunit attributes over annotations NEXT-28322 - buld and variant retry ([Pascal Thesing](https://github.com/Pascal Thesing)) NEXT-31897 - Fix empty page on shipping method create NEXT-32388 - Update dompdf/dompdf to 2.0.4 NEXT-31593 - Add RememberMe checkbox in login to prevent autologout NEXT-32295 - Catch email not set error NEXT-32778 - Deprecated unused variables selectQuantityThreshold (Max) NEXT-32712 - Improve webpack performance NEXT-32771 - Fix sw-select-number-field component example (Stefan Zopfi) NEXT-32742 - Fix translation of salutations in contact form NEXT-30176 - Remove PluginManager imports and replace with window NEXT-30952 - Upgrade Admin webpack to version 5 NEXT-32750 - Add domain exception for snippet NEXT-31974 - Fix Document can not upload custom document file NEXT-30879 - Fix sorting of product cross sellings with dynamic product group by price with Elasticsearch NEXT-32736 - Fixed condition fields in rule builder NEXT-31820 - Remove unneeded NPM packages NEXT-32754 - Use swc core to minify files in Storefront NEXT-32760 - Use swc in admin to minify NEXT-32680 - Check redirectTo param is string NEXT-32696 - Fix theme script loading with remote files NEXT-29246 - Remove unneeded CSS NEXT-30923 - Update Bootstrap to 5.3.2 NEXT-31979 - Use 'birthdayFieldRequired' Config In 'My Account' (Alessandro Aussems) NEXT-32814 - Add separator to admin ES search indexer queries (Marcus Müller) NEXT-32302 - Add extension component section to the help center NEXT-32289 - Fix update email template type error when missing translation NEXT-31978 - Validate file name contains funky characters NEXT-32826 - Control iframe border via css NEXT-32251 - Grouped write results NEXT-32852 - Abstract tax detector NEXT-29389 - Admin search fix NEXT-29439 - Enforce id sorting NEXT-32201 - Add 'innovation as package title' NEXT-32903 - Add new blocks for prod and dev script tags NEXT-32895 - Admin SDK CMS Element config not rendernd NEXT-26217 - Reset variantListingConfig.mainVariantId when clone the product NEXT-32898 - Update Belgian VAT ID Validation Regex NEXT-33105 - Add initial sorting functionality to customer detail order view (Marcus Müller) NEXT-26065 - Add symfony scheduler bridge NEXT-32328 - Consider subfolders when deleting using a specific entity NEXT-32937 - Create plugin with composer constraint valid for 6.6 NEXT-32772 - Fix class fields in swc-loader NEXT-32926 - Fix media module inline edit handler NEXT-32311 - Updated validation in EntityWriter NEXT-26321 - Added new transactions to the status history NEXT-32889 - Fix privileges for state machine NEXT-30923 - Update NPM packages NEXT-32993 - remove duplicated option setting (tinect) NEXT-32738 - Convert product line items of deleted products to custom line items NEXT-30649 - Fix error on disabled products NEXT-31983 - Remove link for missing product on order detail NEXT-32997 - Configureable system update finish NEXT-32919 - Trigger MediaIndexer after MediaPathPostUpdater NEXT-32959 - Added events for changing multiple system configs NEXT-33030 - Multi select field with multiple collapsed values can not be expanded anymore NEXT-33056 - Add title attribute to sw_cms_list_item (Jonas Wrosch) NEXT-0000 - Do not require sales channel id for the GenerateDocumentAction (Max) NEXT-33006 - Fix live updating SEO url NEXT-32266 - Fixed reloading of default customer addresses NEXT-31817 - Reclassify IntegrationNotFound error NEXT-33058 - Storefront presentation modal leads infinite loading circle NEXT-31166 - Unify sw-form-field-renderer-events NEXT-33079 - Fix error handling for message handlers NEXT-33055 - Fix product slider cms element not displayed NEXT-32238 - Reschedule some scheduled tasks on failure NEXT-26984 - 204 footer empty NEXT-31342 - Add main category NEXT-30573 - Fix suggest paging NEXT-33138 - Fix $super chain with empty overrides NEXT-31864 - Fixed template select for product comparison sales channels NEXT-33041 - Reclassify DELETION_DEFAULT_CMS_PAGE error NEXT-33171 - Fix preview modal for image-gallery and image-slider NEXT-33245 - Fix return type of collection iterator (Max) NEXT-33151 - Merge plugin autoload-dev to classloader for PHPUnit NEXT-26696 - Rename Admin SDK NEXT-33235 - Use searchIds for import id resolving (Max) NEXT-32109 - replace-country-state-hook
See the UPGRADE.md for all important technical changes. NEXT-33138 - Fix $super chain with empty overrides NEXT-32889 - Fix privileges for state machine NEXT-31821 - Ensure databags convert parameters consistently (Joshua Behrens) NEXT-23252 - Customer Custom Field Rule evaluates wrong on multiple-selection custom fields (Jan Emig) NEXT-30404 - Reworked behavior of default sorting selection in sw-settings-listing NEXT-29212 - remove-es-scripts-from-cluster NEXT-23563 - Improved installing an extension will activate it NEXT-31162 - Enhanced error handling for invalid manifest files NEXT-29686 - Upload and usage of spatial objects as media NEXT-31590 - Use property name in price serialization (Joshua Behrens) NEXT-29293 - Improve Inter font filenames (Elias Lackner) NEXT-30261 - Add esi tags NEXT-30951 - Improved error handling for media file renamings if the provided name is too long NEXT-30176 - Async JavaScript and all.js removal NEXT-31213 - customer variables in E-Mail-Templates do not work NEXT-31307 - Collapse values for multi tags select component NEXT-25328 - Deprecated association auto-loading in SalesChannelDefinition NEXT-30405 - Changed display minimum of sorting select in storefront NEXT-31746 - Fix loading of default currency on product bulk edit NEXT-31146 - Listing variant in the product assignment of the category configuration NEXT-31459 - Fix new version deletion NEXT-31726 - Add admin request tracing NEXT-31579 - Add 'after' block to sw-settings-search tabs NEXT-31662 - Enhance searchable content card NEXT-31845 - Remove tests classes from services xml NEXT-30550 - Handle languages correct on not found pages NEXT-32009 - Allow Symfony messenger exceptions without using domain exception pattern NEXT-32042 - Correct address_format column type NEXT-32027 - Fix typehint NEXT-29585 - Product listing consumes much resources NEXT-32087 - Move max upload filesize logic NEXT-29587 - Optimize variant listing loading NEXT-32198 - Rename consent banner button "Deny" to "Only technically required" NEXT-31897 - Fix empty page on shipping method create NEXT-32388 - Update dompdf/dompdf to 2.0.4 NEXT-31593 - Add RememberMe checkbox in login to prevent autologout NEXT-32712 - Improve webpack performance NEXT-32750 - Add domain exception for snippet NEXT-30879 - Fix sorting of product cross sellings with dynamic product group by price with Elasticsearch NEXT-31978 - Validate file name contains funky characters NEXT-32852 - Abstract tax detector NEXT-29389 - Admin search fix NEXT-32201 - Add 'innovation as package title' NEXT-32147 - Update to Symfony 6.4 NEXT-32895 - Admin SDK CMS Element config not rendernd NEXT-32898 - Update Belgian VAT ID Validation Regex NEXT-31820 - Update NPM packages NEXT-32919 - Trigger MediaIndexer after MediaPathPostUpdater
See the UPGRADE.md for all important technical changes. NEXT-30834 - Added Http Cache to Route NEXT-30854 - Fix sw-promotion-v2 detail via datepicker usage so timepickers are displayed again. (AubreyHewes) NEXT-0000 - fix-transition-state-machine-exception (Jasper Peeters) NEXT-25584 - Media path storage NEXT-28996 - Make order module Vue 3 compatible NEXT-30455 - Add missing closing div in order history (Stefan Zopfi) NEXT-29277 - Add consent banner for usage data collection NEXT-29828 - Added async theme compilation configuration NEXT-00000 - Support active flag and maintenace mode in store api routes. (Andreas Allacher) NEXT-31496 - Fix custom icon in templates with restricted variables (Stefan Poensgen) NEXT-30601 - Fix missed error code in shopware.yaml NEXT-28992 - Vue 3 Fix category module NEXT-30315 - Change display product properties case NEXT-25425 - Change drop event of sw-sortable-list NEXT-30642 - Disable database profiler on CLI NEXT-30408 - Improved sorting error message NEXT-30670 - Use normal kernel system update NEXT-30825 - Fix accept all cookies button styling (Melvin Achterhuis) NEXT-30264 - Limit maximum length for search term NEXT-30705 - Add missing schemas and tags NEXT-29921 - Fix Null Value Issue for 'zipcode' Column in Database NEXT-30929 - Check nested query for version id field NEXT-30765 - Fix: Using designer in category send us back to the wrong page. NEXT-30040 - Sugar syntax for es definition NEXT-30652 - Tag api aware NEXT-30828 - Return error on preview with invalid SEO URL template (Joshua Behrens) NEXT-30829 - Use displayed SEO URL template value for validation hints (Joshua Behrens) NEXT-30087 - Fix document type display blank if language is child NEXT-26311 - Fix export advanced price with rule name NEXT-30812 - Fix snippets only consider domain snippet set id when set NEXT-23795 - Prevent inserting double dots into an url in mail NEXT-30848 - Change title for wishlist toggle (tinect) NEXT-0000 - Change type to UrlGeneratorInterface in BCStrategy (tinect) NEXT-29060 - Fix Generating documents very slow once a reasonable number of documents exists NEXT-0000 - Deprecated Shopware\Core\Checkout\Cart\CartEvents (Max) NEXT-30838 - Remove AFTER statement from order_line_item migration (Max) NEXT-0000 - Correct namespace of AbstractMediaUrlGenerator (tinect) NEXT-25998 - Add onlyLiveVersion parameter to app webhooks NEXT-30963 - Typo from "langugage" to "language" (Matheus Gontijo) NEXT-30950 - Deprecate LoggerFactory NEXT-30920 - Improve focus on input for multi select tag component NEXT-30753 - Fix last customer payment method unavailable NEXT-19579 - Improve-ElasticSearch-Debugging NEXT-30849 - Update admin sdk NEXT-0000 - Add local apps folder (Max) NEXT-29904 - Fix find best variant sorting NEXT-30811 - change-array-parameter-type-to-binary NEXT-30809 - fix app rule condition validation NEXT-30171 - Deprecate unused components for cleanup in v6.6.0 NEXT-31375 - Deprecated typo in image gallery config (Ioannis Pourliotis) NEXT-30947 - Disallow direct access to guest account login page NEXT-30847 - phpstan-rule-to-prevent-after-statement-in-migration NEXT-31086 - fix seo url criteria for category (Jeff Böhm) NEXT-31012 - Use domain exception in Elasticsearch bundle NEXT-30879 - Fix sorting of product cross selling with dynamic product group by price NEXT-30810 - Update bulk edit product. NEXT-31048 - Add payment and shipping method technical_name NEXT-30650 - Fix creating Rule for customer custom fields NEXT-30987 - Fix custom price fields in admin NEXT-30878 - Fix symfony flex template admin build and watch NEXT-30907 - Handle exception for ProductExportGenerator NEXT-31153 - Batch cart price calculation NEXT-25102 - Fix that multiple instances of same CMS element from app sdk are not working NEXT-31021 - Rule builder Date range condition broken NEXT-30323 - Add sparkles icons and new twig block NEXT-29142 - Add foreign key shipping_order_address_id in order_delivery table NEXT-31263 - Allow tokenizer decorators wihth elasticsearch package (Joshua Behrens) NEXT-29751 - Fix country in the shipping address is not translated in the document. NEXT-31266 - Show system update finish messages when running system:update:finish (Joshua Behrens) NEXT-31265 - Trigger Symfony command events, when commands are executed via other commands (Joshua Behrens) NEXT-31264 - Ensure product keyword dictionary cleanup is retrying on failure and reduce chance of table lock failures (Joshua Behrens) NEXT-31272 - Use date aggregation to show product search index info (Joshua Behrens) NEXT-31249 - Add new low_priority queue NEXT-31261 - Expect numeric search terms to be more precise apply less typo correction (Joshua Behrens) NEXT-23915 - Fixing edge case where orders would disappear when cancelling admin order edit NEXT-31262 - Make PartialEntity and Criteria fields public API (Joshua Behrens) NEXT-30858 - Preparation that shipping methods no longer require an availability rule to be valid as of version 6.6.0.0 NEXT-31275 - Fix custom field rule with multi select (Jan Emig) NEXT-29013 - Update event emitting of sw-sales-channel-config NEXT-31269 - Allow IdField to be nullable NEXT-31256 - Fix no order confirm is sent in combination with an invoice document NEXT-31148 - Fixed bug getZipcode return value must be string NEXT-30942 - Fixed bug grand total without star NEXT-31087 - Fixed wrong twig naming NEXT-31303 - Remove from cart event NEXT-28809 - Allowed "data-url" and "data-ajax-modal" in snippet sanitization NEXT-31188 - change import export factory exceptions NEXT-30186 - ES Definition buildTermQuery should return BuilderInterface NEXT-31347 - Update return type of AfterLineItemQuantityChangedEvent::getItems() (Akshit Bhardwaj) NEXT-31368 - Add option to define socks port and host (Sascha Heilmeier) NEXT-30846 - Updated the create plugin command NEXT-31378 - Deprecate InvalidThemeException NEXT-31458 - Fix silencing flow errors inside transaction (Maximilian Rüsch) NEXT-31378 - Introduce entity not found message template NEXT-31475 - Add twig block to order history and reformat code (Ioannis Pourliotis) NEXT-31270 - Ensure translatable fields are nullable NEXT-30680 - Fix promotion item picking mode NEXT-31334 - Recalculation with live version NEXT-31145 - Fix issues with new languages inherited from another language in the invoice document NEXT-31210 - Add soft deletes to custom entities NEXT-29512 - Customer profile cannot cancelled properly NEXT-31427 - fix installation with invalid admin user password NEXT-31296 - Fix rule caching in after order process NEXT-31466 - Add redirectParameters to confirmUrl (Benny Poensgen) NEXT-29496 - Fix dynamic product listing filter NEXT-31486 - Fix timezone NEXT-31263 - Use AbstractTokenFilter in StopwordTokenFilterr NEXT-31368 - Fix Admin webpack config NEXT-31519 - Fix category id update in line item NEXT-31545 - fix media delete pagination NEXT-31474 - Set default target when route does not exist NEXT-30229 - Extending the app system with shipping methods NEXT-31013 - Added v-model for sw-cms-layout-modal search field (Florian Liebig)
See the UPGRADE.md for all important technical changes. NEXT-00000 - Fix OpenApi definitions (Benjamin Wittwer) NEXT-30599 - Fix overridden super calls in promise chains in admin components (Maximilian Rüsch) NEXT-29549 - Make eslint compatible with TypeScript NEXT-30427 - Fix datepicker to correctly load Vue refs on initial page loads (Maximilian Rüsch) NEXT-29905 - Replace Vue 2 filters NEXT-30042 - Allow to restrict theme:compile to themes and sales channels (Max) NEXT-26940 - Throw a domain exception when inserting a category after a category which does not exist NEXT-30160 - Add error handling on document preview (Cedric Engler) NEXT-28994 - Vue 3 Fix properties module NEXT-30143 - Add a force option to the assets:install command NEXT-30142 - Add scheduled task helpers commands NEXT-30141 - Ignore ExtensionThemeStillInUseException for incidents NEXT-30170 - Add invalid document exception to error log level notice NEXT-0000 - Refactor internals of SeoUrlUpdater (Max) NEXT-30236 - Remove cached seo resolver NEXT-30456 - Add option to framework:schema command NEXT-30098 - Apply domain exception for Access key helper NEXT-30240 - Fix download file name and fallback cannot contains slashes NEXT-18182 - Vue3 compatibility for privileges.service NEXT-30137 - Add missing Vue 3 Jest tests NEXT-24941 - enable rule builder time unit conversion NEXT-29008 - Vue 3 Fix promotions module NEXT-29798 - Add non-stackable line item exception to log level notice NEXT-30332 - Use correct languages to update product search keywords. (Andreas Allacher) NEXT-20198 - Dont trigger flow when importing csv NEXT-29959 - Fix user recovery request on different default language NEXT-21702 - 2023-09-05-fixed-bug-custom-fields-not-shown-on-new-shipping-method NEXT-30014 - Add twig block to tab component on customer detail page NEXT-30352 - Fix cache clear in cluster setups NEXT-29625 - Add forced install to TestBootstrap.php NEXT-29827 - add indeterminate checkbox state NEXT-28627 - Expose active billing address over context Store-API NEXT-25508 - fix entity multi select not clearable NEXT-30364 - Fix predis support NEXT-30306 - Fix query string parser throw syntax errors NEXT-30400 - Add fixed UUID to OA schema NEXT-30079 - Fixing add product by number NEXT-30429 - Propagate request data to payment payloads during checkout NEXT-29277 - Remove old consent modal NEXT-30181 - Handle exception for VersionManager NEXT-30262 - Collect cache invalidations in Redis NEXT-30509 - Change source map variant NEXT-30539 - Add missing semicolon after JS variable (tinect) NEXT-30544 - Add update interval to sitemap documentation NEXT-30292 - Add cart and promotion exception to log level notice NEXT-30627 - Fix media:delete-unused command when used with an offset of 0 NEXT-30651 - Exclude cache folder from backup NEXT-30648 - Fix queing admin search
See the UPGRADE.md for all important technical changes. NEXT-29158 - Added horizontal alignment config to cms-image (Joschi Mehta) NEXT-29895 - Allow to query/filter on null on fields of type ListField (Kurt Inge Smådal) NEXT-12479 - Refactor stock management NEXT-29559 - Add active from to tax rule NEXT-29869 - Add versioning to Refund related entities (Mateusz Kowalski) NEXT-29321 - Communication from storefront to app server NEXT-29081 - Fix shipping cost editing by admin in not default currency NEXT-29617 - Reintroduce custom icon possibility in the <sw-icon/> component. (AubreyHewes) NEXT-29490 - Change line item removal in Store-API to POST NEXT-19616 - Fix translation MessageFormatter locale (Dumka.pro) NEXT-29131 - Order creation without customer breaks admin order panel NEXT-29111 - There are console errors while creating a new customer NEXT-29507 - Improve DAL Criteria ID validation NEXT-29615 - Fix Symfony bundle container access NEXT-29635 - Add criteria schema to admin API NEXT-29164 - Fix PHP 8.2 deprecations NEXT-29596 - Handling incident rate-limit NEXT-29662 - Reset from & to dates to ignore time when comparing dates for DateRangeRules (Tommy Quissens) NEXT-29671 - Make the error summary component optional in the card view component NEXT-28865 - Update salutation default for customer NEXT-21158 - Fixed bug with 0 price product discount NEXT-28488 - Disallow accentue in fonts NEXT-29106 - Add missing modal close to PseudoModalUtil NEXT-29716 - do not throw exception on no verification hash NEXT-27399 - Duplicating contact data results in empty form NEXT-29784 - Add Criteria event to finalize transaction NEXT-29768 - Fix missed error code in shopware.yaml NEXT-29633 - Fix register router with empty billing address NEXT-30016 - Remove objects from the storefront exception messages (Ruslan Belziuk) NEXT-25490 - Throw an exception when an app uses features that require a secret but does not provide an app secret NEXT-29789 - Add option to disable dev server inline mode NEXT-28991 - Deprecate sw-field wrapper NEXT-29797 - Fix asset manifest creation locally NEXT-29735 - Handle exception for country not found NEXT-29109 - Bad performance when editing text with many CMS blocks NEXT-29733 - Invalidate parent products when invalidating product detail route NEXT-27537 - Add health check url NEXT-28991 - Add twig if/else support for template extensions NEXT-29862 - Fix missing privileges error in admin extension sdk repository NEXT-29732 - Remove admin package.json contributors NEXT-29534 - Fix passing non string identifier to client repository NEXT-29916 - Introduce Global Default for Storefront NEXT-29377 - Load cmsPage correctly when single page is maintain page NEXT-18182 - Fix vue-twig pre-processor NEXT-29908 - Prevent cache warmup for headless saleschannels NEXT-29967 - Fix customer review count sync NEXT-29969 - Readd extensions API to order NEXT-29980 - Allow running scheduled task handler as crontab NEXT-29992 - Fix mariadb compatibility NEXT-30019 - Apply JS to Storefront during composer build:js:storefront NEXT-29990 - fix loading state for the sales channel detail product tab NEXT-28997 - Make customer module Vue 3 compatible NEXT-30010 - Show secure access key NEXT-30064 - Add Criteria events to transactions NEXT-27121 - Add max limit to admin api calls NEXT-29901 - Revert extensionAlias in Storefront webpack config NEXT-28978 - Add Vue 3 Jest
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/v6.5.4.0/UPGRADE-6.5.md NEXT-23811 - Implement consideration of log configuration for plugins (Alexander Wink) NEXT-28673 - Add order tax state footnote in customer's order history (Joshua Behrens) NEXT-23633 - Do not show fullwidth OffCanvas in mobile (xs) viewport NEXT-17619 - Prevent unfiltered payment method media search (Elias Lackner) NEXT-25264 - Fix salutation auto set default when create customer in admin NEXT-26840 - Allow disabling fine grained config caching NEXT-27075 - Store asset manifest in the private filesystem NEXT-29324 - Update default storefront templates to improve developer experience (Robert Fischer) NEXT-26800 - Add open-api validation command NEXT-24207 - Added handler for route changes inside apps NEXT-28607 - Fix duplicate styling in storefront hot-mode (Benjamin Wittwer) NEXT-28477 - Fix webpack clean plugin glob pattern NEXT-25815 - Recurring payment handler NEXT-28799 - Add editor for custom fields on units (Joshua Behrens) NEXT-10719 - Categories with external link shouldnt have SEO urls NEXT-28698 - Product payload for storefront controller (Alexander Schmidt) NEXT-26928 - Apply domain exception for media NEXT-28976 - Extend storefront webpack watch range (Benjamin Wittwer) NEXT-28688 - Add missing OpenApi definitions (Benjamin Wittwer) NEXT-26919 - Add Domain Exception for customer NEXT-28766 - Deprecated external tax state NEXT-26513 - Document Inheritance / sw_extends dont work NEXT-28772 - Run state transitions in system scope NEXT-27480 - Shipping method price unique quantity start exception handler NEXT-28243 - Update Admin Extension SDK version NEXT-28781 - use file extension and mime type for validating uploads NEXT-29183 - add thumbnail sizes to product manufacturers (tinect) NEXT-28610 - Apply domain exceptions NEXT-28434 - Catch order not found errors in Storefront NEXT-26878 - Change log_level of template rendering errors for ProductExport and MailService NEXT-28902 - Ensure profiler is not loaded in production mode NEXT-28904 - Generate unused media report NEXT-28924 - Decrease log level of ExportNotFoundException NEXT-28971 - Remove unnecessary cache hash creation for cache in the CurrencyFormatter and add cache reset (Max) NEXT-22942 - Add generic template to EntityRepository NEXT-28812 - Allow only printable ASCII characters in filename NEXT-28770 - Fix missing product link at a new order NEXT-29054 - Improve Bulk Edit UI for the toggle field NEXT-29077 - Missing product cover images when no version id is filled NEXT-29053 - Update sizing of icons on Settings searchable content general component NEXT-29105 - Allow typescript in the storefront NEXT-26363 - Display created by admin pill without salutation NEXT-24602 - Fix order loaded event missing billing address association NEXT-26862 - Fix settings customer groups listing pagination NEXT-28431 - Clear cache after search config is updated NEXT-28631 - Fix address validation definition in register route NEXT-28517 - Fix user cannot be deleted when associating with a customer NEXT-28630 - Fix the render error message NEXT-29147 - Remove body from footer.html-twig NEXT-29004 - Add a elasticsearch mapping update command NEXT-26389 - Allow installation of apps in the FRW NEXT-26264 - Deprecate constraint annotations NEXT-25804 - Fix duplication of theme images NEXT-29195 - Remove info about single-transaction header NEXT-29172 - Make app components to be appropriately updated NEXT-29314 - Add storefront controller endpoints to change or delete multiple line items at once (Max) NEXT-25247 - Improve validation in customer detail address NEXT-29218 - Remove aciton button from storefront account overview NEXT-29203 - Fix cms page won't add custom css classes. (Mario Schierhoff) NEXT-29278 - Product cover inherited does not work anymore NEXT-29302 - Fix support for Symfonys trusted_* kernel parameters (Christian Schiffler) NEXT-28693 - Fix product cover image is missing in email templates NEXT-28562 - Cache invalidation manipulation NEXT-29191 - Deleting a customer causes errors when changing the order state of his order NEXT-29170 - Enhance sorting on sw-entity-listing NEXT-29347 - Fix redirectParameters in payment-form template NEXT-29227 - improve open api schema for /token endpoint NEXT-28684 - Replace Admin Worker with Shared Worker NEXT-26807 - Add cart dependent hooks NEXT-26449 - Add SalesChannelContextAssembledEvent NEXT-29409 - Fix slow recompile time in webpack dev server NEXT-29451 - Add cron and date interval fields NEXT-29467 - Removed duplicate GenerateThumbnailsHandler service registration (Max) NEXT-00000 - Changed administration uuidv4 to uuidv7 (Benjamin Wittwer) NEXT-29168 - Loosen composer constraints to automatically allow minor updates of dependencies
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/v6.5.3.0/UPGRADE-6.5.md NEXT-21815 - Create app manifest xsd for flow custom event NEXT-21814 - DAL for App flow event. NEXT-21816 - Update App lifecycle element for flow custom event NEXT-21819 - Add custom event to current list event. NEXT-21817 - Flow api to dispatch custom app event. NEXT-24807 - Handle for unknown trigger at flow builder. NEXT-25362 - Refactor namespace for app flow actions NEXT-24081 - Fix date format in documents not correct NEXT-25239 - Fix versioned many to one references (Maximilian Ruesch) NEXT-28659 - Adjust version constraint for flysystem (Sebastian König) NEXT-23615 - use-indices-for-cart-cleanup NEXT-27675 - Fix bulk edit - when empty custom fields is passed, it wipes out ALL custom fields ([Matheus Gontijo](https://github.com/Matheus Gontijo)) NEXT-26334 - Document translator does not use fallback NEXT-27486 - use uuidv7 when creating new uuids (Jochen Manz) NEXT-25265 - Improve warning message delay actions NEXT-27457 - Apply domain exceptions in controllers NEXT-27449 - Evaluate Vue 3 eslint rules NEXT-27431 - Listing processors NEXT-24508 - Fixed product description and reviews element overflows the preview NEXT-26845 - Fix sales_channel_analytics definition NEXT-27515 - Fix document invoice broken at letter header NEXT-0000 - Fix Elasticsearch DateTime criteria parser (Max) NEXT-27716 - Handle form validation on the modal NEXT-26230 - Widen the used space in storefront account overview pages NEXT-27284 - Wrap StorefrontController render call in ShopwareException NEXT-26846 - Fix DAL validation for fields with Required and AllowEmptyString flags NEXT-26658 - Add Cookie Configuration for Youtube NEXT-28427 - Use value of BeforeSystemConfigChangedEvent in the SystemConfigService set value. (Andreas Allacher) NEXT-28428 - Allow uploading of url encoded media (Michael Köck) NEXT-28214 - Fix bug where double slash would break salesChannelRequired check NEXT-28311 - Quote table names for delete unused media queries NEXT-27273 - Text block translation from product pages NEXT-26813 - Fix order state auto reset to open status NEXT-27403 - Catch payment method exceptions on order finish NEXT-28455 - Fix block slot combination of sw-sidebar-collapse NEXT-23958 - Fixed categories of type internal link only show 25 items NEXT-23486 - SEO-Bugs and Improvements in Theme / listing and cross-seller boxes NEXT-28475 - Propagate sw-base-field slots through other fields NEXT-28463 - Add active status to tabs NEXT-28496 - Create new template scopes NEXT-25797 - Improve UI settings number range detail page NEXT-28565 - Implement KeyValueStorage NEXT-28566 - Wrap Newsletter recipient error in ShopwareException NEXT-28618 - Add children to LineItem in order types NEXT-28609 - Introduce domain exception for state machine NEXT-28169 - Fix mail serializer bytes NEXT-28600 - Bulk Edit should be worked with One To One Association. NEXT-28712 - Add loading spinner to password confirm modal in user listing NEXT-28707 - Allow disabling HTML Sanitizer NEXT-28237 - Fix elasticsearch indexing of admin custom field sets
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/v6.5.2.0/UPGRADE-6.5.md NEXT-25553 - Add module sw-settings-usage-data NEXT-26207 - Fix non-UUID FKFields in data abstraction layer NEXT-26890 - Do not use request locale to format the rich snippet product release date (Max) NEXT-26331 - Moved closing div in correct twig block (Ioannis Pourliotis) NEXT-25610 - Deprecate large button variant NEXT-23543 - rename-markAsTopseller-label-in-admin-product-details NEXT-26649 - Display rebuild search index search config for non-elasticsearch shop NEXT-26258 - Add styling property to sw-checkbox-field NEXT-23498 - Alphabetical sorting of countries and states NEXT-25322 - Fix bug missing snippets input when snippets set is more than 25 NEXT-26752 - Replace serialize/unserialize with JsonSerializable NEXT-26782 - Fix Admin management of composer plugins NEXT-26433 - Fix bug wrong icon name on settings logs page and settings storefront page NEXT-25750 - Fix SDK tabs issue NEXT-26896 - Fix Elasticsearch visibility mapping definition (Max) NEXT-26184 - Update lazy function for breaking change NEXT-18244 - Correct the behavior of order status change in bulk editing orders NEXT-25347 - Add product states to product streams NEXT-26882 - Should be able to extend criteria before loading entity inside flow storer NEXT-25347 - Little changes on the customer group detail page NEXT-26995 - Fix error redirect on account login NEXT-25332 - Remove deprecated autoload === true associations NEXT-26983 - Allow composer app install NEXT-25020 - Handle user context information NEXT-27122 - Introduce new DomainExceptions NEXT-27046 - Added exception on invalid promotion code pattern NEXT-27106 - Salutation change is not possible in the storefront NEXT-27207 - Add Sales channel domain exceptions NEXT-27079 - Handle exception when register without error route NEXT-26748 - Add app version constraint NEXT-27176 - Allow configuration for log level on error codes for domain exceptions NEXT-27442 - Fix webpack cleanup config NEXT-27466 - Update and evaluate all packages for Vue 3 NEXT-28406 - Correct version compare for shopware (tinect)
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/6.5.1.0/UPGRADE-6.5.md NEXT-19709 - Switch storefront plugin data-attribute selectors to match their -option naming (Joshua Behrens) NEXT-24157 - Consider Inheritance in Product Stream Mapping (Thomas Holm Thomsen) NEXT-24148 - Add order comment indicator in order overview (Melvin Achterhuis) NEXT-24029 - Add sales filter to product filtering (Melvin Achterhuis) NEXT-24903 - Fix typos in criteria NEXT-25220 - Define Store API context route as service. (Andreas Allacher) NEXT-25596 - Compile theme only for active sales channels (Lars Schröder (KielCoding)) NEXT-24382 - Fix adding new customer functionality NEXT-25027 - added-media-uploaded-event (Hung Mac) NEXT-24856 - Add subset variable font Inter to Shopware storefront (Max) NEXT-18904 - Improve StateMachineHistory query performance NEXT-25870 - Form preserver iterates through wrong elements (Wanne Van Camp) NEXT-19751 - Add shipping status rule condition NEXT-25004 - Publish CMS page data from category detail page and product detail page (Vu Le) NEXT-18195 - add cart condition amount of shipping costs NEXT-25022 - Add pcre twig extension NEXT-25052 - Fix mismatching behaviour of snippet usage in form cms element (Vincent Neubauer) NEXT-21986 - sw-text-editor-toolbar does not disappear NEXT-25104 - Adds app action buttons for cms pages (Heiner Lohaus) NEXT-25289 - App action buttons for category (Heiner Lohaus) NEXT-24919 - Add LineItemFactory to CartLineItemController NEXT-25061 - Fix alignment of taxes overview grid column 'default' NEXT-20474 - Fix VAT ID pattern for cyprus country is not correct. NEXT-25145 - Refactor internals of SalesChannelRequestContextResolver (Max) NEXT-12019 - Set NoAutoCacheControl on httpCache routtes NEXT-24850 - Broken CMS image slider when mapping to deleted product cover image NEXT-25146 - Fix duplicated position identifier in dashboard charts NEXT-24930 - PHPStan rule prevent autoload in entity definitions NEXT-11357 - Add native image lazy loading to the Storefront NEXT-24983 - Make user activity tab overarching NEXT-25195 - Unclutter composer commands NEXT-25137 - Switch to Clipboard API NEXT-23498 - Alphabetical sorting of countries and states NEXT-23512 - Fix CMS service collect function for array values (Elias Lackner) NEXT-25069 - Fix UI broken at country state label in registration form NEXT-21390 - Prevent double click error to delete a product from cart NEXT-25219 - Prevent unfiltered cms demo category media search (Elias Lackner) NEXT-25253 - add-sorting-for-merged-documents (Cedric Engler) NEXT-25236 - sw-time-ago should handle future dates as well NEXT-25175 - Update Cypress to latest version NEXT-24427 - Add American English in Installer NEXT-24916 - Fix HTML line breaker at address format NEXT-23497 - Improve setting time zones NEXT-23975 - Log theme compile errors after update NEXT-25063 - Provided cart price taxes are not calculated into the cart price sum NEXT-26177 - Implement language switch and smart bar buttons for main module in App (Vu Le) NEXT-25267 - Make admin compatible with NPM 9 NEXT-24935 - Create method to get translation of trigger name NEXT-16591 - Improve text wrap behavior in notifications NEXT-22671 - Add a separate Guzzle client for the First Run Wizard NEXT-24201 - Add transparent background possibility to text editor NEXT-25277 - Adjust login styling NEXT-25272 - Adjust menu styling NEXT-25291 - ProductLineItem validator ignores skip product stock validation NEXT-25306 - Remove unused DebugStack class NEXT-17050 - Allow conversion of units in the rule builder NEXT-25324 - Update DBAL dependency NEXT-25282 - Removing Cancel Button from Extension-Store Review NEXT-25583 - Add twig blocks in CMS Element Category Navigation (Rune Laenen) NEXT-18206 - add customer default payment method rule condition NEXT-19748 - Add Order Created by Admin Rule NEXT-19749 - Add Order status Rule NEXT-25067 - Fix tracking codes cannot be exported NEXT-19886 - Use bootstrap variable to define container width NEXT-25359 - Overwrite Dompdf configuration NEXT-24546 - UI improvement for order and customer NEXT-25435 - Storefront watcher with an URI (Max) NEXT-25509 - repair load custom seo url twig extensions (Björn Herzke) NEXT-25438 - Improve handling to link line items to custom links (Max) NEXT-19750 - Add order transaction status rule NEXT-24547 - Change column tax_rate allow three decimal NEXT-24862 - Fix can't search with document number in order detail page NEXT-25269 - Fix label Incl. VAT display with intra community B2B NEXT-25410 - Fix navigation duplicated error in bulk edit NEXT-23878 - Get tags in CustomerTagRule when the customer is created NEXT-25021 - Improve search results behavior NEXT-17610 - Long names in Drop-down menus is not displayed properly in sales channel settings NEXT-25419 - Deprecate writeAccess field in integration NEXT-25346 - Change scope of cartTaxDisplay condition NEXT-25637 - Add company and VAT id to customer detail page in the administration (Sven Mäurer) NEXT-25636 - Add missing company phone number to DocumentConfiguration (Sven Mäurer) NEXT-21258 - Add version state NEXT-25391 - Fix JS error in account overview NEXT-25365 - Add direct line item access to LineItemFactoryRegistry NEXT-19176 - add order condition to check if tracking code is set NEXT-25474 - Align buttons in the snippet resetting modal NEXT-21883 - Added Order custom fields rule NEXT-22737 - Improve setting snippet e2e tests NEXT-25315 - Refactor the code flow builder NEXT-25495 - CMS Block visibility race condition NEXT-25638 - Fix multiple recipients throwing type error. (Sven Mäurer) NEXT-24902 - Change Standart to Standard NEXT-25520 - Update Monolog NEXT-24354 - Add promotion code to admin search NEXT-19982 - Edit App Already installed Exception NEXT-25537 - Fix storefront theme asset paths (Benjamin Wittwer) NEXT-25375 - Allow editing the searchable content via the context menu NEXT-25459 - Fix checkbox checkmark in media component NEXT-25460 - Fix chevron icon size of media sidebar NEXT-25468 - Fix folder settings icons NEXT-25466 - Fix wrong breadcrumb icon in media module NEXT-25465 - Fix wrong icon for media navigate back NEXT-25467 - Fixes several icons in media move modal NEXT-25342 - Improve errors in order new customer modal NEXT-25201 - Add provinces for Canada country NEXT-25371 - Fix quantity alignment of order line item NEXT-25433 - Returned invoice has 7 pages NEXT-25782 - Add order by position on rule payload update NEXT-25327 - Remove deprecated autoload === true at associations NEXT-25615 - Remove occurrences of viewer acl permissions inside checkout NEXT-17689 - Fix SVG-image is not displayed in the desktop view NEXT-25650 - Fix theme assets NEXT-25367 - Remove admin user activity debounce NEXT-25461 - Fix stretched images in media preview NEXT-24928 - Improving performance on cms-block config NEXT-25698 - Improve grammar of useDefaultCookieConsent setting (Philipp Tuchardt) NEXT-25018 - Fix inheritances switch NEXT-25707 - Check existence of theme route before registration NEXT-25696 - Final storable flow NEXT-25484 - Fix auto logout multiple tabs behaviour NEXT-24805 - Fix fallback icon for sw-search-bar NEXT-25651 - Fix send mail message encoding NEXT-25668 - Remove checkbox in media module on back folder NEXT-10244 - Slider Images Drag & Drop NEXT-25672 - Suggest shopware/dev-tools package NEXT-25000 - Update color of inherited cards NEXT-25648 - Add loading spinner on checkout register page NEXT-25693 - Change promotion to payload NEXT-25200 - Convert generated variant_listing_config in product to normal column NEXT-25701 - Message serialization NEXT-25663 - Restore the function of resetting to the default NEXT-16914 - Fix notification opening direction NEXT-25068 - Improve assets install NEXT-25690 - Added defaultRangeIndex property to sw-chart-card NEXT-23580 - Adjust catch block inside saveWithSync method NEXT-25711 - HTML Filter in Snippets NEXT-24882 - Improve address markup to remove space between the symbol NEXT-25623 - Install Shopware success with another locale NEXT-25781 - Wrong selector to open an ajax modal on page_product_detail_tax_link NEXT-25758 - Refresh plugins after running composer commands NEXT-25125 - Update ScheduledTask run interval after plugin update NEXT-25408 - Fix the error when saving flow with changed sequences NEXT-25742 - Added helpText property to sw-chard-card NEXT-25826 - Clear container cache after plugin extraction (Maximilian Rüsch) NEXT-25364 - Minify flow storer NEXT-23844 - Fix bug invalid data included flow can be saved NEXT-25855 - Reduce core package size NEXT-13408 - Separate criteria in sw-media-library NEXT-20434 - Add condition for properties to Rule Builder NEXT-25886 - Es date fields NEXT-19136 - Fix datepicker date format NEXT-25126 - Migrate account type for customer NEXT-25607 - Add utility css classes for font styling in the admin NEXT-25231 - Add warning state to sw-tabs-item NEXT-9496 - Improve delete unused media command NEXT-25652 - Hide "Import settings" on an export NEXT-25494 - There are some configs missing in action NEXT-25892 - Update meteor-icon-kit to v5.1.0 NEXT-25957 - Respect inherit flag for system config controller NEXT-25970 - Add sort criteria to shipping method selection NEXT-25847 - Don't require already required/installed plugins NEXT-25553 - Add neutral variant to sw-alert component NEXT-25987 - Added header account widget dropdown blocks (Ioannis Pourliotis) NEXT-24755 - Documents should be listed in descending order based on the creation date in the storefront NEXT-25980 - Update webpack-plugin-injector NEXT-25515 - Active payment methods are partially not taken into account in admin orders NEXT-25977 - Custom field helper NEXT-25546 - Fix jest fail on console NEXT-24475 - Fix order filter error NEXT-24871 - Getting errors when removing tags from order NEXT-25976 - Link component library icons to new icon set NEXT-25564 - The SwInternalLink component allows non-router links NEXT-24765 - Update admin dependencies NEXT-25360 - Context button leads opening modal NEXT-26068 - Fix AssetService using Google Cloud (Pascal Josephy) NEXT-26059 - Fix plugin uninstall for composer plugins NEXT-25895 - Show extension update notification if permissions to update those are given NEXT-26048 - Reset the configurable flag in apps when the config.xml was removed in an update NEXT-25383 - Deprecated address settings module in admin NEXT-24225 - Check customer email valid when adding new order from order detail NEXT-25150 - Disable CSS auto prefixer NEXT-25553 - Fix responsive modal content without header NEXT-25966 - Remove creating order version initially NEXT-25940 - Add symplify phpstan rules NEXT-26002 - Fix import export entity listing NEXT-26085 - Impossible to save draft with a Sidebar block NEXT-25856 - Reduce admin package size NEXT-25869 - Use configured twig.cache dir for twig cache NEXT-25582 - Add sw-extension-icon component NEXT-26080 - Add system config webhook NEXT-25809 - Allow request service NEXT-26106 - Fix document credit note can not create without credit line items NEXT-26081 - Fix entity mapping service NEXT-26111 - Frontend cart access NEXT-25424 - Public api rules NEXT-26049 - Document can not be send NEXT-26003 - Check Validity before submit form basic captcha NEXT-26140 - Improve twig security extension NEXT-17168 - Link to themes store tab from empty state NEXT-26164 - Fix JWT key generation NEXT-25378 - Fixing the style of selection list load more in order info NEXT-14295 - Improve Loading speed of Product listing pages NEXT-26150 - Improve store filters NEXT-22926 - Add condition number of reviews NEXT-26182 - CMS Layout background image for element blocks its content NEXT-25160 - Default value validation NEXT-24976 - Fixed the navigation of content page disappears behind the main sidebar navigation NEXT-26073 - Allow snippet value to include bootstrap 5 data attributes NEXT-25572 - Fix sales-channel-assignment.cy.js NEXT-26112 - Payload protection NEXT-26010 - Add shopware version to app scripts NEXT-25961 - Enable eslint jest recommended NEXT-24043 - Fix custom fields media in the Media page not usable NEXT-19598 - Product pricing app scripts NEXT-26200 - Add AI-Copilot-Badge component NEXT-26169 - Added setting to make custom fields exposable in cart NEXT-26231 - Enable admin eslint rules for jest tests NEXT-26192 - Map Doctrine type enum to varchar NEXT-26254 - Add media uploaded webhook NEXT-26250 - Make an array struct iterable and countable (Dominik Mank) NEXT-26255 - Refresh plugins in management service NEXT-22759 - Allow custom entities to be referenced in custom fields NEXT-26290 - Fix review stars in administration NEXT-26159 - Fix shipping costs price still visible when disabled display prices in documents NEXT-26012 - Add jest tests for init folder NEXT-26168 - Add promotion option to order filter NEXT-25679 - Add AI badge support to system config switch NEXT-26062 - Correct get current payment method id NEXT-26090 - Serialize and unserialize message queue NEXT-25978 - Add AI badge option for sw-card NEXT-19598 - Adjusted hook class visibilities NEXT-26363 - Display created by admin pill without salutation NEXT-26295 - Fix typehint in ProductEntity NEXT-26366 - Recalculated carts should not be persisted NEXT-26184 - Update lazy loader in Storable Flow NEXT-26342 - Fix loading order of commercial plugin NEXT-26388 - Fix price field behavior when allow empty is true NEXT-26359 - Fix tab bar underline position bug NEXT-26263 - Abuse of the newsletter form NEXT-25940 - Add symplify phpstan naming rules NEXT-26441 - Add Storefront redirect event NEXT-25597 - Add AI-Copilot hint component NEXT-25788 - Improve redirect manipulation NEXT-21465 - Promotion performance NEXT-26420 - Improve customer saving NEXT-26184 - Update lazy function for breaking change NEXT-26995 - Fix error redirect on account login
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/6.5.0.0/UPGRADE-6.5.md NEXT-1797 - New option for plugins using Composer 2 NEXT-12669 - Deprecate sw-promotion in favor for sw-promotion-v2 NEXT-14699 - Refactor theme asset NEXT-14360 - Build Action Button messaging system NEXT-16482 - Suppress confusing cart merge flash message after login when not appropriate NEXT-15723 - Extend country selection in the registration forms NEXT-7739 - Optional salutation NEXT-15953 - Warning for non deliverable countries in the modal for address change NEXT-15952 - Warning for undeliverable address in account overview NEXT-14361 - Smartbar buttons open modal with iframe NEXT-15957 - Fix VAT id field missing when guest changes address in checkout NEXT-14001 - Add option for newsletter DOI for registered customers NEXT-16151 - Refactor CheapestPrice indexing NEXT-15917 - Optimize storefront script loading NEXT-16200 - Added configurable domain for newsletter doi confirmation link NEXT-13601 - Add new "Unconfirmed" Order Transaction State NEXT-16271 - Refactor sw-simple-search-field component to transparent wrapper NEXT-13410 - Add sales channel to seo url route interface NEXT-16661 - Rework order list filters NEXT-16677 - Add order status history modal NEXT-16679 - Added sw-order-select-document-type-modal NEXT-14317 - Added option to match all for line item rules NEXT-16660 - Rework order list status display NEXT-16675 - Add sw-order-state-select-v2 NEXT-16671 - add-tabs-to-order-page NEXT-16678 - Adjust sw-order-document-card NEXT-16674 - Adjust Admin Order Line Items NEXT-16681 - Enable single order document delivery NEXT-17276 - Don't override languageId of SalesChannel in SalesChannelContext NEXT-16673 - Creating the new tab "General" for orders in the order module NEXT-17978 - Fix templates of administration component extensions of components that have overrides (Hannes Wernery) NEXT-16682 - Create the new tab "Details" in the order module NEXT-16676 - Implement new selection for address in order detail NEXT-18625 - Extend rule condition service NEXT-16683 - Implement modal to create new order NEXT-17414 - Make rule assignment aware NEXT-18187 - Moved admin dashboard statistics into separate component NEXT-15381 - Save theme compilation NEXT-11634 - Webpack alias refactor NEXT-19576 - Make line item conditions only consider goods where necessary NEXT-18215 - Implement rule awareness NEXT-20067 - Add lazy loading functionality to component factory NEXT-24324 - Unify login route and account service (Max) NEXT-19245 - Refactor rule awareness NEXT-21547 - Change criteria defaults NEXT-20068 - Refactor admin modules to lazy loading NEXT-21642 - Clean cart before serialization (Timo Helmke, Sebastian König) NEXT-20068 - Change component name NEXT-16680 - Modify create document modal NEXT-21456 - Message queue v2 NEXT-21643 - Add tax provider entity NEXT-20067 - Add component wrap method to async component factory for supporting TypeScript in async components NEXT-19272 - Add CustomEntityDefinitionService and generate admin menu entries NEXT-22642 - Create custom entity listing NEXT-22643 - Implement dynamig Custom Entity Detail page NEXT-22209 - Add hints in admin configuration for Tax providers NEXT-21648 - Add tax providers to rule administration NEXT-23243 - Add range aggregation (Léo Cunéaz) NEXT-24825 - Fix Plugin Template Order (Fayti1703) NEXT-22646 - Implement blog category type NEXT-22793 - Fix document service NEXT-23930 - Fix plugin storefront js code being compiled twice (Maximilian Rüsch) NEXT-23929 - Added helpText to the minHeight of the image slider elements (Joschi Mehta) NEXT-23928 - Fixing Styling for image sliders with arrows outside (Joschi Mehta) NEXT-21647 - Add tax provider in administration NEXT-23524 - Shopping experiences lazy loading NEXT-25259 - Refactor password confirm modals (Silvio Kennecke) NEXT-16673 - Add Order Draft view for new Order UX NEXT-17944 - Unify the place to manipulate the context token variable NEXT-18605 - Fix wrong created date in order detail NEXT-24716 - Fixed Translation Cache tag for special characters (Florian Liebig) NEXT-22734 - Implement custom entities for plugins NEXT-23383 - Implement CMS Page and SEO assignment for cms-aware NEXT-21195 - Adds default value for delivery time NEXT-21806 - Product detail page error modal should have a "do not show again" option NEXT-24107 - New Template Blocks for document position columns (Alexander Kludt) NEXT-24215 - Add stacktrace to error responses from api in debug mode (Alexander Kludt) NEXT-24082 - Fix setting null-data while expecting array on a StorefrontResponse (Stephan Niewerth) NEXT-23484 - Clean up versionIds when editing orders NEXT-23917 - Upgrade to DBAL 3 NEXT-21600 - Add hashes to chunk naming NEXT-24212 - fix typos in cms element blocks (Wanne Van Camp) NEXT-23972 - Remove abandonend packages NEXT-24074 - Remove admin major feature flags NEXT-23917 - Update symfony to 6.1 NEXT-18114 - Change admin font to Inter NEXT-23395 - Creating new order tabs changes NEXT-23222 - Adjust icon sizes for major release NEXT-24792 - Fix typo in customer scope config card NEXT-21296 - Add Customer Created By Admin Rule NEXT-24521 - Extend document renderer events (Felix Brucker) NEXT-23049 - Fix merged PDF contains a line at the top NEXT-24135 - Remove EntityRepositoryInterface NEXT-24285 - Added composer commands NEXT-12248 - Flysystem v3 NEXT-23355 - Added the AbstractAvailableCombinationLoader to make the AvailableCombinationLoader expandable NEXT-21203 - Remove deprecations in Core/Framework/Api NEXT-21203 - Remove Migration deprecations NEXT-21612 - Remove vendor chunk and optimize code splitting NEXT-24091 - Use env local for web installer NEXT-22079 - Use opensearch sdk NEXT-24311 - Decouple from Symfony HTTP Cache Store Invalidations NEXT-21832 - Prevent errors on email preview and show error message on test mail function NEXT-21203 - Remove Core feature flags NEXT-21203 - Remove Feature Flag FEATURE_NEXT_16640 NEXT-24351 - Adjust error message for demodata command (Lucas Breiner) NEXT-23525 - Remove deprecations in admin modules for cms area NEXT-21612 - Add lazy-loading to icons NEXT-20041 - Remove Open-API schema call NEXT-24222 - Add rule awareness to flow builder NEXT-23631 - Fix order status selection style NEXT-23904 - Make administration compatible to node 18 NEXT-21203 - Remove deprecated Defaults constants NEXT-24242 - Remove deprecations in checkout area NEXT-21668 - Remove snippets from js bundle NEXT-21203 - Remove Core deprecations NEXT-21203 - Remove deprecation in core-devops and core-maintenance NEXT-24389 - Update cypress config NEXT-19509 - Implement VueJs 3 eslint rules NEXT-24511 - Optimize EntityType (Jan Matthiesen) NEXT-24520 - Set plain customFields value NEXT-24266 - Update to symfony 6.2 NEXT-24671 - Improve order transition performance by removing redundant calculation (Joshua Behrens) NEXT-23944 - Remove Bootstrap v4 NEXT-18421 - Remove deprecated and unused dependencies NEXT-24510 - Add database index for order.order_number (Pavel Rossinsky) NEXT-23957 - Fix delete events not triggered in sync service NEXT-24202 - Fix wishlist merge with empty products NEXT-23668 - Reduce sales channel requests at boot to one NEXT-23087 - Rule Builder UI improvement NEXT-22375 - Add create app command NEXT-24490 - Fixing the style of stop action NEXT-24491 - Remove access modifier final for Plugin and KernelPluginLoader NEXT-21203 - Remove deprecation in Core/Framework NEXT-21203 - Remove deprecations in DataAbstractionLayer NEXT-23946 - Remove old cart-item templates in favor of new line-item template NEXT-20590 - Fix sw-custom-field-set-renderer prop mutation NEXT-23945 - Move script tags to head with defer NEXT-23678 - Fix sw-multi-tag-select NEXT-20140 - Make necessary parts of the admin private NEXT-21203 - Remove deprecations in Core/Framework NEXT-17773 - Change text editor input event NEXT-24341 - Fix inter-ui apache incompatibility NEXT-24068 - Refactor First Run Wizard client NEXT-21203 - Remove deprecation in Core/Framework/Event NEXT-24557 - Create type for promotion module NEXT-21203 - Remove deprecations in Elasticsearch bundle NEXT-23948 - deprecated availability block in buy widget NEXT-20069 - Convert rare core components to lazy load NEXT-24575 - Deprecated seo url association field NEXT-24552 - Fix component library NEXT-14065 - Remove module sw-my-apps NEXT-23501 - Update admin dependencies NEXT-23501 - Fix webpack watcher assets NEXT-24553 - Limit upper version constraint of compatible PHP versions NEXT-21198 - Update dependencies NEXT-23166 - Removing data creation functions NEXT-21334 - Throw Elasticsearch exceptions by default NEXT-18592 - Remove PHP deprecations from inventory area NEXT-24513 - Fix missing snippet in sw-promotion-v2 NEXT-21510 - Introduce rule names as constants NEXT-24666 - Make bootstrap JavaScript globally accessible NEXT-24548 - Remove deprecations & feature flag NEXT-23906 - Remove docs folder NEXT-24646 - remove php deprecations in the core for merchant services area NEXT-24619 - Add dynamic public paths to administration assets NEXT-24417 - Change naming of Contact form recipient NEXT-21203 - Remove deprecations in Core/Framework/Test NEXT-24432 - Fix direct module navigation with SDK NEXT-24691 - Fix shipping icon and module name NEXT-24646 - Remove Feature Flag NEXT-18187 NEXT-23940 - Add option to allow skipping assets:install NEXT-21203 - Remove Core/Content deprecations NEXT-21203 - Remove Content feature flags NEXT-24646 - Remove major deprecations from merchant services area NEXT-24353 - Unskip and refactor sw-settings-search/acl.spec.js E2E test NEXT-23096 - Add automatic type information to Entities and repository methods NEXT-25555 - Add blockResubmit functionality to cart validators (Altay Akkus) NEXT-6598 - Apply validation for API system configs NEXT-24646 - Deprecate private JS components NEXT-24675 - Fix icons that are missing NEXT-24739 - Improve SDK channel performance NEXT-24597 - Swap folder icons in inventory NEXT-23974 - Update Storefront design NEXT-24715 - Fix image magnifier on XXL viewports (Jonas Søndergaard) NEXT-24830 - Add variable font Inter to Shopware storefront (Max) NEXT-11656 - adds manufacturers to dynamic productgroups NEXT-24358 - Alter Storefront snippets NEXT-24530 - Add a scheduled task to clean up old webhook logs NEXT-24110 - add scale unit to customer age condition NEXT-24770 - Change the feature flags regarding the default layout to 6.6 NEXT-22218 - Update Storefront eslint NEXT-22220 - Update Storefront stylelint NEXT-17997 - Add missing block to sw-flow-index NEXT-25032 - Add static as return value on EntityCollection methods for better static code analysis (Joshua Behrens) NEXT-24538 - Add yalc to devenv NEXT-24448 - Fix console error on AjaxModal NEXT-24138 - Implement SEO assignment for cms aware NEXT-24710 - Some icons are not compatible with trunk on admin category NEXT-21090 - Update DomPDF and remove custom patch version NEXT-22593 - Added condition for total of purchas prices NEXT-24823 - Fixes code sample in 2021-03-24-nested-line-items.md (Rohith Meethal) NEXT-24822 - Change translation items from Artikel to Einträge to reduce ambiguity to products (Joshua Behrens) NEXT-22226 - Update babel and browserslist NEXT-24702 - Update my extensions cards NEXT-13597 - Added product review form send event NEXT-24878 - Fix product detail promise resolution in administration NEXT-21041 - Added days since first login rule condition NEXT-12887 - Remove the concept of cart names NEXT-24827 - Add customer salutation rule condition NEXT-25492 - Fix credit note renderer wrong logic NEXT-15587 - Fixed custom field set renderer without custom fields inside NEXT-24457 - Flow edit action for stop flow NEXT-24773 - Removed Storefront CSRF implementation NEXT-24566 - Save order before creating document NEXT-23637 - Switch billing and shipping display order NEXT-17866 - Fix hardcoded node path in sw-chart NEXT-24924 - Fix typo in API expectation error code (Joshua Behrens) NEXT-24893 - Optionally re-enable prefering IPv4 over IPv6 in Node17+ NEXT-24877 - remove deprecations in first run wizard NEXT-24897 - Remove deprecations in sw-settings-shipping-price-matrix NEXT-24889 - Remove missing deprecations NEXT-24873 - Remove abandoned sensio/framework-extra-bundle dependency NEXT-21203 - Remove undefined salutation NEXT-24400 - Enabled no mutating props eslint rule NEXT-24797 - Fix incorrect icons in Administration checkout area NEXT-25500 - Make KernelTestBehaviour compatible with Symfony MailerAssertionsTrait (Rafael Kraut) NEXT-20741 - Remove app navigation entries app name prefix NEXT-24813 - Remove unnecessary runtime fields from refund handling NEXT-23416 - Update cypress to v12 NEXT-22223 - Update to webpack 5 NEXT-24883 - Add loading indicator back to button NEXT-25005 - CMS element for app does not take full width in sw-cms-block__content NEXT-23740 - Fix letter header invoice incorrect NEXT-24853 - Generate CSS vars from SCSS variables NEXT-22656 - Add Custom Entity Page Type and page type registry NEXT-24662 - Atomic theme compilation NEXT-24942 - Disable admin-watch browser open with env variable NEXT-21783 - Fix context menu design NEXT-24798 - Fix icons incorrect for area customer & order NEXT-24802 - Fix missing icons in sales-channel area NEXT-24577 - Prohibit usage of pre-release npm packages NEXT-24403 - Read runtime fields NEXT-17563 - Remove the manual theme route and use routeMiddleware instead NEXT-24793 - Allow statistic date ranges to be extended NEXT-24995 - Fix administration table editor toolbar for non Chromium user (Joshua Behrens) NEXT-23416 - Fix customer address flackyness NEXT-23646 - New Quantity Selector NEXT-24782 - Rewrite doctrine profiler to use doctrine middlewares NEXT-24597 - Fix last folder icon NEXT-24881 - Fix product display per sales channel settings NEXT-24892 - Remove deprecations from area inventory NEXT-24809 - Add PaymentMethodRoute and ShippingMethodRoute hooks NEXT-25026 - Fix CMS listing element alignment NEXT-25003 - Fix deprecated method in sw-url-field template NEXT-22891 - Fix double optin handling in newsletter store-api route NEXT-24973 - Fix missing icons in Media NEXT-24960 - Fix permissions for creating documents in sw-order NEXT-24678 - Fix snippet problem in Admin API and Store API NEXT-23920 - Improve static analysis NEXT-20043 - Increase admin startup request performance NEXT-6450 - Make first run wizard closable NEXT-24512 - Replace element modal icon sizing NEXT-21203 - Remove psalm dependency NEXT-25050 - Update meteor icon kit NEXT-24529 - Fixed Icon Cache for invisible areas NEXT-25062 - Fix DeliveryPosition taxes override LineItem taxes NEXT-22262 - Fix foreign key resolving NEXT-24497 - Fix quick opening and closing of OffCanvas cart NEXT-25129 - Respect filesystem on duplicate upload NEXT-25174 - Update Monolog NEXT-25213 - Fix profiling bundle when no dev deps NEXT-25212 - Update deliver ordered product downloads flow template NEXT-25218 - Update Dompdf NEXT-23496 - change-country-naming-convention NEXT-24931 - Database table cleanup NEXT-23955 - Fix customer cannot create with language not available NEXT-25177 - Fix encoder NEXT-25063 - Provided cart price taxes are not calculated into the cart price sum NEXT-25267 - Make admin compatible with NPM 9 NEXT-25277 - Adjust login styling NEXT-25272 - Adjust menu styling NEXT-25291 - ProductLineItem validator ignores skip product stock validation NEXT-25306 - Remove unused DebugStack class NEXT-25324 - Update DBAL dependency NEXT-25067 - Fix tracking codes cannot be exported NEXT-19886 - Use bootstrap variable to define container width NEXT-24546 - UI improvement for order and customer NEXT-25435 - Storefront watcher with an URI (Max) NEXT-25438 - Improve handling to link line items to custom links (Max) NEXT-24547 - Change column tax_rate allow three decimal NEXT-24862 - Fix can't search with document number in order detail page NEXT-25269 - Fix label Incl. VAT display with intra community B2B NEXT-25410 - Fix navigation duplicated error in bulk edit NEXT-25021 - Improve search results behavior NEXT-25346 - Change scope of cartTaxDisplay condition NEXT-21258 - Add version state NEXT-25391 - Fix JS error in account overview NEXT-25315 - Refactor the code flow builder NEXT-25537 - Fix storefront theme asset paths (Benjamin Wittwer) NEXT-25375 - Allow editing the searchable content via the context menu NEXT-25342 - Improve errors in order new customer modal NEXT-25201 - Add provinces for Canada country NEXT-25371 - Fix quantity alignment of order line item NEXT-25433 - Returned invoice has 7 pages NEXT-25782 - Add order by position on rule payload update NEXT-25650 - Fix theme assets NEXT-25367 - Remove admin user activity debounce NEXT-25461 - Fix stretched images in media preview NEXT-25696 - Final storable flow NEXT-25484 - Fix auto logout multiple tabs behaviour NEXT-25651 - Fix send mail message encoding NEXT-25668 - Remove checkbox in media module on back folder NEXT-25672 - Suggest shopware/dev-tools package NEXT-25200 - Convert generated variant_listing_config in product to normal column NEXT-25701 - Message serialization NEXT-25690 - Added defaultRangeIndex property to sw-chart-card NEXT-25711 - HTML Filter in Snippets NEXT-24882 - Improve address markup to remove space between the symbol NEXT-25623 - Install Shopware success with another locale NEXT-25781 - Wrong selector to open an ajax modal on page_product_detail_tax_link NEXT-25758 - Refresh plugins after running composer commands NEXT-25408 - Fix the error when saving flow with changed sequences NEXT-25742 - Added helpText property to sw-chard-card NEXT-25826 - Clear container cache after plugin extraction (Maximilian Rüsch) NEXT-25855 - Reduce core package size NEXT-19136 - Fix datepicker date format NEXT-25847 - Don't require already required/installed plugins NEXT-25980 - Update webpack-plugin-injector NEXT-26059 - Fix plugin uninstall for composer plugins NEXT-25150 - Disable CSS auto prefixer NEXT-25966 - Remove creating order version initially NEXT-26002 - Fix import export entity listing NEXT-26085 - Impossible to save draft with a Sidebar block NEXT-25856 - Reduce admin package size NEXT-25869 - Use configured twig.cache dir for twig cache NEXT-26081 - Fix entity mapping service NEXT-26111 - Frontend cart access NEXT-26049 - Document can not be send NEXT-26140 - Improve twig security extension NEXT-26164 - Fix JWT key generation NEXT-26073 - Allow snippet value to include bootstrap 5 data attributes NEXT-26255 - Refresh plugins in management service
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/6.5.0.0/UPGRADE-6.5.md NEXT-19136 - Fix datepicker date format NEXT-24529 - Fixed Icon Cache for invisible areas NEXT-25150 - Disable CSS auto prefixer NEXT-25200 - Convert generated variant_listing_config in product to normal column NEXT-25315 - Refactor the code flow builder NEXT-25408 - Fix the error when saving flow with changed sequences NEXT-25433 - Returned invoice has 7 pages NEXT-25435 - Storefront watcher with an URI (Max) NEXT-25438 - Improve handling to link line items to custom links (Max) NEXT-25461 - Fix stretched images in media preview NEXT-25492 - Fix credit note renderer wrong logic NEXT-25500 - Make KernelTestBehaviour compatible with Symfony MailerAssertionsTrait (Rafael Kraut) NEXT-25555 - Add blockResubmit functionality to cart validators (Altay Akkus) NEXT-25623 - Install Shopware success with another locale NEXT-25668 - Remove checkbox in media module on back folder NEXT-25696 - Final storable flow NEXT-25781 - Wrong selector to open an ajax modal on page_product_detail_tax_link NEXT-25782 - Add order by position on rule payload update NEXT-25826 - Clear container cache after plugin extraction (Maximilian Rüsch) NEXT-25847 - Don't require already required/installed plugins NEXT-25855 - Reduce core package size NEXT-25856 - Reduce admin package size NEXT-25869 - Use configured twig.cache dir for twig cache NEXT-25966 - Remove creating order version initially NEXT-25980 - Update webpack-plugin-injector NEXT-26002 - Fix import export entity listing NEXT-26049 - Document can not be send NEXT-26059 - Fix plugin uninstall for composer plugins NEXT-26081 - Fix entity mapping service NEXT-26085 - Impossible to save draft with a Sidebar block NEXT-26111 - Frontend cart access
See the UPGRADE.md for all important technical changes. https://github.com/shopware/platform/blob/6.5.0.0/UPGRADE-6.5.md NEXT-9662 - Added new rule conditions for city and state of shipping/billing address NEXT-12887 - Removed cart name from the database and code base NEXT-13597 - Email notification on submit of product reviews NEXT-14431 - Potentially harmful code will be sanitised and removed from the editor automatically. NEXT-15172 - Sanitize HTML input from administration server-side NEXT-15629 - Filters in the rule builder got visually revised NEXT-16271 - Refactor of the sw-simple-search-field component to a "transparent input wrapper" behavior, with the omission of the @search-term-change event and the delay property. NEXT-16661 - Improved the filters on the order list page in the administration NEXT-16671 - The view of the order page in the administration has been revised. It the elements were divided into tabs. NEXT-17052 - Deprecated "line items in cart" rule. Use the "line items" rule instead. NEXT-17414 - Improved rule and rule condition selection behavior. Non-logical use of rules is now prevented. NEXT-18114 - The font in the administration was changed to the Inter font NEXT-18207 - Added a condition that checks whether or not the customer account is activated or not. NEXT-19692 - Improved rule and rule condition selection behavior. Non-logical use of rules is now prevented. NEXT-19742 - Added modal for unsaved changes in the rule builder NEXT-20067 - The administration performance was drastically improved because of asynchronous loading of components. NEXT-20191 - Prevent duplicate DOM ids with multiple paginations (SkaveRat) NEXT-20690 - The cart won't be calculated if it's empty, thus reducing the load on the system. NEXT-21089 - Rework concept delay actions: Re-evaluate and get the latest version for Flow Builder to execute the delay actions NEXT-21197 - Shopware 6.5 needs at least PHP version 8.1. NEXT-21296 - Added the CustomerCreatedByAdmin rule NEXT-21954 - Load icon for actions from app and plugin NEXT-22257 - The Firstname and lastname for the customer as a newsletter recipient changes when the personal account is changed. NEXT-23059 - In the order detail on change address modal, the company field shouldn’t be seen as a required field if the customer is private. NEXT-23245 - Deprecated MailerTransportFactory class. It will be removed since v6.5.0.0 Added new MailerTransportLoader class to load the mailer which is configured in the admin panel The original factory from Symfony will be called if no mailer is configured in the admin panel NEXT-23929 - Added help-text for minHeight field of image slider elements in administration (NinjaArmy) NEXT-23945 - The global <script> block was moved from body to header. NEXT-23949 - The Icon Cache for the storefront will be active by default NEXT-24324 - Merged login logic from LoginRoute and AccountService - Reworked Optin error messages and logicfor SW 6.6.0.0 (aragon999) NEXT-24351 - Changed error description and return value when framework:demodata command was not run in prod environment (Lucas-Schmukas) NEXT-24530 - Added a cleanup task for the webhook_event_log database table. NEXT-24671 - Performance improvement when changing the order status, if there are many orders in the system. (JoshuaBehrens)
NEXT-14677 - Alternative reply-to email address can optionally be provided for send mail actions in the Flow Builder NEXT-20646 - The LandingPage Object is restructured NEXT-20720 - Added condition to Rule Builder for tags of orders NEXT-22895 - Deprecated the sw-settings-store module NEXT-23171 - Added data loading error handling to `src/Administration/Resources/app/administration/src/module/sw-manufacturer/page/sw-manufacturer-detail/index.js` NEXT-23660 - Hoverable title for extension description to show complete text (JoshuaBehrens) NEXT-23666 - Auto-completion when creating sales channels if only one language / currency exists (JoshuaBehrens) NEXT-23680 - English snippet in the Extensions listing changed from "Set permissions" to "Permissions". NEXT-23699 - Unify wording to "URL" (JoshuaBehrens) NEXT-23742 - disable sw-select input if search function is disabled (stefanpoensgen) NEXT-23779 - Fixed a JS error related to the sw-tabs component if no default slot was given (aragon999) NEXT-23780 - - Remove shadow from admin sw-hero cards (JoshuaBehrens) NEXT-23798 - - Fix spelling mistake in filename sw-sidebar-collapse.scss (janiilicious) NEXT-23834 - Show translated unit name in product-detail-price-unit (jkrzefski) NEXT-23835 - Change cursor on collapse sidebar in sw-sidebar-collaps (janiilicious) NEXT-23855 - Core * Connection::executeUpdate is deprecated, use the replacement Connection::executeStatement (cngJo) NEXT-23925 - The navigation arrows in an ImageSlider have been revised so that they are better visible on dark backgrounds (Lilibell) NEXT-23963 - The admin extension SDK does execute the commands in the hidden location iFrame multiple times NEXT-24007 - Adds the possibility to initialize plugins in ajax modal (runelaenen) NEXT-24053 - - Added the created_by_id and updated_by_id to the customer table to distinguish between customer created by admin and customer registered - Added the label `Created by admin` to the customer listing and customer detail page NEXT-24106 - A link in the CONTRIBUTING.md file pointing to ADR'S was fixed. (kiplingi)
NEXT-11457 - The cms-element-form-input will be set to html default type as text if the type is not set NEXT-19196 - * Fixed the back button on extension configuration pages NEXT-22484 - Fixes a bug when values of child themes got lost after recompiling the parent theme. NEXT-23044 - Password validation is now available when creating a new customer in Administration NEXT-23119 - Now Credit notes can preview after adding credit items. NEXT-23265 - - Added DeliveryBuilder::buildByUsingShippingMethod to build delivery times based on a given shipping method NEXT-23271 - Improved the performance of the SeoUrlPlaceholderHandler (RafaelKr) NEXT-23273 - Added the "--only" option to the "dal:refresh:index" command to run only specific indexers (Dominikrt) NEXT-23274 - Added the current Sales Channel context to the SalesChannelContextRestoredEvent (stuzzo) NEXT-23488 - - Removed deprecation of RuleEntity::getPayload (tinect) NEXT-23532 - A problem with the composer configuration, which lead to errors in the installer, was fixed. NEXT-23590 - Product stock may go beneath 0 in the administration now (JoshuaBehrens) NEXT-23596 - When replacing CMS elements, the correct default values for the respective element are now used (fk-bitsandlikes) NEXT-23605 - global search now displays the sentence "Show all matching results in ..." with the first letter uppercase of the entity / module name in german snippets (JoshuaBehrens) NEXT-23613 - The additional parameters of json_encode can now be used in the Twig filter (fk-bitsandlikes) NEXT-23614 - New scheduled tasks can now be registered in a plugin update (aragon999) NEXT-23615 - Performance improvement of cart cleanup task and the log entry cleanup task (michielkalle) NEXT-23642 - Change translations for Vatican City (fk-bitsandlikes) NEXT-23693 - Fix cursor for disabled switch-field and radio-field (JoshuaBehrens) NEXT-23789 - Fixed a problem that broke the shop when the license domain was changed, and a commercial license key was used before.
NEXT-9423 - Quantity selection field switched to number field as soon as choices exceed 100 NEXT-13602 - The "Add order" button is added ib empty state and beside search field of order list in tab Order of customer detail page NEXT-20708 - Text can now be inserted without formatting into the text-editor with the key binding CTRL + SHIFT + V NEXT-20815 - The media section now is able to load more data, even if just additional folders exist NEXT-21323 - Add more tags in `flow-action.xml` to define the `headline` and `paragraph` in app flow action modal NEXT-21327 - Allows filtering of tags by multiple assignments in the administration NEXT-21393 - Fixed bug where a wrong Custom Field has been displayed NEXT-21408 - Improved the loading behavior of custom field sets in the administration. (digitalkaoz) NEXT-21562 - - Change CSS style for disabled action - Use `app label` instead of `badge` for showing in the app action modal title NEXT-21786 - Shows the active rules in the Symfony profiler NEXT-21793 - Fixed faulty structured data for categories of the type "Structuring element / Entry point" (SimonNitzsche) NEXT-21800 - Changed doc comments in DocumentGeneratorController to improve readability (Lilibell) NEXT-21812 - Added an option to the CLI command for generating demo data to set the default count of entities to 0 NEXT-21845 - Fixed a bug where an empty entry was displayed for the salutations in the contact form. (stephan4p) NEXT-21846 - Added meta tag og:url to base template to respect Open Graph Protocoll's requirements (SimonNitzsche) NEXT-21867 - product.coverId added as search field in elastic search (michielkalle) NEXT-21913 - Fixed a bug where the title of cross-selling groups was not displayed in the mobile view if no translation was given. NEXT-19595 - Configurationfields from plugins and apps can now be added as an SCSS variable on theme compiling.
NEXT-9096 - Administrator is now able to disable the default cookie notification NEXT-9642 - The content of a custom field now has an inheritance. NEXT-13585 - A new dropdown called Account type was added in Administration NEXT-14675 - Technical URL is removed when available Sales Channel is removed NEXT-16793 - Added detail view in tag administration NEXT-16890 - Records in the `product_keyword_dictionary` table are now deleted if their keywords are not used in the `product_search_keyword` table NEXT-17283 - The VAT Reg.No. will be validated before saving every time the customer updates it from their profile NEXT-19209 - Fixed bug that only allowed GET requests to be send to payment-method with the onlyAvailable flag NEXT-19353 - When updating an app to a version that requires more permissions, the user will be asked to consent to these. NEXT-19548 - fixed incorrect alignment of table elements NEXT-19788 - Changed the custom field options dropdown to be identical with the view of the other dropdowns like the custom field or custom fieldset. NEXT-20216 - The payment and shipping method will be displayed correctly on the checkout confirm page upon automatic switch NEXT-20240 - The search system still works if there is at least one field checked, no matter concrete entity is checked or not. NEXT-20254 - It is now possible to display all variation properties on order line items NEXT-20376 - Added tag module to the settings in the administration NEXT-20390 - The assignment card in the document settings is now on the top of the page. NEXT-20415 - We can fill more than 35 characters with the "department" field from now on NEXT-20418 - Apps can now also request "additional permissions". NEXT-20617 - Fixed a bug that showed the wrong email address if multiple users logged into their Shopware Account NEXT-20669 - Lieferzeiten-Filter zu den Dynamischen Produkt-Gruppen hinzugefügt NEXT-20767 - Apps can now add custom field sets to more entities. NEXT-20848 - The variant icon is no longer shown when deleting all variants NEXT-20962 - More default values are added to the search configuration from now on. NEXT-20963 - The performance or the admin search is now much faster NEXT-20975 - Change the mail subject from `Your order with {{ salesChannel.name }} is delivered` to `Your order with {{ salesChannel.name }} is shipped` NEXT-21221 - Re-evaluate the `rules` when restore the `customerContext` NEXT-21284 - - Sort Rule Builder Add more conditions to sorting the Rule Builder - Group Actions in Flow Builder Define group for each action in Flow Builder, grouping by group NEXT-21328 - The advance price modal will not be broken anymore NEXT-21370 - Fixes loading of only active app scripts (aragon999) NEXT-21521 - Definition of the value min-height for visual testing with percy to 2000px NEXT-21763 - Fixed a bug that deleted App Scripts when refreshing
NEXT-11227 - - German translation for dynamic product group condition "Verkaufspreise" changed to "Einkaufspreis" NEXT-12411 - - "advanced selection" Functionality added to significantly simplify the selection of products in the Rule Builder and Dynamic Product Groups NEXT-14086 - 'Contact form confirmation' recipient has been added to be able to send a confirmation email to the user who submitted the contact form. NEXT-16891 - The last name column of the customer address list is disabled when customer edit mode is off NEXT-16922 - The Credit Note document now will show the correct NET amount when the customer who owns this order belongs to the Net price customer group. NEXT-17359 - The recalculation of promotion usage was moved into the indexing, which improves order placement speed. NEXT-17481 - We implemented validation in storefront and admin. The end-user can't pass validation with only spaces with the required field. NEXT-18115 - The design of the admin cards were optimized NEXT-18284 - CMS Blocks now have default media assignments NEXT-19099 - We support a new column with the label name `active` to show the status customer in the listing. End-user can sort the customer overview with the `active` column NEXT-19224 - Refactored error handling in CMS NEXT-19249 - Label `Active` for customer status is now clear. NEXT-19473 - State field is now only shown if country has available states NEXT-19549 - Implemented Error highlighting in CMS NEXT-19708 - - Fix some flaky visual tests relates to user notification NEXT-19766 - The product indexing has been adapted so that products with many variants can now be indexed again. Instead of indexing all variants and the parent product in the same save process, a message is now placed in the message queue for the ids that have not been updated. The indexing is thus executed as a background task. NEXT-20173 - Fixes an error when using postal code conditions in the rule builder in conjunction with the "is empty" operator NEXT-20273 - Fixes an error at the validation of Rule Builder conditions when using custom fields with checkboxes NEXT-20311 - The user has now a help text for the turnover chart on the Dashboard. NEXT-20378 - Added new variant property condition for dynamic product groups NEXT-20438 - Fixes a problem with the condition "Time range", where the time used in the condition did not match the current time. NEXT-20443 - Added filter in dynamic product groups for "Marked as promoted" NEXT-20457 - Currently, the Flow Builder states in dropdown limited at 25 items. We remove the limit, so all the states now show in the dropdown. NEXT-20495 - Added ACL to rule assignments NEXT-20555 - Added tags to demodata command NEXT-20624 - The customer title will now be saved in the customer_address table after registration. NEXT-20627 - Filter and pagination in customer module are now working correctly NEXT-20638 - Changed padding for a smooth collapse. NEXT-20647 - Changed padding for a smooth collapse. (MelvinAchterhuis) NEXT-20771 - Prevent TypeError for VAT-ID list with null values by filter them out. (pietzschke) NEXT-20824 - The customer title will now be saved in the customer_address table after registration. (huytdq94) NEXT-20854 - The database connection now works without a password. (dsturm) NEXT-20896 - It is now possible to use salutations in the password reset email template. (CodeproSpace) NEXT-20943 - Fix documents with the same date format (alpham8) NEXT-20946 - Added missing Google analytics tracking of gclid (aragon999) NEXT-20951 - Fixed a problem that the installation of apps lead to errors in some cases. NEXT-21040 - The entity "order_addresss" was added to the list of hookable entities NEXT-21086 - The "app url changed"-modal will only be shown if apps are installed. NEXT-21096 - Fixed the wrong visualization of the percy snapshot during the saving process of a product NEXT-21122 - Custom store-API endpoints of apps, can be accessed over HTTP-GET requests. NEXT-21287 - - German translations in bulk edit changed NEXT-21312 - Default SalesChannels are correctly added to new products.
NEXT-14761 - Fixed the typo within the First-Run-Wizard NEXT-19262 - Change default promotion code profile for import/export NEXT-19331 - Fixes a problem with switching operators in dynamic product groups NEXT-19514 - Changed product configurator in PDP to display dropdown presentation NEXT-19522 - Fixed selection of "Has cover image" in dynamic product groups NEXT-19624 - Duplicated blocks now have all localizations in the CMS NEXT-19696 - Added the save and duplicate function for dynamic product groups NEXT-19801 - Implement Price indication guidelines for advanced and currency-related prices NEXT-19803 - Added Storefront Price indication to Listing, Search, and other CMS aspects NEXT-19804 - Added Storefront Price indication to default product und PDP detail page NEXT-19874 - Fixes accidental creation of duplicates in the tag selection field NEXT-20045 - - Rulebuilder: Clear field icon color changed to white NEXT-20046 - - Rulebuilder: The placeholder wording for operator select is now correct NEXT-20136 - Category path added to the category selection of Dynamic Product Groups NEXT-20217 - Fixes error prone variable output in export profile (wolf128058) NEXT-20237 - - Changed image slider dots to be center aligned on mobile devices in the storefront (bavarva-dhruv) NEXT-20343 - Added decoding of database url (martin-helmich) NEXT-20563 - The command "framework:demodata" now allows the option "--rules " to specify the number of rules to be generated (aragon999) NEXT-20564 - Simplified the CMS product slider logic (aragon999) NEXT-20568 - * Fixed pagination of product reviews when used in CMS pages (aragon999) NEXT-20578 - Made the CLI updater PHP8 compatible. (wirduzen-felix) NEXT-20600 - Changed empty h5-tag to div-tag with h5-CSS class for SEO purposes on every Storefront page. (MelvinAchterhuis) NEXT-20616 - Landing pages now have access to customFields (MelvinAchterhuis)
NEXT-7208 - Structure categories are no longer clickable in the sidebar NEXT-14707 - Improve "Line item with quantity" and "Line item" rule builder conditions NEXT-16783 - A bug on dynamic sw_includes is fixed NEXT-17093 - Changed the rule condition naming NEXT-17094 - Added a "equals all" operator to the dpg NEXT-18049 - You can now configure which sales channels should appear on the menu NEXT-18156 - Modal footer buttons now have small size NEXT-18280 - Added new sortings and columns to the sales channel list NEXT-18558 - * Added migration to copy seven or less sales channel ids to the user_config table, which are alphabetically sorted by the translated name depending on the selected language of the user * Added 'sales-channel-favorites' as key for the user config to save sales channels as favorites NEXT-18627 - Added grouping and sorting to rule condition dropdown. NEXT-18686 - Add new rule condition to check, if gross or net prices are displayed in the storefront NEXT-18745 - The texteditor-toolbar stays now above the selected text and is now possible to copy formated text NEXT-18774 - Added a new rule condition for the actual stock NEXT-18925 - Added loading spinner to submit form button on order edit page. NEXT-19181 - Fixes an unwanted line break in date/time conditions within the Rule Builder NEXT-19364 - On changes to a theme, now all dependent themes that are assigned to a saleschannel are also recompiled. NEXT-19485 - Line item grid's selection in order detail page is reset after it is reloaded NEXT-19604 - Fixed a bug where dashboard statistics were only shown when admin was set to English. (PuetzD) NEXT-19646 - Added the possibility to place submit buttons outside of its forms when used with the form-submit-loader plugin. (JoshuaBehrens) NEXT-19732 - - Fixed Rule builder UI issues with longer rule condition texts NEXT-19772 - Fixes snippets in Installer, Updater and FRW NEXT-19892 - Added the possibility to use transformers in the EnvironmentHelper to transform the environment variable. (AndreasA) NEXT-19897 - Adjusted some @Event references to be more consistent (matheusgontijo) NEXT-19898 - Added brand type to brand schema (tinect) NEXT-19925 - Improved some command descriptions (matheusgontijo) NEXT-19950 - Fix active ShippingMethod in Offcanvas-Cart (leptoquark1) NEXT-20092 - Events were added, when a product is added or removed from a wishlist. (CodeproSpace) NEXT-20149 - Improve the performance of the cache on loading the rules NEXT-20168 - Added composer's auth.json file to the git-ignore. (Schrank)
NEXT-9812 - Added rule for language NEXT-10149 - User settings of cms listings will now be saved NEXT-10802 - - Discounts are now transferred to the backend - Easier input of negative numbers NEXT-12338 - - Import&Export profile should now be saved in the selected content language - Import&Export profile duplication should now work as expected and also clone the translations - Import&Export profiles can now only be created in the system language NEXT-13145 - The "app & share icon" of a theme does no longer overwrite the favicon of a shop. NEXT-13472 - Added a new rule condition for guest customers NEXT-13561 - Added option to duplicate existing product streams in administration NEXT-14317 - Rules for line items can be set to have to match alle line items in cart NEXT-14571 - In the theme administration a new save action was provided to save a cleaned version of the theme configuration. E.g. after a theme update. NEXT-15249 - Error handling when deleting dynamic product groups with category assignments NEXT-15295 - Corrected false value of the "Discount/Surcharge" option of the "Line item of type" condition NEXT-15381 - Broken theme compilations will not be copied directly to the live environment anymore. NEXT-15733 - When duplicating rules the name gets a suffix NEXT-16083 - Import/Export profile can be created based on an existing csv file NEXT-16084 - It is now possible to download a template CSV file for every given import export profile. NEXT-16184 - Added option to define an import export profile only for imports or exports NEXT-16186 - Added profile import settings section which allows to configure if a profile is allowed to create/update data. NEXT-16187 - Added possibility to do dry runs in import NEXT-16198 - # Administration: Change `elMinWidth` of Cross Selling items to 300px by default in the Custom Product Page NEXT-16321 - Deprecated methods for downloading and updating plugins in StoreApiService NEXT-16348 - - Products with 0 prices are now filtered correctly - Price filter is now displayed correctly - Negative numbers will display an error NEXT-16621 - It is now possible to have entities in the import and export module which are only available for import or for export. NEXT-16802 - Additional description for result list items of select fields within the rule builder NEXT-16803 - Import export summary reworked NEXT-16905 - Eleasticsearch issues are now always logged (JoshuaBehrens) NEXT-17007 - The language selection in the storefront is now being alphabetically sorted. NEXT-17088 - It's now possible to sort mappings of an import/export profile NEXT-17089 - The import export profiles now allow not mapped mappings / columns which are always empty during export and ignored during import NEXT-17125 - The modal to edit profiles in the import/export module got reworked NEXT-17153 - "Price/list price ratio" filter of dynamic product groups changed to cheapestPrice NEXT-17324 - Nested Fields are supported now in Filters with AND Operators in ElasticSearch. NEXT-17471 - Added feature flag NEXT-17600 - Fixes an issue with Templates where an emptied media was overwritten by the Templates default NEXT-17807 - There are now empty states for import/export activities NEXT-17960 - privacyUrl and tosUrl are working again in cms-element-form-privacy.html.twig (bitranox) NEXT-17984 - Moving of blocks in to newly created sections don't result in errors anymore NEXT-18060 - Cookie Consent won't be loaded without confirmation anymore NEXT-18069 - - The property search now works with property values NEXT-18154 - Selecting a main product in the filters of dynamic product groups also automatically matches all corresponding variants NEXT-18176 - Add configuration option to set a default tax rate NEXT-18177 - Fixed price fields to be marked as required if they're defined as such NEXT-18179 - Enable manufacturer creation directly via the product page NEXT-18180 - The stock of products is now automatically filled with 0. NEXT-18218 - Add a howTo for adding a rule assignment configuration NEXT-18219 - Simplified selection of custom fields in rule builder NEXT-18278 - EntityWrittenEvents for the `document` entity can be received as webhook. NEXT-18304 - Allows the mapping and the import/export of single custom fields NEXT-18327 - Header and info texts adjusted to legal text NEXT-18344 - Remove all import/export feature flags NEXT-18349 - Improved data checks on licence violtion checks NEXT-18354 - - emit paginate event a little less accurate - added filter-criteria for option names NEXT-18430 - Remove unnecessary rule specifier in the Dynamic Product Groups NEXT-18464 - Improved view of emptystates in product area NEXT-18549 - Fixed a bug in the First Run Wizard that prevented activation of the Extension Store plugin NEXT-18604 - More exact preview in Dynamic Product Groups when using price filters NEXT-18611 - Percentage ratio price/list price is being unset if the list price is removed NEXT-18662 - Add EntityIndexingMessage::addSkip to add skipped contents more easily (JoshuaBehrens) NEXT-18706 - Added import/export profile for promotion discounts NEXT-18862 - The first level of category will now be expanded by default NEXT-18887 - Adjustments of the automatic tests. NEXT-18916 - Added twig blocks for the sw-product-list component. (aragon999) NEXT-18917 - Improved debugging of TestCases, which use the `SalesChannelApiTestBehaviour`. (andreasfernandez) NEXT-18929 - Some unavailable variables in mail templates were replaced with working ones NEXT-18957 - The command to generate thumbnails now allows checking if the files already exist (leptoquark1) NEXT-18999 - The required attribute is now always removed when saving a CMS Element (michielkalle) NEXT-19006 - Target attribute won't be stripped anymore, when in snippets (aragon999) NEXT-19016 - Fixed code example for component library (RokkuCode) NEXT-19033 - Fixes a problem, which prevented order demo data to have a valid shipping method (maximilianruesch) NEXT-19036 - Product detail page layouts of the cms are now pre-selecting the correct cover image NEXT-19037 - Media sorting in product variant overview now considers its positions NEXT-19044 - Improved error-handling in storefront-build script. (amenk) NEXT-19046 - Fileuploads through an URL now have a stricter format * **Valid:** https://[2000:db8::8a2e:370:7334] * **Valid:** https://[2000:db8::8a2e:370:7334]:80 * **Invalid:** https://2000:db8::8a2e:370:7334 * **Invalid:** https://2000:db8::8a2e:370:7334:80 NEXT-19048 - Media in themes is now properly resolved again NEXT-19052 - Refactored CMS section duplication NEXT-19060 - Implemented translations for "more/less" buttons when using nestedLineItems (dominikmank) NEXT-19085 - The installation error message under "My extensions" is translated now. NEXT-19088 - Fixed a problem in the web installer, that occured when database passwords with special characters were used. NEXT-19097 - Updated dependencies for the production template. (dominikmank) NEXT-19100 - Added JSON format support for the plugin:list command. (Schrank) NEXT-19101 - Fixed some snippet typos (jonas-sfx) NEXT-19103 - Added "json" option to config set command (Catalin-Ionut) NEXT-19135 - The currency display in the Google product comparison template has been updated. NEXT-19152 - Imports/exports in progress can be aborted in the list of activities NEXT-19166 - Track orders based on the order id instead of a random id (aragon999) NEXT-19170 - We improved the loading indicator for imports and exports in the import/export-module NEXT-19177 - Fix shipping method tracking url translation (acris-cp) NEXT-19180 - Fixed incorrect implementation of Content-Type check in MediaService (samuellembke) NEXT-19182 - Added a new rule condition for the price/list price percentage ratio NEXT-19195 - The name of an extension is now displayed on the config page instead of the technical name. The icon and the manufacturer are also displayed. NEXT-19234 - Change the selector for the product id and name for the detail page tracking (aragon999) NEXT-19239 - Sitemap open tag can be changed via event (aragon999) NEXT-19241 - Improved performance of editing orders, when there are already a huge number of orders in the system. NEXT-19255 - Allow min search index length of 1 (amenk) NEXT-19329 - Corrected a exception error message (UlrichThomasGabor) NEXT-19351 - Added a new block `component_filter_panel_items` to `@Storefront/storefront/component/lists/filter-panel.html.twig` (svlauer) NEXT-19365 - Changed `writeThumbnail` method on `Shopware\Core\Content\Media\Thumbnail\ThumbnailService` to allow saving thumbnails as `webp` (SimonNitzsche) NEXT-19379 - Fixed a problem, so now the correct country-states are loaded on the storefront login page. (UlrichThomasGabor) NEXT-19419 - Allows the use of time zone aliases in histogram aggregations NEXT-19428 - Fix alphanumeric zipcode rules NEXT-19431 - Fixed corrupt OpenAPI Schema NEXT-19452 - Improve parameter description for export generation CLI command. (kleinmann) NEXT-19470 - Added a new total value rule condition NEXT-19537 - The Storefront filter-range template and plugin is now dynamic and not price-specific. (svlauer) NEXT-19601 - Fixed a bug that didn't consider the validation of the Storefront URL when recovering an account (jeboehm) NEXT-19653 - Improved performace of loading javascript in Storefront (tinect) NEXT-19656 - In the config.xml, numeric string values and array values can be used as defaults. NEXT-19688 - A memory limit was added for the admin worker. (niklasbuechner)
NEXT-4376 - - Changed translation occurrences of 'EAN' to 'GTIN / EAN' NEXT-5966 - Adjusted order of slots on category detail page and page view of CMS NEXT-8609 - Thumbnails are now of uniform size in the checkout NEXT-11106 - Added default profile for advanced prices in import/export module NEXT-11392 - Variants which are not assigned to the current sales channel will be grayed out now. NEXT-11578 - Verhalten der Schaltflächen in der Zoom-Ansicht korrigiert NEXT-11680 - Fixed display error corrected for product images with a large height ratio NEXT-11925 - Added criteria to Admin Dashboard statistics, so only paid orders are shown. NEXT-12796 - Fix missing styling of tables coming from text editor input NEXT-13720 - Added rule builder condition to match customers being subscribed to the current sales channel's newsletter NEXT-14709 - Allows import/export of multiple product media associations NEXT-14809 - Fixed error in zoom range for large product images NEXT-15280 - Sold out variants are now grayed out on the product detail page. NEXT-16361 - Fix wrong cover position on product save NEXT-16408 - Added filters for days until/since date to the dynamic product groups NEXT-16499 - Update of the scss compiler packets (mynameisbogdan) NEXT-16511 - Implemented fallback values for cms configuration on category detail page NEXT-16805 - All Shipping costs and its discount are now displayed in the off-canvas cart as well Shipping costs discounts in lineitems are not displayed to not confusingly show 0,00€ NEXT-16985 - Allow more space in input fields in advanced prices for quantities with more than three digits NEXT-17255 - Guest accounts will see a login prompt instead of a hard console error when they try to write reviews NEXT-17500 - Prevent import/export mapping of default profile to be altered NEXT-17603 - Removed recursion from CMS product detail page API call NEXT-17641 - Only Paid orders will be shown on the dashboard and we provide the possibility to select the date range NEXT-17701 - Fixed inaccurate indentation of price fields in products NEXT-17940 - Category slot configuration of a CMS template doesn't replace the template configuration itself anymore NEXT-18059 - Deactivated automatic prefill of password fields in customer administration (robertrypula) NEXT-18075 - Removed duplicate CSS class (BlackScorp) NEXT-18097 - Changed JsonFieldSerializer to suppress errors on invalid UTF8 characters (maximilianruesch) NEXT-18100 - Error recognition when trying to delete a currently active address via the store API (drjamesj) NEXT-18137 - Das Fehlen des automatischen Schließens der Grid Optionen wurde korrigiert, wenn man außerhalb des Menüs klickt NEXT-18166 - Scroll up on click and not on touch start (tinect) NEXT-18230 - Added import/export events to the notifications NEXT-18231 - The name of the profile will now be displayed in the activity modal NEXT-18232 - The status of imports and exports will now be displayed more prominantely in tables. NEXT-18233 - Add label sorting to the import / export profile dropdowns NEXT-18234 - Show amount of other errors in import summary NEXT-18236 - Ignore required fields on update-only-profiles NEXT-18272 - Fix reset issue of listPrices on inheritance removal NEXT-18275 - When loading a theme configuration, values are now only checked for a valid UUID if it is a string. (aragon999) NEXT-18351 - Running the installation scrips of the production template, does not lead anymore to updating the NPM packages, if a package-lock exists. (jkrzefski) NEXT-18458 - Fixed a bug that didn't set a Cookie correctly during the installation routine. (hansott) NEXT-18537 - The preview URL is now shown with correct parameter format NEXT-18545 - Added ADR for preparing data for rules NEXT-18586 - Fixed the links to the legal pages for the terms of services and privacy policy. (Guite) NEXT-18600 - Fixed a problem in the calculation of the cheapest price in variants. NEXT-18608 - Unified spelling of "Flow Builder" NEXT-18667 - Update the `spaceless` filter in the storefront title tag. (Schrank) NEXT-18675 - # Core * Added option `ignore-tables` in `system:dump` to allow better re-usage in non e2e cases * Added `dead_message` table as default ignored table on dump `system:dump` * Added `--hex-blob` option to mysqldump to ensure correct encoding for blob values like primary keys as the command output is running through a shell pipe which can break binary content (JoshuaBehrens) NEXT-18677 - Today's orders on the dashboard are ordered descending by their order date by default (tinect) NEXT-18678 - Thumbnails obtain the attributes "title" and "alt" of the associated media element, if they haven't been set on the thumbnail explicitly (tinect) NEXT-18715 - Prevent 500 error in production environment, if the error page is rendered without active category id. NEXT-18936 - CMS pages can be created again
NEXT-8458 - Theme config variables with multiple values are no longer compiled in scss NEXT-8874 - When assigning a Sales Channel to a "Header and Footer Template", a warning modal now appears if a Sales Channel is already assigned to another template. NEXT-10733 - Fixed a bug with asynchronous thumbnail generation where thumbnails were deleted. NEXT-11833 - The thememanager is showing the configuration in the user language now NEXT-12940 - Fixed command "snippet:validate" to work in production template and similar environments. NEXT-13430 - The translator no longer translates to the default language if a manual translation was set to a specific language NEXT-14082 - The data write process has been optimized, so that MySQL deadlocks should occur less often (hanneswernery) NEXT-14201 - You can now view and manage all Sales Channels in a separate list. NEXT-14999 - Added rule builder condition for email address of customer NEXT-15011 - Fixed a bug when saving a CMS page, which has custom fields, in a different (non default) language. (runelaenen) NEXT-15227 - Added new rule builder condition for volume of cart NEXT-15353 - Generating sitemaps with the same domains in the same language with http and https now works. NEXT-15495 - Added validation of default sales channel language ids via API and DAL. NEXT-15698 - Added rule builder condition for line items available stock NEXT-15738 - Products should be able to be deleted and added as desired with multi-select items NEXT-16010 - Fixing empty state styling and usage in some components NEXT-16064 - The user can select his own time zone in his user settings. This will be used uniformly for all time entries in the administration. NEXT-16065 - The current user timezone is displayed at the datepicker field NEXT-16101 - Fixed visual bugs in the rule builder NEXT-16188 - Today's statistics are shown correctly on the dashboard. NEXT-16275 - Fixed an error in the cheapest price calculation, which caused the price sorting to be applied incorrectly for products without stock. NEXT-16349 - Fixed a problem with the datepicker in the time range condition of the rule builder NEXT-16430 - The editing of orders with deleted products no longer leads to a hard error in the administration NEXT-16505 - Changed promotion individual code import to set up the promotion correctly and make the promotion codes visible in the administration. NEXT-16521 - Fixing an issue in elasticsearch indexing behaviour with variants (pascaljosephy) NEXT-16669 - Media of product variant overview are now correctly sorted via position property NEXT-16748 - Added "Customer with custom field" rule to the rule builder to match if the customer has a custom field. NEXT-16772 - Relative time information is now displayed in the administration at selected points NEXT-16806 - Fixes a problem with adding products in filters of dynamic product groups NEXT-16813 - This adds the danish flag for the installer (wexotht) NEXT-16897 - Added fields `isCloseout` and `available` to Elasticseach product ducument mapping. (pascaljosephy) NEXT-16913 - Added default values for purchase prices on product detail page NEXT-16924 - Line breaks in the contact form message are now visible with the default mail template NEXT-16935 - Fixed incorrect import of product variants
NEXT-5687 - The labels in the order listing have been visually adjusted, so that they are still visible when hovering. NEXT-7540 - Solves an issue when logging in to administration via Safari browser NEXT-7739 - The salutation is now no longer required for creating a customer via the API NEXT-10022 - Allows the usage of creation date of product for dynamic product groups NEXT-10315 - Optimized performance of product export NEXT-10500 - The EntitySearcher now returns camelCaseKeys format instead of snake_case_keys for entities with multiple primary keys NEXT-10568 - Added sortability of the domains in the sales channel module NEXT-10662 - Fixed rules with checks on line item custom fields if the custom field is empty and the operator is "unequal". NEXT-11365 - The title of the offcanvas filter panel is changed from an h3-tag to a div-tag. NEXT-11708 - The German Translations for the 'Storefront' and 'Headless' have been improved. NEXT-11961 - Fixed theme multi-select value change bug. NEXT-12232 - Single select fields can now be cleared with a click on the "X" icon NEXT-12466 - Added new business event for Payment Method Change on Orders NEXT-13002 - Implemented the processing of promotions for existing orders in Administration NEXT-13300 - Added cookie prefs sameSite and secure and added header Referrer-Policy NEXT-14001 - Added the possibility to require DOI on newsletter subscriptions even for registered customers. NEXT-14064 - The mobile filter is now available on search results pages in the storefront. NEXT-14409 - Added support for custom CMS blocks from apps NEXT-14840 - After updating the parent product's property, it should automatically update for its own variants (the one that has inherited property from the parent product). Therefore, when applying the filter at the Store-front, it should filter out correctly for the variant's property and the variant's options. NEXT-15038 - Fixed "Disable filter options without results" option when elasticsearch is active. NEXT-15069 - Fixed a bug where the breadcrumb was incorrect if you had a product with multiple categories and variants. NEXT-15816 - Improved interaction of additional fields and languages NEXT-15857 - Carts with persistent data but without line items are now saved. (AndreasA) NEXT-15906 - Privileges are also checked in the fly out menu entries in the administration. NEXT-16035 - Update npm packages NEXT-16062 - Solves an issue with the active state of the general tab on customer detail page when opening via listing NEXT-16079 - Added SHIFT + TAB behaviour for select component NEXT-16094 - The settings menu now has its own URL routes for the individual subpages. This allows that when going back from modules you always get to the previous settings page and that the default is not always called. NEXT-16107 - Fix product duplication issue in safari browsers NEXT-16128 - The compiled Storefront CSS is now minified by default in production mode. NEXT-16151 - Improved handling of cheapest price for products with lots of variants. NEXT-16185 - Added "inclusive-language" eslint rule NEXT-16207 - While being in the checkout process, newly created addresses will now be selected for as default for the order. NEXT-16228 - Fix incorrect payment status for last order in account overview NEXT-16229 - Editing an existing order's payment method is only allowed with certain payment transaction states. NEXT-16265 - The name of variants is now displayed in the rule builder assignments NEXT-16280 - It's now possible to get from the rule assignments to the conditions of a promotion NEXT-16281 - Country states now show texts in fallback language, if not translated NEXT-16292 - Fix End2End test NEXT-16301 - Fixed a bug that prevented custom fields from being configured for storefront search. NEXT-16314 - Adjusted saving behavior of CMS navigator to ensure duplicate, move and delete functionality of sections/blocks NEXT-16401 - Removed app details from transmission in AppPaymentHandler NEXT-16406 - Added TypeScript declarations which simplifies working with the Shopware object NEXT-16425 - Add a11y eslint rule NEXT-16427 - Changed documents to only show shipping costs once when using nested line items NEXT-16434 - HTMLPurifier cache files will now be saved with the correct permissions (ingowalther) NEXT-16437 - Enabled mailto/fax/tel links for WYSIWYG editor (runelaenen) NEXT-16447 - Editing links in WYSIWYG editor was fixed NEXT-16453 - Added login via id to AccountService NEXT-16463 - Refactored ImportExportTest NEXT-16475 - Order date is not reset anymore when recalculating the order NEXT-16479 - Changed condition for SQL logger activation from dev-only to non-prod (JoshuaBehrens) NEXT-16480 - Fixed error in scheduled task retry mechanism. NEXT-16484 - Fixes an issue where guest orders via the Store API with incorrect DeepLinkCode did not return a correct error message. NEXT-16500 - The Variables Tab is no disabled for email templates without data NEXT-16503 - Update of node packages NEXT-16520 - Fixes a display issue, where the loading indicator was above the page header NEXT-16524 - The date range rule now correctly matches the times. (windaishi) NEXT-16543 - The structured data for the breadcrumb list has been corrected. (pascaljosephy) NEXT-16580 - Add a controller that redirects .well-known/change-password to the form where one can change the password. (JoshuaBehrens) NEXT-16620 - Fixed intergration token generation in the administration (jissereitsma) NEXT-16645 - Empty birth dates will now not have a date preselected. (stephan4p)
Important note If problems with the Shopware Store occur in the administration, the plugin should be updated manually. This can be easily done in the administration under Extensions > My Extensions. Brexit Changes With this release, you can select per country whether the customer needs to provide a VAT ID or not. Therefore, you should check these settings after the update. NEXT-7321 - Changed location where category criteria is built to be queried in the category detail component. NEXT-11376 - Make HTML attributes accessible to `sw-text-field` component. NEXT-11390 - The name of profiles in the Import/Export module now also works with other languages NEXT-11699 - Widget pages are now no longer indexed NEXT-11834 - When moving a category to another category, the assigned products are now automatically re-indexed in the background. NEXT-12857 - The image carousel in the storefront is now displayed correctly again NEXT-13107 - Fixed a bug in the SEO URL generation for new Sales Channel. NEXT-15568 - Reloads rule builder rules when changing the payment method of an order NEXT-15586 - The titles and descriptions of extensions in the "My Extensions" section are now always displayed in the interface language of the administration. NEXT-15692 - The performance of listing queries was optimized for systems where the SQL server had problems determining the correct indices. NEXT-15703 - Contact form shopping experience element receives recipient settings from Category-Layouts when shopping experience is of type landing page NEXT-15717 - Added sales channel cleanup task NEXT-15730 - Fixed zoom gesture in the Storefront NEXT-15731 - Make the order of two column text elements consistent for shopping experience layouts NEXT-15739 - Added option skip parameter to dal:refresh:index to skip one or more indexers in the process NEXT-15747 - Change `sw-url-field` component to allow hash and search paramters NEXT-15765 - Labels for filters of Visibilities in Product Streams NEXT-15774 - The last time, when you changed the new configuration for displaying property at the storefront, it won't be updated immediately and still displaying the old one. This update will solve this issue above NEXT-15790 - Custom field sorting criterias are only being saved once completely configured NEXT-15808 - Keep searchTerm in store visible after navigation NEXT-15809 - Fix for registration with different shipping address and selection between company and customer account NEXT-15823 - A problem was solved that prevented the resubscription to an newsletter with activated double-pt-in. (apfelbox) NEXT-15825 - Warning that the category having as an initial entry point cannot be deleted NEXT-15851 - Fixes the sorting by price of different currency in administration product listing NEXT-15890 - Display full product names for new and existinging associations in cross selling grid NEXT-15891 - The variant characteristics are now displayed in the storefront cross selling sliders. NEXT-15892 - It is no longer possible to add variant parent products to Cross Selling Definition. NEXT-15895 - Added event for Criteria in Sales Channel Repository NEXT-15941 - The custom field single select now safes option labels again NEXT-15946 - The search in the newsletter recipient module has been fixed. (nexxome) NEXT-15970 - Allows assignment of products to sales channel by category, when the root category is of type entry point NEXT-15971 - The price field in the administration has been corrected so that due to a programmatic inaccuracy in the programming language javascript, prices like 5.0337000001 can no longer arise. NEXT-15974 - Adjusted behavior for extensions in CMS block navigator NEXT-15977 - Allows expanding of categories after changing position by drag'n'drop NEXT-15990 - Added option to permentaly disable the warning prompt in the CMS navigator NEXT-16004 - Added global styling for external links NEXT-16005 - * Alter "pumpkin-spice" colour scheme to increase readability * Adjust styling of sw-alert component to suit design specs. NEXT-16019 - Image slider in product detail can scroll vertical smoothly on mobile device NEXT-16139 - Users can be deleted, even if they created or edited an order over the administration. NEXT-16141 - Fixed a bug in the product search indexing that caused all custom fields to be indexed as soon as a custom field was configured for the search. NEXT-16183 - Fixed product exports via scheduler, when using multiple Storefront Sales Channels NEXT-16203 - Fix style for blank target button links NEXT-16241 - Corrected checkout error messages
Important note With this release a new function for captchas in forms has been integrated. When using a custom theme, adjustments of the theme might be necessary, e.g. when using a custom newsletter form. More information can be found here: Upgrade Information NEXT-8425 - The button to add new cross-sells is disabled in the non-standard language. A tooltip with explanation has also been added. Also, a better placeholder for the name of the input field has been added, as the inherited language value was not displayed. NEXT-10682 - Error handling in thumbnail-generate improved NEXT-10750 - Fix CORS issue in storefront hot proxy mode NEXT-11038 - Changing the start number of number ranges takes effect, provided the new start number is higher than the current number NEXT-11823 - Small adjustments to the ESLint ruleset NEXT-11875 - Sort line items of order by original position in detail view of orders in administration NEXT-12114 - Fixes the creation of configurations for media folders on second level or higher NEXT-13172 - Empty states were overlapping in the administration if no properties exist NEXT-13419 - Even if the selected shipping method is blocked by a rule, it will still be displayed in the selection boxes in the shopping cart. This prevents the customer from not being able to change the shipping method NEXT-13595 - The disableMailDelivery option is now always visible as it applies to all delivery methods NEXT-13973 - Added methods to `OrderTransactionStateHandler` NEXT-14222 - Respect settings regarding the recipients of contact forms made within the layout tab of categories/landingpages/products NEXT-14311 - Added an ADR to document the decisions NEXT-14312 - Added nested line items presentation added to order history NEXT-14313 - Reworked nested LineItem handling for checkout process NEXT-14314 - Order module now supports display of nested line items NEXT-14409 - Added support for custom CMS blocks from apps NEXT-14493 - Fixed the maximum quantity calculation to respect the minimum purchasable quantity. NEXT-14507 - Rework display of nested line items in the offcanvas cart NEXT-14547 - Change offcanvas to fullwidth in mobile view. NEXT-14559 - Add fading collapse to line item description NEXT-14646 - Allows preview of documents after manual input of a date NEXT-14657 - Symfony translations can now be used in mail templates NEXT-14732 - Treat categories without visible child elements in navigation equal to categories without any child elements NEXT-14798 - Wishlist button state in custom buybox is now displayed correctly after switching variant option. NEXT-14800 - The product's variant right now is able to inherit SEO Main Category from the product's parent, only if the variant's categories inherit the parent's categories. NEXT-14876 - Test emails can now be sent in the email templates in other languages where the content is inherited. NEXT-14894 - Renders cross selling elements in shopping experiences on mobile identical to product detail page NEXT-14935 - Implemented E2E + visual tests for nested line items NEXT-15003 - Settings of a shopping experience's block in the sidebar are kept active after saving and can subsequently be edited afterwards NEXT-15020 - Images of variants can now be assigned directly in the variant listing of the product listing and the product details. NEXT-15025 - Jetzt kann der Benutzer Auftragspositionen online bearbeiten und auf das angekreuzte Symbol klicken, um zu speichern, ohne einen Fehler zu erhalten. NEXT-15026 - SEO URLs are no longer being generated for structuring element categories. NEXT-15045 - More accurate preview of SEO URLs when not specific sales channel has been selected NEXT-15087 - Formatting of the price is using differing language of orders when generating documents, leading to the currency symbol being placed correctly. NEXT-15197 - Improved performance when validating customer profile data. (bpesch) NEXT-15212 - Added pagination to order history in customer account NEXT-15226 - Fixed risk of losing changes when saving with keyboard shortcut within rich text editor NEXT-15235 - Only get available payment methods on order edit NEXT-15281 - The turnover report on the admin dashboard has now a fixed length of decimal places that is 2. NEXT-15283 - Allows saving the SEO settings, when there are not existing entities to generate the preview for the URL NEXT-15299 - Improves the error message when installing/downloading extensions whose license has already expired NEXT-15300 - The "delete" button in the license violation modal is now red. NEXT-15301 - The modal for the license violations got visually revised NEXT-15315 - The account login in the First Run Wizard has been corrected. NEXT-15340 - Rented plugins and apps can now be removed from the file system via the administration if the rental has already been cancelled in the Shopware account. NEXT-15343 - Variants can now be sorted by price NEXT-15364 - Total amounts in credit notes reflect the sum of credit line items included within the order NEXT-15369 - Settings for tables saved on the server are now be merged in the administration NEXT-15383 - There will now be shown more than 25 product properties in the categories->layout->product listing. (rjwebdev) NEXT-15389 - Fix issue when login -> logout -> login leads to missing stats on admin dashboard NEXT-15406 - Added missing currency parameter to Google Analytics purchase event tracking NEXT-15447 - Delete feature flag NEXT-15467 - Make hyphenated technical names for custom fields usable e.g. for sorting NEXT-15496 - Only create sitemaps for sales channels of type storefront NEXT-15513 - Set version ID of footer category and service menu category for foreign key checks NEXT-15514 - Enabled `page`, `section` and `block` variables for cross selling template NEXT-15529 - Default category layout used when creating a new category NEXT-15559 - Fix for character limit of levenshtein function in PHP7 NEXT-15578 - Before, we cached the page to make the page loaded faster. But this should cause the issue that when we act the maintenance mode and just allow some the whitelist IP access the page, the system will cache the page when one of them accessed. Therefore, when the others access the storefront, the cached one will return to them, not the maintainace page. This patch update will solve the problem above. NEXT-15639 - General capitalisation of "CAPTCHA" Removes "captcha" from Honeypot label ... NEXT-15648 - Fixes a problem with adding a preview to themes NEXT-15651 - Notice for relation of phone number with different shipping address in administration NEXT-15668 - First Run Wizard now shows all languages after installation of the language pack plugin NEXT-15699 - Avoid Null reference error in administration NEXT-15735 - Snippet set copy working correctly function NEXT-15789 - Fixed flakey E2E tests NEXT-15879 - Fixed a bug in the installer when only one currency was selected.
NEXT-11915 - The currency admin filter now also takes the language into account NEXT-12443 - IPs that are in the maintenance mode whitelist are now ignored by the HTTP cache. NEXT-12668 - Added missing site links to the footer of the 404 error page which were configured in the footer navigation of the sales channel NEXT-12700 - When the Buy button is hidden, the Detail button will still appear in the product listing NEXT-12852 - Basic Information can now be displayed in mail footers NEXT-13140 - Only products that are not free of shipping costs are now included in the shipping cost calculation. NEXT-13348 - Creating customers in the administration is now checking if the customer's email does not already exist. NEXT-13391 - Fixed that when saving categories after switching language resulted in changes being saved in the wrong language NEXT-13764 - The import/export is now able to update the purchase prices from the product profile now NEXT-13813 - Added a default dummy domain for the default headless sales channel. This way emails from the headless saleschannel are dispatched again NEXT-13834 - The fields in the theme config file that are set editable to false will be hidden NEXT-13858 - Added indicator for CMS layouts already in use NEXT-13894 - On the change payment method page, if the user does not change the payment method, the canceled mail will not be sent again NEXT-13979 - When selecting a non-available variant in product detail in the storefront the selection will not switch back to another available variant randomly NEXT-14061 - Sort by name or price in the product overview is working correctly now NEXT-14070 - The inherit switches now work correctly in the "Property assignment" and "Advanced pricing" tabs when reloading the page NEXT-14106 - Simplified custom icon handling for themes. NEXT-14190 - Adjusted sw-image-slider component to enable inclusion of external resources again (s-diez) NEXT-14229 - The reference prices are shown in the pdf templates NEXT-14259 - Crash of the message queue due to the message "Handle not found" fixed NEXT-14357 - Payment Methods of Apps can now be registered and and are activated on app activation NEXT-14358 - Payment Handlers for App Payments have been created. Data loading for Payment Handlers has been slightly improved. NEXT-14488 - Log entries in "Event logs" older than 7 days are now deleted automatically by a scheduled task. NEXT-14500 - COMPOSER_HOME is now taken into account during plugin installation (aragon999) NEXT-14550 - Parameter "editable" in theme.json works now as intended with color fields NEXT-14647 - Fixed a bug where promotion codes could not be applied under certain conditions. NEXT-14660 - The offcanvas can now be closed through a click at the backdrop NEXT-14704 - Fixed a display error where the first row of the table had the same height as the rest of the table. NEXT-14706 - Added daytime based welcome messages to dashboard index NEXT-14795 - Fixed disabled details button in wishlist NEXT-14842 - The correct grand total price is now displayed in the summary for rounded values. NEXT-14866 - Basic price will now be displayed in order confirmation mail, payment canceled mail, payment paid mail NEXT-14869 - The error reporting in the shopping cart has been optimized. Critical errors are now displayed even if the shopping cart is empty. There were errors that were not caught and processed cleanly during the purchase process. Furthermore, error messages can now no longer be displayed twice. NEXT-14870 - Add company email address in invoice documents NEXT-14872 - Entities with other primary keys than id are searchable now. Mapping entities will stay unsearchable. NEXT-14873 - The calculation of the volume for the shipping costs now works NEXT-14922 - In the user verification modal, the password must now always be entered manually. The browser will no longer fill it in automatically. NEXT-14936 - It is now only possible to see the theme config via the "My Extension" module when the theme is activated. NEXT-14937 - Theme settings are now deleted when the option to delete all app data is ticked. NEXT-14952 - If the installation of an extension failed an error modal will appear on the extensions detail page. NEXT-15008 - Fixes an issue with the admin message queue worker not decrementing message queue stats NEXT-15021 - Added missing permission to create or edit integrations NEXT-15044 - Sort possibly cached payment methods with regards to previously chosen payment method NEXT-15117 - When adding a product to the cart that has free shipping set to NULL, an error no longer appears. NEXT-15120 - Improve extensibility of a promotion service NEXT-15176 - Date fields, used in text elements of shopping experiences, are being formatted and no longer result in errors NEXT-15178 - Fixes an issue where recipients set in business events would not be used, when the original mail template already had recipients. Recipients set in business events will not overwrite the recipients of the original mail template. NEXT-15186 - Fix a migration to comprehend with upper case letters in foreign keys on the CMS tables NEXT-15214 - OAuth2 Login with client_credentials in Header works now again NEXT-15215 - The performance of the product detail page has been optimized if there are many product category assignments in the shop. NEXT-15216 - Fixed missing privileges for some roles. For example "user_config:read" for "users_and_permissions.viewer". NEXT-15248 - It is now possible to create integration access keys for the admin users again. NEXT-15263 - Autofill for the "new Password" field in the profile in the administration deactivated NEXT-15275 - Restored compatibility with the newest MariaDB versions by adding a workaround for the MariaDB bug https://jira.mariadb.org/browse/MDEV-25672. NEXT-15296 - Fixes a display bug in IE11 where the main content collapses and has no height and footer elements are displayed too far up on the page. NEXT-15335 - In the email templates, a preview of the available template variables has been added. NEXT-15362 - Added pagination to the user list. NEXT-15368 - Mails are send synchronously again NEXT-15391 - The display of records in overviews was corrected if the data was not maintained in the selected language. NEXT-15392 - Fixes an issue where the translated currencies are not displayed in the Sales Channel domain overview.
Important - Update from 6.4 RC to 6.4 not available Due to technical changes, an update from the 6.4 RC version via the auto updater is not possible. A manual update is still possible. An update from 6.3.x.x is possible via the normal options. We would like to point out once again that an RC version is not intended for productive operation. Important changes for Dynamic Product Groups The available fields for the rules of the Dynamic Product Groups have been changed. For performance and usability reasons, the system has been provided with an allowance list, which provides only the necessary fields in the standard. In rare cases it could happen that a used field is no longer available in the standard. Please check the rules of your Dynamic Product Groups after the update. Plugins can extend the allowance list with additional fields. More technical information about this can be found in the UPGRADE-6.4.md file. Updated minimum system requirements For Shopware 6.4 some of the system requirements have been raised. Besides the minimum PHP version 7.4.3, the extension "ext-sodium" is also required. A complete list of the system requirements can be found here. 6.4.0.0 NEXT-5407 - Known customFields are now typed in Elasticsearch mapping NEXT-10560 - The paths to the fonts in the default theme are now resolved relative to the app.css. This fixes the font URLs if the administration is using a different domain than the storefront. NEXT-13836 - Review state selection is now showing and updated by user interaction on mobile offcanvas of product detail page NEXT-13909 - Mails send by order changes are now send completely in the order language. NEXT-14078 - It's now possible again to change the position of the postal code NEXT-14156 - Added a task, to clean up the version tables in the database NEXT-14281 - Resolved a problem with rendering invoice PDFs NEXT-14340 - The inheritance in the product module was incorrect. As a result, certain attributes could not be inherited correctly. This has been fixed. NEXT-14344 - Table headings are now aligned with their columns NEXT-14351 - The VAT-ID within mail-templates and invoice template will get data from the order customer NEXT-14371 - Fixed that an update did not delete all files that were no longer needed. This could cause errors when running the `bin/build-administration.sh` script. NEXT-14411 - Some performance optimizations were made in thumbnail generation, as well as in the indexing of media. NEXT-14415 - Line item with a release date, line item with creation date, and date range rule builder are now showing local time and store UTC NEXT-14422 - Fixed some little visual bugs in the my extensions module NEXT-14426 - Fixed a bug where the multiple selection of custom fields in the category module did not work properly NEXT-14465 - Fixed that errors and notifications are displayed twice in the checkout process of the storefront. NEXT-14467 - Names of the manufactuers on the wishlist page will no longer be captalized NEXT-14468 - The minimum height of the shopping experiences elements "image slider", "image" and "gallery" is no longer automatically set to 0 when the "display mode" is changed. NEXT-14469 - Text for tax calculation in the shipping module was translated into German. NEXT-14472 - Custom Fields card will no longer be displayed on the product detail page when there do not exist any custom field. NEXT-14474 - The generation of many promotion codes no longer leads to an error. Furthermore, the performance when generating the codes was optimized NEXT-14486 - If "Manufacturers" are selected in the rule selection when creating dynamic product groups, manufacturers are displayed instead of products. NEXT-14508 - Wishlist no longer tries to load filters NEXT-14548 - Close button now appears in review and description offcanvas of CMS Product page on mobile NEXT-14568 - The button to create a Cross Selling no longer disappears when editing cross sellings NEXT-14633 - The symfony router now supports UTF-8 (TheKeymaster) NEXT-14705 - Change dashboard home heading section more helpful links & information. NEXT-14735 - Image slider in CMS product detail page can be navigated by arrow navigation NEXT-14736 - We corrected that when a category is filled via a dynamic product group with a property filter, filter groups with other properties were no longer displayed. NEXT-14750 - Variants are now duplicated correctly again if different translations are maintained for the variants. NEXT-14801 - Fixed a bug in the administration which prevented the extension of components by `Component.override` if the components to be overwritten contained a mixin. NEXT-14845 - Fixes a bug where tagged search in other modules via the global search bar does not work. NEXT-14918 - Changed the plugin loading process in the administration to gracefully handle a missing JavaScript file of a plugin instead of crashing with a hard JavaScript error. A warning is displayed in the developer console instead. 6.4.0.0 RC NEXT-1797 - Simplified management of plugin dependencies (mitelg) NEXT-5840 - Nested order items are now displayed and sorted correctly in the documents . NEXT-6963 - Improved the alignment of prices and costs in the cart offcanvas NEXT-7365 - In custom plugins the SCSS files for the storefront are no longer recursively loaded. A single entry point is now used. NEXT-7553 - Fix Contact form in Modalbox: Link to the data protection regulations does not work. NEXT-7986 - Changed use of inline `background-image` in `sw_thumbnails` to have responsive image resolutions (runelaenen) NEXT-7997 - Added option to display the variants as dropdown (sebi007) NEXT-8112 - The admin worker for the message queue no longer continuously blocks a PHP process. If there are no messages in the queue, the process is terminated early. NEXT-8172 - Added warning that plugins can no longer add first level menu items NEXT-8235 - It's possible to add a third menu level now Menu behaviour is error prone now Menu colours got adjusted slightly NEXT-8452 - Added settings for rounding behavior to currency settings. NEXT-8455 - Price fields in the administration can now be used with multiple fraction digits. NEXT-8690 - Users are now informed when theme deactivation is not possible prior to an update NEXT-9291 - Add Data Protection Information checkbox (runelaenen) NEXT-9359 - The rating filter in the storefront is now shown as a select box. NEXT-9589 - Listing settings in Admin are permanently saved per user now NEXT-9836 - Improve the selection of payment and shipping methods in the checkout process. The selection can now be done directly on the checkout page and no additional modal window is opened. NEXT-10065 - The sorting of properties is now taken into account NEXT-10126 - the english mail uses english time formats and the german one german time formats NEXT-10402 - Increase minimum PHP version to PHP 7.4 NEXT-10539 - Rules cannot be deleted anymore while they are associated to other entities. NEXT-10672 - Fix admin search for customer email when entering full email NEXT-10679 - Fixed the value count for the languages (lacknere) NEXT-11000 - The name field in Essential characteristics is now required NEXT-11082 - Date picker component is now using correct date format NEXT-11249 - - Addes missing "s" in description - Fixes some more labels in custom field snippets NEXT-11384 - Add cancel button on Email templates editing (StVak) NEXT-11401 - Added correct error message on saving an product with already existing product number (jdambacher) NEXT-11621 - Images are displayed incorrectly/too small when scrolling back in the browser NEXT-12036 - The admin now makes sure that the min quanity of the first list price is configured correctly. NEXT-12038 - From prices will now be displayed differently in the storefront NEXT-12051 - Tagged customer can be deleted. NEXT-12092 - Removed typing error from CSS selector. (amenk) NEXT-12093 - Fix custom fields empty state (runelaenen) NEXT-12173 - Fields sales channel and customer number in the customer module are now required (jdambacher) NEXT-12181 - The product review able to post reviews when the product already exist review by other users NEXT-12242 - Added PHP 8.0 compatibility NEXT-12246 - The default mailer is changed from SwiftMailer to SymfonyMailer. NEXT-12262 - It is now possible to click on the close button of the filter without triggers the area behind NEXT-12264 - It is now possible to see the groups of properties in the Rule Builder and in the dynamic product groups and to filter by them. NEXT-12265 - It is now possible to add further entries to the blacklist for dynamic product groups via plugin. NEXT-12273 - Long words will now be broken in the offcanvas cart instead off causing an scrollbar to appear. (tinect) NEXT-12289 - A new tab has been added to the rules, under which you can view the used parts of the rule. NEXT-12325 - Simplified rules for technical names of configuration options. (JoshuaBehrens) NEXT-12345 - Changed the technical name of the setting for the HTTP-404 page. NEXT-12478 - Added new events to checkout so it's easier for plugins to observe changes in products there. (maqavelli) NEXT-12506 - Added empty state component and implemented it into Promotions UI rework NEXT-12507 - Implemented general settings for Promotions NEXT-12508 - Added promocodes card for the administration NEXT-12510 - Implemented code generation for fixed promotion codes NEXT-12511 - Added empty state for individual promotion codes NEXT-12512 - Implemented warning modal when switching between promotion code types NEXT-12513 - Implemented promotion code generation modal for promotion v2 NEXT-12514 - Implemented individual codes listing NEXT-12516 - Implemented add promotion codes modal NEXT-12517 - Reworked promotion code generation + Added API routes for that NEXT-12612 - Added an upload button under my extensions NEXT-12614 - Extension module: you can now login with your account NEXT-12638 - Card "pre-conditions" added to the promotion module NEXT-12639 - Added "Rule based conditions" card NEXT-12640 - Added discounts tab Added empty state including an action button NEXT-12641 - Added new default components `sw-wizard`, `sw-wizard-page` & `sw-wizard-dot-navigation` NEXT-12642 - Adds the discount settings for the type "shipping discount" in the wizard Added the "shipping discount" in the listing of the discounts NEXT-12643 - Added new wizard page "shipping discount without trigger" to the new promotion suite NEXT-12644 - Added new component "sw-promotion-v2-cart-condition-form" to the new "sw-promotion-v2" module NEXT-12646 - Added promotions discount listing NEXT-12647 - Added wizard card - discount type settings NEXT-12648 - Implemented basic discount type CRUD + rule selection NEXT-12667 - Add salutation to contact form mails (t2oh4e) NEXT-12679 - Added advanced prices in the configuration form of a rebate NEXT-12680 - Added advanced prices in the wizard of a rebate NEXT-12903 - Display Labels in Extension Store listing pages NEXT-12942 - The logo now has a max-width of 300px. NEXT-12947 - The document number can't be duplicate anymore NEXT-12957 - A plugin download does not trigger an update automatically anymore NEXT-13053 - Allow retrieve Guest customer information via store-api NEXT-13075 - Added various unit test for extension store componentes NEXT-13119 - Added several helptexts on the product and categroy detail pages. NEXT-13165 - scheduledTask rescheduled to run with the next execution time by the last of execution time NEXT-13175 - The modal for assigning categories to the layout is no longer opened automatically after saving newly created CMS layouts. NEXT-13189 - Browser back do not work with paginator and filter NEXT-13192 - Multiple products on one page can now be added to the wishlist NEXT-13204 - Display landing pages under the categories NEXT-13205 - Implement "General" tab NEXT-13206 - Implement "Content" tab NEXT-13207 - Implement storefront display for landing pages NEXT-13209 - The datepicker calendar is now displayed in the configured admin language. NEXT-13221 - Implement clone function for landing pages NEXT-13222 - Added e2e + jest tests NEXT-13223 - Implement crud for landing pages NEXT-13243 - Some database columns were renamed in the `customer` table. NEXT-13252 - Fixed the pagination / items per page options are not working NEXT-13262 - Add Hide On Product Detail option for properties (runelaenen) NEXT-13273 - CMS-Pgaes are now versionable through API requests NEXT-13274 - versioned records now load the correct translations NEXT-13293 - Implement final design for landing pages NEXT-13296 - It is now possible to add variables in text elements of listing pages. NEXT-13297 - Default tax rates are translated. NEXT-13375 - Fixed the inconsistent behavior of the menu NEXT-13387 - Tagged media entities can be deleted. NEXT-13399 - Removed "storefront:watch" command from the development template NEXT-13424 - Added Event dispatcher events when an address is set as default billing or shipping address by the customer (sr-SW6-workshop) NEXT-13445 - Adjusted menu colors and re-enabled icons for the third menu level NEXT-13456 - Fixed an issue where collapsing a menu entry resulted in removing it instead. NEXT-13475 - The "Line item with quantity" rule considers now custom products line items NEXT-13481 - Improved checkout performance on systems with a lot of orders. NEXT-13504 - Move product assignment of categories to separate tab NEXT-13505 - Added two new components "sw-category-entry-point-card" & "sw-category-sales-channel-multi-select" NEXT-13506 - Move layout assignment of categories to cms tab NEXT-13507 - Moved seo settings & seo urls of categories to separate tab NEXT-13508 - Added new component `sw-category-entry-point-modal` NEXT-13509 - Added settings for navigation in Sales Channel NEXT-13510 - Added changes for the home navigation by Site Builder NEXT-13512 - Added settings to existing link settings card NEXT-13513 - Implement virtual category type "column" NEXT-13514 - Moved service menu from top bar to footer NEXT-13520 - Added internal link settings to categories NEXT-13524 - The height of the bubble cms elements has been changed so they are now round by default. (marius-faber) NEXT-13534 - Fixed some typos within German product snippets. NEXT-13545 - Shop operators are now informed that licences must be cancelled manually if the installation of a licensed extension fails. NEXT-13546 - Fix Custom Sorting by Custom Field does not force to select custom field NEXT-13584 - Fix Only allow company registrations does not work NEXT-13614 - Breadcrumbs of stuctural elements categories are no longer clickable NEXT-13627 - Thumbnails are displayed correctly with the viewpoints NEXT-13630 - the seoUrl for the customisable link is no longer generated NEXT-13650 - It is now possible again to use data mappings NEXT-13653 - A Bug was fixed, which led to an error when download a document under some circumstances. NEXT-13656 - The number range associations for global number ranges are fixed NEXT-13688 - Improved sorting and extensibility of SalesChannelDomain NEXT-13689 - Updated deprecation version for old promotions content NEXT-13709 - Pagination error on the generate variants has been fixed NEXT-13718 - Fixed wrong behavior for error pages where all bundle templates were loaded instead of ones the theme requires NEXT-13722 - The email can already be sent with the recipient's address in category configuration NEXT-13756 - Exchanged SwiftMailer with Symfony mailer NEXT-13762 - Product SEO keywords can be saved NEXT-13774 - Can filter variations in variants tab NEXT-13785 - New internal links are now generated in Storefront NEXT-13786 - Remove structuring element categories from routing NEXT-13787 - Fix wrong link of link categories in breadcrumbs NEXT-13788 - Fix unable to edit a credit note in admin order NEXT-13790 - Fixes a problem that caused promotions not to be able to begin or end at a given hour. (leonrustmeier) NEXT-13797 - Apps can determine under which menu item their modules are displayed NEXT-13816 - Fixed Notifications by removing unnecessary titles - Fixed Placeholder and Label by inserting correct snippet key NEXT-13821 - Removed the plugin manager in the administration. It is replaced by the extensions module. NEXT-13845 - Turnover report on dashboard displays too many digits NEXT-13848 - Fix Image upload for properties is missing NEXT-13874 - Entry Point Card refactored to reflect required navigationCategory field of Sales Channel NEXT-13879 - Fixes spellings, salutations in the storefront (German), namings (Merkzettel!) etc Renames "Other variants from" to "Variants from" Renames "Cheapest price" sorting option to "Cheapest product price" NEXT-13939 - Improved DAL write performance of the. NEXT-13946 - Fix generatedAt not updated in ProductExportGenerateTask NEXT-13952 - Themes can be refreshed,even is there is no default fodler for theme media files. NEXT-13956 - Rephrased business events empty state following given suggestions NEXT-13963 - Fixes an error due to which the reviews in the admin weren't shown if an review had a comma value (gliesche) NEXT-13975 - Added an additional type check NEXT-13991 - Documents: Header and Line item tables is fixed NEXT-14000 - Adjusted english snippets NEXT-14006 - Removed type definition from fix class to support older PHP versions NEXT-14037 - Thumbnail slider is now navigated automatically if the selected slider image is hidden NEXT-14039 - Thumbnail of Image slider is now navigating smoother NEXT-14052 - Improve the routing of landing pages NEXT-14054 - Improve the duplicating of landing pages NEXT-14058 - Fixed type link selectable in category module if entry point NEXT-14073 - The breadcrumb on the category pages is now aligned with the navigation. NEXT-14074 - It is now possible again to create and delete price rules on smaller devices NEXT-14075 - Add final touches of landing pages. NEXT-14076 - Multiple minor fixes in the category module NEXT-14109 - Altered and unifed snippets NEXT-14129 - Shopware Markets will now be downloaded on every new installation. NEXT-14138 - Added migration tests for site builder NEXT-14166 - Fixed final issues of Site Builder NEXT-14173 - Improved extensibility for wishlist in cart NEXT-14198 - Adjusted readme file (robbieaverill) NEXT-14234 - The quantity change in the offcanvas cart now also works with domains that contain a capital letter. NEXT-14240 - Improved reactability of input clear plugin NEXT-14254 - Added storefront:unit-watch command for PSH NEXT-14267 - The base image for the development template Docker image is now configurable (giacmir) NEXT-14299 - Fixed an error in maintenance of variants in different content languages in the administration. NEXT-14305 - Fixes the behavior of the menu after a logout NEXT-14310 - Fixes untranslated and wrongly spelled snippets in improved product ux. Reorders and rephrases new help/warning texts in number range module. Fixes snippets in variant generation. NEXT-14348 - Variant price is now editable and list price help text is able to hover NEXT-14372 - Added new blocks to allow simple modification of meta tags (runelaenen) NEXT-14377 - Fixed an error, which disables the user in the administartion to create a new promotion straight after deleting
NEXT-6398 - Orders created via the admin interface are now labeled as “Manual order”. NEXT-6596 - Fixed flickering when editing shopping worlds in Firefox browser NEXT-6634 - Reviews grid: - Sorting by "Customer" is working now. - Customer name display changed to "Last name, First name" (Ex: Lohmann, Konrad). Orders grid: - Sorting by "Customer" is working now. - Customer name display changed to "Last name, First name" (Ex: Lohmann, Konrad). - Sorting by "Billing address" is working with street name. Orders: - Sorting by Order Status, Payment Status and Delivery Status are working now. Customer grid: - Sorting by "Customer" is working now. - Customer name display changed to "Last name, First name" (Ex: Lohmann, Konrad). NEXT-6870 - Fixes an issue where on the product details page, the "Reviews" tab title wraps incorrectly when using the Storefront language "German". NEXT-6896 - Fixed a bug that caused the rating module in the admin to stop working when the customer account of a review no longer exist. NEXT-6936 - Fixed subtotal calculation for custom line items. NEXT-8382 - If an order item has multiple tax rates, they will now be correctly displayed in the documents. NEXT-9007 - Delete admin session if password changed. NEXT-9348 - Domains with umlauts can now be used for sales channels and the URLs are now displayed in Unicode format. NEXT-9430 - All the default profiles in the import and export can save with the duplicate button NEXT-9533 - Snippets can now be deleted and reset if several languages ​​are selected NEXT-9586 - The category detail page in the admin can now be opened with right click in a new tab. NEXT-9923 - Guest customers can now be logged out automatically via a configuration directly after completing an order NEXT-10034 - Documents could not be edited directly after they were created NEXT-10114 - Fixed empty state in properties tab of the product detail page and added missing snippets NEXT-10320 - Fixed a bug that prevented copying cms layouts. NEXT-10515 - Changes related to products will no be saved when clicking the 'save and duplicate' button NEXT-10590 - The product review was able to show the product review not approved of the customer is logged in and the rating displayed correctly NEXT-10663 - It was fixed that you are not logged out of the admin randomly NEXT-10687 - - Credit notes are now only generated from credit note items - Error in the table preview fixed NEXT-10688 - Able to revert the data after changing and save in review detail and settings payment detail page NEXT-10717 - The LegacyEncoder and the legacyPassword will be removed when the customer's password changed and the customer able to login with the new password NEXT-10785 - Inheritance in essential characteristics was fixed NEXT-10907 - URL parameters are now updated and applied in listing pages NEXT-10920 - When deleting tax rates that have individual country exceptions associated, an error is shown. NEXT-10931 - All external links in the Text Editor are now provided with rel="noopener NEXT-11133 - The configurator settings in the dynamic product groups can no longer be nested infinitely NEXT-11231 - Added an third parameter "profile" to the "bin/console import:entity" command. (wrongspot) NEXT-11240 - Added comment into order's document template NEXT-11250 - Fixed a bug where the net purchase price for variants was not calculated correctly during the update. NEXT-11253 - The CMS Listing now loads much faster NEXT-11304 - Add a new state machine transition for order delivery from partially returned to returned NEXT-11335 - User, that changed the order state, can be deleted. NEXT-11338 - The category description is now always correctly displayed when switching NEXT-11355 - Add filter tab in cms configuration for product-listing elements in the administration NEXT-11358 - Filters are hidden in the storefront if they have been deactivated in the CMS via the product list element. NEXT-11389 - Allows you to assign experience world layouts to categories or shop pages directly from the experience worlds module. NEXT-11466 - The plugin list now also works with a very high number of plugins NEXT-11595 - Fix promotions can be successfully applied multiple times when applying multiple code as once NEXT-11620 - The maximum purchase in the products can now be deleted NEXT-11783 - - Each document setting has now an option to define an individual company phone number - The invoice document includes additional information now, like VAT ID, company phone number, text ‘Intra-Community delivery’ and the shipping address NEXT-11832 - Fixed an error whereby the value of a promotion was no longer taken into account when calculating the total amount when editing an order. NEXT-11859 - List prices can now be set for advanced product prices. NEXT-11861 - Storefront Part zur Anzeige von erweiterten Listpreisen hinzugefügt NEXT-11868 - The affiliate tracking and the campaign tracking is working now, no need to add both of the params together anymore NEXT-11885 - If a variant product had a main variant configured for the storefront presentation, display errors occurred when this product was duplicated. NEXT-11917 - ACL privileges will now be added on runtime rather than written to the db, in order to avoid conflicts between plugins. NEXT-11921 - Customer addresses can be deleted directly after saving NEXT-11964 - Parent categories of the one the currently chosen category are now highlighted in the menu (tinect) NEXT-12009 - Fixes an error that could cause export files to contain an exception message. (amenk) NEXT-12065 - Countries can now be sorted and paginated in the tax detail view NEXT-12071 - Snippets can now contain empty text NEXT-12139 - Individual promotion codes can be generated again. NEXT-12183 - The user can submit to reset password with trailing slash in storefront URL domain NEXT-12225 - Custom fields that were cleared via the database can now be edited again NEXT-12233 - Doesn't able to expand the dropdown menu when disabling filter options with sidebar filter NEXT-12234 - Added an empty-state for the property search in product-listing cms element settings. NEXT-12235 - Fix customer.recovery.request event is always assigned to the headless channel by default NEXT-12251 - It is now possible to set the same canonical url for all products NEXT-12254 - - Implemented an option to display net prices for corporate customers in general. - VAT-ID can be defined as a mandatory field now. - Implemented an option to display net prices for corporate customers with a valid VAT-ID. NEXT-12268 - Password for the new user in admin is required NEXT-12269 - Added a new type of custom field: Entity type. With this it is possible to select entities inside of custom fields. NEXT-12270 - Fixed a calculation error in the shopping cart that occurred with percentage discounts. NEXT-12277 - It is now possible to add custom fields to orders. NEXT-12295 - The theme manager detail page able to add the media from the sidebar now NEXT-12332 - Fixed that the CMS tab in the category module sometimes disappears NEXT-12340 - Seo url generation now also considers the variant inheritance NEXT-12350 - The configuration of the plugin has been removed when the plugin is deactivated or uninstalled NEXT-12394 - Fix Double Opt In Registration: General redirect to account, even in order process NEXT-12405 - Improved extensibility in the language module due to new properties NEXT-12408 - Calculation of total price in tax-free orders is now displayed correctly. NEXT-12416 - Added another event when products are fetched. (jochenmanz) NEXT-12417 - Adjusted german translations for "valid". (tinect) NEXT-12418 - Adjusted german translations for "clear". (tinect) NEXT-12433 - Invoice document setting now has an option to display divergent delivery address on invoice. NEXT-12449 - The UrlGenerator cache is now taken into account aswell, when the cache gets cleared via the administration NEXT-12450 - Adjusted TemplateRenderer, so that the timezone is taken from global context (hhoechtl) NEXT-12453 - When generating the seo urls, an unnecessarily large number of urls were generated if a sales channel has multiple domains with the same language. NEXT-12459 - Customers are now informed about errors that occur early in the payment process NEXT-12484 - An asterisk has been added to the subtotal and the text description in the Off-Canvas shopping cart. The asterisk for the net grand total price on the shopping cart page has been removed. NEXT-12520 - The listing price of variants will now also be shown on the detail page when the variants of a product differ in price (ThomasChr) NEXT-12565 - Fix wrong FkField in DocumentBaseConfig NEXT-12706 - The max purchase calculation considers now the configured purchase steps. NEXT-12797 - Adjusted safeguard in the migration used for linking themes with preview media NEXT-12798 - The background color of the login page was updated NEXT-12800 - The selection fields can now display all entries again and the selected entry is no longer displayed at the beginning NEXT-12804 - Enable the possibility to add global acl privileges NEXT-12816 - Parent roles will no longer be marked as active if they do not have any child roles. NEXT-12818 - Improve the performance of generating massive individual codes NEXT-12848 - Solves a problem with encoded URLs in the URL Media-Upload (e.g. including %20 for space) (kiplingi) NEXT-12897 - Structuring elements are no longer clickable in breadcrumbs. NEXT-12912 - The order number of the products and the order are no longer truncated in the documents NEXT-12951 - The homepage is in the sitemap after generate NEXT-12955 - Added link to storefront in administration menu. NEXT-12956 - Can search customer addresses on input search NEXT-12981 - Can duplicate customer address NEXT-13005 - Fixes a problem in the category module when the user changes the category and there are already changes. The user is now not redirected until "Discard changes" is selected. NEXT-13056 - sw_cms_slot_content block added to sw-cms-slot component. NEXT-13123 - Available blocks in the CMS module are now filtered based on the available block types to prevent display errors (schuering) NEXT-13147 - Adjusted assignment of the default essential characteristics template in the administration NEXT-13234 - Enabled access to guest account data via store-API (nlx-sascha) NEXT-13249 - Custom fields will now be reloaded when switching between categories in the administration (runelaenen) NEXT-13379 - Fixes a missing translation in the error message for uploading files with invalid file names. NEXT-13392 - Already set canonical url products will now be displayed correctly when visiting the product detail page.
NEXT-7072 - The search for the mail templates in now working. NEXT-7384 - Fixed that passwords cannot be changed for existing users NEXT-7934 - Fix document missing in settings after deleting logo NEXT-8050 - Category specific CMS content will no longer be deleted after moving cms blocks to a different section. NEXT-8248 - Fix bin/console plugin:refresh command error when plugin's composer.json file not define a extra.label property NEXT-9639 - Configuration values which are explicitly turned off can now override an inherited value. NEXT-9978 - The category is now correctly redirected to the destination according to the defined category type NEXT-10076 - Variants can be displayed in a modal inside the administration. NEXT-10087 - Fixed a bug in the theme compilation that caused the variables for the inherited theme not to be loaded. NEXT-10156 - Added Czech korunas as an additional currency to the installer. NEXT-10222 - The component/_box.scss file is now no longer imported, which also means that an empty component/box.css file is no longer created, which on some systems resulted in a 404 NEXT-10398 - Fixed a bug that prevented resetting passwords, when the domain is configured with a slash at the end. NEXT-10525 - The Blue-Green environment variable is now set correctly before database migrations NEXT-10533 - On some pages the indexing bei search engine robots is prevented now. NEXT-10538 - Hide Complete card Product Assignment Card, Complete map SEO Card, Canonical URLs Card and Layout Assignment Card when structuring element is selected as category type NEXT-10716 - Added notice messages to inform the user that the shopping cart was merged NEXT-10803 - Fixed an error that occurred when deleting product properties in duplicated products. NEXT-10868 - The order overview in the storefront now shows the correct currency NEXT-10886 - The advanced pricing of a product will now also be applied correctly in Admin Orders. NEXT-10946 - Fixed a bug where streams could not be created with a 'Does not include' filter NEXT-10974 - We have added an option to active/deactivate customer scope for all saleschannels NEXT-10984 - The order items table now automatically hides the VAT column when tax status is tax-free. NEXT-10991 - Sorts the Country selection under "Shipping costs" in the cart. (zaifastafa) NEXT-11034 - Fix storefront cms page error when assigning dynamic product group without selecting product stream to a category. NEXT-11126 - Support add customer's comment and affiliate tracking when creating a order via store api NEXT-11137 - In the cookie bar there is now a button which allows all cookies to be accepted. NEXT-11144 - Clear session data on log out Setting is set to false by default NEXT-11152 - Product breadcrumbs are now displayed when the product is appended to several categories from different sales channels. NEXT-11211 - A message is now displayed for a 409 HTTP error NEXT-11224 - Required fields in the shipping methods are now highlighted if you try to save without filling them out NEXT-11258 - All values of the property options are displayed on the product detail page NEXT-11275 - Customer comments do not disappear anymore after editing an order. NEXT-11278 - Implemented multiple tax types for shipping methods - Auto: tax calculation based on the tax rates of all products in the basket. - Highest: tax calculation based on the product with the highest tax rate in the basket. - Fixed: define a fixed tax rate for the shipping method. NEXT-11285 - It is now possible to set the number of products to be displayed in the Storefront, in the Administration under "Settings > Shop > Products" with the option "Number of products per page". NEXT-11394 - Fixes two Bugs with the Merchant registration Formular when the "Only companies can sign-up" option of the registration form and the "Show selection between company and customer account" option of the registration settings are enabled simultaneously. The selection is now not being shown anymore and a js error that could prevent you from sending the form has been fixed. NEXT-11426 - Saleschannel description is now selected by interface language NEXT-11437 - When emptying text fields in the system settings, inheritance is restored NEXT-11459 - A customer is able to delete their account directly via the storefront NEXT-11480 - It is now configurable whether a customer account is valid for all sales channels or whether each sales channel requires its own customer account NEXT-11514 - The shopping cart of a customer is now getting stored for each single Sales Channel and will get reloaded and merged with the current cart after the next login. NEXT-11532 - Added Snippets to the Storefront wich can then be used to explain strike prices. Those snippets can be adjusted in the Admin Interface. NEXT-11551 - The tax calculation of shipping costs can now be adjusted. You can choose between a fixed tax rate and dynamic tax calculations NEXT-11556 - In the cookie settings, the CSRF cookie is now also listed under "Technically required NEXT-11613 - Fixed snippets in src/Administration/Resources/app/administration/src/module/sw-settings-listing/snippet/en-GB.json and src/Administration/Resources/app/administration/src/module/sw-settings-listing/snippet/de-DE.json NEXT-11668 - Grid settings in listings are now scrollable if the grid contains to many columns NEXT-11715 - The name of a property group has been added to the search as an important field. (wesionaire) NEXT-11720 - ACL-Roles that were created for an app, will be deleted when the app get's deleted. NEXT-11723 - Added additional events in import/export to aid development (wrongspot) NEXT-11724 - Long product descriptions which were previously cut off abruptly are now indicated by an ellipsis (thomasfahrland) NEXT-11725 - Added "title" attribute in account header (tinect) NEXT-11726 - Resolved a race-condition in the RepositoryIterator (jkrzefski) NEXT-11727 - Removed duplicated subject from mail template (s-diez) NEXT-11728 - Added information about the changelog workflow (aragon999) NEXT-11755 - Fixed template inheritance for themes provided by apps. NEXT-11792 - Required fields in the contact form are now configurable. (claudiobianco) NEXT-11806 - When having too many product images (more than 5 in mobile view, more than 8 in desktop/tablet view), the underneath thumbs and navigation dots are hidden for better visual. NEXT-11807 - Errors which occur during the payment process will now be logged NEXT-11857 - Added possibility to configure apps. NEXT-11876 - Theme preview that was set by the user is not overridden after an update of the theme no more NEXT-11887 - Deleting the current compiled theme before re-generating it may now be skipped when compiling themes via the CLI. (soebbing) NEXT-11892 - The filter aggregation now works correctly when used in the administration. (marvinschroeder) NEXT-11960 - On the shopping cart page, the currently selected shipping method is now also displayed in the selection box. This fixes a bug where customers cannot change the currently selected shipping method if it is blocked. NEXT-11989 - Apps that include custom fields can be uninstalled. NEXT-12012 - Apps can be installed, regardless of the shop's default language. NEXT-12026 - The search field is no longer displayed when the result is displayed in a large listing. NEXT-12027 - Corrected the font size and spacing of document headings. NEXT-12033 - A note for the service date has been added to the documents. Furthermore, the label for "jurisdiction" in the admin has been adjusted NEXT-12040 - When deleting a mail, the defined business events will be deleted too. NEXT-12066 - Fix redirect too many time when guest user access account pages. NEXT-12091 - Fixed a bug where products had multiple cover images. NEXT-12094 - Apps can add cookies to the storefront cookie manager. NEXT-12120 - Sets the option "server_tokens" in the nginx config to off to hide the server version (soebbing) NEXT-12172 - App manufacturer can indicate changes that the shop owner should apply to his privacy policy. NEXT-12210 - Fixes a bug that has caused two users with exact identical Avatars to make the user view in the admin unusable. (sebi007) NEXT-12229 - Improved error handling of the app cli commands. NEXT-12266 - Snippets can be edited directly in the extension configuration page. NEXT-12281 - Adjusted documentation sections so readers won't be confused. (ulrich-berkmueller) NEXT-12316 - Adjusted documentation regarding the installation via docker to be more precise. (gcascio) NEXT-12330 - A separate http cache key is now generated if the user has products in the shopping cart NEXT-12451 - Fixed that meta information in the storefront were included multiple times NEXT-12464 - The table header for the line item list on the cart page is shown in a single line for vertical tax calculation.
Important changes with the update ACL This release will include the rights and role management. After the update, all previously created users are set as Admin in the administration. Please set the appropriate rights for your users in the administration under Settings > System > Users & Rights. If after the update error messages appear in the administration for limited users, which indicate missing rights, this is due to the use of plugins which have not maintained explicit rights. These rights can easily be defined in the rights & roles management for the corresponding users in the tab "Detailed privileges". Further information on rights and role management can be found in our documentation under: Users & Rights. Sales Channel API The Sales Channel API is deprecated with this release and will be removed with the next major version, which will be released in beginning of 2021. The new Store API is now feature complete and replaces the Sales Channel API. Further information about the Store API can be found in our developer documentation under: Store API. E-Mail Handling Due to the adjustments of the mail dispatch in the order process, the settings in the new module "Business Actions" should be checked after the update. Here you can define which mails will be sent when the status changes. Additional Information If you encounter problems with the display of lists in the administration after the update, we recommend to empty the local browser data (Local Storage) completely. NEXT-7010 - Fixed a bug where the wrong currency was used for a domain of a sales channel. NEXT-7416 - A double submit of the order form is now prevented by deactivating the button after the first submit. This resulted in an error even though the order was executed. NEXT-7535 - Storefront themes get recompiled when a plugin gets deactivated or uninstalled. NEXT-8755 - Polish and other UTF-8 characters now work properly in the document creation of an order NEXT-8844 - The overview of the user were refactored NEXT-8845 - Roles are now visible in the roles and user modules NEXT-8846 - You can add roles and a title to users. NEXT-8878 - ACL and privileges have been built into the admin (For additional privileges) NEXT-8880 - Add ACL functionalities to the administration NEXT-8905 - Added role and permissions for review module NEXT-8908 - ACL was added to the category module NEXT-8919 - ACL was added to the order module NEXT-8920 - Implemented customer privileges and adjusted customer module accordingly NEXT-8921 - The shopping experiences module has now ACL support NEXT-8922 - Added acl privileges for media module NEXT-8923 - ACL privileges are now available for the themes module NEXT-8925 - ACL was added to the Sales Channel NEXT-8926 - Implemented privileges and user right for property module NEXT-8927 - The Dynamic Product Groups module is now compatible with ACL. NEXT-8945 - The countries module in settings now can be protected by ACL permissions NEXT-8946 - The currency module now can be protected by ACL rules NEXT-8947 - The customer groups module now can be protected by ACL rules NEXT-8948 - The delivery times module now can be protected by ACL rules NEXT-8950 - - Email templates module is supported by ACL - Validation message will be displayed for required fields - Warning notification is displayed when deleting a mail header/footer, which is still assigned to a sales channel NEXT-8951 - The languages module in settings now can be protected by ACL permissions NEXT-8952 - The number ranges module in settings now can be protected by ACL permissions NEXT-8954 - The module rule builder is now protected by acl privileges NEXT-8955 - The salutations module in settings now can be protected by ACL permissions NEXT-8956 - Add ACL to shipping module NEXT-8957 - Implemented ACL for the snippets module. NEXT-8958 - The tax module in settings now can be protected by ACL permissions NEXT-8959 - Added acl privileges to custom fields module NEXT-8961 - The integrations module in settings now can be protected by ACL permissions NEXT-8962 - Resolved visual UI problems for ACL in the document settings NEXT-9001 - Privileges were added for products module NEXT-9056 - These modules can now be protected with ACL: - Cart settings - Import/Export - Products - SEO - Sitemap - Cache - Address settings - Basic information - Login - Mailer - Account NEXT-9057 - Current users will get the admin flag. Please check your user permissions after update NEXT-9245 - Permissions are now categorized in the grid NEXT-9314 - The active status of variants can now be inherited from the main product. For newly generated variants, the status is always inherited from the main product as the default option. NEXT-9457 - Individual sortings are now stored in the database NEXT-9581 - Added address validation in Checkout NEXT-9795 - The admin order grid now can be sorted by Payment status and Delivery status. NEXT-9833 - SEO URL templates can now be emptied so that no SEO URL is generated for the respective entity. NEXT-10019 - Change in position of essential characteristics now always get registered. NEXT-10196 - Adds GDPR compliant options for Youtube and Vimeo CMS elements NEXT-10234 - The default import/export profiles are now properly shown in a german installation as well NEXT-10365 - Implemented individual sortings for cms elements NEXT-10383 - Reenables the possibility to change the language in the first-run-wizard NEXT-10487 - Failed order payments are now more clearly marked in the storefront. Orders now have a visually improved status indicator. NEXT-10543 - Add ACL protection to the shopping experiences NEXT-10548 - Translation of Slovakia has been fixed. NEXT-10607 - The users & permissions module can now be protected by acl NEXT-10625 - Restores the empty state of the Plugin page. NEXT-10650 - Removed the pagination in the product listing when there is only one product page NEXT-10666 - The assignment of the selected individual states to the array was added in the onChange method. If no states are assigned, an empty array is assigned in the grid cell. NEXT-10693 - Fixed an issue in the products image gallery NEXT-10694 - Added product search bar, when editing orders in admin NEXT-10697 - When creating or editing orders in Admin, product prices are only displayed after the product has been added to the order NEXT-10724 - Routes can be secured by explicit user permissions NEXT-10735 - API-Routes can now be protected by ACL permissions NEXT-10736 - These modules can now be protected with ACL: - First Run Wizard - Logging NEXT-10779 - Tax rate is automatically applied when a product is added to Admin Orders NEXT-10819 - Fixed the HTML in the products short descriptions on mobile view. NEXT-10826 - Removed checkbox for read and write authorisation in the access key management of the users & permissions module. NEXT-10860 - Backgrounds for icons in `sw-settings-index` can now be disabled (sobyte) NEXT-10882 - Added Image slider component to core and updated SalesChannelTypeModal NEXT-10884 - Improved search behaviour for inprecise search queries in the product search bar in Admin Orders NEXT-10885 - The setting "Show birthday field" is now properly working (sobyte) NEXT-10935 - An error that appeared when double clicking 'create integration' was fixed. NEXT-10936 - Dynamic product groups with a category condition are now working properly with ElasticSearch NEXT-10941 - Added event `SalesChannelContextTokenChangeEvent` which is dispatched `SalesChannelContextPersister` replace method NEXT-10953 - Fix password field toggle button visibility for long passwords NEXT-10960 - Fixed a bug that the breadcrumb doesn't show an arrow placeholder when a category has the same name as the last element. NEXT-10963 - Fixed a bug where the wrong SEO title was displayed on search page. NEXT-10971 - Orders no longer show incorrect addresses when the customer does not exist anymore NEXT-10999 - Fixed the calculation of net / gross prices in the admin NEXT-11009 - Blank page was displayed when accessing /account/login if the user was already logged in NEXT-11014 - Filter combinations which do not lead to a result can now be shown as deactivated in the storefront. NEXT-11017 - Fix locking in sitemap generation to prevent synchronization issues. NEXT-11042 - Fields will always be disabled if the user has only viewer rights NEXT-11044 - Adjusted layout in user management module to prevent deformation by drop down fields. NEXT-11045 - When creating new users the preselection for Admin is disabled NEXT-11047 - Global error messages are now displayed if the user does not have all permissions NEXT-11065 - There is now a detailed overview in which all entity privileges can be maintained manually. NEXT-11075 - Do not set cache cookies if cache is disabled. NEXT-11088 - The newsletter confirmation link is now working with sales channels, that only contain language domains, such as "myShop.com/en" NEXT-11096 - Changed description and help text for the canonical redirect setting. NEXT-11117 - sw-image-slider uses the asset filter for internal links NEXT-11119 - ACL was added to the dashboard cards NEXT-11122 - Adding promotions in Admin Orders shows correct success message now NEXT-11132 - ACL was added to the module essential characteristics NEXT-11167 - The job title below the username was fixed NEXT-11185 - The filled variant of the default-object-shield icon was added. NEXT-11190 - Product price in Admin Order is now assumed by customer group of selected customer NEXT-11244 - Settings are now also loaded on systems with more than ~1000 entries in the 'system_config' table when using MariaDB <10.3.22 NEXT-11269 - Fixed caching of storefront filters NEXT-11283 - The tabs in the overview of all settings are now hidden if the user has no privileges for some entries NEXT-11295 - Fixed sw-datepicker disabled styles NEXT-11297 - User rights can now be maintained for scale units NEXT-11303 - Table headers in the administration don't have ahover effect for columns that are not sortable. NEXT-11307 - Storefront-Plugins werden nach einem neuladen des offcanvas-cart nun erneut initialisiert. NEXT-11326 - It is possible now to add individual search keywords to a product NEXT-11350 - Price input in edit order now supports automatically convert to negative value if it is credit item. NEXT-11411 - Changed CMS notifications that hint at missing configurations from "warning" to "error". Message texts have been improved. NEXT-11464 - Both the selection of payment methods during the checkout in our storefront and the new behaviour introduced with Shopware 6 to save orders independently of the payment process was further improved. As a result of this optimization, customers are guided through the checkout better if an error occurs during payment and it becomes more convenient for the customer to complete the order with a different payment method. In addition, merchants will be able to decide in which case a notification is sent by e-mail. NEXT-11467 - Fixed spelling in labels accross the ACL module. NEXT-11546 - Fixes a problem for guest users where links to order from the e-mail confirmation cannot be opened when the guest user's session has expired. NEXT-11549 - Fixes labels, adds placeholders and renamed "event actions" to "business events" and fixes a missing storefront checkout snippet. NEXT-11696 - Technical roles assigned to apps, are filtered out for the administration.
NEXT-6331 - Categories can now also be dragged to the root level NEXT-6753 - Added a setting for redirecting to the canonical URL. NEXT-7311 - There is now the possibility not to send a mail when updating the status of an order NEXT-7703 - Added button to allow users to accept all cookies at once. NEXT-8228 - Address routes are now also available in the Store API NEXT-8381 - Calculation of taxes for credit item now is also taking into account the taxes of a custom item NEXT-8568 - Fixed a bug where entrypoint categories were displayed in the breadcrumb. NEXT-8702 - Additional address lines will be shown on documents. NEXT-8709 - Import of entities without id fixed NEXT-8944 - SEO URLs for categories are properly generated again when deactivating and re-activating a category NEXT-9055 - Styling for displaying product prices in the storefront has been adapted for lists, so that they are no longer cropped if the text becomes too long. NEXT-9340 - Producttags aren't duplicated when added with enter. NEXT-9488 - Fixed the stock validation regarding ‘Quantity’ and ‘Clearance sale’ when creating an admin order NEXT-9610 - Prevent the sending of the registration mail for the newsletter registration if the e-mail is already registered NEXT-9735 - The 'account/order/edit' page in the Storefront is no longer accessible when the order's payment state is already set to `paid` NEXT-9737 - The VAT-ID will now be shown in the customer account under the billing address NEXT-9825 - Purchase prices can now be set in gross and netto NEXT-9830 - When generating an invoice the name is now taken from the billing address. NEXT-9841 - Fixed a bug where the sitemap contained URLs that did not match the sales channel. NEXT-10012 - Fixed a bug where the orders of every sales channel were displayed on the orders page. NEXT-10062 - Make custom field labels available in the storefront NEXT-10063 - - Implemented handling of float values for ratings - fixed error, when a customer with a review got deleted NEXT-10070 - CMS image gallery and image slider have a fixed initial height to prevent them from jumping while content is loading NEXT-10072 - Doc Plugins are now compatible with Shopware version 6.3 NEXT-10229 - Calculation of taxes for shipping costs now is also taking into account the taxes of a custom item NEXT-10247 - Custom field sets can now also be sorted by a position (runelaenen) NEXT-10254 - Added the ellipsis to the truncated long product name in the product box NEXT-10257 - Added ellipsis to the truncated long product name in the product box, the shopping cart line item and in the off-canvas cart menu item. NEXT-10289 - The indexing of products with a lot of variants is no longer running into an error. (henrikvolmer) NEXT-10294 - Sales channel overrides for the document configuration will no longer be ignored. NEXT-10305 - The rule "Line item with attribute" doesn't throw an exception anymore, when the position doesn't know the respective custom field (soebbing) NEXT-10386 - New shipping methods always show a default price matrix now NEXT-10405 - Submit product review error when hreflang is active NEXT-10477 - When a product is added to an order via administration, the stock of the product is now also updated. NEXT-10521 - Added error property to `sw-url-field` NEXT-10617 - Fixes a syntax error in DAL documentation (Schrank) NEXT-10618 - Align head cells of right-aligned columns to the right in the administration component `sw-data-grid` (hanneswernery) NEXT-10622 - Enable webpack build to hard fail in production (hhoechtl) NEXT-10670 - - Replaces 'Shopware ID' with 'email address' in plugin module. NEXT-10713 - Fixes the API when sorting on _score via API (hanneswernery) NEXT-10743 - Sales channel modal's footer button now does not keep moving to the left NEXT-10763 - User email address gets clipped to fit into the account area of plugin module NEXT-11096 - Changed description and help text for the canonical redirect setting.
NEXT-7288 - Fixed an error where the error messages in the shopping cart only disappear after reloading the page NEXT-8216 - Added new module to the settings panel, to enable administration of essential characteristics templates. NEXT-8222 - Templates for essential characteristics may now be linked to products NEXT-8223 - Added entities necessary for defining essential characteristics of products NEXT-8230 - Essential characteristics of products are now shown during all checkout steps. NEXT-8644 - Fixed order list page sidebar not showing in administration (alexbaat) NEXT-9024 - The performance of the price filter was optimized for systems with MariaDB. NEXT-9140 - A bug has been fixed that made it possible to save required Fields empty. (jkrzefski) NEXT-9203 - Cart data now holds information about essential characteristics of the contained products. NEXT-9225 - For each product, you can now select custom field sets to be maintained for the product. NEXT-9278 - Dynamic product groups can now also be selected in categories when assigning products. NEXT-9279 - In addition to the manual product assignment, dynamic product groups can now also be assigned in the product sliders of the experience worlds. NEXT-9373 - Added missing parameter to the CLI installer. NEXT-9478 - Added a loader to show the progress, when clicking on a filter NEXT-9479 - Added rich snippets to the breadcrumb and the breadcrumb was merged into a single component NEXT-9574 - Delivery positions of an order are now properly set when editing an order in the administration to add new products NEXT-9654 - Properties won't be cut of in the property search inside the variant creation tab. NEXT-9655 - The names of the property option will be truncated when no space is available. And a tooltop will appear after a short time when hovering over a option. NEXT-9666 - Elasticsearch sorts now caseinsensitiv NEXT-9714 - Added Merchant Registration NEXT-9730 - Fixed a bug, which affected the product search by product number in storefront. The search could return unrelated products to the search input (ySynowzik) NEXT-9742 - Thumbnails are no longer generated bigger in size than the original image (MDSLKTR) NEXT-9765 - Mail configuration via environment configuration works again NEXT-9788 - Fixed the image display mode “standard” within the product boxes NEXT-9794 - Improved the user interface on mobile of edit order in the account page NEXT-9820 - Fix using arrow functions untranspiled in storefront for IE11 support (MDSLKTR) NEXT-9821 - In the shopping Experiences the setting for margin will now set margin instead of padding. (JonasMoltke) NEXT-9849 - Fixed storefront timepicker bounds NEXT-9893 - The Elasticsearch "number of replicas" setting will no longer be ignored. (hhoechtl) NEXT-9935 - Fixed wrong value for the meta tag 'twitter:card' (malteriechmann) NEXT-9958 - Fixed some bugs that make it difficult to use Platform in headless mode. (JoshuaBehrens) NEXT-9977 - Reviews not require any customer now NEXT-9993 - It's now possible to match weight in rules for values up to three decimal places. (JoshuaBehrens) NEXT-10042 - The pack unit is now correctly displayed on the product detail page, even when a translation for the pack unit is missing (simkli) NEXT-10046 - Price calculation for google analytics now considers discounts and other positions properly (colinmurphy) NEXT-10055 - In the customer account in the storefront the company field can now be changed correctly in the profile overview (alexbaat) NEXT-10069 - When clicking on reviews below the price on the product page and switching tabs between description and reviews there occur no more JavaScript errors. NEXT-10127 - Invoice settings are now displayed only one time again NEXT-10130 - Added missing snippet for the product box element in the cms. NEXT-10151 - The position of property options is now properly working for language shops (JoshuaBehrens) NEXT-10165 - The command `system:update:finish` executes `assets:install` with the correct parameters. (aragon999) NEXT-10224 - Fixed redirection to other languages in the storefront if URL contains uppercase letters. Example: https://example.com/de-DE NEXT-10239 - Removed the shipping country selection from cart when the customer is already logged in NEXT-10311 - Implemented Merchant Registration NEXT-10321 - The “Sort by” option in the reviews will no longer appear if there are no reviews NEXT-10331 - Removes the border-radius in fullscreen modals (tinect) NEXT-10337 - The contact form now also works with translated configurations in language shops (Krielkip) NEXT-10376 - Add option to skip container rebuild for plugins to improve activation and deactivation speed NEXT-10394 - Fix alignment bug in the contact form for the phone number for Safari NEXT-10454 - Fixed an error that when reloading a filtered product page, the filter panel is no longer visible. NEXT-10593 - The rating filters are not displayed in the storefront if there are no products with ratings. NEXT-10608 - Antwortmöglichkeiten in `system:setup` bei der Blue-Green-Deployment-Frage durch Änderung in "yes" und "no" verdeutlicht. (jkrzefski) NEXT-10660 - When saving a new "Essential characteristics" template, the local data is now refreshed.
NEXT-4521 - Add security prompt before plugin uninstall with possibility to keep the data (if the plugin supports it). NEXT-4813 - When creating new custom fields that is not saved it won't be get lost when using the search. NEXT-5178 - Revised design of the media module NEXT-5179 - The date picker got visually revised NEXT-5717 - TemplateFactory allows multiple inheritance using multiple components NEXT-6608 - The user has now the ability to install multiple currencies during installation NEXT-6727 - Tax rates for different countries added per default NEXT-6734 - Added additional countries NEXT-6918 - The type of existing custom fields cannot be changed anymore NEXT-7003 - Link in the footer to the shipping costs now points correctly to the CMS page assigned in the sales channel for the shipping costs NEXT-7025 - Custom Fields are now sorted by their position. NEXT-7041 - Added a computed field `variantCharateristics` to the product entity which represents the variant properties as a formatted string. NEXT-7042 - Integrate text for variant characteristics in storefront NEXT-7043 - Variant specification is now displayed in administration NEXT-7044 - Add variant characteristics to documents and email template NEXT-7061 - If the search with Elasticsearch leads to an error, there will now always be a fallback to the SQL. In developer mode these errors are then written to the log files. NEXT-7153 - It is now possible to unset the color and default image for properties. NEXT-7304 - Shopping cart can now be accessed via Store-API NEXT-7413 - Add `resetOption` to the component `sw-sales-channel-switches` to reset the current selection value (runelaenen) NEXT-8066 - The listing price now also takes into account the standard price of the product and variants NEXT-8125 - Forgot password now also removes the migrated password NEXT-8137 - It is now possible to duplicate products with variants. When duplicating a variant product, the variants are now also duplicated. NEXT-8222 - Templates for essential characteristics may now be linked to products NEXT-8223 - Added entities necessary for defining essential characteristics of products NEXT-8230 - Essential characteristics of products are now shown during all checkout steps. NEXT-8303 - It can now be defined for each sales channel whether it should calculate with a vertical or horizontal tax calculation in the shopping cart. NEXT-8646 - It's now possible again to assign products to sales channels with the csv import. NEXT-8805 - Shopping cart was made Store-API compatible NEXT-8812 - Fixed error when selecting Euro and Pound in the installer. NEXT-8868 - Improve styling of variant characteristics NEXT-9062 - Sorting with searchscore fixed in case other sortings are present (hanneswernery) NEXT-9067 - The mail transfer can now be prevented by calling MailBeforeSentEvent::stopPropagation NEXT-9152 - CartService uses now again the given token NEXT-9203 - Cart data now holds information about essential characteristics of the contained products. NEXT-9205 - sales-channel-api and store-api requests which work on a session needs a valid context token now. NEXT-9209 - Event workflows will now be correctly interrupted, when $event->stopPropagation() is called (jkrzefski) NEXT-9250 - You can now paginate Custom-Fields in the administration NEXT-9257 - A bug was fixed which prevented the theme compilation when using config fields of type 'textarea' in custom themes (troxxs) NEXT-9267 - Improved alignment of prices in offcanvas cart (tinect) NEXT-9270 - It is now possible to sort products by different currencies in the product list inside the administration. NEXT-9349 - Improved the appearance of the orders in the user account area on mobile screens NEXT-9367 - A margin has been added after the selection fields in the settings for documents (layout revised) (plugware) NEXT-9368 - Update npm dependency for node-sass in administration (granitibrahimi) NEXT-9386 - add missing twig-block in cancel order modal (jochenmanz) NEXT-9387 - Categories in the storefront are now properly marked as active (BrentRobert) NEXT-9388 - Custom fields are now also shown for categories of type "link" (stephan4p) NEXT-9428 - We improved the pagination NEXT-9464 - An error has been fixed which caused unwanted duplication of delivery positions when editing an order. NEXT-9472 - Added `user:change-password` command to set the password of an administration user (BrentRobert) NEXT-9491 - Shoppings carts with shipping free items are now properly calculated (susannemoog) NEXT-9492 - Fixed property sorting for shops with multiple languages (pascaljosephy) NEXT-9536 - Plugins remain active, when an exception is thrown during deactivation. NEXT-9549 - Fixed inheritance for variants on the product detail page. Custom are now also inherited. NEXT-9591 - Fix missing link to profile in administration NEXT-9593 - Add reloading support in sw-system-config to load the current sales channel config without using the cached value (felixbrucker) NEXT-9598 - Translations in the theme configuration are correctly displayed, if the theme does not include translation for the default language. NEXT-9600 - Added additional text with variant specification to all relevant views NEXT-9606 - Removed price, prices and listingPrices from the store / sales channel api NEXT-9607 - Added an additional css class to cart offcanvas (BrentRobert) NEXT-9609 - NavigationRoute can now also accept custom parameters via POST NEXT-9614 - Added blocks to components `sw-customer-list` and `sw-order-list` to allow easier adding filters to the sidebar NEXT-9619 - Added a namespace variable to sw_icon to allow adding custom icon-sets to the storefront (runelaenen) NEXT-9634 - A storefront bug was fixed which made selecting a cookie group via the checkbox impossible on some mobile devices (MDSLKTR) NEXT-9670 - Fixed bug in duplication of duplicated products. NEXT-9697 - Fixed an issue in a migration on systems with system default language other than english or german. NEXT-9750 - Added some missing primary keys for database tables (powolnymarcel) NEXT-9752 - Installer and Updater using now the English translations as fallback for missing snippets NEXT-9753 - Fixed a performance problem in dev enviroments. NEXT-9785 - Consider the min order quantity when adding products in listing NEXT-9792 - Fix sw_sanitize filter throwing when the parameter options is null NEXT-9814 - Fix user access key handling in administration NEXT-9822 - Version in Administration is now displayed with four digits NEXT-9854 - Added polyfill for IE11 of report-validity in form-scroll-to-invalid-field-plugin.js (MDSLKTR) NEXT-9899 - Removed duplicate condition from mail template.
Security Update There are three security issues reported by REQON B.V. in this update: NEXT-9176 / CVE-2020-13971 NEXT-9175 / CVE-2020-13970 NEXT-9174 / CVE-2020-13997 Additional information can be found here: https://docs.shopware.com/en/shopware-6-en/security-updates/security-update-07-2020 NEXT-4890 - Fixed loading of media for subcategories in offcanvas menu (claudiobianco) NEXT-5263 - All file types like PDF are now allowed by the media manager (BoostDay) NEXT-6803 - Fixed an error, where shipping costs were not correctly calculated by weight in a price matrix (alexbaat) NEXT-7417 - When you type in a comma in any of the price fields, it is automatically replaced by a dot. (BoostDay) NEXT-7442 - It displays a small label for guest users next to the name in the list and detail view of customers. (BoostDay) NEXT-7507 - Added Czech koruna to shopware NEXT-7788 - This change adds a config option to activate or disable the product reviews in the storefront. (BoostDay) NEXT-8267 - Fixes that the user in the grid cannot scroll completely to the end when creating variants (price surcharges and discounts) NEXT-8567 - If on requirement is not met before doing an update the user is not able to update. NEXT-8658 - Plugins now can be installed even if they do not provide the default language. In this case the provided en-GB language, or the first available language will be used as default. NEXT-8903 - It is now possible to work with decimal places in the price matrix in Settings / Shipping costs for the types "weight", "price" and "volume". You can also start with "0" for the first price rule. NEXT-8985 - The payment status "Refund" and "Authorized" were added. NEXT-8995 - Fixed the bug that when Elasticsearch is active, no more than 10 products can be in the shopping cart NEXT-9045 - Added the service menu to the minimal footer on all checkout pages NEXT-9077 - Bug on Rules with product tags fixed (NicoWenig27) NEXT-9129 - The EntityGenerator now creates correct getter / setter return type if field is boolean (jkrzefski) NEXT-9180 - Corrected german translations (mjossdev) NEXT-9201 - Adjusted the gap between form fields in customer forms in administration (plugware) NEXT-9208 - Statistics in Admin now work again on the start page NEXT-9232 - Thumbnails of images with exif orientation are now generated correctly. (sebastianlenz) NEXT-9236 - The Timezone is correctly set for DateField and DateTimeField (jkrzefski) NEXT-9258 - Added new Event `GuestCustomerRegisterEvent` for register as Guest (JoshuaBehrens) NEXT-9266 - The icon for discounts in the off-canvas shopping cart is now vertically centered. (tinect) NEXT-9273 - font weights in CSS were replaced by variables (tinect) NEXT-9281 - Resolves an issue that prevents themes from being compiled, the configuration of which contains deactivated "switch" and "checkbox" fields. NEXT-9283 - Fixed a bug which prevented users from sending an order when rule based promotions were active but not eligible to the current context NEXT-9289 - Contact form now works again in different languages if no confirmation text was maintained NEXT-9311 - Added the required asterisk for phone number in the registration-form, when phone number requirement is active. (punknroll) NEXT-9320 - Added the '--keep-cache' option to the 'http:cache:warm:up' command (JoshuaBehrens) NEXT-9323 - Added some events to product cross sellings (313) NEXT-9325 - Fixed the 'import:entity' command. (jdambacher) NEXT-9326 - Fixed password recovery for shops with urls like /de. (acris-cp) NEXT-9358 - Fixed a bug that caused an error in the storefront when using Elasticsearch. (henrikvolmer) NEXT-9364 - Fixes that password fields are not shown in the administration in Google Chrome versions below version 80 NEXT-9379 - * fixed a bug where themes could not be updated if theme media was assigned to cms pages * fixed a bug where themes could not be installed if media exists with the same name as theme media NEXT-9399 - Fixed swagger api documentation for version 2 (/api/v2/_info/swagger.html) NEXT-9497 - In the administration product module in the "Dimensions & packaging" area, the "Sellung unit" and "Basic unit" fields can now enter three decimal places. NEXT-9513 - Product boxes with container products that contain variants no longer have an "add to cart" button in the experience worlds elements. It now shows the "Details" button similar to the regular listing.
NEXT-5263 - All file types like PDF are now allowed by the media manager (BoostDay) (FalkoHilbert) NEXT-6407 - This change adds the button option to open the media sidebar with already uploaded media to the manufacturer module (BoostDay) (wexollm) NEXT-6430 - E-mail header and footer are now properly attached to e-mails NEXT-6735 - It is now possible to set the default country during the installation NEXT-6803 - Fixed an error, where shipping costs were not correctly calculated by weight in a price matrix (alexbaat) NEXT-7132 - Promotions with absolute discount greater than the cart total will no longer produce a negative total for net group customers NEXT-7417 - When you type in a comma in any of the price fields, it is automatically replaced by a dot. (BoostDay) (wexomep) NEXT-7442 - It displays a small label for guest users next to the name in the list and detail view of customers. (BoostDay) (SeboBlock) NEXT-7486 - The search can now be confirmed with the enter key. NEXT-7788 - This change adds a config option to activate or disable the product reviews in the storefront. (BoostDay) (hit-lember) NEXT-7882 - Session data is now by default cleared after logout. This can be controlled by a setting. NEXT-7917 - Fixed error when registering as guest NEXT-8189 - Fixed after order link in mail templates NEXT-8195 - The correct order date is shown in the order grid with the timezone taking into consideration. (BoostDay) (vancaw1) NEXT-8260 - The options in the property groups are now filtered either numerically, alphanumerically, or in a custom fashion based on the position of the option. (BoostDay) (tbkruse) NEXT-8287 - VAT is now calculated according to the shipping address location and no longer the billing address location NEXT-8384 - Fix progress display when generating individual promotion codes NEXT-8385 - Fix error when using promotion set groups in combination with a discount on shipping costs NEXT-8386 - Change minimum discount value to 0,00 in promotions. This helps you to set fixed prices and fixed unit prices of 0,00. NEXT-8388 - Promotions do now only exclude each other if they are both indeed valid for the current cart NEXT-8389 - If a promotion contains multiple set groups as precondition, all groups do now have to be found to have a valid promotion NEXT-8391 - Fix problem where promotion exclusion configuration didnt work in the administration NEXT-8392 - the administration shows now the latest promotions on top of the list NEXT-8393 - It's now possible for customers to also remove promotions if they are added automatically without a code NEXT-8394 - Promotions that are not active, not assigned to a sales channel or with invalid date ranges will now show a separate "promotion not found" error when trying to use it, instead of "promotion found but not valid" NEXT-8428 - Add a link around the name of the customer in the order overview (BoostDay) (t2oh4e) NEXT-8436 - Remove alphanumerical filter from quick add (BoostDay) (t2oh4e) NEXT-8448 - google storage config can now be provided as json string (hhoechtl) NEXT-8486 - Feature flags from plugins are supported now NEXT-8543 - Payment status column in order list shows color according to payment status. Order date column in order list is properly formatted. NEXT-8594 - Orders are now deletable (BoostDay) (StephanAltmann85) NEXT-8596 - New filterable column added to property group and make them hideable from Storefront Product Listing Filters. (BoostDay) (SRaromicon) NEXT-8597 - Added language switch to the Settings -> Shop -> Scale units (BoostDay) (alexbaat) NEXT-8598 - Added another text input to the sw-product-packaging-form so the user can add the correct (singular or plural) package unit one product. (BoostDay) (ca-tb) NEXT-8607 - Fixed german translations for country specific taxes. (tinect) NEXT-8687 - Improves the pluralisation of the shown number of search results. (tinect) NEXT-8710 - Fixed to lax permissions in zip distribution. NEXT-8734 - Icons shown in the "plugins"-tab on the administration settings page from third party plugins are now correctly displayed (acris-cp) NEXT-8737 - Fixed snippet overriding of plugins NEXT-8764 - Fixed bug where the user couldn't paginate the properties and variants. NEXT-8807 - Fixed the administration multi-inheritance if a component was overriden and extended by multiple components NEXT-8817 - Update Problems solved when overwriting the updater NEXT-8823 - Fixes the documentation of the route for the footer-navigation in the store api. (MDSLKTR) NEXT-8826 - More than 1000 Rules are definable without error NEXT-8882 - removes the autoplay of videos in the Admin (tinect) NEXT-8891 - Fixes a problem that when changing the delivery address, the modal for the billing address opens on the order confirmation page (acris-cp) NEXT-8896 - Country states are now displayed correctly on the order finish page NEXT-8935 - A thumbnail is now used for the preview of variants on the product detail page. (tinect) NEXT-9041 - Added extension points in the storefront NEXT-9044 - When creating plugins via the console, the "name" is now an option and Shopware asks for a name. (bpesch) NEXT-9053 - Countries are now ordered by translated name (tinect) NEXT-9078 - The product weight field on the product edit site in administration now support three digits (tinect) NEXT-9083 - .ico images are now supported for media uploads in administration (hlohaus) NEXT-7780 - Added tooltips for the text editor icons (tinect)
Additional Information We are getting more and more hints that the update on slow file systems cannot be performed completely via this auto-update wizard. If you encounter problems with the update, we recommend that you perform the update manually as described here. NEXT-6981 - The Customer now will be redirected to the order confirmation page even when an error occured while paying. The page will display a proper errormessage. NEXT-7563 - Promotion codes are not added to the shopping cart again after an order. NEXT-7629 - We fixed the list price rule NEXT-7772 - If the customer uses a slash in the search, it can now be filtered and sorted correctly again. NEXT-8182 - Optimized elasticsearch search algorithm NEXT-8217 - Display issues in the Storefront under Internet Explorer 11 were fixed NEXT-8221 - After plugin update the Symfony container cache is cleared now NEXT-8250 - Price sorting in product lists now uses decimal precisions NEXT-8269 - We optimized the variant generator performance significant NEXT-8291 - If a snippet does not exist in a snippet set, the fallback now uses the default snippet of the system language. NEXT-8328 - We fixed the "reorder product" function NEXT-8332 - Fixed the snippets for the cookie deletion notification NEXT-8336 - Products that were ordered can now be deleted NEXT-8346 - We optimized the http cache invalidation NEXT-8363 - Variant names in the Cross Selling listing are now displayed correctly NEXT-2562 - If the update of a plugin fails, the plugin will be deactivated NEXT-3027 - Invalid plugin information do not longer break the plugin refresh NEXT-3124 - Settings in administration are alphabetically sorted now NEXT-3467 - Multi entity selection, color selection, URL field and checkbox can now be used in the plugin configuration NEXT-3496 - Date picker, time picker, HTML editor and media selection can now be used in the plugin configuration NEXT-4207 - Replaced Store based data handling with repository based data handling in media specific components and modules NEXT-4210 - Replaced tables in plugin manager with common styling NEXT-4596 - Added honeypot captcha to forms in the storefront to reduce the amount of spam registrations NEXT-5038 - Shipping prices can now be set for every currency. NEXT-5116 - Regular plugins can now add their own SCSS variables via an event. NEXT-5149 - The Theme manager will display an error message if the theme could not be compiled successfully. NEXT-5489 - A new rule for cart line items with properties has been added. NEXT-5713 - Empty Sections inside the Form View in the Shopping Experiences have no an empty state. NEXT-5805 - Outsourced Jest test preset and integrated it into the core NEXT-5865 - Research requirement and list down possible errors NEXT-5948 - Implements possibility to add individual products to Cross Selling NEXT-6098 - It is now possible to duplicate products without variants in the listing or the detail page NEXT-6107 - You can now use tabs in the Theme Manager to organize the blocks, sections and fields. This provides even more tidiness, especially for large theme configurations. NEXT-6133 - We have optimized data indexing so that it can be parallel processed on larger systems. NEXT-6238 - You can now use a tall image for the shop-logo that won't hide the Terms of Service button at the end of the checkout. NEXT-6242 - Refactoring to set the cart behavior to recalculation NEXT-6279 - Added support for hreflang-tags NEXT-6305 - Added Google Analytics integration to the Storefront NEXT-6306 - Added Google Analytics cookies to consent manager NEXT-6319 - You can now clear the cache via the administration. NEXT-6425 - CartBehavior::isRecalculation deprecation New way over permissions NEXT-6433 - Added support for managing track & trace codes to the administration NEXT-6434 - Tracking links for orders are now displayed in the account NEXT-6443 - Filter closeout products in listing and search when they are out of stock and filter flag is active. NEXT-6444 - Detailpage for products with clearance sale active and out of stock shows an `ProductNotFound`page and those products get filtered for crossellings, when listing configuration is set NEXT-6461 - New paymentstates `failed` and `In Progress` added. Assignement of a E-Mail template can now be skipped during statechange NEXT-6465 - Added refund option and url to order in email templates NEXT-6469 - - Set default context data from current sales channel to context fields when user leave one of them empty - No loading and updating cart action when there is no item in item list NEXT-6477 - Adds e2e tests which represents the checkout workflow with a restricted shipping method NEXT-6575 - Fixed some translation so all System language options are being displayed in the language chosen for the Installer. NEXT-6627 - The user cannot complete the checkout when his/her selected payment method is not active. NEXT-6697 - Internet Explorer 11 is now supported in the storefront NEXT-6754 - Added detail page for import export log entries. NEXT-6856 - Improved documentation for storefront JavaScript-plugins NEXT-6910 - You can not save empty templates in the seo module. This fixes a problem that a complete template could be irretrievably deleted. NEXT-6920 - Fixed the Slim error when selecting an non-bundled language. Also the selected language is now automatically installed in the first-run-wizard. NEXT-7039 - Add `Listing` tab in the `Storefront presentation` modal to configure the variant preselection NEXT-7040 - Implemented the logic for the variant preselection to allow main variant selection, aswell as variant expression for specific variant groups NEXT-7092 - If the user tries to delete a customer group that still has a SalesChannel and or a customer assigned to it then a error message will be shown. NEXT-7159 - Added theme guide to the documentation NEXT-7164 - Updated github workflow in contribution guideline NEXT-7165 - Users can now rate pages on our developer documentation NEXT-7177 - Fix snippets in plugin manager (simkli) NEXT-7278 - When clicking on a label, the correct checkbox or button is selected (@deepakk-webkul) NEXT-7282 - Fixed breadcrumbs for various settings pages NEXT-7411 - Add `Hide products after clearance` option in `Setting -> Shop -> Listing`. When `Hide products after clearance` is enabled, products marked as on "clearance sale" are hidden, as soon as their stock depletes back to 0 NEXT-7439 - If media with the same name is uploaded, the file name will be renamed appropriately. `my-file.jpg' to `my_file_(2).jpg'. NEXT-7461 - Fixed label for "mailer"-settings-item in administration settings page NEXT-7462 - "Plugins" Tab on settings administration page is no longer visible, if no installed plugins are active in the shop NEXT-7463 - Added google analytics integration NEXT-7479 - Deprecated DAL fields are now removed from the result. With the new header "sw-ignore-deprecations" this behavior can be bypassed NEXT-7489 - In "Orders > Overview > Add order" you can now manually create customer orders via the admin. NEXT-7498 - The delivers note now uses the shipping address instead of the billing address (lietzi) NEXT-7504 - Settings items on settings index page in administration are now sorted more naturally NEXT-7533 - Fixed display errors in multiple selections in administration lists. (JoshuaBehrens) NEXT-7544 - Sitemap files are now split by 50k entries NEXT-7628 - The following rule fields now allow decimal places: strike prices, height, length, width, purchase prices NEXT-7659 - The cms products slider are now sorted according to the defined order. NEXT-7684 - The customer is now able to change the payment method after he has finished the checkout. NEXT-7716 - Plugin uploads with specific new files no longer cause errors on following requests NEXT-7757 - The scroll up button is no longer hidden behind the cookie bar. NEXT-7815 - Temporary files are now successfully removed when the upload is canceled NEXT-7818 - It is now possible to pick a main variant or a preselection of variants in the variant generator, which will be displayed in the storefront listing NEXT-7834 - Recovery now executes the updated Migrations NEXT-7850 - Add customer comment field to checkout process NEXT-7855 - If Elasticsearch is enabled, the pagination in the storefront is now also updated correctly when the product lists are filtered. NEXT-7870 - It is now possible to define email attachments for each email template and language NEXT-7901 - Import Export profile labels are translatable NEXT-7920 - Added import/export profile for newsletter recipients. NEXT-7946 - Added a check to ensure, that no other active plugin depends on a given plugin before it can be deactivated. NEXT-8033 - Added tooltipps to country-select fields in settings/ tax and sales channel config. NEXT-8046 - Plugins can define their own favicons for admin modules. NEXT-8049 - The inheritance of prices and media was corrected when importing variants. NEXT-8052 - Added a meta title to the theme manager module. NEXT-8092 - The error handling in the importer/exporter was improved NEXT-8134 - Payments can be disabled for after order payments
The Update is only compatible with 6.1.0. Earlier Version have to be updated to Version 6.1.0 before. If you are using plugins from the Community Store that have not yet been marked as compatible, you will not be able to activate them. If you do not want to deactivate the plugins or use individually programmed plugins, check on a separate test environment whether the plugins are compatible. NEXT-5991 - Implementation of currency-specific list prices. NEXT-3645 - Tooltips will change their position automatically if they do not fit to the display. NEXT-4018 - The payment and delivery method information on the order finish page is now taken from the order and no longer from the saleschannel context NEXT-5032 - Guest orders doesn't receive a welcome register mail anymore NEXT-5062 - As a theme developer, it is now possible to overwrite the Bootstrap SCSS default variables. NEXT-5197 - Quickview of products in the order process was fixed NEXT-5338 - Product images that are very long won't be cut off anymore. NEXT-5398 - Migration-System extended to support more plugin options NEXT-5592 - Unused settings removed - Bank account & Address in Basic Information NEXT-5671 - Standard template for AGB etc. added NEXT-5672 - The context menu now automatically opens upwards if there is not enough space below to display all entries. NEXT-5764 - Put in Cart works now even if the domain or basedir contains uppercase letters NEXT-5868 - The configuration of the maximum purchase on the product, as well as the global configuration, are now validated in the shopping cart. If a product item with more than the defined max quantity is placed in the shopping cart, the quantity is reduced and the customer receives a corresponding error message. NEXT-5890 - The language change in the administration was fixed. In addition, the language of the user is now loaded after logging in. NEXT-5905 - Added a twig function, which allows to resolve the media id of a custom field of type media. NEXT-5907 - No more negative quantities are displayed on the product detail page. NEXT-5917 - In the overview of product ratings, the product name is now displayed correctly if the user is not in the default language of the system, or if the rating was made for a variant. NEXT-5922 - The bug was fixed, by which no new rules could be created via the shipping methods module. NEXT-5949 - Fixed a problem with the inheritance of prices NEXT-5951 - The block "sw_cms_element_product_listing_config_layout_select_options" was added to "sw-cms-el-config-product-listing" (yopiwko) NEXT-5958 - An error was intercepted that a wrong languageId in the LocaleStorage can cause that the administration can not send requests successfully anymore. NEXT-5963 - The contact- and newsletter form is now available in new languages NEXT-5973 - Hide account navigation on mobile devices NEXT-6081 - The product ratings in the frontend were optimized. Now, ratings of all languages and all variants are displayed first. The customer has the possibility to filter on the current shop language. The filtering and sorting has been corrected, so that the customer can also filter several points. Furthermore, the calculation of the average rating of products has been optimized. NEXT-6091 - Mail copy is now sent via BCC NEXT-6110 - We have fixed the price sorting for variant products. These are now correctly sorted in the product lists. NEXT-6179 - Options in variant generator are sorted now NEXT-6195 - The e2e testsuite is a separate package now NEXT-6200 - The select field now opens intelligently. This fixes the problem that sometimes certain values could not be selected. NEXT-6229 - The inheritance switches are no longer displayed on the product detail page when switching from a variant to the main product. NEXT-6234 - Update the node sass compiler version to 4.13.0. NEXT-6252 - Shopping experience layouts are now duplicatable. Locked layouts are clearly recognizable. NEXT-6270 - In the composer.json of plugins, entries in "authors" with the role "Manufacturer" are now preferred (JoshuaBehrens) NEXT-6310 - The database connection of the installer now supports sockets (reneznexum) NEXT-6330 - You can change an address while in checkout now NEXT-6373 - Fixed a bug that prevented promotions that not have a translation for the current language from being added to the shopping cart. NEXT-6389 - External links are working as expected in the offcanvas menu now NEXT-6422 - The IP address whitelist for the maintenance mode was improved NEXT-6456 - Fixed that notifications do not disappear immediately after login
Important information With the final 6.1.0 release some important changes were made (see also developer changelog). Therefore, we strongly recommend that you adhere to the following procedure when updating: - Disable all plugins - Install the shopware update - Update and activate all plugins that are compatible with the new version. The Updater is only compatible with 6.0.0 EA2, 6.1.0 RC3, 6.1.0 RC4. Updates from 6.0.0 EA1 to 6.1.0 RC4 are at your own risk and are not recommended by us. The best workflow would be an update to 6.0.0 EA2 and then to 6.1.0. An update from 6.1.0 RC1 or 6.1.0 RC2 must be manually installed. If you are using plugins from the Community Store that have not yet been marked as compatible, you will not be able to activate them. If you do not want to deactivate the plugins or use individually programmed plugins, check on a separate test environment whether the plugins are compatible. NEXT-4990 - The OpenAPI api documentation is now supported in every api version. NEXT-5046 - Added error handling to the Plugin Manager NEXT-5244 - Integrated plugins can be updated without login NEXT-5320 - Fix: Variant surcahrge modal works for every content language. NEXT-5325 - When updating domains in a sales channel you can only select one of the available languages for the sales channel NEXT-5350 - Loading behavior bugfix for the product and promotion lists NEXT-5443 - Extended the popover directive to able the usage in the data grid NEXT-5513 - Extension of existing module routes now also contain the meta information NEXT-5572 - Fixed a bug where entities got removed by deleting default version. Deleting default version via `/api/v{version}/_action/version/{versionId}/{entity}/{entityId}` is now forbidden. NEXT-5577 - Fixed a recursion bug when discarding changes in category edit form NEXT-5580 - Now there is a link on a variant product back to the main product NEXT-5678 - Seo url generation has been improved, so that seo urls are now also generated for the footer categories and service menu categories. Furthermore, small bugs have been fixed, so that when changing category names the urls were not regenerated. NEXT-5722 - Removed unessecary select field in the rule builder when creating a new rule. Additionally, the empty state got revised. NEXT-5730 - Fixed a bug where Javascript execution stopped if a storefront plugin's initialization fails NEXT-5757 - The Plugin Manager now displays a pagination if more than 25 plugins are installed NEXT-5762 - You can now define how many levels should be loaded for the main navigation of a sales channel. NEXT-5781 - Added error message if LineItem was added without label NEXT-5828 - The Url for product exports is now always displayed. NEXT-5833 - Fix: Database credentials can't be leaked through error messages. NEXT-5842 - Categories that have an external link, now also refer to this link when they are included in the service menu. NEXT-5852 - Validation added to purchase steps and minimum purchase NEXT-5874 - Bugfix at the domain selection in the First Run Wizard. Fixed a permanent loading state. NEXT-5880 - Price rule with date range corrected NEXT-5889 - Rules and MailTemplates can be duplicated via the admin again. NEXT-5896 - When Elasticsearch was active, not all properties were displayed as filters. This has been fixed. NEXT-5897 - Added hint for min elasticsearch version NEXT-5900 - Fixes parameter escaping in the suggestion search NEXT-5945 - The text for mobile behaviour settings in the Shopping Experiences will now be displayed correctly. NEXT-5964 - The option for set groups in "Promotions" has been hidden behind an experimental flag. NEXT-6086 - Added a HowTo for extending the cookie consent manager to the documentation. NEXT-6146 - The deactivated placeholder for the shopping experiences page for products has been removed for the final version NEXT-6151 - Bugfix: Switch product variants not possible in Edge browser NEXT-6152 - Removes the "add order" button in the order module NEXT-6153 - Maintenance page is shown even if original request would result in an 404 error. NEXT-6190 - Es wurde ein Problem behoben, bei dem die Produktmenge im Off-Canvas Einkaufswagen immer den Wert "100" in der Mengen Select Box anzeigt. NEXT-4856 - Fix: Währungsspezifische Preise werden korrekt in der Storefront ausgegeben. NEXT-5631 - Das Löschen über den Delete-Button im Category Tree funktioniert wieder NEXT-5760 - Ein Problem beim Erstellen des internen $super-call Stacks in der production Version wurde behoben (joanna-gil) NEXT-5816 - Es wurde ein Fehler bei der Migration `Migration1571724915MultipleTrackingCodesInOrderDelivery` mit einer nicht leeren `order_delivery` Tabelle behoben. NEXT-5819 - Wir haben die Validierung beim Löschen von Kunden Adressen optimiert. Vielen dank an Krystian Kulesz [https://github.com/kryst3q] NEXT-5775 - The pathname strategies have been refactored. By default, the 'physical_filename' strategy should now be used, which is compatible with the old 'md5'. If media files are not loaded, please configure `shopware.cdn.strategy` with the value `physical_filename`. NEXT-4856 - Fix: Currency specific prices are correctly displayed in the storefront. NEXT-5631 - Deleting via the Delete button in the Category Tree works again. NEXT-5758 - Update external dependencies due to security concerns NEXT-5760 - Fixed issue on pattern match $super while building the internal super-call stack in production (joanna-gil) NEXT-5819 - We have optimized the validation when deleting customer addresses. Thanks to Krystian Kulesz [https://github.com/kryst3q] NEXT-5846 - Fix: Fixed Auto-Updater for future releases. NEXT-5855 - Fix: Fixed license list in the plugin manager. NEXT-5859 - Fixed an error in storefront search that occurred when keywords such as \0\0 were entered. NEXT-5861 - Fixed a bug for displaying translated snippets in modules NEXT-5864 - Fixed an error in document generation that occurred when an item did not have a product number. NEXT-5867 - Fixed a bug that prevented footer menus from being included. NEXT-5892 - Fixed a bug in an existing migration that caused the update to fail NEXT-4856 - Fix: Currency specific prices are correctly displayed in the storefront. NEXT-5631 - Deleting via the Delete button in the Category Tree works again. NEXT-5760 - Fixed issue on pattern match $super while building the internal super-call stack in production (joanna-gil) NEXT-5816 - Fixed migration `Migration1571724915MultipleTrackingCodesInOrderDelivery` crash with a non-empty `order_delivery` table. NEXT-5819 - We have optimized the validation when deleting customer addresses. Thanks to Krystian Kulesz [https://github.com/kryst3q] NEXT-1245 - Added CSRF protection to the storefront. NEXT-2274 - It is now possible to maintain a meta title, meta-description and keywords on product and category pages NEXT-2370 - A new cms block for forms was added. One can configure the element as follows: - Choose a form type (contact or newsletter) - Add a title - Add a confirmation text when form was successfully send - only for contact forms: choose mail receiver NEXT-2854 - Added `session` and `system` sections to `Shopware.State` NEXT-3535 - Under Settings > Basic information you can now select a shop page which will be displayed in a "404 - not found" error. Shop pages in the basic informations now have to be of the type "shop page" NEXT-3601 - The context is now a vuex state NEXT-3647 - It is now possible to add default values in the plugin configuration (tyurderi) NEXT-3686 - Now snippets are retrieved asynchronously to improve performance NEXT-3700 - Added support for theme inheritance in the theme.json file. NEXT-3962 - Changed the Context Resolving NEXT-4164 - The administration now caches the JS and CSS files and uses cache busting via last modified and filesize to invalidate the cache. NEXT-4200 - Visually update for product assignment in category module. Assigned product can be searched by name, manufacturer name and product number NEXT-4233 - Fallback to technical names for non translated fields in dynamic product groups NEXT-4290 - PathnameStrategyInterface now generates tha complete path and filename - ID is now the dafult source of randomness NEXT-4354 - A new cms block for forms was added. One can configure the element as follows: - Choose a form type (contact or newsletter) - Add a title - Add a confirmation text when form was successfully send - only for contact forms: choose mail receiver NEXT-4355 - A new cms block for forms was added. One can configure the element as follows: - Choose a form type (contact or newsletter) - Add a title - Add a confirmation text when form was successfully send - only for contact forms: choose mail receiver NEXT-4435 - The seo admin module now display a comprehensive errormessage, if no seo url preview could be generated because of missing entities. NEXT-4522 - Fixed $super in multiple inheritance NEXT-4694 - You can now assign a main category to a product. This category must be one of the assigned categories and can be used for seo url generation. NEXT-4910 - We have added the following currencies PLN, CHF, SEK, DKK and DKK NEXT-4916 - The settings entry 'Logging' got moved from Shop -> Logging to System -> Logging. NEXT-4943 - After unassigning a payment method from a sales channel, it is no longer possible to complete an order with that payment method. NEXT-4955 - A sales channel can now be set into a maintenance mode. A layout to be selected under Settings > Basic information will then be displayed. If no layout is selected, an fallback is taken. The Layouts for Imprint and Privacy Policy will be linked in the maintenance page footer NEXT-4965 - The colors and contrasts in the storefront have been optimized for better readability and an improved ranking in the Lighthouse Audit (Google Chrome Developer Tools). Missing attributes have been added for screen readers in the storefront. The flags in the language change drop-down in the storefront are displayed again. Removed different distances and heights in the search suggestions (dropdown). NEXT-4966 - A new module to manage delivery times hat been added to the administration settings. NEXT-4967 - Storefront: Add functionality to reset password for the shop customer NEXT-4977 - Added affiliate tracking. NEXT-4984 - Changed the design of the plugin recommendations. NEXT-4987 - Fixed presentation of variants in storefront if many options are configured NEXT-4997 - On status change for orders you can now send e-mails with documents attached. NEXT-4998 - UI changes NEXT-5000 - Add cross selling administration part NEXT-5001 - Add cross selling storefront implementation NEXT-5007 - The syntax in administration has been optimized for developers who want to access services and context. NEXT-5008 - The context is refactored to seperate the API context and the APP context. NEXT-5073 - A listing page can no longer be saved without product listing block. If this block is missing you can add it under the block category "Commerce". NEXT-5080 - Product variant titles now contain the properties and the product number in addition to the name. NEXT-5098 - The filter element in the storefront has now been moved in an offcanvas when the user is in an mobile viewport NEXT-5114 - Canonical urls can now be overwritten for products and categories NEXT-5146 - The generation of thumbnails works independently of the case of the file ending. NEXT-5164 - Links in the text editor may now be displayed as buttons NEXT-5174 - Added a Vimeo video cms element. NEXT-5192 - Added SEO breadcrumb in several pages NEXT-5217 - Categories hidden in the navigation are accessible over their url. NEXT-5242 - The name of the blocks and elements in the Shopping Experiences will now be displayed beneath the blocks and elements. NEXT-5256 - Redesigned form view in Shoppping Experiences. NEXT-5272 - The consume call gets restartet after a failing request NEXT-5283 - Fixed an issue where no navigation is visible in the off-canvas menu. NEXT-5309 - You can now define snippets via the administration with HTML-tags. NEXT-5333 - Fixed $super-call stack when $super is used in promise-chains NEXT-5336 - Fix: Reviews can be saved again. NEXT-5345 - The sections of the Shopping Experiences now have a sidebar with actions. Click on the section icon to activated the section and open the edit menu. The section settings now share the menu with the block settings. NEXT-5347 - Add the opportunity to install the migration-plugin in the First Run Wizard NEXT-5420 - UI changes and refacotring NEXT-5427 - The basic price now is visible in the offcanvas cart and the ajax search. Additionally the basic price on the product detail page is not completely visible if the referencePrice is not null. NEXT-5428 - Shipping costs are displayed in the OffCanvas cart. NEXT-5429 - It is now possible to remove personal data which does not necessarily has to be saved, with a command. Running "bin/console database:clean-personal-data" will remove guests without orders and / or canceled shopping carts. For each of them an argument has to be added: "guests" or "carts" and for both the option "--all". Days can be set with "--days" and a value, how old the data to remove should be. NEXT-5430 - IP addresses of customers can now be stored anonymously when logging in or placing an order. In the admin at Login / Registration this can also be changed, by default they are anonymized. NEXT-5481 - In the admin settings at Login / Registration it is now possible to activate the double opt in for guests and registrations. Double opt in registration: If this setting is active, the customer will no longer be redirected to the account overview after registration, but will receive an e-mail with a confirmation link. Only after the confirmation the account will be activated and the customer forwarded to his account overview. Double opt in guest order: If this setting is active, customers who want to complete there order as a guest, will first receive an email to confirm there email address. This email contains a confirmation link that redirects the customer to the order completion. NEXT-5505 - Added custom fields to the categories module (PheysX) NEXT-5506 - You can assign an email template to a Sales Channel when changing the state of an order. You can do this only when there is no email template assigned to this specific order state. NEXT-5509 - The mailers can now be configured in the settings as well as in the First Run Wizard. NEXT-5514 - Bootstrap variables and mixins are accessible in every storefront mode NEXT-5575 - The system default language can no longer inherit from another language. NEXT-5587 - On status change for orders you can now send e-mails with documents attached. NEXT-5593 - You can select if a state must be specified for each country. Selecting states in addresses is possible now Storefront: Customers can specify a state in their addresses NEXT-5641 - Fixed issue Deleting multiple categories works * Bugfix: product assignment card shows correct assignments in results list NEXT-5668 - Fix appearance bug in the off-canvas filter NEXT-5712 - Improved error messages in first run wizard for plugin installation NEXT-5756 - Registration works again without forcing a state (hlohaus)