Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for the notable changes page #1908

Draft
wants to merge 3 commits into
base: 9.x
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 68 additions & 30 deletions modules/core-updates/9.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ This section provides a list of the most significant changes in PrestaShop 9.0.

## PHP support

PrestaShop 9.0 now requires **PHP 8.1 minimum**, with support added for PHP 8.2 and 8.3.
PrestaShop 9.0 now requires **PHP 8.1 minimum**, with support added for PHP 8.2, 8.3 and 8.4.

- [Remove compatibility for PHP versions inferior to PHP 8.1](https://github.com/PrestaShop/PrestaShop/pull/32514)
- [Support for PHP 8.2](https://github.com/PrestaShop/PrestaShop/pull/29116)
- [Support for PHP 8.3](https://github.com/PrestaShop/PrestaShop/pull/34485)
- [Support for PHP 8.4](https://github.com/PrestaShop/PrestaShop/pull/37417)

## Node support

Expand Down Expand Up @@ -79,28 +80,54 @@ When we migrated from Swift Mailer to Symfony Mailer, we noticed that SSL suppor

The remaining choices are "TLS encryption" or "No encryption".

### Upgraded dependencies

Some dependencies are still present but were upgraded which comes with their own breaking changes, please refer to each dependency changelog to understand them in details if you depend on these dependencies. The list below includes dependencies which major version was upgraded.

### Upgraded dependencies
Production dependencies:

Some dependencies are still present but were upgraded which comes with their own breaking changes, please refer to each dependency changelog to understand them in details if you depend on these dependencies:

| Name | Old version | New version |
|------------------------------------|---------------------------------------------------------------|---------------|
| api-platform/core | 2.7.6 | 3.2.13 |
| composer/installers | 1.12.0 | 2.2.0 |
| friendsofsymfony/jsrouting-bundle | 2.8.0 | 3.2.1 |
Production dependencies:
| Name | Old version | New version |
|------------------------------------|---------------|---------------|
| api-platform/core | v2.7.11 | v3.4.8 |
| composer/installers | v1.12.0 | v2.2.0 |
| doctrine/dbal | 2.13.8 | 3.9.3 |
| doctrine/event-manager | 1.2.0 | 2.0.1 |
| doctrine/instantiator | 1.4.1 | 2.0.0 |
| doctrine/lexer | 1.2.3 | 2.1.1 |
| egulias/email-validator | 3.1.2 | 4.0.2 |
| friendsofsymfony/jsrouting-bundle | 2.8.0 | 3.5.2 |
| lcobucci/jwt | 3.4.6 (special patch from https://github.com/PrestaShop/jwt.git) | 5.0.0 (no need for fork version anymore) |
| mobiledetect/mobiledetectlib | 2.8.41 | 3.74.0 |
| pelago/emogrifier | 5.0.1 | 7.0.0 |
| Symfony dependencies | 4.4 | 6.4 |
| twig/twig | 3.4.3 | 3.8.0 |
| doctrine/dbal | 2.13.8 | 3.6.5 |
| doctrine/lexer | 1.2.3 | 2.1.1 |
| doctrine/orm | 2.12.1 | 2.15.5 |
| doctrine/deprecations | 0.5.3 | 1.1.3 |
| egulias/email-validator | 3.2.6 | 4.0.1 |

| league/oauth2-server | 8.3.5 | 9.1.0 |
| league/uri-interfaces | 2.3.0 | 7.4.1 |
| mobiledetect/mobiledetectlib | 2.8.41 | 3.74.3 |
| pelago/emogrifier | v5.0.1 | v7.2.0 |
| prestashop/classic | 2.1.3 | 3.0.0 |
| prestashop/ps_distributionapiclient| v1.1.1 | v2.0.0 |
| prestashop/ps_facetedsearch | v3.16.1 | v4.0.0 |
| prestashop/ps_linklist | v6.0.7 | v7.0.1 |
| psr/cache | 1.0.1 | 3.0.0 |
| psr/log | 1.1.4 | 3.0.2 |

Development dependencies:

| Name | Old version | New version |
|------------------------------------|---------------|---------------|
| composer/pcre | 1.0.1 | 3.1.4 |
| phpunit/php-code-coverage | 7.0.15 | 10.1.16 |
| phpunit/php-timer | 2.1.3 | 6.0.0 |
| phpunit/phpunit | 8.5.26 | 10.5.38 |
| sebastian/comparator | 3.0.4 | 5.0.3 |
| sebastian/diff | 3.0.3 | 5.1.1 |
| sebastian/environment | 4.2.4 | 6.1.0 |
| sebastian/exporter | 3.1.5 | 5.1.2 |
| sebastian/global-state | 3.0.2 | 6.0.2 |
| sebastian/object-enumerator | 3.0.4 | 5.0.0 |
| sebastian/object-reflector | 1.1.2 | 3.0.0 |
| sebastian/recursion-context | 3.0.1 | 5.0.0 |
| sebastian/type | 1.1.4 | 4.0.0 |
| sebastian/version | 2.0.1 | 4.0.1 |

### Symfony controllers

Expand Down Expand Up @@ -407,19 +434,29 @@ The migration of back office pages to Symfony imply several breaking changes, we
- the page no longer uses Smarty, but Twig
- the page no longer uses HelperForm and HelperList, but Symfony form components and Grid components

Here is the list of migrated pages in v9:
Here is the list of migrated pages enabled by default in PrestaShop 9:

- Sell -> Orders -> Shopping carts
- Sell -> Catalog -> Attributes & Features
- Sell -> Catalog -> Products (new version of the page introduce in PrestaShop 8.1 is now the only available one)
- Improve -> Design -> Image Settings
- Improve -> International -> Locations -> States
- Configure -> Shop Parameters -> Customer Settings -> Titles
- Configure -> Shop Parameters -> Order Settings -> Statuses

- International > Locations > States
- Shop parameters > Order settings > Statuses
- Orders > Shopping Carts
- Sell > Catalog > Attributes & Features -> Attributes
- Sell > Catalog > Attributes & Features -> Feature
- Sell > Catalog > Products (new version of the page introduce in PrestaShop 8.1 is now the only available one)
List of newly migrated pages in PrestaShop 9.0 that are hidden behind a feature flag:

- Sell -> Customer Service -> Merchandise Returns
- Configure -> Shop Parameters -> Customer Settings -> Groups
- Configure -> Shop Parameters -> Contact -> Stores
- Configure -> Shop Parameters -> Search

### Changes in the product page

Edition of features on the new product page, [use a new optimized data structure in the form](https://github.com/PrestaShop/PrestaShop/pull/34763). You may need to adapt your module if you rely on the old structure.

The new product page is the only one available in PrestaShop 9.0, the old one is no longer reachable. [Discover how to extend it with modules in this chapter][new-product-page].

## Breaking Changes

### `trans` method
Expand Down Expand Up @@ -557,17 +594,17 @@ Each change links to the pull request that introduced it, so you can find more d
- [Removed ajaxDie and related hooks](https://github.com/PrestaShop/PrestaShop/pull/35283)
- [Removed deprecated object model validation code](https://github.com/PrestaShop/PrestaShop/pull/36029)

### Rebranding changes
## Back office rebranding

By the end of 2023, PrestaShop introduced a new brand identity to reinforce its strengths and enhance credibility and trust. The PrestaShop back office was one of the final components to undergo rebranding, with the release of PrestaShop 9 providing an ideal opportunity for this update.

### Rebranding backward incompatible changes

- [Breaking changes in the PrestaShop Back Office due to rebranding](https://github.com/PrestaShop/PrestaShop/pull/36584)
- **New Fonts**: The adoption of `IBM Plex Sans` and `Material Symbols` is part of the rebranding effort. These fonts are included in both the `default` theme and also the `new-theme` through the UI Kit.
- **Removal of `postcss.config.js`**: The `postcss.config.js` file, which used the deprecated `postcss-cssnext` package, has been removed. This package is no longer needed.
- **Removal of SCSS Files**: The file `admin-dev/themes/default/scss/modules/_colors.scss` and the directory `admin-dev/themes/default/scss/modules/colors/` have been removed. These are no longer used in the back office. Update your stylesheets to avoid relying on these outdated resources.

## Back office rebranding

By the end of 2023, PrestaShop introduced a new brand identity to reinforce its strengths and enhance credibility and trust. The PrestaShop back office was one of the final components to undergo rebranding, with the release of PrestaShop 9 providing an ideal opportunity for this update.

### Anatomy of PrestaShop back office

The PrestaShop back office consists of [two themes][bo-themes]. Both themes have been modified to achieve a complete rebranding:
Expand All @@ -584,3 +621,4 @@ The PrestaShop back office consists of [two themes][bo-themes]. Both themes have
- Utilizes the **PrestaShop UI Kit**

[bo-themes]: {{< ref "/9/development/architecture/introduction.md#bo-themes" >}}
[new-product-page]: {{< relref "9/modules/sample-modules/extend-product-page" >}}
Loading