PrestaShop Core Monthly - June 2025
Your monthly digest of the PrestaShop codebase's latest changes and news from the PrestaShop project
We are back with yet another edition of the PrestaShop Core Monthly, your monthly digest of the PrestaShop codebase’s latest changes and news from the PrestaShop project.
PrestaShop 9.0.0 is out! 🎉
June marks the completion of one month since the PrestaShop 9.0.0 release, which is now available for download!
This release is a major milestone for the PrestaShop project, as it brings a lot of new features and improvements. We hope you will enjoy it as much as we do. You can find more information in the release notes.
We also created a dedicated landing page for the release, which you can find here.
Call for contributions: Hooks
June was also the last month of our call for contributions related to hooks, which was launched earlier this year. The goal of this call was to improve the hooks system in PrestaShop, and to encourage contributors to create new hooks or improve existing ones.
We are happy to announce that we achieved our goal of 10 merged contributions!
You can find a dedicated post about this call here and see the list of merged contributions, as well as agencies and contributors who participated in this call.
Thank you to all the contributors! We are looking forward to seeing more contributions in the future, and we hope that this call will inspire you to contribute to PrestaShop in other areas as well.
The next call for contributions will be launched in the coming weeks, so stay tuned!
Contributor interviews
I want to also share with you a new contributor interview, published in June. This time, we talked with Dominik Shaim Ulrich, @ShaiMagal, a long-time contributor to the PrestaShop project. He shared his experience with contributing to PrestaShop, the reasons why he contributes, and his thoughts on the project. You can read the interview here.
For those who have not read the previous interview with @Codencode, you can find it here. Paolo from Codencode shared some amazing insights about his experience with contributing to PrestaShop, and how his agency is involved in the project.
We want to continue this interview series, so if you are a contributor and would like to share your experience with the project, or you know someone who would be a great interview candidate, please let me know!
Summary
June was marked by the PrestaShop 9.0.0 release, which is a major milestone for the project. We can’t wait to see how the community will embrace this new version and what new projects will be built upon it.
Without further ado, below is a summary of changes in the PrestaShop codebase and modules for June 2025.
Project releases
-
PrestaShop, PrestaShop 9.0.0 released on 2025-06-10.
-
Gamification module, v3.0.6 released on 2025-06-05.
A quick update about PrestaShop’s GitHub issues and pull requests:
- 116 new issues have been created in the project repositories;
- 74 have been closed, including 1 fixed issues on the core;
- 295 pull requests have been opened in the project repositories;
- 261 pull requests have been closed, including 209 merged pull requests.
Code changes in the ‘9.0.x’ branch
Back office
- #39022: Styles header notifications. Thank you, @tblivet
- #39007: Client API - Help card is not displayed in sidebar as it should. Thank you, @seiwan
- #38966: Add missing Content-Type header in stock quantity update request. Thank you, @nborkowska
- #38849: Change criteria to hide invalid endpoints. Thank you, @jolelievre
- #38846: BO Countries : Set two fields
call_prefix
&zip_code_format
as non-required. Thank you, @Progi1984 - #38841: Small refacto LegacyControllerContext. Thank you, @boherm
- #38795: Fix LegacyControllerContextBuilder to use physicalUri. Thank you, @boherm
- #38199: Fix: Cannot use ’type’ => ‘file’ on HelperOptions on PS 9.0.x. Thank you, @Codencode
Core
- #39043: Silence some last smarty deprecations. Thank you, @Hlavtox
- #39034: Update Symfony components after 6.4.23 release. Thank you, @nicosomb
- #38997: Remove dead code watermark types. Thank you, @tswfi
- #38990: Secure .env files and comment htaccess. Thank you, @Hlavtox
- #38989: Fix carrier ID for modules. Thank you, @Hlavtox
- #38905: Cast properties to prevent issues. Thank you, @Hlavtox
- #38881: Add hook that allows completely custom cart rule application on a cart. Thank you, @Hlavtox
- #38877: Clean and comment postSave. Thank you, @Hlavtox
- #38853: Update changelog for 9.0.0. Thank you, @jolelievre
- #38847: Skip rector.php and PHPStan files during build. Thank you, @kpodemski
- #38820: Update Symfony components after 6.4.22 release. Thank you, @nicosomb
- #38441: Relax validation rules for first batch of characters. Thank you, @Hlavtox
Front office
- #38992: Improve combination images speed. Thank you, @Hlavtox
- #38926: Fix favicon path. Thank you, @Hlavtox
- #38903: CustomerAddressForm : Set a minimum length in HTML5. Thank you, @Progi1984
- #38868: Update CHANGELOG.txt. Thank you, @Touxten
- #38586: add hook into formfield class mehtod toArray + add property attr. Thank you, @Mch0
- #38487: New Hook: actionGetPdfTemplateObject get pdf template object. Thank you, @Markus-Gurkcity
Installer
Tests
- #38999: Fix FormFieldTest. Thank you, @boherm
- #38927: Functional Tests : Bump @prestashop-core/ui-testing. Thank you, @Progi1984
- #38890: Functional Tests : Bump @prestashop-core/ui-testing. Thank you, @Progi1984
- #38885: Functional Tests : API : PATCH /product/{productId}/shops. Thank you, @Progi1984
- #38873: Functional Tests : Reorganize endpoints based on domains. Thank you, @Progi1984
- #38749: TextWithLengthCounterType : Support for existing CSS class. Thank you, @Progi1984
Code changes in the ‘develop’ branch
Back office
- #38953: New generic form types, integration of minimum quantity and amount in the discount form. Thank you, @jolelievre
- #38909: [FEAT] Add switch shipment carrier CQRS command. Thank you, @ga-devfront
- #38867: Integrate discount conditions in form. Thank you, @tleon
- #38842: Discount minimal cart product. Thank you, @jolelievre
- #38837: Add delete discount command and list for api & bo. Thank you, @tleon
- #38746: Add product selection while creating free gift discount. Thank you, @nicosomb
Core
- #39029: remove docker compose version, it is obsolete. Thank you, @tswfi
- #38900: Bump to 9.1.0. Thank you, @boherm
- #38898: Improvig typing. Thank you, @Kaikina
- #38779: New order history retrieval filter. Thank you, @Kaikina
- #38839: PR to add hooks on Module enable/disable/upgrade. Thank you, @studiokiwik
Tests
- #38949: Functional Tests : BO - Cart rules - Actions : Free shipping. Thank you, @Progi1984
Code changes in the ‘8.2.x’ branch
Back office
- #38982: BO : Product Form : Use the correct configuration for the Max Filesize. Thank you, @Progi1984
- #38773: Disable autofill of password for edit customer in BO. Thank you, @ShaiMagal
- #38634: Improved regex in StringModifier. Thank you, @nicosomb
- #38532: Fix: Multistore: CMS page error on new empty store creation. Thank you, @Codencode
- #38337: Fix: Max password length allowed in the password policy is longer than bcrypt can handle and hardcoded max pass length for customer. Thank you, @Codencode
- #37928: Fix datacollector caster for reference object property including smarty cache_locking fatal error. Thank you, @jf-viguier
Core
- #38952: Add 2 hooks in getImageLink. Thank you, @ludoviccardinale
- #38924: Backport improved profiler from v9. Thank you, @Hlavtox
- #38772: New hook at TOP of customer my account section - displayCustomerAccountTop. Thank you, @ShaiMagal
- #38593: Fix query builder to find translations by key in Backoffice during the translations saving process. Thank you, @mcaldex
Front office
Code changes in modules, themes and tools
API Resources
- #54: Update README links. Thank you, @PrestaEdit
- #53: Make test skipping more resilient. Thank you, @jolelievre
- #52: Condition setUp client creation. Thank you, @jolelievre
- #51: Release version 0.1.0. Thank you, @jolelievre
- #50: Add delete discount & list endpoint. Thank you, @tleon
Auto Upgrade module
- #1415: New Crowdin updates. Thank you, @ps-jarvis
- #1414: Bump to v7.2.0. Thank you, @Quetzacoalt91
- #1413: Translation catalog update. Thank you, @github-actions
- #1412: Translation catalog update. Thank you, @github-actions
- #1411: Defer the creation of links to increase the chances the destination exists. Thank you, @Quetzacoalt91
- #1410: [FIX] error handler. Thank you, @ga-devfront
- #1409: Fix upgrade warning. Thank you, @Hlavtox
- #1408: [FIX] module migration files. Thank you, @ga-devfront
- #1407: Translation catalog update. Thank you, @github-actions
- #1406: Merge changes from 7.1.x to dev. Thank you, @Quetzacoalt91
- #1404: Check PHP function symlink exists in pre-requirements. Thank you, @Quetzacoalt91
- #1403: UI tests - Fix version end to v9 and update memory limits. Thank you, @Quetzacoalt91
- #1402: Translation catalog update. Thank you, @github-actions
- #1401: UI tests - Fix version end to v9 and update memory limits. Thank you, @nesrineabdmouleh
- #1397: [FIX] Load right remote xml file. Thank you, @ga-devfront
- #1395: [FIX] Restore file doesn’t delete link. Thank you, @ga-devfront
- #1394: New Crowdin updates. Thank you, @ps-jarvis
- #1393: New Crowdin updates. Thank you, @ps-jarvis
- #1392: Translation catalog update. Thank you, @github-actions
- #1391: Bring changes of 7.1.x into dev. Thank you, @Quetzacoalt91
- #1388: [REFACTO] backup files. Thank you, @ga-devfront
- #1387: [FEAT] add browser tab progress then hidden the page. Thank you, @ga-devfront
- #1386: Update 9.0.0 hooks before RC release. Thank you, @jolelievre
- #1385: Clear cache folders after an update and a restore. Thank you, @Quetzacoalt91
- #1381: [FEAT] skeleton on file alterations. Thank you, @ga-devfront
- #1335: Prevent issues to happen while unlinking a non-existing but cached file. Thank you, @Quetzacoalt91
Best-selling products statistics module
Changes in developer documentation site
- #40: Mark v9 as a current version. Thank you, @kpodemski
Changes in developer documentation sources
- #2000: Update PHP recommend version. Thank you, @jeckyl
- #1991: Fix SVG path on page /admin-api/api-platform/. Thank you, @PrestaEdit
- #1990: Remove notice about feature in development. Thank you, @PrestaEdit
- #1988: Fix API block and minor changes in the requirements. Thank you, @kpodemski
- #1987: Mark v9 as a current version. Thank you, @kpodemski
- #1986: Mark v8 as a previous version. Thank you, @kpodemski
- #1984: modules mail theme add layout change path of layout replace DIR b…. Thank you, @Mch0
- #1983: Update adding-configuration-page-modern.md. Thank you, @sessadek
- #1981: the attribute
version
is obsolete. Thank you, @NKoonen - #1980: Add hook
excl
params doc. Thank you, @PululuK - #1979: feat: add type options to DatePickerType. Thank you, @PrestaEdit
- #1978: feat: add type options to DatePickerType. Thank you, @PrestaEdit
- #1977: feat: add type options to DatePickerType. Thank you, @PrestaEdit
Classic theme
- #172: Add an attribute minlength if provided. Thank you, @Progi1984
- #171: New hook at TOP of customer my account section - displayCustomerAccountTop. Thank you, @ShaiMagal
- #169: [Idea] Add the
<textarea>
element among the available types for the FromField class. Thank you, @Codencode
Dashboard Activity module
Dashboard Goals module
Dashboard Trends module
Distribution API
- #64: Fix an issue making the v9+ always refreshed. Thank you, @ga-devfront
- #63: [DEPLOY] Add the release notes of PS 9.0.0. Thank you, @Quetzacoalt91
- #61: Enable updates to PrestaShop v9. Thank you, @Quetzacoalt91
Docker images
- #421: Publish docker for distribution Classic 9.0.0-1.0. Thank you, @jolelievre
- #419: Handle classic image generation and generate for rc 1. Thank you, @tleon
Faceted search module
Hummingbird theme
- #727: Add contributors. Thank you, @Touxten
- #724: [IMPROVEMENTS - PART 18] Global quality improvement. Thank you, @tblivet
- #723: [IMPROVEMENTS - PART 17] Global quality improvement. Thank you, @tblivet
- #716: [IMPROVEMENTS - PART 16] Global quality improvement. Thank you, @tblivet
- #715: Release 1.0.1. Thank you, @jolelievre
- #713: [IMPROVEMENTS - PART 15] Global quality improvement. Thank you, @tblivet
- #712: Add an attribute minlength if provided. Thank you, @Progi1984
- #711: [IMPROVEMENTS - PART 14] Global quality improvement. Thank you, @tblivet
- #709: [IMPROVEMENTS - PART 13] Global quality improvement. Thank you, @tblivet
- #706: [IMPROVEMENTS - PART 12] Global quality improvement. Thank you, @tblivet
- #705: [IMPROVEMENTS - PART 11] Global quality improvement. Thank you, @tblivet
- #704: [IMPROVEMENTS - PART 10] Global quality improvement. Thank you, @tblivet
- #702: [IMPROVEMENTS - PART 9] Global quality improvement. Thank you, @tblivet
- #701: New hook at TOP of customer my account section - displayCustomerAccountTop. Thank you, @ShaiMagal
- #698: [Idea] Add the
<textarea>
element among the available types for the FromField class. Thank you, @Codencode
PrestaShop Flashlight
Presthubot
- #340:
slack:notifier
: Fixed number of reports for autoupgrade. Thank you, @Progi1984
Product Comments module
Product details statistics module
Special offers module
- #18: Fix Workflow use actions/cache@v4 instead of V1 or V2. Thank you, @Touxten
- #17: Add Sponsors Compagny. Thank you, @Touxten
The PrestaShop open source project
- #291: PrestaShop 9. Thank you, @kpodemski
UI Testing Library
- #612: Fix feature flag page title. Thank you, @nesrineabdmouleh
- #611: Add missing variable in feature flag interface. Thank you, @nesrineabdmouleh
- #610: Add methods to upgrade local channel. Thank you, @nesrineabdmouleh
- #604:
foClassicCartPage
&foClassicCheckoutPage
: Added some methods. Thank you, @Progi1984 - #599:
boMultistoreShopCreatePage
: Fixed update shop. Thank you, @Progi1984 - #598: Fix cart CSV format when the customer name is empty. Thank you, @jolelievre
- #597: Improvements for Multistore & Admin API. Thank you, @Progi1984
- #596: Add close new modal upgrade from dashboard. Thank you, @nesrineabdmouleh
- #595: Add timeout for module autoupgrade and fix validation message. Thank you, @nesrineabdmouleh
- #590: Fix save product method. Thank you, @nesrineabdmouleh
- #589: Fix block product in order page for PS 1.7.6. Thank you, @nesrineabdmouleh
- #588: Fix modify order status. Thank you, @nesrineabdmouleh
- #587: Fix logout FO selector. Thank you, @nesrineabdmouleh
Thank you to the contributors whose pull requests were merged since the last Core Monthly Report: @Codencode, @Hlavtox, @Kaikina, @Markus-Gurkcity, @Mch0, @NKoonen, @PrestaEdit, @Progi1984, @PululuK, @Quetzacoalt91, @ShaiMagal, @ThbPS, @Touxten, @boherm, @ga-devfront, @github-actions, @gwojcik7, @jeckyl, @jf-viguier, @jolelievre, @kpodemski, @ludoviccardinale, @matks, @mcaldex, @nborkowska, @nesrineabdmouleh, @nicosomb, @ps-jarvis, @seiwan, @sessadek, @studiokiwik, @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!