Release notes Shopware 6.6.1.0
Abstract
This minor release comes with a lot of improvements, such as staging mode, a new HTML element in CMS, media cleanup as well as S3 speed improvements. Additionally, ~80 bugs were fixed.
System requirements
- tested on PHP 8.2 and 8.3
- tested on MySQL 8 and MariaDB 10.11
Improvements
Staging Mode
We added a staging mode to Shopware, which helps you to mark an instance as a staging environment. This is useful for development and testing purposes. It allows to change the sales channel domain url, shows a banner in the Administration or Storefront and much more. For more information, check out the docs for staging mode.
HTML code element
The HTML code element is a new element in Shopping Experiences. This element allows you to add custom HTML code to Shopping Experience without conflicting with the HTML sanitization.
Improved Elasticsearch/Opensearch logging
We changed the log_level to error
for Elasticsearch/Opensearch logging. This will reduce the amount of log entries in the log file in production mode.
HTML sanitization optimization
The mail header and footer are not sanitized anymore. This allows you now to use any HTML tags in the mail header and footer.
The HTML sanitization now also supports all HTML5 tags and attributes.
user:list command
We added a new command user:list
to the CLI. This command lists all users in the system. This command have also a --json
flag to interact with external tools like jq.
Deprecation of dal:create:schema
The command dal:create:schema
is deprecated and will be removed in the next major release. Please use as replacement the dal:migration:create
command, this diffes your DAL schema to the current database and creates a migration file.
Various OpenAPI schema improvements
We improved the OpenAPI schema in various places. We added missing properties, fixed wrong types and added missing descriptions.
MediaService cleanups now the temporary created files
The MediaService now cleans up the temporary created files after the media has been processed.
Store-api route to fetch media elements
Sometimes in custom fields or other fields are the media id stored, But you need in the Storefront the media url. We added a new route to fetch the media elements by media id.
POST /store-api/media
Accept: application/json
sw-access-key: YOUR_ACCESS_KEY
Content-Type: application/json
{
"ids" : [
"018d8922df51736c98bec29c2d1f813f",
"018d8923a32879cfadf561fb02c479e0"
]
}
HMAC based JWT
Using private/public keys (asymmetric encryption) for JWT is now deprecated and will be removed with the next major release. Replacement for this is the HMAC based JWT, this allows us to use the existing APP_SECRET
environment file and get rid of config/jwt
folder. This makes hosting Shopware in a containerized environment a lot easier, as you don't need to mount the config/jwt
folder anymore.
Improved search on Product search in the administration
The search in the product listing in the administration is not considereing anymore category names and tag names attached to the products. This improves the search performance with MySQL a lot.
Context::createDefaultContext is now internal
The method Context::createDefaultContext
is now marked internal. With this decision we want to prevent that developers for wrong usage. In HTTP requests the context is created automatically and attached to the Request object. The only place where the Context is unknown is the console
context. In this case you should use the Context::createCLIContext
method.
Spotlight Elements will replace Swagger UI
We deprecated the Swagger UI (/api/_info/swagger.html
) and will replace it with the Spotlight Elements. The Spotlight Elements are a more modern and user-friendly way to interact with the API. The Spotlight Elements are available under /api/_info/swagger.html
. This solves also the problem that the payload can't be shown in the Swagger UI.
Improved s3 copy-speed
We improved the CopyBatch plugin to copy multiple files asynchronously. This improves the speed of the s3 copy operation a lot. This benefits bin/console theme:compile
or bin/console assets:install
Before
Command | Local | AWS S3 | Cloudflare R2 |
---|---|---|---|
theme:compile | 1.09s | 24.72s | 91.30s |
asset:install --force* | 1.09s | 192.05s | 892.11s |
After
Command | Local | AWS S3 | Cloudflare R2 |
---|---|---|---|
theme:compile | 1.09s | 6.5s | 17.91s |
asset:install --force* | 1.09s | 41.12s | 141.38 |
- the
asset:install
command uses a manifest file to only upload the changed files to the s3 bucket. The--force
flag disables this feature and uploads all files, to have a better comparison.
- the
Fixed bugs
- NEXT-17867 | Strrev does not support utf8 properly (23 votes)
- NEXT-28620 | Delete Payment methods (17 votes)
- NEXT-33431 | Async component factory breaks on second call to function that extends parent method (16 votes)
- NEXT-32133 | Order: Can not change order status (11 votes)
- NEXT-21544 | Order status cannot be exported (10 votes)
- NEXT-31030 | Shopware Commercial throws error when password recovery detects inactive user (9 votes)
- NEXT-32942 | Email Header/Footer wird nicht angehängt (8 votes)
- NEXT-24683 | Image slider breaks when deleting media files (8 votes)
- NEXT-31749 | Losing page content in the administration when switching from a selected category to a landing page (6 votes)
- NEXT-30360 | order_count/orders_per_customer_count wrong for promotions with individual codes (6 votes)
- NEXT-32365 | "Discount promotions" field greyed out for non-admin users despite rights to orders (5 votes)
- NEXT-31922 | Order details shipping and billing address select does not work correctly (5 votes)
- NEXT-31729 | Conversion of the volume in the Rule Builder is not accurate (5 votes)
- NEXT-34027 | Indexing results in an exception, when a inherting language is used (4 votes)
- NEXT-33913 | Wording Issue in the Flow Builder (German only) (4 votes)
- NEXT-33867 | sw-settings-loggin-list calls this.$options.components (4 votes)
- NEXT-29093 | "label" attribute inheritance of theme variables does not work anymore (4 votes)
- NEXT-34312 | Aktive commecial plugin: Error messages on Checkout Confirm page are not displayed (3 votes)
- NEXT-34068 | The "Send email" action is missing in Flow Builder Delayed Actions (3 votes)
- NEXT-33503 | Video cms element loaded when saving cookie settings - even if the video cookie was not accepted (3 votes)
- NEXT-33146 | No full screen on YouTube Player (3 votes)
- NEXT-32770 | Discount calculation in existing order - Rabattkalkulation in bestehender Bestellung (3 votes)
- NEXT-33028 | Store API change default address route not allowed for guest users (2 votes)
- NEXT-32989 | HTML entities in the SEO fields (2 votes)
- NEXT-32254 | Manuelle aktivierung der Benutzer nicht möglich. (2 votes)
- NEXT-30892 | Custom Fields for Media: View of the custom field content in the Admin not updating correctly (2 votes)
- NEXT-30769 | Preview Mode Rule Builder wrong results (2 votes)
- NEXT-34155 | custom/plugins path hardcoded in TestBootstrapper.php (1 votes)
- NEXT-33484 | Displaying the order overview in the backend makes shop unavailable (because of promotion code filter) (1 votes)
- NEXT-33359 | Incorrect label in the selection field for the e-mail template when sending a document (1 votes)
- NEXT-32920 | first- and lastname fields in the newsletter subscription form no required fields (1 votes)
- NEXT-28908 | Chrome memory and display bug in 6.4.20.2 (1 votes)
- NEXT-28055 | Ace editor only accepts new value on blur (1 votes)
- NEXT-34665 | Disable PHPBench (0 votes)
- NEXT-34654 | [Github] chore: Add sales channel context getter to CustomerDoubleOptInRegistrationEvent (0 votes)
- NEXT-34653 | [Github] NEXT-0000 - Check invalid rules with DAL before fetching (0 votes)
- NEXT-34650 | [Github] NEXT-00000 - Add options argument to recalculate order (0 votes)
- NEXT-34649 | [Github] NEXT-00000 - Add customer data to CustomerDeletedEvent (0 votes)
- NEXT-34616 | [Github] Add sanitize field name for cms text (0 votes)
- NEXT-34525 | [Github] NEXT-00000 - Support webpack config ts (0 votes)
- NEXT-34503 | [Github] Add column assigned pages to CMS list (0 votes)
- NEXT-34491 | [Github] NEXT-14691 - Add pseudo modal twig blocks (0 votes)
- NEXT-34478 | No cache force for snippets. (0 votes)
- NEXT-34455 | Filtering order with non default languages throws a JS error (0 votes)
- NEXT-34435 | Fixed Playwright documentation link (0 votes)
- NEXT-34415 | [Github] refactor: Product card action template (0 votes)
- NEXT-34411 | [Github] NEXT-29093 - Fix theme config label inheritance (0 votes)
- NEXT-34410 | [Github] fix: Allow Twig array filters to accept null (0 votes)
- NEXT-34399 | [Github] NEXT-0000 - Update action.html.twig to include css class for detail button (0 votes)
- NEXT-34381 | media components needs to refresh when replacing an image (0 votes)
- NEXT-34361 | ThemeCompiler cannot be decorated in async CompileThemeHandler (0 votes)
- NEXT-34330 | Fix core monolog config for console (0 votes)
- NEXT-34303 | [Github] Replace MySQL with DAL implementation in document upload flow (0 votes)
- NEXT-34265 | DecoratedLoginRoute in Employee Management ignores other LoginRoute decorators (0 votes)
- NEXT-34225 | [Github] Add product video functionality (0 votes)
- NEXT-34216 | [Github] NEXT-00000 - Change order list filter entity from customer to order (0 votes)
- NEXT-34070 | [Github] NEXT-00000 - Improve seo url replacer (0 votes)
- NEXT-34030 | Exact match product number search in ES fails (0 votes)
- NEXT-33997 | Invalid icon names in adminsitration template (0 votes)
- NEXT-33922 | [Github] NEXT-33918 - Remove unnecessary param (0 votes)
- NEXT-33900 | Employee invitation is not compatible with headless sales channels (0 votes)
- NEXT-33833 | [Github] NEXT-00000 - Append slash to sitemap home url (0 votes)
- NEXT-33741 | [Github] NEXT-00000 - Improve product page load performance (0 votes)
- NEXT-33739 | [Github] NEXT-00000 - Improve profiler repository tracer (0 votes)
- NEXT-33542 | [Github] Fix links to ADR docs in UPGRADE-6.5.md (0 votes)
- NEXT-33541 | [Github] NEXT-00000 - Fix cloning of structs with enums (0 votes)
- NEXT-33502 | [Github] fix: Make EntityCollection a covariant type (0 votes)
- NEXT-33501 | [Github] chore: correct successor of BeforeDeleteEvent (0 votes)
- NEXT-33433 | [Github] fix: Array shape of the
ErrorCollection
(0 votes) - NEXT-33405 | [Github] NEXT-00000 - Improve searchIds (performance) & createDefaultContext calls (0 votes)
- NEXT-33326 | Use Datatype AbstractTranslator (0 votes)
- NEXT-33311 | [Github] NEXT-0000 - add intra community delivery label check to InvoiceRenderer (0 votes)
- NEXT-33292 | The search function doesn't work with dots in the search term (0 votes)
- NEXT-32957 | [Github] Update dir to delete (0 votes)
- NEXT-30706 | [GitHub] Use new twig template name for each unique template to remove statefulness (0 votes)
- NEXT-23571 | Deleting value exclusions breaks variant generation (0 votes)
- NEXT-34688 | [Github] Add fetchpriority attribute for cover image on product detail page (0 votes)
Credits
Thanks to all our contributors for helping us improve Shopware with every pull request!
- Joshua Behrens
- Jan Emig
- Alexander Pankow
- Benny Poensgen
- Rafael Kraut
- Max
- Marcus Müller
- Cedric Engler
- Benjamin Wittwer
- Felix Schneider
- Elias Lackner
- Matheus Gontijo
- Wanne Van Camp
- Jasper Peeters
- Communicode AG / Andreas Greif
- Stefan Poensgen
- Alexander Menk
- Cuong Huynh
More resources
- Detailed diff on Github to the former version
- Changelog on GitHub for this version.
- Release News on corporate blog
- Installation overview
- Update from a previous installation
Get in touch
Discuss about decisions, bugs you might stumble upon, etc in our community slack. See you there 😉