PrestaShop 9.1.2 is now available. This is the first regular maintenance release for the 9.1 branch, focused entirely on bug fixes, stability improvements, and dependency updates. After the security-only 9.1.1 release at the end of April, this version consolidates several weeks of community-driven fixes into one update.

PrestaShop 9.1.2 is available!

A maintenance release driven by community contributors

PrestaShop 9.1.2 is the result of more than fifty merged pull requests from over twenty contributors. Most of them are bug fixes addressing real-world issues reported by merchants and developers since 9.1.0 shipped. There are no new features to learn and no breaking changes to worry about, which makes this release a safe and recommended update for everyone running the 9.1 branch.

A wave of significant bug fixes

The bulk of this release is dedicated to bug fixes, with particularly strong coverage in the back office.

Multishop and catalog management received a lot of attention, with fixes for creating attributes in the “All shops” context, the logo update only applying to shop ID 1, features with the same name being shown only once when assigning values to products, and actionCarrierUpdate not being triggered on the migrated carrier page.

Order management got several important fixes: deleting an order product when the catalog product has been removed now works, an exception is thrown on order detail insert failure during cart-to-order conversion instead of failing silently, and the free gift button on cart rules behaves correctly again.

Customer-facing flows received a key fix that prevents existing customers from being overwritten during a CSV import, a long-standing source of data loss reports. The fuzzy search SQL bug with apostrophes, the product details being overridden when changing attribute in the quickview modal, and the fatal error in hookActionCartSave when switching language are also resolved.

Themes, translations, and emails are not forgotten: theme imports from a URL no longer throw PHP warnings on invalid URLs, child theme translations are now correctly loaded by the back office translation API, email HTML previews for module emails render properly, and test emails work with IDN domains.

Under the hood, Symfony components have been bumped three times to follow the 6.4.x patch releases, the prestashop/dashgoals package was bumped to v2.0.5, and a new --skip-overrides option is available on the prestashop:module CLI command for developers who need it.

Top contributors to this release

This release would not have been possible without our most active community contributors. A special thank you to the following developers, whose work shaped the bulk of 9.1.2: @Codencode tackled an impressive number of multishop and back office issues, @Progi1984 kept the functional test suite healthy and shepherded the version bumps, @mattgoud fixed a series of high-impact issues in the back office and quickview, @boherm addressed several email and admin API edge cases, @jolelievre handled core dependencies and value object refactoring, and @Hlavtox contributed both improvements and refactoring across the back office and front office.

We are also happy to welcome three new contributors to the PrestaShop core: @axel-paillaud (Axel Paillaud), @mehdiboissat-bron, and @metineren (Metin EREN). Their first contributions are part of this release. Thank you and welcome!

Download PrestaShop 9.1.2

You can download the Classic version from the official PrestaShop website. This version includes the PrestaShop SA modules, such as PrestaShop Checkout, PrestaShop Account, PrestaShop Marketplace in the back office, PrestaShop CloudSync, PrestaShop Shipping, PrestaShop Marketing, and PrestaShop Socials.

Download PrestaShop 9.1.2 now!


Creating a custom ZIP ℹ️

If you don’t want to use the Classic version, you can build your custom ZIP file with the PrestaShop 9.1.2 installer, which doesn’t include any PrestaShop SA modules. You can read the instructions on how to do it in the PrestaShop Release Creation Tool readme.

Update to PrestaShop 9.1.2

We strongly encourage you to update your shop to PrestaShop 9.1.2 to benefit from the many bug fixes and stability improvements included in this release. Before updating, ensure you create a full backup of your shop to safeguard your data.

Updating to the latest version of PrestaShop 9.1.x is straightforward with the Update Assistant. This tool streamlines the update process, ensuring your shop remains current with minimal effort.

If you encounter any problems during the update that, in your opinion, are not caused by third-party modules or modifications used in your shop, submit a bug report.

Full changelog

  • Back Office:
    • Improvement:
      • #40912: Handle no value objects, like NoStateId, NoCombinationId in ValueObje… (by @jolelievre)
      • #40859: Fix: in the customer form from admin side, it is missing the newsletter option as Partner Offers (by @Codencode)
      • #40636: Always execute non display hooks in backoffice (by @Hlavtox)
    • Bug fix:
      • #41334: Fix theme import from web throwing PHP warnings on invalid URLs (by @mattgoud)
      • #41327: Throw exception on order detail insert failure during conversion (by @nicosomb)
      • #41320: Fix unable to delete order product when catalog product is deleted (by @mattgoud)
      • #41193: Fix child theme translation loading in BO translation API (by @Codencode)
      • #41100: Fix email HTML previews for module emails (by @axel-paillaud)
      • #41018: Fix #33921 - Add specific error message when embedded HTML is blocked (by @mattgoud)
      • #40975: Fix sidebar blanking on RTL (by @cnavarro-prestashop)
      • #40971: Fix pass shop group ID when setting context in LogoUploader (by @mehdiboissat-bron)
      • #40964: Use sticky positioning for module selection panel in Positions page (by @intraordinaire)
      • #40866: Fixed bug for free gift button on cart rules (by @Touxten)
      • #40829: Fix validate medium pass (by @tleon)
      • #40745: Allow category tree selector to open when no default category (by @Kaikina)
      • #40736: Fix: Error when creating an attribute for a group in “All shops” context with multiple shops (by @Codencode)
      • #40706: Fix: Features with the same name are shown only once when creating values and assigning to products (by @Codencode)
      • #40693: Fix: [BO][Multishop] Design > Theme & Logo: when updating the logo in the “All shops” context, only shop ID 1 gets updated (by @Codencode)
      • #40070: Fix: actionCarrierUpdate not triggered on migrated carrier page (by @Codencode)
      • #40015: Fix: BO - Import for Customers will overwrite the already existing customers (by @Codencode)
  • Front Office:
    • Improvement:
    • Bug fix:
      • #41319: Fix product details overridden when changing attribute in quickview modal (by @mattgoud)
      • #41316: Fix wrong state saved when country is changed quickly before AJAX completes (by @mattgoud)
      • #40853: Fix fuzzy search SQL when closest word contains apostrophe (#40847) (by @Codencode)
      • #40795: Fix: Fatal error in hookActionCartSave when switching language and calling Product::getPriceStatic() or Cart::getProducts() (by @Codencode)
    • Refactoring:
  • Core:
  • Installer:
  • Localization:
    • Improvement:
  • Tests:

Acknowledgments

A huge thank you to everyone who contributed to this release! Your dedication helps make PrestaShop stronger, more secure, and better for everyone. We truly appreciate your time and expertise.

Want to join the movement? Start contributing today and help shape the future of open source e-commerce!