PrestaShop Core Monthly - March 2025
An inside look at the PrestaShop codebase
What’s new in the project? We’re ending the quarter strong! Project members with the help of the community have been working hard to prepare the next major release of PrestaShop. Release of the completely new version of the Auto Upgrade Update Assistant module, and that’s only a glimpse of the work done in March. Read on to learn more about the latest changes in the PrestaShop project.
Stay up to date with the latest developments in the PrestaShop project by reading the Core Monthly. This edition covers the most important news, updates, and changes in the project for March 2025. Let’s dive in!
PrestaShop 9.0 is coming soon!
After the release of the Beta version for PrestaShop 9.0, project members are working hard to prepare the first Release Candidate. The goal is to release it in a few weeks.
This new major release will include many new features and improvements, but also some breaking changes. As part of our efforts to keep you informed and help you adapt to the new version, we will be releasing a series of blog posts that will cover the most important changes and new features in PrestaShop 9.0. The first one has already been published, and it covers removal of Guzzle HTTP client from the core and how to deal with it. You can read it here.
Another important information is the update of Example Modules to make them compatible with PrestaShop 9.0. Most of the modules have been adjusted and their new versions are available on GitHub. Watch out: module examples for PrestaShop 8 and 9 are now available in separate branches. The 8.x
branch contains the modules compatible with PrestaShop 8, while the master
branch contains the modules compatible with the latest version of PrestaShop.
Analyzing changes in these modules can help you understand how to adapt your own modules to the new version. During the March Live Update I shared some recommendations on how to prepare for the required work. You can watch the recording of the Live Update here.
Make sure to check our blog regularly for more updates on the new version of PrestaShop and the changes it brings.
Release of the Update Assistant module
The Update Assistant module has been completely revamped and is now available for PrestaShop 1.7 and later versions! This new release marks a significant milestone, as it replaces the Auto Upgrade module with a modern, more efficient solution. To learn more about the key changes and enhancements introduced in this version, check out the detailed article here. We are excited to see how this update will improve the upgrade experience for the PrestaShop community!
Call for contributions - Hooks
As announced in this discussion and during FOP Days, we’re continuing an experiment to streamline the validation process for contributions. The focus will be on adding new hooks, as they are simple to implement, enhance extensibility by reducing overrides, and can be included in patch releases, delivering quick value to merchants.
To support this initiative, the documentation on hook contributions has been updated, and maintainers will prioritize reviewing these PRs. This time-limited test aims to release approved hooks in the upcoming minor version 8.2.X. While resources for reviews remain limited, we’re committed to improving the process and making this a success.
Live Update - March 2025
The March Live Update took place on March 5, 2025. During this session, we discussed the latest developments in the PrestaShop project, including the release of the PrestaShop 8.2.1 version and the upcoming PrestaShop 9.0. We also shared some tips on how to prepare for the new version and answered questions from the community. On top of that, we presented plans for the improved user journey for discounts creation in PrestaShop 9.1.0. This new feature will make it easier for merchants to create and manage discounts in their stores, improving the overall user experience.
You can read the summary of the Live Update here and watch the recording on our YouTube channel.
FOP Days 2025
The 2025 Friends of Presta (FOP) Days wrapped up on March 26-27 at Le Nida in Issy-les-Moulineaux. This two-day event brought together developers, agencies, and ecommerce professionals from the PrestaShop community for discussions, technical insights, and networking. Discover the highlights in the dedicated article.
Summary
March 2025 was another productive month for the PrestaShop project. The team made significant progress in preparing the next major release of PrestaShop and launched the new version of the Update Assistant module. The community’s active participation in discussions and contributions was truly great to see. With the upcoming release of PrestaShop 9.0, we are excited to see how these changes will benefit the community and improve the overall experience for merchants and developers alike.
Project releases
-
Search Bar module, v2.1.4 released on 2025-03-04.
-
Share Buttons module, v2.1.3 released on 2025-03-21.
A quick update about PrestaShop’s GitHub issues and pull requests:
- 93 new issues have been created in the project repositories;
- 120 have been closed, including 1 fixed issues on the core;
- 348 pull requests have been opened in the project repositories;
- 348 pull requests have been closed, including 295 merged pull requests.
Code changes in the ‘develop’ branch
Back office
- #38349: Discount feedbacks. Thank you, @tleon
- #38248: Add product discount integration + some tests improvements. Thank you, @tleon
- #38201: Add product level discounts. Thank you, @tleon
- #38191: Feat: add CQRS command for add & list shipment. Thank you, @PoulainMaxime
- #38187: Add new discount page grid and creation popup. Thank you, @jolelievre
- #38081: Add new discount cart level cqrs command. Thank you, @tleon
- #38046: Feat: add entities for multi-shipment. Thank you, @PoulainMaxime
- #36374: PR - Fix order detail price re-calculation. Thank you, @Jeremie-Kiwik
Core
- #38376: Update Symfony components after 6.4.20 release. Thank you, @nicosomb
- #38193: Removed extra repeated line. Thank you, @dali-rajab
Tests
- #38379: Functional Tests : Migrate to
@prestashop-core/ui-testing
(Part 6). Thank you, @Progi1984 - #38306: Functional Tests : Bump
@prestashop-core/ui-testing
. Thank you, @Progi1984 - #38300: Functional Tests : Stabilisation “functional:BO:shop-parameters:05-07”. Thank you, @Progi1984
- #38226: Functional Tests : Stabilisation “functional:BO:shop-parameters:05-07”. Thank you, @Progi1984
- #38205: Functional Tests : Stabilisation “functional:BO:catalog:07-08”. Thank you, @Progi1984
- #38198: Functional Tests : Enable after #22581. Thank you, @Progi1984
- #38190: Functional Tests : Migrate to
@prestashop-core/ui-testing
(Part 5). Thank you, @Progi1984
Code changes in the ‘9.0.x’ branch
Back office
- #38370: Demo grid improvements. Thank you, @jolelievre
- #38304: Fix mail theme scanner when used on a module folder. Thank you, @jolelievre
- #38262: Cast icon to string if null. Thank you, @Hlavtox
- #38246: Tax rule group country edition. Thank you, @jolelievre
- #38203: Remove link in help message for product stock option. Thank you, @jolelievre
- #38202: Detail development possibilities for trusted proxies. Thank you, @jolelievre
- #38194: Symfony remember me lifetime is linked to the BO config. Thank you, @jolelievre
- #38156: Fix legacy context initialisation inconsistencies. Thank you, @jolelievre
- #38153: Load module translation catalogues for all present modules. Thank you, @jolelievre
- #38152: Hide spinner if no ajax in progress. Thank you, @Hlavtox
- #38141: Fix missing changeFormLanguageUrl. Thank you, @Hlavtox
- #38112: Fix: header positioning. Thank you, @tblivet
- #38100: Fix: Cookie mechanism is broken after refactoring for 9.0.0. Thank you, @Codencode
- #37961: Search Tab with case sensitive matching. Thank you, @jolelievre
Core
- #38310: Display additional details about the module errors in the CLI command. Thank you, @jolelievre
- #38232: Improve hook generation for fixtures and documentation. Thank you, @jolelievre
Front office
- #38303: Add missing function strpos for smarty templates. Thank you, @jolelievre
- #38265: Fix and refactor category controller for non existent categories. Thank you, @Hlavtox
- #38263: Fix profiler working with arrays. Thank you, @Hlavtox
- #38056: Added smartyRegisterFunction for file_exists and strpos.. Thank you, @Codencode
Installer
- #38235: Display the error reported by the module when the installation of PrestaShop fails because of it. Thank you, @Quetzacoalt91
Tests
- #38346: Functional Tests : Bump
@prestashop-core/ui-testing
. Thank you, @Progi1984 - #38236: Functional Tests : Stabilisation “functional:FO:hummingbird:04-07”. Thank you, @Progi1984
- #38230: Functional Tests : Stabilisation “functional:BO:shipping”. Thank you, @Progi1984
- #38210: Functional Tests : Stabilisation “functional:FO:hummingbird:08-12”. Thank you, @Progi1984
Code changes in the ‘8.2.x’ branch
Back office
- #38355: Fix: It is not possible to view a cart in the admin if it contains customized items. Thank you, @Codencode
- #38243: Fixed FI taxes in localization files. Thank you, @nicosomb
- #38234: Update product indexation after each update when it is needed. Thank you, @jolelievre
- #38168: Category::getParentsCategories fix with multiple root categories. Thank you, @jolelievre
- #38136: Fix: Issue with JS and CSS cache clearing in multishop context. Thank you, @Codencode
Core
- #38327: Fix actionFilterDeliveryOptionList hook Cart Param. Thank you, @adrianllopis
Front office
- #38257: Fix: Address Fields Disappear After Changing Country on Checkout Page. Thank you, @Codencode
- #38157: Fix: Issue with multilingual translations. Thank you, @Codencode
Web services
Code changes in modules, themes and tools
Auto Upgrade module
- #1278: Merge changes from 7.0.x into dev branch. Thank you, @Quetzacoalt91
- #1277: Remove intl from the PHP requirements in Composer as it is checked on runtime. Thank you, @Quetzacoalt91
- #1276: Transfer English translations export to 7.0.x branch. Thank you, @Quetzacoalt91
- #1275: New Crowdin updates. Thank you, @ps-jarvis
- #1274: Translation catalog update. Thank you, @github-actions
- #1273: [FIX] error 500 on backup choice. Thank you, @ga-devfront
- #1271: Update list of branches in the Read-me. Thank you, @Quetzacoalt91
- #1267: New Crowdin updates. Thank you, @ps-jarvis
- #1264: Translation catalog update. Thank you, @github-actions
- #1263: New Crowdin updates. Thank you, @ps-jarvis
- #1262: Update date format on backup. Thank you, @tblivet
- #1261: Merge 6.x into master. Thank you, @Quetzacoalt91
- #1260: Merge 7.0.x into dev. Thank you, @Quetzacoalt91
- #1259: New Crowdin updates. Thank you, @ps-jarvis
- #1258: Avoid images to be deleted during a restore. Thank you, @Quetzacoalt91
- #1257: Removed core call when retrieving timezone for restore process. Thank you, @M0rgan01
- #1256: Fetch the stepper on each update. Thank you, @Quetzacoalt91
- #1255: [FIX & REFACTO] Restore DB process. Thank you, @ga-devfront
- #1254: New Crowdin updates. Thank you, @ps-jarvis
- #1253: Move deletion of files BEFORE unzipping backup. Thank you, @Quetzacoalt91
- #1252: Add string size limit for logs. Thank you, @M0rgan01
- #1251: New Crowdin updates. Thank you, @ps-jarvis
- #1250: Update module description and name. Thank you, @tblivet
- #1249: Add new requirement for development version. Thank you, @M0rgan01
- #1248: Remove use of uneeded GLOB_BRACE constant. Thank you, @Quetzacoalt91
- #1247: [NEW UI] Storybook fix. Thank you, @tblivet
- #1246: Design review fix. Thank you, @tblivet
- #1245: New Crowdin updates. Thank you, @ps-jarvis
- #1242: Allow use of flexible directory separator. Thank you, @Quetzacoalt91
- #1241: [SQL scripts] Add verification for states and delete update query configuration. Thank you, @M0rgan01
- #1240: Fix Unknown configuration key. Thank you, @M0rgan01
- #1237: Fix README table of content. Thank you, @tblivet
- #1236: [NEW UI] rework /_dev structure. Thank you, @ga-devfront
- #1235: Translation catalog update. Thank you, @github-actions
- #1234: Add missing scripts update from 1.7.0 to 8.2.0. Thank you, @M0rgan01
- #1233: Fix enabling of the next button with some PHP versions. Thank you, @Quetzacoalt91
- #1232: New Crowdin updates. Thank you, @ps-jarvis
- #1231: Translation catalog update. Thank you, @github-actions
- #1230: [NEW UI] Add segment events tracking. Thank you, @ga-devfront
- #1229: Fix redirection after the last backup deletion. Thank you, @Quetzacoalt91
- #1228: Fix display of error 404 page. Thank you, @Quetzacoalt91
- #1227: Add error code and type in error page dataset. Thank you, @Quetzacoalt91
- #1226: Translation catalog update. Thank you, @github-actions
- #1225: Pick up & display details if possible when an error occurs during a process. Thank you, @Quetzacoalt91
- #1224: New Crowdin updates. Thank you, @ps-jarvis
- #1223: Remove old check preventing PrestaShop 8.2.1+ to be installed. Thank you, @Quetzacoalt91
- #1222: New Crowdin updates. Thank you, @ps-jarvis
- #1221: [NEW UI] add segment on frontend. Thank you, @ga-devfront
- #1220: Get UI dependencies needed by storybook too. Thank you, @Quetzacoalt91
- #1219: New Crowdin updates. Thank you, @ps-jarvis
- #1218: New Crowdin updates. Thank you, @ps-jarvis
- #1217: Translation catalog update. Thank you, @github-actions
- #1216: Remove unused analytics properties. Thank you, @Quetzacoalt91
- #1215: Update back events. Thank you, @Quetzacoalt91
- #1214: Update README.md. Thank you, @Issomane
- #1213: Catch all potential issues of core init during a process startup. Thank you, @Quetzacoalt91
- #1212: [CLI] Add “unknown configuration” log. Thank you, @M0rgan01
- #1211: [NEW UI] Storybook check. Thank you, @tblivet
- #1210: New Crowdin updates. Thank you, @ps-jarvis
- #1209: Translation catalog update. Thank you, @github-actions
- #1208: [DOC] Update README for v7. Thank you, @M0rgan01
- #1155: Do not overwrite configuration. Thank you, @Hlavtox
Cash on delivery module
- #89: Functional Tests : Added 8.2.1. Thank you, @Progi1984
- #87: Updated actions/cache version in github workflow. Thank you, @nicosomb
Changes in developer documentation site
- #39: change the settings of GA4 tracking. Thank you, @kpodemski
- #38: Update currentUpgradeGuideURL url. Thank you, @M0rgan01
Changes in developer documentation sources
- #1948: Use github token for PHP setup and indirectly composer. Thank you, @jolelievre
- #1947: Use 9.0.x core branch as the reference. Thank you, @jolelievre
- #1946: Use 9.0.x core branch as the reference. Thank you, @jolelievre
- #1945: Remove guzzle referencies and add example about Symfony HTTP Client. Thank you, @jolelievre
- #1943: Update 9 branch for V7 of autoupgrade module. Thank you, @M0rgan01
- #1942: Update 8 branch for V7 of autoupgrade module. Thank you, @M0rgan01
- #1941: Update 1.7 branch for V7 of autoupgrade module. Thank you, @M0rgan01
- #1940: (9.x) Add redirections. Thank you, @M0rgan01
- #1939: (8.x) Add redirections. Thank you, @M0rgan01
- #1938: (1.7.x) Add redirections. Thank you, @M0rgan01
- #1902: Regenerate hooks list documentations. Thank you, @tleon
Changes in developer documentation theme
- #62: adapt GA4 script to respect the config correctly. Thank you, @kpodemski
Classic theme
- #165: Remove constant function from smarty template. Thank you, @jolelievre
Customer reassurance block module
- #712: Fix: Problem with the blockreassurance module in case of a site in a subfolder. Thank you, @Codencode
Example modules
- #213: Adapt module democontrollertabs for V9. Thank you, @jolelievre
- #212: Adapt module democonsolecommand for V9. Thank you, @jolelievre
- #211: Adapt Demo grid module for V9. Thank you, @jolelievre
- #210: Remove API module for 8.x. Thank you, @jolelievre
- #209: Remove module for old product page. Thank you, @jolelievre
- #208: Some improvements for demoproductextracontent module. Thank you, @boherm
- #207: Adapt demovieworderhooks for v9. Thank you, @boherm
- #206: Remove module for v9 from the 8.x branch. Thank you, @jolelievre
- #205: Demoproductform v9. Thank you, @jolelievre
- #203: Compatibility with v9 for demosymfonyform module. Thank you, @jolelievre
- #202: Handle compatibility with V9. Thank you, @jolelievre
- #201: V9 Compatibility for demowsextend. Thank you, @jolelievre
- #200: Example module mailtheme v9. Thank you, @jolelievre
- #199: Fixed folder name to works with ApiResourceScopesExtractor in PS 9 Beta 1. Thank you, @rubenrcdev
Fixtures Creator
- #20: V9 compatibility. Thank you, @jolelievre
Hummingbird theme
- #691: [IMPROVEMENTS - PART 4] Global quality improvement. Thank you, @tblivet
- #690: [IMPROVEMENTS - PART 3] Global quality improvement. Thank you, @tblivet
- #689: use actions/cache v4. Thank you, @tswfi
- #679: [IMPROVEMENTS - PART 2] Global quality improvement. Thank you, @tblivet
Localization Files
PrestaShop Flashlight
- #161: Ability to override amdin mail and password at runtime. Thank you, @Alexandre-Lematre
- #159: Fixed disabling xdebug too early. Thank you, @Alexandre-Lematre
PrestaShop contributors website
Presthubot
- #317: CI : Bump actions/cache to v4. Thank you, @Progi1984
Seamless Upgrade Toolbox
- #28: Fix rollback script. Thank you, @M0rgan01
- #27: Shell check. Thank you, @M0rgan01
- #26: Add SQL table diff feature. Thank you, @M0rgan01
Search Bar module
Share Buttons module
- #65: Release 2.1.3. Thank you, @nicosomb
- #64: // Version updated to v2.1.3. Thank you, @nicosomb
- #63: Added description to fix Pinterest sharing. Thank you, @nicosomb
The PrestaShop open source project
- #284: Replace bitmap PrestaShop logo by vectorial image. Thank you, @Klemart3D
- #281: Update manual steps in release process. Thank you, @nicosomb
UI Testing Library
- #509: Migrate
@pages/FO/{classic|hummingbird}/bestSales
from Core. Thank you, @Progi1984 - #508: Migrate
@pages/BO/searchResults
from Core. Thank you, @Progi1984 - #507: Migrate
@pages/BO/quickAccess/add
from Core. Thank you, @Progi1984 - #506: Migrate
@pages/BO/advancedParameters/multistore/url
from Core. Thank you, @Progi1984 - #499: Migrate
@pages/BO/advancedParameters/multistore/add
from Core. Thank you, @Progi1984 - #498: Migrate
@pages/BO/advancedParameters/webservice/add
from Core. Thank you, @Progi1984 - #497: Migrate
@pages/BO/advancedParameters/webservice
from Core. Thank you, @Progi1984 - #496: Migrate
@pages/BO/advancedParameters/team/permissions
from Core. Thank you, @Progi1984 - #495: Migrate
@pages/BO/shopParameters/search/tags/add
from Core. Thank you, @Progi1984 - #494: Migrate
@pages/BO/shopParameters/search/tags
from Core. Thank you, @Progi1984 - #493: Migrate
@pages/BO/shopParameters/trafficAndSeo/searchEngines/add
from Core. Thank you, @Progi1984 - #492: Migrate
@pages/BO/shopParameters/trafficAndSeo/searchEngines
from Core. Thank you, @Progi1984 - #491: Migrate
@pages/BO/shopParameters/trafficAndSeo/seoAndUrls/add
from Core. Thank you, @Progi1984 - #490: Migrate
@pages/BO/shopParameters/trafficAndSeo/seoAndUrls
from Core. Thank you, @Progi1984 - #489: Migrate
@pages/BO/shopParameters/contact/add
from Core. Thank you, @Progi1984 - #488: Migrate
@pages/BO/shopParameters/customerSettings/titles/add
from Core. Thank you, @Progi1984 - #487: Migrate
@pages/BO/shopParameters/customerSettings/titles
from Core. Thank you, @Progi1984 - #480: View order: update status 1.7.6 to 8.2. Thank you, @davidPrestashop
- #478: ViewOrder page: modify order status PS 1.7.8 & 8.2. Thank you, @davidPrestashop
- #477:
boSearchAliasCreatePage
: Improve timeout. Thank you, @Progi1984 - #471: foHummingbirdCategoryPage : Stabilize calls for quickview. Thank you, @Progi1984
- #470: boCarriersPage : Stabilize calls for dnd. Thank you, @Progi1984
- #463: foHummingbirdHomePage : Stabilize calls for quickview. Thank you, @Progi1984
- #462: boStockPage : Stabilize calls for pagination. Thank you, @Progi1984
- #461: Migrate
@pages/BO/shopParameters/orderSettings/statuses/add
from Core. Thank you, @Progi1984 - #460: Migrate
@pages/BO/shopParameters/orderSettings/statuses/returnStatus/add
from Core. Thank you, @Progi1984 - #459: Migrate
@pages/BO/shopParameters/orderSettings/statuses
from Core. Thank you, @Progi1984 - #458: Migrate
@pages/BO/international/taxes/add
from Core. Thank you, @Progi1984 - #457: Migrate
@pages/BO/international/locations/states/add
from Core. Thank you, @Progi1984
Thank you to the contributors whose pull requests were merged since the last Core Monthly Report: @Alexandre-Lematre, @Codencode, @Hlavtox, @Issomane, @Jeremie-Kiwik, @Klemart3D, @M0rgan01, @PoulainMaxime, @Progi1984, @Quetzacoalt91, @SharakPL, @adrianllopis, @boherm, @dali-rajab, @davidPrestashop, @fox-john, @ga-devfront, @github-actions, @jolelievre, @kpodemski, @nicosomb, @ps-jarvis, @rubenrcdev, @tblivet, @tleon, @tswfi!
Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!
Coding is only just one of the ways you can contribute. Here are some ideas on how you can get involved in the project.
If you need help with contributing or have questions about it, feel free to contact me, @kpodemski, on the project’s Slack.
Happy contributin’ everyone!