PrestaShop 9: everything that changes (really) in the new version

After two years of collaborative development and much anticipation, PrestaShop 9 officially arrived in June 2025. It is an update major (main) that brings a modernized architecture, new tools for developers and powerful features focused on the future of e-commerce. Unlike the previous post focused on the beta version, in this article we explore in detail the changes confirmed in the stable version – what has really changed and what each audience (retailers, agencies/partners and developers) can expect. It is worth remembering that as it is a major version, modules and themes may need adjustments, so it is essential to test everything before updating the store in production.

Main differences between PrestaShop 8 and 9

  • Updated technological base: PrestaShop 9 makes the leap from Symfony 4.4 (used on PS 8) to Symfony 6.4 LTS, accompanied by native support for PHP 8.1 through 8.4 – a huge step forward in performance, security and longevity over PS 8.
  • New native API: Unlike PS 8 (which relied on the old limited XML/JSON webservice), PS 9 introduces a modern Admin REST API based on API Platform, facilitating integrations with CRM, ERP and other tools.
  • Fully migrated back-office: In PS 8, part of the back office still used legacy code. The PS 9 has already migrated 100% back-office for Symfony/Twig, with all pages (Orders, Products, Customers, etc.) unified in the new architecture. This results in a back office with a renewed look and consistent experience.
  • “Hummingbird” theme: PrestaShop 8 only came with the Classic theme. PS 9 brings a new official front-end theme called Hummingbird, built with modern technologies (Bootstrap 5, TypeScript, SCSS with BEM) and designed for performance and mobile, marking a big difference compared to the previous front-end.
  • Improved performance and SEO: PS 9 includes native optimizations such as WebP/AVIF image support, faster script loading, and SEO improvements (uncategorized product URLs, control of redirects) – many of these improvements did not exist by default in PS 8.
  • Enhanced security and stability: In addition to being based on more secure versions of PHP and Symfony, PrestaShop 9 implements security recommendations such as random table prefix and direct file access blocking, which were absent in PS 8. The email system was also modernized with Symfony Mailer instead of PS 8’s SwiftMailer, correcting limitations and removing obsolete encryption (SSL) in favor of TLS.
  • Update made easy: The classic “1-Click Upgrade” module has been redesigned in Update Assistant 7 on PS 9, offering a more intuitive interface and even the option to update via CLI – making upgrades safer and more practical, something that has evolved substantially compared to PS 8.

Main news and changes in PrestaShop 9

Symfony 6.4 and PHP 8.1: renewed base and performance

One of the pillars of PrestaShop 9 is updating your stack technological. The platform is now built on top of Symfony 6.4, long-term support (LTS) version of the famous PHP framework, guaranteeing security updates until at least 2027. This jump from Symfony 4.4 to 6.4 brings significant performance gains (faster and less memory usage) and more modern and robust code, with less technical debt. Additionally, PrestaShop 9 requires PHP 8.1 or higher (officially supports 8.1, 8.2, 8.3 and 8.4), aligning with currently supported PHP versions and taking advantage of their language and security improvements. For retailers, this updated base means a faster and safer store on a daily basis. For developers, it opens up a range of modern features, cleaner code and compatibility with the latest PHP libraries – in short, a more future-proof platform in both performance and maintenance.

New back-office architecture 100% migrated to Symfony

Finally, PrestaShop has achieved the complete migration of its back office for the Symfony architecture. All administrative pages – such as orders, products, customers, settings – are now rendered with Symfony and Twig, replacing the remaining legacy parts once and for all. This resulted in a renewed administration interface, with a modernized look aligned with PrestaShop’s current identity, layout improvements and unified navigation across the entire panel. In practice, the retailer will see a more consistent and fluid back-office, without switching between old and new screens. New features were incorporated into this process, such as the possibility of creating guest clients directly in the back-office to facilitate manual orders. For agencies and developers, full migration means less rework with two architectures – now there is a single standardized framework, making it easier to extend and maintain the panel. Important: with the migration, some back-office hooks were changed or removed (for example, admin login-specific hooks were deprecated), so modules that customize the panel will need to be revised for PS 9. On the other hand, new, more consistent hooks were gained (such as actionBackOfficeLoginForm to customize the login form) and greater adherence to Symfony practices.

New Admin API for integrations and automation

Meeting an old demand, PrestaShop 9 introduces a Admin API totally new and modern. Built on the API Platform framework (using REST and JSON architecture), this API allows structured access to the store’s data and functionalities, opening up possibilities for previously complex integrations. In practice, external systems such as ERPs, CRMs, marketplaces or applications can connect more reliably to the store, to read and write information (products, orders, customers, etc.) through secure endpoints. In addition to integrations, the API allows automation of administrative tasks – for example, updating stock or prices in bulk, synchronizing catalogs between multiple stores or generating custom reports, all via API calls rather than manual actions. For developers, this new feature brings a more “developer-friendly”, aligned with current RESTful API standards, facilitating even headless commerce (use PrestaShop as backend only). It is important to note that the PS 9 Admin API is still evolving – not all operations are covered initially and new endpoints will be added in future updates. Still, it is a crucial first step towards a more open ecosystem. It’s worth exploring the documentation and starting to try it out in your projects.

Hummingbird Theme: New Generation Frontend

Another big new feature of PrestaShop 9 is the launch of Hummingbird, a new default (front-office) theme that represents the next generation of PrestaShop themes. Developed in response to community feedback, Hummingbird brings a cleaner, more modern visual base with a focus on mobile-first. Technically, it was built using Bootstrap 5 (LTS), TypeScript and a CSS architecture organized into BEM (Block-Element-Modifier) ​​and modular SCSS. These choices update the theme ecosystem: Bootstrap 5 provides responsive and consistent components; the use of BEM standardizes CSS classes making the style easier to maintain; and the adoption of SCSS with @layer allows for more scalable and targeted CSS. Furthermore, Hummingbird has reduced dependencies on external libraries, making better use of Bootstrap’s native features, and clearly separated what is Bootstrap style and what is specific to PrestaShop – which should make life easier for those creating custom themes. The new theme also supports dark mode natively (just activate it via the SCSS variable) and has refactored many templates to be more consistent and modular. Important: the Hummingbird does not automatically replace the Classic theme as default on PS 9; it is included, but the active theme by default is still Classic to ensure compatibility with existing modules. The goal is to offer a preview of the future of PrestaShop themes. Retailers starting new stores can consider it for a fresher look, and front-end developers should explore it as it indicates the direction of upcoming versions. Coexistence with Classic means nothing breaks for now – you can install PS 9 and test Hummingbird optionally. However, it is expected to evolve over time to possibly become the standard, so it’s a great opportunity for the community to contribute suggestions and tweaks as the theme matures.

Improved performance and new features on the front end

Performance was a strong focus in PrestaShop 9. Thanks to the updated base (PHP 8.x and Symfony 6.4) and various optimizations, stores tend to be faster and lighter. There is native support for images in the format WebP e AVIF, which are lighter and more efficient than JPG/PNG, helping to speed up page loading without losing visual quality. Scripts and interface components have also been optimized – for example, jQuery UI components have become faster to load, improving front-end response time. Furthermore, the use of Presenters (presentation layer) was expanded to list categories, brands, suppliers and stores, standardizing the way these elements are rendered and bringing speed gains to these pages. The end customer experience also gained functional improvements: now, if a visitor is viewing a product that is already in their cart, the store can notify them of this, avoiding confusion when purchasing. The checkout flow is more agile with the possibility of finalize order as a visitor even if the email already has a registration, speeding up purchases (especially useful when the customer doesn’t remember the password quickly). Another small usability improvement: navigation breadcrumbs (navigation trail) of products now reflects the category accessed, facilitating user orientation within the store structure. In short, PS 9 not only runs on a more powerful engine, but has also polished a lot of rough edges to deliver faster-loading pages and smarter navigation for customers.

SEO and URLs: improvements for more visibility

In terms of SEO (search engine optimization), PrestaShop 9 brought important adjustments that make life easier for retailers looking for better organic rankings. By default, product URLs are now more clean – the category is no longer automatically included in the product URL, avoiding unnecessary texts and duplicate URLs for the same product. (Those who prefer the old behavior can still configure it, but the new approach favors friendly URLs). Furthermore, it is now possible to remove the default language prefix from URLs. In PrestaShop 8, even though the store had a main language, the URLs were preceded by /en/, /fr/ etc. On PS 9 you can choose to don’t display default locale in URL, avoiding extra redirects when adding a new language and making links shorter. Another addition is inactive category redirection control: if you deactivate a category, you can configure a custom 301 or 302 redirect instead of the default behavior – this helps preserve SEO when reorganizing the catalog. Finally, filtered product listing pages (such as category navigation filter results) are now automatically marked for not be indexed by search engines. This is an SEO best practice, as filter pages can generate duplicate or irrelevant content for search engines. With these changes, PrestaShop 9 ensures that your store is technically aligned with good out-of-the-box SEO practices, reducing the need for modules or hacks to adjust URLs and meta tags.

Enhanced security and system robustness

Keeping security at the forefront, PrestaShop 9 includes several improvements that make the platform more safe and stable. One change already mentioned is the Symfony and PHP upgrade itself – newer versions fix old vulnerabilities and offer more secure foundations. But beyond that, there are specific adjustments: in the installer, now the prefix of the database tables is random by default, instead of fixed “ps_”. This makes automated SQL injection attacks that assume standard table names difficult. Protection against direct access to PHP files was also implemented – that is, blocks to prevent someone from accessing internal scripts directly via the URL, an additional layer of protection against known exploits. Debug mode can now be restricted to a specific user via cookie, instead of being open to any visitor when activated. This means developers can enable debugging without worrying about an end customer seeing sensitive details of the application. There was also an improvement in the module action tracking: Module installations, updates and removals are now better recorded and managed, giving administrators more visibility into changes made to the system. Altogether, these measures increase the store’s resilience, reducing the risk of intrusions and problems arising from incorrect configurations.

Modernized email system

The way PrestaShop sends emails has also been updated in version 9, although it is less visible to the end user. Internally, the SwiftMailer (library used in previous versions to send emails) was replaced by the most current Symfony Mailer. The reason for this change is to keep up with modern email sending practices, improving compatibility with servers and future PHP updates. For retailers, this means that the store’s email system must behave more reliably and securely. One consequence of the change, for example, is that support for obsolete encryption protocols has been discontinued – the old SSLv3 is no longer used, leaving only TLS or no encryption for secure SMTP. This change may require a small reconfiguration if your store uses a specific port/protocol, but in general it brings more security in communication of the email. Additionally, PrestaShop 9 continues the improvement started on PS 8 in terms of email templates: email themes now follow a more organized structure (stored in their own directory per theme), making customizations and translations easier. In summary, PrestaShop 9 transactional emails tend to have fewer sending issues and offer greater ease of maintenance for developers, ensuring that important messages (such as order confirmations, password recovery, etc.) reach recipients correctly.

What changes in practice for Shopkeepers

For store owners and merchants using PrestaShop, version 9 brings tangible changes to their daily lives and also raises the question of when and how to update. From a practical point of view, when upgrading to PrestaShop 9 you will notice a back-office with a renewed look and more fluid navigation, but without losing familiarity – in other words, you won’t need to relearn everything, but expect cleaner and more coherent screens. Product management has been simplified with the definitive adoption of the new product page (faster, especially for large catalogs, and with improved feature ordering). You can also expect subtle improvements that make administration easier, such as the ability to create guest customers via the panel (useful for registering orders placed over the phone, for example). On the front-end of the store, your customers will have a slightly more agile and convenient experience: faster page loading, more friendly checkout (login optional) and less friction if they have already added a product to the cart previously. In terms of visibility and marketing, native SEO improvements mean better URLs without extra work and the potential for your site to rank higher with less technical effort.

That said, it’s normal for retailers to ask themselves: should I update immediately? What are the risks and gains involved? Let’s summarize:

  • Main gains when upgrading: You place your store on a cutting-edge technological basis, gaining performance, security and compatibility. This can translate into pages opening faster (which improves customer experience and even conversions) and fewer security vulnerabilities over time. New features – from the API, which can translate into valuable integrations, to SEO details – can bring a competitive advantage, whether by automating processes or attracting more organic traffic. Updating early also means taking advantage of the community’s continuous improvements, as the focus of new features from now on will be on version 9. In short, migrating to PS 9 leaves your store prepared for the future and with more efficient tools to grow.
  • Possible risks and precautions: As it is a large update, there is a risk that some functionality will break – especially if you depend on third-party modules or themes. Before updating, check that all your modules and the theme have versions compatible with PrestaShop 9. It is prudent to wait for updates from these suppliers or look for compatible alternatives. Always perform a full backup and, ideally, test the migration in a desktop environment. staging (store copy) before applying in the live store. Remember the official recommendation: test everything thoroughly before releasing the production version. If you are not technically familiar, involving a trusted agency or developer to conduct the migration is a wise investment – ​​it avoids lost sales due to instability. Another point: the learning curve. Although the back-office maintains the logic, the visual change may require your team to briefly adapt to localizing some menus or understanding new options. Overall, with planning and caution, risks can be mitigated. The good news is that PrestaShop 9 brings the new Update Assistant which guides the process step-by-step, including compatibility checks and the possibility of reverting if something goes wrong. Use this tool to your advantage.

In conclusion for merchants: PrestaShop 9 represents a significant advance that, if used well, can improve both the operational efficiency of your store and the end customer experience. Evaluate together with your team and technical partners the ideal moment for migration – but start familiarizing yourself with the news now, as they indicate the path that e-commerce on PrestaShop will follow in the coming years.

What changes for Agencies and Partners

If you are part of a digital agency or a partner managing multiple stores for clients, the launch of PrestaShop 9 brings important strategic implications. Firstly, your customers will probably start asking about the upgrade – so it’s crucial position your agency as knowledgeable about new things, capable of providing guidance on when and how to migrate. Manage multiple stores This means that migration needs to be well planned at scale. Here are some key points for agencies:

  • Multiple store management and migration at scale: With multiple installations under your responsibility, standardizing the upgrade process is essential. PrestaShop 9 offers the new Update Assistant with an improved graphical interface and also a mode CLI (command line) to automate updates. This allows agencies to create scripts to update multiple stores consistently, perhaps integrating into the DevOps flow. Before any mass migration, do a pilot project: choose a less critical store or representative test environment and run the upgrade, noting the steps, times and possible obstacles. You can then replicate the procedure for other customers more safely. Consider communicating with customers about possible maintenance windows during migrations and have a contingency plan (backup/rollback) for each case.
  • Customer modules and themes compatibility: A big challenge in major updates is ensuring that modules (especially custom or uncommon ones) work in the new core. As a partner, the agency is responsible for carrying out a store inventory: list all the modules and themes used by your customers and check which ones are already compatible with PS 9. Many developers in the community and the marketplace are already adapting their solutions to the new version – keep in touch with them and keep an eye out for updates. For custom modules developed by your team, you will need to allocate development time to adjust them (for example, adjust class calls if any have changed, update the use of hooks, ensure support for PHP 8.1, etc.). This represents a short-term investment, but not updating these modules could translate into bigger problems down the road. Take this into account when pricing and scheduling migration projects.
  • Strategic positioning and business opportunities: The arrival of PrestaShop 9 is also a commercial opportunity. Customers with older stores can take advantage of the migration to carry out a refresh general – perhaps a redesign leveraging the Hummingbird theme or performance improvements that previously would have required many modules. Your agency can position upgrade packages that include not only the technical update, but also optimizations (activating native SEO features, configuring the new API to integrate with client systems, etc.). Demonstrating mastery of PS 9 helps build confidence that your team is up to date with the latest technologies. From a marketing point of view, it may be interesting to produce content (posts, webinars) explaining the advantages of PS 9 to retailers – this way you educate the market and position yourself as a reference, even attracting new customers who are in doubt about migrating. Remember to emphasize the business benefits: for example, highlighting that improving the site’s performance can increase conversion, that reinforced security reduces the risk of losses from attacks, that the new API can integrate the store with time-saving tools (automating manual processes). These arguments help the customer to see value in migration, beyond the mere technical aspect.
  • Training of the technical team: Internally, ensure your developers and designers are prepared to work with PrestaShop 9. This may involve Symfony training (if not already familiar), studying the new good practices indicated by the PS 9 documentation, and experimentation with Hummingbird for front-end projects. Adopt the habit of starting new projects in PS 9, whenever possible, to accumulate experience. Having success stories in PS 9 will be a competitive differentiator. Additionally, actively participating in the community (reporting bugs you find, contributing on forums or GitHub) can give your agency visibility and anticipate solutions to problems others may face.

In short, for agencies and partners, PrestaShop 9 marks the beginning of a new phase of the ecosystem. Being at the forefront of this transition will not only ensure the satisfaction of current customers, but will also open doors for new business. Strategically plan migrations, communicate the benefits and invest in training – this way your agency can consolidate itself as a specialist in next-generation PrestaShop.

What changes for Developers

Developers, whether from agencies or freelancers Those who build stores, modules or themes for PrestaShop will find PS 9 familiar ground in purpose (the essence of e-commerce has not changed), but with important differences in the way of working. Here are the main points to which devs should pay attention:

  • Core hooks and extensions: With the complete migration of the back-office to Symfony, several traditional PrestaShop 8 hooks were discontinued or had their mechanics changed. For example, hooks related to the old admin login controller (like actionAdminLoginControllerBefore) no longer exist, as the login process is now completely Symfony. In its place, new hooks were introduced, such as actionBackOfficeLoginForm mentioned, which allows you to intervene on the Symfony login form. In general, all hooks on pages migrated to Symfony/Twig now follow the Symfony events or have been relocated. It is recommended to review your module’s hook list and consult the PS 9 upgrade documentation to see if anything has changed signature or context. Hooks in the front-office largely remain, but if you start adopting the Hummingbird theme, be careful: this theme has reorganized many templates and insertion points, so modules that inject HTML may need to adjust the selectors or insert new ones override templates for Hummingbird.
  • Module structure and class usage: The PrestaShop 9 core underwent code cleaning and dependency updates. Some internally used libraries have been removed or replaced with Symfony alternatives (for example, the Guzzle was replaced by Symfony’s HttpClient, and the SwiftMailer by Symfony Mailer). If your module depended directly on any of these libs or used core classes that have disappeared, you will need to adapt. A good practice is to include the dependencies you use in the module itself (via Composer), instead of relying on them to be in the core. Additionally, functions or methods deprecated in 8.x versions have likely been eliminated in 9.0. Take time to read the developer change notes (devdocs), which highlight what was removed or changed. Another point: PrestaShop 9 now only runs on PHP 8.1, which means you can (and should) take advantage of type hints, typed properties, enums, and other conveniences of modern PHP in your code. On the other hand, legacy code that used references incompatible with PHP 8 (for example, every variable without a type declaration that could cause TypeError) needs to be tested and adjusted.
  • Themes and modern frontend: If you develop themes, PrestaShop 9 brings the dilemma/possibility of working with the new Hummingbird theme. He adopts a front-end stack very different from Classic: instead of heavy jQuery and mixed styles, we have Bootstrap 5, ES6 /TypeScript and a strict CSS convention. This requires a learning curve if you’ve never worked with BEM or modular SCSS, but the maintainability benefits are huge. To create a Hummingbird child theme, you will need to follow its new folder structure (which ditched the _dev present in Classic and reorganized assets). The advantage is that this new theme is more aligned with market standards, so integrating components or custom design tends to be more fluid. However, note that the Hummingbird not mandatory – you can still support Classic on PS 9. The ideal is to offer dual compatibility for now: if your module has visual elements, make sure it works on Classic and take the opportunity to test and adapt it to Hummingbird as well, as more and more stores are expected to migrate to it in the future. Regarding the use of tooling: The asset build process in PrestaShop 9 now requires Node.js v20 and has been simplified – check the front-end documentation to fine-tune your development flow.
  • Symfony container and more modern development: A “hidden” novelty for developers is the (experimental) introduction of Symfony service container in the front office. This means that now even in store controllers/screens (public) it is possible, to an initial degree, to use dependency injection and take advantage of Symfony services, something previously restricted to the back-office. This is an indication of the direction PrestaShop is heading: eventually unifying the entire echo around Symfony. For now, as a developer, you can exploit this ability to write cleaner front-end modules, registering services and using them on store pages via container (see the devdocs for practical examples). Additionally, Symfony controllers are now services by default in the back-office – that is, you can directly inject your services into the constructors or methods of the Admin controllers that you override/create, instead of resorting to the ServiceLocator or static calls. This improves code design and facilitates testing. Remember, however, that the old base controller with global container was temporarily maintained for compatibility, but has already been marked as deprecated and should disappear in PS 10. In other words, start following the new controller model now and avoid calls to $this->get('...'), preparing your custom modules for the future.
  • New best practices and documentation: PrestaShop 9 comes with an extensive update to developer documentation, including migration guides and change notes. It is highly recommended to read these official materials to understand non-obvious nuances. For example, details like changes to object validation, removal of old static methods (think Tools::displayError and similar) in favor of translation services, etc., are covered in the documentation. Adopting the suggested good practices – such as using Form Handlers and Grid Factory to create custom screens instead of back-office workarounds – will make your modules more aligned with the core and ready for future updates. In summary, on the developer side, PrestaShop 9 represents a great refactoring evolutionary. The adaptation curve exists, but the reward is working in a more stable and standardized environment. Dive into the new source code, try migrating a simple module from 8 to 9 to see what changes, and count on the community (forums, GitHub, Slack) to exchange experiences during this transition.

Finally, remember: a more modern platform also raises store owners’ expectations. This means there will be demand for new modules and solutions taking advantage of the new features of PS 9 (integrations via API, performance improvements, etc.). For developers who update quickly, there is a market opportunity to offer differentiated products and services in this new ecosystem.

Need help migrating or getting the most out of PrestaShop 9? The AGTI team is available to offer specialized support at all stages of this transition. Contact us and move to PrestaShop 9 with confidence.