Changelog – Cart Upload Pro (Product) for Shopware 6
2.5.2
- Fix: the list of uploaded files looked different on every page. On the confirmation and order completion pages the file name sat below the line item without any label — customers saw a file name with nothing telling them it was their upload. Every view now uses the same presentation as the customer account: a “Your data” heading plus a numbered list, with the file name right next to its number.
- Internal: removed leftover Fine Uploader markup from before the Uppy migration (
qq-upload-list-selector). Today's JavaScript no longer references it, and its stylesheet would have given the new list a second grey box.
2.5.1
- Internal: all file access now goes through Shopware's filesystem abstraction instead of the local disk. The scratch area for uploads in progress therefore sits in the same private directory as the finished files. Behaviour is unchanged.
2.5.0
- Security: uploaded customer files can now be stored outside the public directory and delivered only through signed, time-limited links. Previously they sat under
public/uploads/and could be retrieved by anyone who knew the path — a serious problem for ID scans, medical certificates or technical drawings. See Protecting files. - New: setting "Store uploads privately and use signed download links". On for fresh installations; left off when an existing shop updates, so nothing changes for you at first.
- New: setting "Download link lifetime in days" (default 90, 0 = unlimited). It only affects links in emails that have already been sent; links in the customer account and in the administration are generated fresh on every request and never expire.
- New: setting "Keep serving legacy public paths" (default on), so links in emails sent before the changeover keep working.
- New: uploads now carry a ready-made link (
upload.downloadUrl). Email templates no longer have to assemble the path themselves, which keeps future storage changes invisible to you. Please switch your templates to{{ upload.downloadUrl }}; the documentation shows the before and after. - New: command
bin/console futi:uploads:migrateto move existing files, with--dry-runto check first and--purge-publicas a separate second step. Deliberately not an automatic move during the update: with many uploads that would run into a timeout. - New: a notice in the plugin settings for as long as files remain in the public directory.
- Fix: since 2.3.2 the preview link of a not-yet-ordered file in the cart pointed at a path without the upload sub directory and therefore led nowhere.
- Fix: the download in the administration's uploads window led nowhere as soon as the files were stored privately.
2.4.2
- Fix: The customer account showed an upload field under "Orders" that could not work there — it received neither the configured file types nor a reference to the order, so no file could be selected. Uploading after an order has been placed is not supported in this version, so the field has been removed. The list of files uploaded with the order is unaffected.
- Fix: The single order view — the route guest customers use to reach their order via link — was missing the list of uploaded files entirely. It is now shown there just like in the order overview.
2.4.1
- Performance: the uploader's JavaScript (around 100 KB) used to be loaded on every storefront page, including pages that have no upload field at all. It is now fetched only once an upload field is actually present on the page. On the home page, listing pages and all other pages it is no longer loaded.
2.4.0
- New: uploads are now available through the Store API. Headless and PWA frontends use the same upload flow as the storefront — see Store API (Headless).
- Security: uploads are checked to make sure the declared cart belongs to the caller. Previously a caller could declare any foreign cart.
- Security: deleting is checked to make sure the file belongs to the caller's cart. Previously knowing the file id was enough to delete other customers' uploads.
- The upload logic of storefront and Store API now lives in one place so the two cannot drift apart.
2.3.2
- Fix: when customers uploaded several files sharing the same file name on the same line item, those files were stored under the same path in the cache directory. They overwrote each other and on checkout only the first file made it into the order — the remaining entries were visible in the administration but could not be downloaded. Every file now gets its own directory.
- Fix: if the uploaded file is missing, no entry is attached to the line item any more. Previously this produced an entry with a dead download link; the incident is now written to the log instead.
- Fix: an error while storing an upload can no longer abort the checkout.
2.3.1
- Fix: Loading order line items queried a non-existent "media" association, unnecessarily filling the error log with warnings (downloads and functionality were not affected)
2.3.0
- New: "Start upload automatically" setting — when enabled, a file is uploaded immediately after it is selected or dropped and the upload button is omitted, restoring the behaviour of versions up to 2.0.x. Default: off (images can only be edited before uploading when it is off).
- Fix: Orders without a payload (e.g. created via API or import) caused an error (500) in the order overview. The payload is now handled correctly.
2.2.0
- New: Admin UI for order line item uploads — view and manage uploaded files directly from the order detail page in the admin
- Fix: Webcam panel — capture button fully visible, dashboard expands when the webcam opens
- Chore: Updated store screenshots (9 DE + 9 EN, 1920×1080)
2.1.4
- Fix: Uppy now shows the correct translated text in the drop zone when the Webcam plugin is active
- Fix: Webcam import – camera video is now correctly sized and the capture button is visible again
2.1.3
- Fix: Composer dependency
ankitpokhrel/tus-phpis now automatically resolved during plugin installation
2.1.2
- Fixed all phpStan warnings from Shopware store code review
- Replaced direct filesystem calls (mkdir, unlink, rename) with Flysystem
- Replaced
Context::createDefaultContext()with injected SalesChannelContext - Optimized N+1 database queries in order overview (batched queries)
- Replaced deprecated
EqualsFilter('id')withCriteria([$id]) - Compressed plugin icon
2.1.1
- Compact Uppy Dashboard: dynamic height (grows when files are selected)
- Min/Max upload count displayed directly in the Dashboard
- Updated README with full plugin documentation
2.1.0
- Replaced Fine Uploader with Uppy + TUS — modern, professional upload widget
- TUS protocol for resumable uploads (handles large files and interruptions)
- Webcam support via
@uppy/webcam— take photos directly - Image editor via
@uppy/image-editor— crop and edit before uploading - Files are now stored per line item:
uploads/cache/{cartToken}/{lineItemId}/ - Final files moved to
uploads/final/{qquuid}/on order placement
2.0.4
- Migrated to
CartProcessorInterfacefor Shopware 6.7 compatibility - Fix: CustomFields are now correctly loaded from
translatedfields - Replaced deprecated
CartDataCollectorInterface
2.0.3
- Optimized template structure (uses
lineItem.payload.customFieldsdirectly) - Improved performance through simplified upload state detection
- UI styling for upload notice adjusted
2.0.2
- Restored compatibility with SwagCustomizedProducts plugin
- Improved LineItemEnricher for SwagCustomizedProducts template line items
2.0.1
- Product CustomFields are correctly enriched into cart line items
2.0.0
- Shopware 6.7 compatibility
- Reworked upload handling
1.5.0
- Added option for upload information on the product page
1.4.2
- Upload information in shopping cart adjusted
1.4.1
- Fixed warnings from static code analysis
1.4.0
- Optimisations for guest customers
1.3.4
- Added
TranslatorInterfaceandLoggerInterface
1.3.3
- Optimized error messages
- Fixed upload path for subdir shops
1.3.2
- Adjustments for Shopware 6.6
1.3.1
- Replaced deprecated function for
addLineItem - Info box on product page corrected
- Restored compatibility with Custom Products
1.3.0
- Admin order overview: New column with number of uploads
1.2.1
- Fixed display of uploaded data in the order overview (customer area)
1.2.0
- Plugin updated and refactored with Rector for Shopware 6.5
1.1.4
- Added setting for adding identical products with different uploads
1.1.3
The listing of uploaded data has been added below the product name in the order overview.
The following snippet has been added for the title above the listing: futi-cu.account-order-item-detail-title
.png&w=3840&q=75)
1.0.6
Situation
There was a problem with special file types and the media management in Shopware. Prior to version 1.0.6, all uploaded data was copied into Shopware's media management. This media management is restricted by its own definition of allowed file types. As a result, completing an order with disallowed file types threw an error and the order could not be placed.
Solution
Copying uploads to the media management upon order completion has been removed. Uploads are now moved within the system from the cache folder to the final folder. The data for an order can still be viewed and downloaded in the admin under the order details.
If you want to delete old data, this must be done via FTP. Navigate to public/uploads/final.
The allowed file types can now again be defined as usual in the plugin settings.
Was this page helpful?
Support
Rented Plugins (Shopware Store)
For support with plugins rented from the Shopware Store, please open a support ticket in your Shopware account.
Create Shopware Ticket