Here it is. The first public alpha of PrestaShop 9 is available. We decided it was time to share with you the first results of our work on PrestaShop 9.

Please note that this version is in the early stages of development. To achieve a stable release, we anticipate several months of further work. As we are prior to the feature-freeze phase, the features and content of PrestaShop 9 are subject to change.

PrestaShop 9 Alpha 1 is Available!

The next big PrestaShop version delivers many new features, but as a major release, it also means many changes that are not backward compatible. We want to give you, the community, a chance to anticipate any changes you need to implement in your solutions to make them compatible with the new version. Equally important, we want to gather feedback from you about new features, improvements, and other changes that are part of this version.

This is not a production-ready release

Be aware that this alpha version is not yet complete or stable enough for production environments.

This article does not fully summarize the changes in the new version. Still, it should give you a better understanding of what to expect from the new release and what to test, especially if you are developing new solutions in the PrestaShop ecosystem.

What’s inside PrestaShop 9

Most notable changes in PrestaShop 9 are:

  • Symfony framework update to version 6.4, marked as LTS (long-term-support) version.
  • Minimum compatible PHP version bumped to PHP 8.1 as well as support for PHP 8.2 and 8.3.
  • Completely new API based on API Platform.
  • Ability to include a Symfony container in the front office.
  • Refactored back office layout, which is now rendered fully by Symfony.
  • Login page in the back office has been migrated to Symfony.
  • Smaller and larger improvements throughout the system, which we will announce in the coming months.

Symfony 6.4

Upgrading to Symfony 6.4 (compared to version 4.4 used in PrestaShop 8.1) is a significant step for the project, to be up to date with the PHP ecosystem. Symfony 6.4 is the latest available long-term-support version, which provides security updates until November 2027. This is also great news for developers, who will be able to enjoy all the benefits of the latest version of this framework.

PrestaShop 9 is based on Symfony 6.4

Screenshot from Symfony debug profiler in PrestaShop back office

PHP 8.1, 8.2 and 8.3

At the time of writing this article, PHP in versions 8.2 and 8.3 are actively supported or, like PHP 8.1, receive security fixes. We have ensured that PrestaShop 9 is compatible with these three PHP versions, allowing you to choose the one that best suits your needs.

PrestaShop 9 supports PHP 8.1, 8.2 and 8.3

Actively supported PHP versions

New API

This is an important milestone for the entire PrestaShop ecosystem. A modern, flexible API that the community has been asking for over the past years. The first version of the new API will be in PrestaShop 9. You can watch a presentation by @jolelievre, who talked about the basics of the new solution, explained the foundations behind it and showed how to use it.

If you want to test the new API, make sure to follow the article written by @kpodemski - How to use the new API in PrestaShop 9. This tutorial will guide you through the process of using the new API, explaining how to authorize the new API, create a new resource, and how to work with the API in general.

New API in PrestaShop 9

Symfony in front office

The Symfony container is now available in the front office. This is a significant change that will allow developers to use Symfony components in the front office. For the moment, this feature is still behind a feature flag, but we encourage you to test it and provide feedback.

Symfony container in front office

Symfony layout in back office

In PrestaShop 9.0, the back office layout is now fully managed by Symfony and Twig components. This makes the code cleaner and easier to maintain. We prioritized backward compatibility, so your modules should work as usual. However, we need the community’s help to test and spot any issues. We will share more information about these changes in the developer documentation.

Login page in the back office has been migrated to Symfony

As part of the Symfony migration, the login page in the back office has been migrated to Symfony. This is quite a significant change which will allow us to improve the security of the login process and make it more flexible in the future. There are still some improvements to be made, but the first step has been taken. If you want to know more about the changes, you can read the pull request and follow the EPIC Migrate Login backoffice page and authentication system to Symfony.

Full changelog is available in the release notes.


Developers working on PrestaShop solutions should pay close attention to the first two items. We also invite you to experiment with our new API.

Although we are in the process of preparing documentation on the notable changes for the community, you can start by familiarizing yourself with the migration guides from PHP and release notes from Symfony:

How to test PrestaShop 9

To build the ZIP file with installer of PrestaShop 9 Alpha 1, you can use the PrestaShop Release Creation tool.

Requirements

For this process, you need to have a fully working environment, either a server or Docker available, that meets the following requirements:

  • PHP 8.1 (PHP 8.2 and 8.3 are also supported)
  • Composer 2
  • Node.js 16 and NPM 8

Make sure to check all system requirements in the documentation. You also need to have Git installed on your machine.

Create an installation package for PrestaShop 9 Alpha 1

  1. Clone the PrestaShop repository from “9.0.0-alpha.1” tag: git clone [email protected]:PrestaShop/PrestaShop.git --branch "9.0.0-alpha.1 .". Note: use a different directory name than . if you want to clone the repository to a different directory.
  2. Run composer create-release or php tools/build/CreateRelease.php in the root directory of the PrestaShop repository.
  3. The script will create a ZIP file with the PrestaShop 9 Alpha 1 distribution in the tools/build/releases/9.0.0_date_time/ directory.

Install PrestaShop 9

The installation process remains the same as in previous versions.

If you plan to test the new API, it’s important to look at the tutorial explaining how to use it properly. This tutorial will give you a clear idea of how to work with the API effectively, ensuring you can get the most out of your testing.

What’s next

We are continuing our efforts to reach a stable version, with several key areas of development still in progress. Here is a brief outline of the crucial elements needed to achieve the release of the final version:

Core:

  • Work on the new API continues to lay a great foundation for the future.

Back office:

  • Symfony login page still requires some improvements to be fully functional. You can track the progress in the EPIC.

Front office:

  • The decision regarding the Hummingbird theme and its presence in PrestaShop 9 has not yet been made.

Documentation:

  • We will work to document all significant changes to the software to make it easier for developers to adapt their solutions to PrestaShop 9.
  • We will also prepare a guide on how to use the new API effectively and explain the basics of the new solution.

Upgrade path:

  • You can use the “Local archive” method in the autoupgrade to try upgrading to PrestaShop 9 Alpha. There might be some issues, so please be cautious. We plan to test the upgrade path in the coming weeks.

This list is not exhaustive, and we will continue to work on other areas of the software to ensure a stable release.

FAQ - last update on 4th of June, 2024

Can I upgrade to PrestaShop 9 Alpha?

You can try upgrading using the “Local archive” method in the autoupgrade. However, please remember that this version is not stable and should not be used in production environments. We haven’t tested the upgrade path yet, so it may not work as expected.

Can I upgrade from PrestaShop 9 Alpha or Beta to the final PrestaShop version when ready?

No, it has never been possible, and there are no plans to implement this possibility in the upgrade module.

Do you plan to make Hummingbird the default theme in PrestaShop 9?

While the Hummingbird theme is a great step forward, we are still considering the best approach to the theme in PrestaShop 9. We will probably add it as a secondary theme, but the decision has not been made yet. We will keep you updated on this matter.

Get involved

It’s a great time to get involved. One of the main goals of this release is to discuss the new version openly with you. We would like your feedback on PrestaShop 9.

We believe that together we can make PrestaShop 9 a great release, which would be considered stable later this year.