PrestaShop
Open source e-commerce platform for building an online store
Alternative to: shopify, woocommerce, bigcommerce, magento
About
Versions (105)
9.2.0-rc.1
2026-09-21Full Changelog
Click here to see
- Back Office:
- New feature:
- #42022: Improve the carrier domain and the Admin API for the new carrier endpoints (by @nicosomb)
- Improvement:
- #42350: Index new CMS pages by default (by @Hlavtox)
- #41942: Add shared stock help message to combination availability form (by @Codencode)
- #41932: Paginate the orders grid by id first to avoid a full-table sort (by @boo-code)
- #41703: Tax rules list apiAdd tax rules list API support to TaxRule grid query builder (by @nicosomb)
- #41409: Add multistore support to administration and product settings configuration forms (by @Codencode)
- Bug fix:
- #42768: Fix the theme selector in the Translations page (by @tblivet)
- #42600: Fix supplier ID type in SetSuppliersCommand (by @Codencode)
- #42475: Fix product ID type in product grid decorator (by @Codencode)
- #42411: Fix the Shipment domain defects that do not depend on the Admin API (by @mattgoud)
- #42400: Fix Carts page performance regression on connections query (by @Codencode)
- #42374: Order confirmation email ignores the order state’s “Attach invoice PDF to email” setting (by @aomaxime)
- #42245: Fix tax rule groups grid duplicates in multistore context (by @Codencode)
- #42241: Offer the default route for every language in the SEO and URLs form (by @boo-code)
- #42203: Let a grid status menu show past the scrolling table (by @boo-code)
- #42197: Let the SMTP transport choose implicit TLS by port so 587 works (by @boo-code)
- #42057: Fix changing an employee role when the default page is specific to the new role (by @boo-code)
- #42032: Display the employee who created a back-office order in the Messages block (by @PrestaEdit)
- #42004: Fix UTF-8 string truncation in StringModifier::cutEnd() (by @Codencode)
- #42001: Guard order message name-uniqueness check on partial edit (backport 9.1.x) (by @mattgoud)
- #41950: Show an empty order status dropdown when the order has no status (by @boo-code)
- #41948: Fix manual order discount bug (by @tleon)
- #41944: Connect
GET /discount-typesto the BO (by @nicosomb) - #41929: Fix catalog price rule links when feature flag is enabled (by @Codencode)
- #41919: Fix: Problem with manual special price setting with comma becoming dot (product page) (by @Codencode)
- #41871: Use the small_default thumbnail for product/combination cover URLs (by @boo-code)
- #41797: Fix: Color preview is still displayed after changing an attribute group from color to another type (by @Codencode)
- #41665: Display invoice prefix in employee language on order view page (by @PrestaEdit)
- #41652: Fix: Changing an order’s status throws “Duplicate entry ‘
- -0-0’ for product_sqlstock” when the order contains a deleted combination (single-shop) (by @Codencode) - #41468: Fix: Multishop: cache_default_attribute is not reset for all shops when changing a product with combinations to a standard product (by @Codencode)
- #41238: Fix: Inconsistent escaping of displayCustomization output (by @Codencode)
- Refactoring:
- #42284: Do not block working with order if it’s shipped (by @Hlavtox)
- New feature:
- Front Office:
- New feature:
- #41977: Add thumbnail fitment functionality (by @Hlavtox)
- #41824: Add hook actionNotFound (by @Hlavtox)
- Improvement:
- #42571: Improve structured data by adding product features and shop contact info (by @Hlavtox)
- #42058: Set stable version of Hummingbird in composer.json (by @Quetzacoalt91)
- #40977: Add prices in all variants to make displaying them easier in templates (by @Hlavtox)
- Bug fix:
- #42725: Preserve pagination in product listing hreflang URLs (by @Hlavtox)
- #42439: Fix PHP 8.5 null array offset deprecations (by @Codencode)
- #42396: Fix #42395: Prevent template variables from being overwritten (by @Codencode)
- #42189: Give the not found and checkout pages a breadcrumb entry of their own (by @boo-code)
- #42143: Fix delivery option cache for changed delivery addresses (by @Codencode)
- #42114: Backport #40575 to 9.2.x (by @Codencode)
- #42000: Fix ProductController::getProduct() nullable return type (by @Codencode)
- #41928: Use constant-time comparison for order secure_key checks (by @nabhan06)
- #40929: Update geoip2/geoip2 to fix deprecation warnings on PHP 8+ (by @Hlavtox)
- Refactoring:
- #42016: Finalize structured data (not found products etc.) (by @Hlavtox)
- #41845: Add simple HTML to text stripper, refactor getting meta (by @Hlavtox)
- #41699: Distinguish missing images of manufacturers and categories (by @Hlavtox)
- New feature:
- Core:
- New feature:
- #41405: Add multilanguage routes for entities (by @Hlavtox)
- Improvement:
- #42826: Updated native modules (by @nicosomb)
- #42787: Carry extra property constraints as their DSL string on the CQRS boundary (by @jolelievre)
- #42726: Extra Property: store constraints as their DSL, dropping PHP serialization (by @Jeremie-Kiwik)
- #42538: Handle non-conventional entity naming, default value typing and the cart entity in extra properties (by @jolelievre)
- #42490: Allow restricting extra property definitions to a list of shops (by @jolelievre)
- #42478: Update Symfony components after 6.4.45 release (by @nicosomb)
- #42428: Update Symfony components after 6.4.44 release (by @nicosomb)
- #42421: Handle multishop across the Extra Properties feature (by @jolelievre)
- #42375: Add language ID to actionMailAlterMessageBeforeSend hook (by @Hlavtox)
- #42239: Update Symfony components after 6.4.43 release (by @nicosomb)
- #42145: Add version compatibility filtering for Admin API endpoints (by @jolelievre)
- #42071: Decouple EmployeePasswordResetter from the admin router (by @PrestaEdit)
- #41832: Cover getCustomerCartRules using the passed cart for product restrictions (by @boo-code)
- #41803: Guard stock movement when the context employee has no id (by @PrestaEdit)
- Bug fix:
- #42822: Take the extra property logger through the core “logger” id instead of Psr\Log\LoggerInterface (by @jolelievre)
- #42728: Prevent empty query strings in product URLs (by @Hlavtox)
- #42353: Throw EmployeeNotFoundException when password reset email is unknown (by @jolelievre)
- #42123: Fix Pack::getQuantity ignoring ‘Decrement pack only’ stock type (by @samilmarekrygula)
- #42115: Make extra property registration atomic and report failure reasons (by @jolelievre)
- #42024: Removed feature flag “state” (by @Progi1984)
- #41840: Keep word separation when stripping HTML for the search index (by @boo-code)
- #41447: Fix deprecated in LanguageList.php (by @jf-viguier)
- #41364: Fix
customerIdalways returningnullin Cart API responses (by @axel-paillaud) - #40925: Fix precision of cart calculator (by @Hlavtox)
- Refactoring:
- #41713: Fix unit price ratio currency conversion and specific price issue (by @Hlavtox)
- New feature:
- Installer:
- Improvement:
- #42829: Update default catalog build-920-rc1 (by @ps-jarvis)
- Improvement:
- Web Services:
- Improvement:
- #42011: Wrap plain list query results under _queryResult for non-collection operations (by @mattgoud)
- Bug fix:
- #41733: Improve management of forms in multipart when using Swagger API (by @Quetzacoalt91)
- Improvement:
- Tests:
- Improvement:
- #42269: API Theme : Use scalar rather VO (wo BC Breaks) (by @Progi1984)
- #42266: API WS : Fix WebserviceKey::add()/delete() PHP warning when no employee is in context (by @Progi1984)
- #42204: Functional Tests : Fixed some todos (by @Progi1984)
- #42134: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- #42090: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- #42070: Functional Tests : API : GET /search-engines (by @Progi1984)
- #42066: Functional Tests : API : GET /features (by @Progi1984)
- #42043: Functional Tests : API : GET /contacts (by @Progi1984)
- #42033: Add integration tests for ModuleHtmlAuthorizationChecker (by @Codencode)
- #41987: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
- Bug fix:
- #42786: Make module version checks in UI tests resilient to module releases (by @jolelievre)
- #42112: Functional Tests : Fixed endpoints (by @Progi1984)
- #42031: Fix CI matrix generator crashing on backticks in PR description (by @boo-code)
- #41982: Pin maildev image to 2.2.1 in behaviour tests workflow (by @nicosomb)
- Refactoring:
- #41550: Functional tests - Add tests of Api address (by @nesrineabdmouleh)
- Improvement: