| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-12 | 2.5 kB | |
| v2.3.19 source code.tar.gz | 2026-05-12 | 34.3 MB | |
| v2.3.19 source code.zip | 2026-05-12 | 36.0 MB | |
| Totals: 3 Items | 70.3 MB | 1 | |
:bug: Bug Fixings
-
[#10422] - Fixed channel Home Page SEO (and other translatable channel fields: name, description, maintenance mode text) only saving for the admin's UI locale. The channel edit page was missing the locale-switcher dropdown that every other translatable resource (categories, products, CMS pages) uses, so admins had no way to change the per-locale binding away from English. Added the standard locale-switcher dropdown listing every system locale; switching reloads with
?locale=<code>and the form binds, validates, and saves only that locale's translation row. Admins can pre-fill SEO for any system locale, including locales not yet attached to the channel — translations are stored against the locale code regardless of channel-locale attachment. -
[#10490] - Fixed product images not being updated when re-importing a CSV with the same SKUs but new image filenames. The Product importer used to skip image processing entirely for already-existing SKUs, so updates were silently ignored. The importer now treats the CSV
imagescolumn as the source of truth on every run: existing image rows and stored files for the affected products are removed before the new images from the CSV are inserted. -
[#11294] - Fixed a refund-time crash ("Trying to access array offset on value of type null") on orders placed via the PayPal Smart Button. A race condition in the checkout UI left the regular Place Order button briefly visible while the cart's payment method was being switched to
paypal_smart_button; clicking it created an order with the PayPal method but no captured PayPalorderID, so the later refund hit a nulladditionalpayload. The selected payment method is now tracked client-side immediately on radio change (via a newpayment-method-selectedevent) so the Smart Button replaces the Place Order button without waiting for the cart round-trip, the standardstoreOrderendpoint now rejects carts whose payment method ispaypal_smart_button, and the refund listener no-ops the PayPal API call when the capturedorderIDis missing so the local refund record still succeeds. -
[#11242] - Fixed an exception ("Attempt to read property
addresseson null") when an admin attempted to reorder an order whose customer had since been deleted. The admin reorder action now checks for a missing customer and redirects back to the order view with a clear flash message instead of letting the null reach the create-order page.