The first Core Monthly of 2024 is here! 🎉 Let’s dive into the progress we’ve made together in the first month of this promising year.

Core Monthly banner

Release of PrestaShop 8.1.3 and 1.7.8.11

In January we released security updates for PrestaShop 8.1 and 1.7.8. The updates fixed security vulnerabilities discovered by community researchers. We recommend that you update your store to the latest version of PrestaShop to ensure that your store is secure.

Want to know more about those releases? Head into the release notes for PrestaShop 8.1.3 and PrestaShop 1.7.8.11.

It is important to note that the upgrade to PrestaShop 8.1.3 includes more than just security fixes. Therefore, it is recommended to use the autoupgrade module for the upgrade process. For updating your PrestaShop 1.7.8 store, you can consider using the manual method. This involves replacing the files on your server with the new ones. You can find the list of changed files here.

Migration to Symfony 6

In January, we continued the migration to Symfony 6: as introduced last year, PrestaShop 9 will run on Symfony 6.4. We are making progress and we are getting closer to the finish line. The migration to Symfony 6 itself is, of course, a complicated process that will affect the community’s solutions. We have this in mind and will present the first materials summarizing the impact of those changes on your work in March, during the Live Update. As with every major version of PrestaShop, and this time too, there will be a “Notable changes” page in the developer documentation that will summarize the essentials and present strategies for adaptation of your solutions.

New API in PrestaShop 9

Another big project in PrestaShop 9 certainly is the new API. The new API will be based on API Platform and will be a significant improvement over the current one. In January, @jolelievre has been working on the new API and has made significant progress in this area, including the handling of basic multi-shop and multi-lang endpoints. We will soon be preparing a series of content that will allow you to better understand the project’s premise and, most importantly, how to take advantage of its capabilities in your solutions.

PrestaShop 9

Work on version 9 of PrestaShop is underway. In the list of changes from branch develop you can again notice cleaning the codebase from old projects, unused functions or mechanisms. This is also a great opportunity to refactor some methods. One interesting change that was merged to the core in January is an improvement around the use of CLI in PrestaShop, making the life of developers working with PrestaShop a bit easier. You can learn more about these changes in the description of this pull request. The coming months will undoubtedly allow us to present you with even more information about the upcoming version.

PrestaShop 8.1.4

Version 8.1.3 was released in January: meanwhile, a number of improvements and fixes are ready for version 8.1.4, which will make this version more stable. I won’t discuss them in detail now I encourage you to click through and check the list. However, if you are using PrestaShop 8.1.3, you can pick up some of them today and implement them into your stores manually. I will be providing more information on 8.1.4 next month.

Changes in the modules

PrestaShop is not only the Core, but also many native modules supported each month by project members. You may notice a lot of new versions that were released in January. A lot of these releases are small changes, to raise the minimum PHP version compatible with the module or to set a minimum compatible version of PrestaShop, that will work with it. This is to make it easier to maintain native modules. Of the work that went on in January, it is worth mentioning the great work done by @Hlavtox on fixing potential problems with updating some modules. You can see one example here. Another contribution worth mentioning is the work done by @leemyongpakvn on the productcomments module. He has made a lot of changes to the module which will be part of the next release.

Hummingbird

The Hummingbird is a new theme that will be available for PrestaShop 9. It is a modern and clean theme that will be a great starting point for developers to create their own themes. The work on the theme is still in progress, but you can already see the progress on the Hummingbird repository. Discussions between project members are currently underway to establish a plan to complete the theme so that version 1.0 will be released at the same time as PrestaShop 9.

QA

We don’t write about them often, but I think the beginning of the year is a great opportunity to remind people of how important a part of the project they are. Who am I writing about? About QA (Quality Assurance) team members. In every Core Monthly statement, you see a great deal of changes related to automated testing, and January was no different. The quality, quantity and accuracy of automated tests and tools used in the project continue to increase the stability of the software. If you want to know more about the work of the QA team, I encourage you to read the PrestaShop Quality Council page on the project’s website and UI Tests section in the developer documentation.

The testing area of our project is also open. So, if you are interested in helping with it and getting involved, I invite you to visit our Slack channel #quality-assurance.

Live Update

In January we had the opportunity to meet again during the Live Update. The meeting was held on January 17th and was a great opportunity to learn about the progress of the project and to ask questions. If you missed the meeting, you can watch the recording on the PrestaShop Project YouTube channel.

In the first Live Update of the year Łukasz Janik, CEO of Waynet E-commerce Agency, presented his talk from the PrestaShop Developer Conference 2023 about the development optimization of PrestaShop stores and modules through the CI/CD process. The presentation was very interesting and I encourage you to watch it.

The next Live Update is scheduled for February 7th. This time, we will have yet another special guest: Tomas Ilginis, a developer from Invertus, which is one of the leading agencies specializing in PrestaShop. Tomas will share insights on how himself and his colleagues at Invertus prefer to work with PrestaShop modules. This presentation was originally delivered during the PrestaShop Developer Conference in Paris.

Make sure to mark your calendar and join us on February 7th at 4 pm (Paris time) on YouTube!

Summary

We started 2024 with a lot of work and a lot of plans. The project is moving forward and we are getting closer to the release of PrestaShop 9. The Live Update is a great opportunity to learn more about the project and to ask questions. I encourage you to join us in February and to watch the recording of the January meeting.

Project releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Back office

CI

Core

  • #35011: CLI improvement before and during install. Thank you, @jolelievre
  • #34939: Remove confusing french method calls. Thank you, @Hlavtox
  • #34927: Add comments, remove unused constants. Thank you, @Hlavtox
  • #34907: Remove generation of unused file “fileType” in every image folder. Thank you, @ShaiMagal
  • #34816: Remove file CACHEDIR.TAG - reverting changes. Thank you, @ShaiMagal
  • #34525: Remove some old deprecations. Thank you, @Hlavtox
  • #34172: Remove image feature flag and fix original images. Thank you, @Hlavtox
  • #32208: Add maildev for docker dev environments. Thank you, @tswfi

FO / BO

  • #35008: Improving Clarity: Refactor Image Link Handling in Link.php. Thank you, @dali-rajab

Front office

Installer

  • #34940: Remove smarty precompilation and fix notices. Thank you, @Hlavtox

LO

  • #35070: Fix default Finnish date_format. Thank you, @tswfi

Tests

  • #35222: Functional tests - Add new test ‘BO > Sort link list table’. Thank you, @nesrineabdmouleh
  • #35210: Bump @typescript-eslint/parser from 6.19.0 to 6.20.0 in /tests/UI. Thank you, @dependabot
  • #35203: Functional tests - Fix nightly 29-01. Thank you, @nesrineabdmouleh
  • #35202: Functional tests - Move classic theme pages in classic directory. Thank you, @nesrineabdmouleh
  • #35199: Bump dotenv from 16.3.2 to 16.4.1 in /tests/UI. Thank you, @dependabot
  • #35198: Bump @faker-js/faker from 8.3.1 to 8.4.0 in /tests/UI. Thank you, @dependabot
  • #35197: Bump mysql2 from 3.7.1 to 3.9.0 in /tests/UI. Thank you, @dependabot
  • #35196: Bump @typescript-eslint/eslint-plugin from 6.19.0 to 6.19.1 in /tests/UI. Thank you, @dependabot
  • #35173: Functional tests - Refacto ‘BO > Stock > Bulk edit quantity’. Thank you, @nesrineabdmouleh
  • #35145: Functional tests - Add new test ‘BO > Design > Export current theme’. Thank you, @nesrineabdmouleh
  • #35132: Functional tests - Add/Refacto tests in ‘BO > Stocks ’ page. Thank you, @nesrineabdmouleh
  • #35120: Bump @typescript-eslint/parser from 6.18.1 to 6.19.0 in /tests/UI. Thank you, @dependabot
  • #35119: Bump mysql2 from 3.7.0 to 3.7.1 in /tests/UI. Thank you, @dependabot
  • #35118: Bump dotenv from 16.3.1 to 16.3.2 in /tests/UI. Thank you, @dependabot
  • #35117: Bump playwright from 1.40.1 to 1.41.1 in /tests/UI. Thank you, @dependabot
  • #35116: Bump @typescript-eslint/eslint-plugin from 6.18.1 to 6.19.0 in /tests/UI. Thank you, @dependabot
  • #35077: Functional tests - Fix Nightly 18-01 : Fix slider URL. Thank you, @nesrineabdmouleh
  • #35068: Functional tests - Add some steps to check welcome and payment emails. Thank you, @nesrineabdmouleh
  • #35060: Functional tests - Add test to check received email when send a message from FO > order details page. Thank you, @nesrineabdmouleh
  • #35059: Functional tests - Add new steps to check received emails when change merchandise returns status. Thank you, @nesrineabdmouleh
  • #35057: Functional tests - Add test to check the email when change the order status to refunded. Thank you, @nesrineabdmouleh
  • #35056: Functional tests - Add steps to check voucher email when return a product . Thank you, @nesrineabdmouleh
  • #35055: Functional tests - Add steps to check received email log. Thank you, @nesrineabdmouleh
  • #35051: Functional tests - Add steps to check emails when change the order status to on backorder. Thank you, @nesrineabdmouleh
  • #35050: Fix(dbdump): add complete insert in databasedump. Thank you, @tleon
  • #35049: Nightly : Externalize Push Reports & Define the maximum number of concurrent jobs. Thank you, @Progi1984
  • #35048: Functional tests - Add test to check received email in customer service page. Thank you, @nesrineabdmouleh
  • #35047: Bump fast-xml-parser from 4.3.2 to 4.3.3 in /tests/UI. Thank you, @dependabot
  • #35046: Bump chai from 4.4.0 to 4.4.1 in /tests/UI. Thank you, @dependabot
  • #35045: Bump @typescript-eslint/parser from 6.18.0 to 6.18.1 in /tests/UI. Thank you, @dependabot
  • #35039: Functional tests : Email subscription - Add some steps to check validation email. Thank you, @nesrineabdmouleh
  • #35036: Functional tests : Email subscription - Fix check confirmation email. Thank you, @nesrineabdmouleh
  • #35032: Functional tests : Mail subscription - Add new test to check ‘Welcome voucher’ email. Thank you, @nesrineabdmouleh
  • #35031: Functional tests - Add test to check email when the merchant change the order status. Thank you, @nesrineabdmouleh
  • #35018: Functional tests - Add steps to check emails in ‘Enable/Disable product availability’ test. Thank you, @nesrineabdmouleh
  • #35002: Bump @typescript-eslint/eslint-plugin from 6.16.0 to 6.18.1 in /tests/UI. Thank you, @dependabot
  • #34994: Bump @typescript-eslint/parser from 6.16.0 to 6.18.0 in /tests/UI. Thank you, @dependabot
  • #34993: Bump mysql2 from 3.6.5 to 3.7.0 in /tests/UI. Thank you, @dependabot
  • #34992: Bump chai from 4.3.10 to 4.4.0 in /tests/UI. Thank you, @dependabot
  • #34983: Functional Tests : Mail subscription - check verification and confirmation email after subscribe to newsletter. Thank you, @nesrineabdmouleh
  • #34959: Functional tests - Add steps to check email when transform a guest to customer . Thank you, @nesrineabdmouleh
  • #34944: Bump @typescript-eslint/parser from 6.15.0 to 6.16.0 in /tests/UI. Thank you, @dependabot
  • #34902: Nightly: use composite actions. Thank you, @boubkerbribri

Web services

Code changes in the ‘8.1.x’ branch

Back office

Core

Front office

  • #35134: Implement canonical urls and remove not needed parameters. Thank you, @Hlavtox
  • #35021: Fix Address form not work properly in customer account area. Thank you, @Codencode
  • #35017: Fix and comment address deletion process. Thank you, @Hlavtox
  • #34698: Allow Front controller called in cli if ssl is on or maintenance mode is on in 8.1. Thank you, @jf-viguier

Tests

Code changes in the ‘1.7.8.x’ branch

Back office

  • #34950: Fix CI on 1.7.8.x after 1.7.8.11 release. Thank you, @tleon

Tests

  • #34953: feat: Backport and add node and dev mode for composite on 1.7.8.x. Thank you, @boubkerbribri

Code changes in the ‘8.0.x’ branch

Tests

  • #34945: feat: Backport and add node and dev mode for composite on 8.0.x. Thank you, @boubkerbribri

Code changes in modules, themes and tools

Auto Upgrade module

  • #667: Add missing hooks. Thank you, @Hlavtox
  • #666: Nightly Upgrade : Fixed date formatting (Use of DateTime::RFC3339_EXTENDED). Thank you, @Progi1984
  • #665: Nightly Upgrade : Fixed date formatting. Thank you, @Progi1984
  • #664: Nightly : Migrate from endpoint hook/add to hook/reports/import. Thank you, @Progi1984
  • #663: Bump follow-redirects from 1.15.3 to 1.15.4 in /tests/e2e. Thank you, @dependabot
  • #662: Check if function get_magic_quotes_gpc() exists before use it. Thank you, @xsbr
  • #661: Fix normalizeVersion() levels on 8.x. Thank you, @Seb33300
  • #659: Adapt upgraded installs to recent changes. Thank you, @Hlavtox

Automated tests on Pull Requests

  • #61: Use symfony layout by default when running UI tests. Thank you, @jolelievre
  • #60: feat: add PR security testing without cache. Thank you, @boubkerbribri
  • #59: feat: Migrate action to use main repo composite actions. Thank you, @boubkerbribri
  • #52: ga.tests.ui.pr : Disable Maildev use. Thank you, @Progi1984

Bootstrap-compatibility-layer

  • #13: chore(deps): bump follow-redirects from 1.15.3 to 1.15.4. Thank you, @dependabot

Changes in developer documentation sources

Contact Form module

Customer data privacy block module

Customer reassurance block module

Dashboard Products module

  • #57: Dashboard recent orders : display “Deleted customer”. Thank you, @HiCharly

Data mining for statistics module

Distribution API Client

Docker images

  • #368: Github Action Publish : Rework (Base & Fetch versions before push images). Thank you, @Progi1984
  • #366: Publish in multiples steps. Thank you, @Progi1984
  • #365: Force publish if there are modifications in base directory. Thank you, @Progi1984
  • #363: Fixed copy of dotenv files (for 9.0 versions) for Nightly. Thank you, @Progi1984
  • #362: Fixed copy of dotenv files (for 9.0 versions). Thank you, @Progi1984
  • #360: Do not run publish GH job on PR. Thank you, @matks
  • #359: Add versions 1.7.8.11 and 8.1.3. Thank you, @matthieu-rolland

Email Alerts module

Email subscription module

Example modules

  • #171: fetchOne –> fetch. Thank you, @NKoonen
  • #170: Bump follow-redirects from 1.15.2 to 1.15.4 in /example_module_mailtheme. Thank you, @dependabot

Faceted search module

Google Analytics module

  • #156: Update readme compatibility info. Thank you, @Hlavtox

Google Sitemap module

  • #178: Bump version number to 4.4.1. Thank you, @Hlavtox
  • #177: Standardize upgrade files. Thank you, @Hlavtox
  • #176: Release version 4.4.0. Thank you, @Hlavtox
  • #175: Add controller for CRON tasks and minor fixes. Thank you, @Hlavtox
  • #174: Remove old way of getting product images. Thank you, @Hlavtox
  • #173: Re added manufacturers list. Thank you, @Uhor

Hummingbird theme

  • #583: Fix html close tag for . Thank you, @sharkooon
  • #573: add psgdpr displayCustomerAccount, fixes #525. Thank you, @tswfi
  • #572: Usability improvements for search widget. Thank you, @tswfi
  • #571: Add ‘Back to Home page’ button on not-found page, fixes #554. Thank you, @tswfi
  • #570: Fix: Separate product reference and manufacturer. Thank you, @dennispw
  • #568: fix: productcomments issues. Thank you, @tblivet
  • #565: Change pager scrolling behaviour, Fixes #562. Thank you, @tswfi
  • #550: fix: multiple slider update on facetsearch. Thank you, @tblivet

Image slider module

Keycloak_connector_demo

  • #49: Bump phpstan/phpstan from 1.10.56 to 1.10.57. Thank you, @dependabot
  • #48: Bump phpstan/phpstan from 1.10.55 to 1.10.56. Thank you, @dependabot
  • #47: Bump phpstan/phpstan from 1.10.54 to 1.10.55. Thank you, @dependabot
  • #46: Bump phpstan/phpstan from 1.10.51 to 1.10.54. Thank you, @dependabot
  • #45: Bump phpstan/phpstan from 1.10.50 to 1.10.51. Thank you, @dependabot

LocalizationFiles

  • #48: Update czech localization pack to reflect changes in the core. Thank you, @ShaiMagal

Nightly board

PrestaShop Core Autoloader

  • #6: Migrate to Symfony 6 and PHP 8.1. Thank you, @M0rgan01

PrestaShop test scenarios

Prestashop-flashlight

  • #67: Move from 8M to 20M to support more modules. Thank you, @jokesterfr
  • #65: add config variables to env. Thank you, @Clap404
  • #64: chore(example): add a dynamic module installation example. Thank you, @jokesterfr
  • #63: fix(build): the latest tag was misgiven. Thank you, @jokesterfr
  • #55: fix(build): add support for 8.1.3 and 1.7.8.11. Thank you, @jokesterfr

Presthubot

Product Comments module

Ps_apiresources

  • #9: chore(ci): move tests and endpoint from core. Thank you, @tleon
  • #8: Setup integration tests for API endpoints. Thank you, @tleon

QA nightly results

Quality Assurance module

  • #44: Bump follow-redirects from 1.15.2 to 1.15.4. Thank you, @dependabot

Social Follow module

The PrestaShop open source project

  • #251: Improve release process: publish release note after upgrade API. Thank you, @matks
  • #250: fix: add directory for each file and move images to each process directory. Thank you, @boubkerbribri
  • #249: Fix images on quality council folder. Thank you, @boubkerbribri
  • #248: Move @0x346e3730 to alumni. Thank you, @matks
  • #247: Add alumni role. Thank you, @matks
  • #246: Add tblivet to committers. Thank you, @kpodemski

TranslationTools Bundle

Ui-testing-library

Viewed products block module

Wire payment module

  • #84: Delete deprecated files and bump version. Thank you, @Hlavtox

Wishlist block module

Zip-archives

  • #5: Add ZIP 8.1.3 and 1.7.8.11. Thank you, @matks

Thank you to the contributors whose pull requests were merged since the last Core Monthly Report: @Clap404, @Codencode, @HiCharly, @Hlavtox, @M0rgan01, @MHostinato, @NKoonen, @NicolasCador, @PrestaEdit, @Progi1984, @Seb33300, @ShaiMagal, @TomLorenzi, @Uhor, @bibips, @boherm, @boubkerbribri, @buggyzap, @dali-rajab, @danilocarta, @davidismeurt, @dennispw, @dependabot, @elodie-bil3, @github-actions, @gross-nvs, @helioalb, @hherreros-webimpacto, @jf-viguier, @jokesterfr, @jolelievre, @kpodemski, @leemyongpakvn, @matks, @matthieu-rolland, @metacreo, @nesrineabdmouleh, @nicosomb, @sharkooon, @tblivet, @tleon, @tswfi, @web-cooking-factory, @xsbr!

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!