PrestaShop 9.1 is available, officially released on March 23, 2026. This is the first minor version of the 9.x branch and introduces significant changes at multiple levels: from the front office to order management, from discount logic to the technical infrastructure for developers. As always when it comes to platform updates, the real value lies not so much in the version number but in the substance of the changes: in this case, there are quite a few.

Hummingbird 2.0: the new default theme

The most visible - and most anticipated - novelty is that Hummingbird 2.0 becomes the default front office theme installed on every new installation of PrestaShop 9.1, definitively replacing the classic Classic theme. This is not an incremental update of the previous one, but a complete rewrite of the architecture. Those who were already familiar with Hummingbird in its beta version will find a mature product, made stable thanks to months of feedback collected from the community.

From a technical standpoint, Hummingbird 2.0 brings with it Bootstrap 5 with LTS support, a CSS nomenclature based on BEM, an SCSS architecture built around CSS @layer for modular style management, and a reorganized directory structure that abandons the old _dev layout. Dependencies on third-party libraries have been minimized, favoring native Bootstrap components, while the clear separation between Bootstrap styles and PrestaShop-specific styles concretely simplifies theme customizations. It is also worth noting the native support for Bootstrap's dark mode, which can be activated via an SCSS variable.

Accessibility: over 95% EAA compliance

Those managing a shop that sells in Europe cannot ignore this point. The European Accessibility Act (EAA) came into effect in June 2025 and imposes precise digital accessibility requirements for e-commerce sites. Hummingbird 2.0 has been designed to comply: it exceeds 95% compliance with EAA requirements, with semantic HTML, correct ARIA attributes, functional keyboard navigation, and adequate color contrast integrated directly into the theme. This is not an additional patch, but architectural choices made upstream. For European merchants, this translates a regulatory obligation into something already resolved out of the box.

Experimental features: activatable via feature flag

PrestaShop 9.1 introduces two features marked as experimental, available via feature flags in the back office panel (Advanced Parameters > New and Experimental Features). The logic of feature flags is simple: the features are available, but the development team considers them still in the maturation phase. It is reasonable to test them in staging environments before enabling them in production.

Multi-carrier / Multi-shipping

One of the historical limitations of PrestaShop was the constraint "1 order = 1 carrier". With this version, that limitation is overcome. The multi-shipping management allows splitting and merging shipments within a single order, assigning different carriers to different products or groups of products. A feature that improves both the operational flexibility of the merchant and the informational clarity towards the end customer, especially in scenarios with products coming from distinct warehouses or with differentiated logistical needs.

New discount system

The discount system has been redesigned around four distinct types: Catalog, Cart, Free Shipping, and Free Gift. This structure replaces the previous cart rules with a clearer, more performant model and a significantly improved management UX in the back office. Those who have always found discount management in PrestaShop excessively fragmented will find this rewrite a decidedly more rational approach.

Other relevant news for developers and administrators

New CLI commands

Those managing PrestaShop shops from the command line - or managing automated environments - will appreciate the three new commands introduced in this version: prestashop:thumbnails:regenerate to regenerate image thumbnails without going through the back office, prestashop:search:index to start search indexing directly from CLI, and prestashop:module:export-translations to export module translations to a file. Tools that reduce dependence on the graphical interface in DevOps or automated deployment contexts.

PHP 8.5 support

PrestaShop 9.1 extends compatibility to PHP from version 8.1 to 8.5, keeping the platform aligned with the latest releases of the language. An important choice for those managing infrastructures that must comply with runtime update policies.

New hooks for module developers

Several hooks have been added that expand the intervention possibilities for module developers. Among the most significant: actionUpdateDefaultCombinationAfter to react to changes in the default combination of a product, hooks on module enablement, disablement, and update events, a hook on Configuration::updateValue to intercept changes to configuration values, and specific hooks for controlling the calculation of free shipping. For those developing modules that need to synchronize with the platform's lifecycle, these are concrete and useful additions.

Migration of the Tag page to Symfony

The management of tags in the back office has been completely migrated to Symfony, including grids, filters, creation and editing forms, and bulk actions. This continues the modernization path of the administration panel towards the Symfony architecture initiated in previous versions.

Performance and security

On the performance front, a significant issue that slowed down the cart in shops with a high number of product combinations has been resolved. On the security front, Ajax controllers are now indexed with noindex to prevent search engines from crawling internal endpoints - a good practice that also improves the cleanliness of the crawl budget. Two security vulnerabilities have also been fixed: a stored XSS in the back office templates and a misuse of the validation framework.

Improvements to the back office and front office

The module update process in the back office now goes through a two-step process - first the download, then the installation - for a more controlled and reversible update flow. CMS pages now have a direct preview link from the list, and product links on the order page open in a new window. On the front office side, special characters are now supported in search queries, the behavior of the "add to cart" button and the display of availability have been corrected, and the delivery time is now correctly displayed in all store contexts.

How to update to PrestaShop 9.1

If starting from PrestaShop 9.0.x, the update will be available via the Update Assistant module. At the time of release, the PrestaShop team was finalizing a compatible version of the module, so it is advisable to check availability before proceeding. As with any platform update, it is essential to perform a complete backup of files and database, test the update in a staging environment, and verify the compatibility of modules and custom themes with version 9.1.

Those coming from a pre-release version (Beta or RC1) will not be able to use the Update Assistant: in that case, a clean installation is required.

Official source: build.prestashop-project.org

Product added to wishlist