PrestaShop 9.1 is now available for download. The headline of this release is Hummingbird 2.0, which becomes the default front office theme, delivering a modern, accessible, and high-performance storefront out of the box. This version also introduces two experimental features (multi-carrier shipping and a redesigned discount system), along with dozens of improvements and bug fixes.

PrestaShop 9.1 is available!


Download & upgrade instructions

Hummingbird 2.0: the new default theme

The biggest change in PrestaShop 9.1 is that Hummingbird 2.0 is now the default front office theme. After months of development and community feedback since the beta, Hummingbird replaces Classic as the theme every new PrestaShop 9.1 installation ships with.

Hummingbird 2.0

Built for accessibility

With the European Accessibility Act (EAA) taking effect in June 2025, accessibility is no longer optional for online stores in the EU. Hummingbird 2.0 achieves over 95% compliance with the EAA requirements, giving merchants a strong head start toward meeting their obligations. Semantic HTML, proper ARIA attributes, keyboard navigation, and sufficient color contrast are built into the theme from the ground up.

Modern architecture for developers

Hummingbird 2.0 is a complete rebuild, not an incremental update to Classic. It brings:

  • Bootstrap 5 with LTS support for modern, consistent design components.
  • BEM-based CSS naming for easier maintenance and clearer structure.
  • SCSS architecture based on CSS @layer, enabling modular and scalable styling.
  • A reorganized directory structure that moves away from the legacy _dev layout.
  • Reduced third-party dependencies, favoring Bootstrap’s built-in components.
  • Clear separation between Bootstrap and PrestaShop-specific styles, simplifying custom overrides.
  • Native support for Bootstrap dark mode, which can be enabled via an SCSS variable.

Hummingbird 2.0 SCSS architecture

Architecture deep dive Release notes Discussions & feedback


Experimental features

PrestaShop 9.1 also ships with two experimental features, available behind feature flags. These features are still maturing and should be tested in non-production environments. Your feedback will help us refine them before they become the default in a future version.

What is a feature flag?

Feature flags let you enable experimental capabilities at your own pace. You can find them under Advanced Parameters > New & Experimental Features in your back office.

Multi-carrier / Multi-shipping

PrestaShop 9.1 introduces shipment-based order management, giving merchants the ability to split and merge shipments within a single order. This removes the long-standing “1 order = 1 carrier” limitation and improves clarity for both merchants and customers.

Multi-carrier shipping

Watch the demo Read the article

Improved Discounts

The discount system has been redesigned around four types: Catalog, Cart, Free Shipping, and Free Gift. This replaces the legacy cart rules with a clearer and more performant structure.

Improved discount types

Watch the demo Read the article


Other notable improvements

Beyond the highlights above, PrestaShop 9.1 includes a large number of improvements across the platform.

New CLI commands

Three new console commands make it easier to manage your shop from the command line:

  • prestashop:thumbnails:regenerate to regenerate image thumbnails without going through the back office (#39478 by @iNem0o).
  • prestashop:search:index to trigger search indexation from the CLI (#39403 by @iNem0o).
  • prestashop:module:export-translations to export module translations into files (#39405 by @kpodemski).

PHP 8.5 support

PrestaShop 9.1 now supports PHP 8.1 through PHP 8.5, keeping the platform aligned with the latest PHP releases (#39211).

New hooks for module developers

Several new hooks give module developers more control over key moments in PrestaShop’s lifecycle:

  • actionUpdateDefaultCombinationAfter for reacting to default combination changes (#40720 by @Codencode).
  • Hooks on module enable, disable, and upgrade events (#38839 by @studiokiwik).
  • Hook on Configuration::updateValue to react to configuration changes (#38956 by @studiokiwik).
  • Hooks to control free shipping price calculations (#40730 by @Hlavtox).

Tags page migrated to Symfony

The Tags management page has been fully migrated to Symfony, including the grid, filters, create/edit forms, and bulk actions (#39516, #39649, #39977 by @Progi1984).

Performance and security

  • Significant cart performance improvement when a shop has many product combinations (#32058 by @MattKelvin).
  • Ajax controllers are now noindexed to prevent search engines from crawling internal endpoints (#38785 by @PululuK).
  • Two security vulnerabilities patched with the help of @clotairer from 202 ecommerce: stored XSS in back-office templates and improper use of validation framework (see PrestaShop 8.2.5 release for details).

Back office UX

Front office

  • Special characters are now allowed in search queries (#39433 by @MattKelvin).
  • Improved quantity input, add-to-cart button, and availability label behavior (#40538 by @Hlavtox).
  • Proper delivery time display across the store (#40673 by @Hlavtox).

Bug fixes

This release includes more than 50 bug fixes that improve stability and reliability across the platform. See the full changelog below for details.

Adapt your solutions to PrestaShop 9.1

If you develop modules, themes, or custom integrations for PrestaShop, we recommend reviewing the notable changes introduced in this version. The documentation covers breaking changes, deprecated components, and updated best practices that may affect your solutions.

Review notable changes in PrestaShop 9.1

Changelog

v9.1.0
  • Back Office:
    • Improvement:
    • Bug fix:
      • #40888: Add ShopContext and LanguageContext to FeatureAttributeRepository
      • #40923: Dynamize docker names when using docker exec in CI
v9.1.0 RC1 (click to expand)
v9.1.0 Beta 1 (click to expand)

Download PrestaShop 9.1

Download the Classic version, which includes the PrestaShop core along with additional modules from PrestaShop SA compatible with this version, and integration with the PrestaShop Marketplace.

Download PrestaShop 9.1 now!


Creating a custom ZIP

If you prefer not to use the Classic version, you can build a custom ZIP file with the PrestaShop Release Creation tool:

  1. Clone the repository and check out the 9.1.0 tag:
    git clone [email protected]:PrestaShop/PrestaShop.git && cd PrestaShop && git checkout 9.1.0
    
  2. Run composer create-release or php tools/build/CreateRelease.php in the root of the repository.
  3. The ZIP file will be generated in the tools/build/releases/ directory.

Requirements for PrestaShop 9.1

  • PHP 8.1 (up to PHP 8.5 is supported)
  • Composer 2
  • Node.js 20 and NPM 10

Please check all system requirements in the documentation.

Update to PrestaShop 9.1

If you are running PrestaShop 9.0.x, you will be able to update to 9.1 using the Update Assistant module. A compatible version of the Update Assistant is being finalized and will be available in the coming days. We will update this article once it is ready.

As with any update, we strongly recommend:

  1. Back up your shop (files and database) before starting.
  2. Test the update in a staging environment before applying it to your production shop.
  3. Review your modules and themes for compatibility with 9.1.

Important

If you were testing a pre-release version (Beta or RC1), you cannot upgrade from it to the final release using the Update Assistant. Please use a fresh installation instead.

Acknowledgments

PrestaShop 9.1 is the result of contributions from both the PrestaShop team and the open source community.

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!

What’s next?

Work on the next version of PrestaShop is already underway. Stay tuned to the build blog and follow the project on GitHub to keep up with the latest developments.

We encourage you to share your feedback on PrestaShop 9.1 in the dedicated discussion thread or on Slack.