In this article, delve into September’s updates and news from the project. As well as Hacktoberfest 2023’s kick off, offering a month-long celebration of open-source contributions. Keep reading for more information.

Core Monthly banner

PrestaShop 8.1.2

In September, the project saw the release of PrestaShop 8.1.2. This second patch for the 8.1 series brings two security fixes and addresses over 30 bugs. The release also includes minor enhancements, particularly to the new product page and the multi-format image generation system.

Special recognition goes to @Hlavtox (a member of the technical and product councils) for a significant number of contributions to this patch. For more information head to the release notes of PrestaShop 8.1.2.

Hacktoberfest 2023

October marks the return of Hacktoberfest, a month dedicated to celebrating and contributing to open source software. The event is especially significant this year as it celebrates its 10th anniversary. If you’ve been contemplating contributing to PrestaShop, now is the perfect time to take the leap. By creating at least four pull requests on GitHub, you can contribute to the project and earn rewards from DigitalOcean, including an exclusive digital reward kit and badges.

For those interested in contributing to PrestaShop specifically, we’ve created a dedicated page to guide you. This resource lists various opportunities for contributions. In an effort to validate all contributions made during Hacktoberfest, we are more prepared than ever to assist you. The best contributors, along with their companies, will be featured in a summary post on the project’s blog. So, if you have ever thought of contributing to PrestaShop, there’s no better time than Hacktoberfest to get started!

Questions? Comments? Let us know in the comments below or join us on the PrestaShop Slack, GitHub Discussions, or PrestaShop Office Hours.

PrestaShop 9.0

In the ongoing development of PrestaShop 9.0, the focus remains on several core improvements. The Symfony layout migration is making strides and is set to be introduced behind a feature flag. In September, there are a few significant updates. Thanks to @zuk3975, we enabled the migrated “Features” page, thereby removing the older AdminFeaturesController (#33051). Also, @PululuK made the updateQueryString method in FrontController reusable by relocating it to Tools class (#33779).

On the cleanup side, @Hlavtox contributed by removing the usage of multiaddress delivery feature (#33264) and also by deleting the implementation of menu thumbnails (#32458). Keep an eye out for the upcoming “Notable changes in PrestaShop 9” page in the documentation as the version approaches its feature freeze. The moment we reach this milestone, we will publish a dedicated article on the project blog and update the developer documentation.

Autoupgrade module

Let’s focus on the autoupgrade module for a moment. This is an important part of the whole project: if we release new versions, it is important that you can update your stores to them. The last few months have seen a lot of improvements to the module. In September, we managed to release two new versions of the module. One of them is for those who want to make upgrades starting with PrestaShop 1.6. Version 4.14.3 should be a good option for you. For those upgrading from version 1.7 to version 8, a release numbered 4.16.4 is available.

Version 4.16.4 makes several improvements, especially when it comes to updates that take place in the database structure. The work on the module is not over, and at this point the next plan is to abandon the use of Doctrine schema updater during the upgrade process in favor of performing queries directly on the database.

Hummingbird theme

The Hummingbird theme aims to be a new default theme for PrestaShop 9.0. It is a modern, mobile-first theme that is built with the latest web technologies. The theme is currently in development, and we are working on the first version of the theme. Thanks to the Squad&Design team from PrestaShop SA, Hummingbird is getting better and better. Make sure to check the theme’s repository on GitHub to see the progress.

PrestaShop Flashlight

In September we transferred PrestaShop Flashlight to the open source organization. Created by @jokesterfr and @Venatum, this project is a Docker based testing utility for PrestaShop. It allows you to run PrestaShop in a Docker container and proceed with the tests. Want to know more? Head to the PrestaShop Flashlight GitHub repository.

PrestaShop Project Live Update

The PrestaShop Project Live Update is a monthly live stream where we discuss the latest news and updates from the project. It’s also a great occasion for us to show you what’s cooking in the PrestaShop project kitchen :-)

The September edition of the live stream was streamed on September 13th and is now available on YouTube. We presented new releases and the main point of the event was @thomasnares’s overview of recent changes in the developer documentation.

You can read the full summary of the event in this article, and the next edition is scheduled to be streamed on YouTube on October 11th at 4 pm (Paris time).

Project releases

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

Code changes in the ‘develop’ branch

Back office

  • #33990: Fix WebProfiler when dev mode is active. Thank you, @boherm
  • #33833: Add API access Command. Thank you, @tleon
  • #33832: Make MobileQuickAccess twig component independent. Thank you, @boherm
  • #33775: [Twig component] Make Header independent. Thank you, @M0rgan01
  • #33758: fix PDO prepare for CVE-2023-39524. Thank you, @clotairer
  • #33756: feat(api-platform): handle scope on endpoints. Thank you, @tleon
  • #33702: [twig component] Make navigation bar management independent. Thank you, @M0rgan01
  • #33051: Enable migrated Feature page and remove AdminFeaturesController. Thank you, @zuk3975
  • #31502: Migrate attribute group edit. Thank you, @JevgenijVisockij
  • #27590: Migrate “Shop parameters > Order settings > Statuses” page. Thank you, @Progi1984

Core

  • #34111: Fix wording in AbstractColumn. Thank you, @PululuK
  • #34056: Add missing params doc for get method in Configuration.php. Thank you, @hugofintecture
  • #33968: Remove 8.0.x branch from Update PHP Modules cron. Thank you, @nicosomb
  • #33779: Move FrontController::updateQueryString to Tools to make reusable. Thank you, @PululuK
  • #33459: Update egulias/email-validator to 4.0.1 and bump multiple doctrine deps. Thank you, @M0rgan01
  • #33264: Remove usage of multiaddress delivery. Thank you, @Hlavtox
  • #33223: Introduce ShopContext and EmployeeContext sub context services. Thank you, @jolelievre
  • #32458: Remove menu thumbnails. Thank you, @Hlavtox

Front office

Tests

  • #34076: Functional Tests : Enable test after #33962. Thank you, @Progi1984
  • #34072: Bump @typescript-eslint/eslint-plugin from 6.7.0 to 6.7.3 in /tests/UI. Thank you, @dependabot
  • #34071: Bump @typescript-eslint/parser from 6.7.0 to 6.7.3 in /tests/UI. Thank you, @dependabot
  • #34069: Functional tests - Add new test ‘BO > Product V2 > Pricing tab’. Thank you, @nesrineabdmouleh
  • #34068: Nightly : Fixed the URL to ping. Thank you, @Progi1984
  • #34054: Nightly : Disable PS_INSTALL_AUTO on campaign sanity. Thank you, @Progi1984
  • #34046: Bump fast-xml-parser from 4.2.7 to 4.3.1 in /tests/UI. Thank you, @dependabot
  • #34045: Bump @faker-js/faker from 8.0.2 to 8.1.0 in /tests/UI. Thank you, @dependabot
  • #34043: Bump eslint from 8.49.0 to 8.50.0 in /tests/UI. Thank you, @dependabot
  • #34042: Bump playwright from 1.38.0 to 1.38.1 in /tests/UI. Thank you, @dependabot
  • #34037: Functional tests - Add new test ‘BO > Product V2 > Shipping tab’. Thank you, @nesrineabdmouleh
  • #34030: Nightly : Fixed Playwright in 1.7.8.x version. Thank you, @Progi1984
  • #34019: Functional tests - Add new test ‘BO > Product V2 > Details tab’. Thank you, @nesrineabdmouleh
  • #33980: Functional tests - Add new test to check ‘BO > Products page > Virtual tab’. Thank you, @nesrineabdmouleh
  • #33969: Functional tests - Add new test to check ‘BO > Product V2 > Combination tab’. Thank you, @nesrineabdmouleh
  • #33963: Functional Tests : BO - Catalog - Products : Pack Tab. Thank you, @Progi1984
  • #33958: Bump playwright from 1.37.1 to 1.38.0 in /tests/UI. Thank you, @dependabot
  • #33957: Bump @typescript-eslint/parser from 6.6.0 to 6.7.0 in /tests/UI. Thank you, @dependabot
  • #33956: Bump eslint-plugin-deprecation from 1.5.0 to 2.0.0 in /tests/UI. Thank you, @dependabot
  • #33955: Bump libsodium-wrappers from 0.7.11 to 0.7.13 in /tests/UI. Thank you, @dependabot
  • #33935: Functional tests - Add new test ‘BO > Product v2 > Description tab’. Thank you, @nesrineabdmouleh
  • #33934: Functional Tests : Hummingbird : FO - Header and Footer : Change currency. Thank you, @Progi1984
  • #33933: Functional Tests : Added email check to BO - Advanced Parameters - Import : Import file. Thank you, @Progi1984
  • #33929: Functional Tests : BO - Customers - Filter and Quick Edit. Thank you, @Progi1984
  • #33927: Fix errors in the nightly 13-09-2023. Thank you, @nesrineabdmouleh
  • #33914: Bump @typescript-eslint/eslint-plugin from 6.5.0 to 6.7.0 in /tests/UI. Thank you, @dependabot
  • #33901: Bump @typescript-eslint/parser from 6.5.0 to 6.6.0 in /tests/UI. Thank you, @dependabot
  • #33899: Bump @types/chai-string from 1.4.2 to 1.4.3 in /tests/UI. Thank you, @dependabot
  • #33898: Bump eslint from 8.48.0 to 8.49.0 in /tests/UI. Thank you, @dependabot
  • #33897: Bump @types/chai from 4.3.5 to 4.3.6 in /tests/UI. Thank you, @dependabot
  • #33825: Functional Tests : FO - Header & Footer - Check links in footer. Thank you, @Progi1984
  • #33824: Bump @typescript-eslint/parser from 6.4.1 to 6.5.0 in /tests/UI. Thank you, @dependabot
  • #33822: Bump @typescript-eslint/eslint-plugin from 6.4.1 to 6.5.0 in /tests/UI. Thank you, @dependabot
  • #33821: Bump @types/libsodium-wrappers from 0.7.10 to 0.7.11 in /tests/UI. Thank you, @dependabot
  • #33791: Nightly develop : Fixed campaigns/productV2/functional/*. Thank you, @Progi1984
  • #33781: Functional Tests : Moved tests from campaigns/functional/BO/13_shopParameters/05_contact/*. Thank you, @Progi1984
  • #33690: Composer and npm not installed in Docker when assets are not built. Thank you, @jolelievre
  • #33635: UI test: remove await form expect. Thank you, @boubkerbribri

Web services

Code changes in the ‘8.1.x’ branch

Back office

  • #34060: Fix image configuration. Thank you, @Hlavtox
  • #34023: Handle via javascript that the two fields for impact are synced, mean…. Thank you, @jolelievre
  • #33937: Bump 8.1.2 version. Thank you, @jolelievre
  • #33909: Cannot add feature or cusotmization fields to virtual product. Thank you, @M0rgan01
  • #33880: Replace help text by tooltip in delivery slips page. Thank you, @nicosomb
  • #33860: Add order by for attribute by position. Thank you, @jolelievre
  • #33802: Fix uninstalling modules with deleted hooks.. Thank you, @Hlavtox
  • #33778: Handle friendly url automatic update and automatic offline shop configurations. Thank you, @jolelievre
  • #33771: Update classname regex to allow FQDN. Thank you, @gross-nvs
  • #33745: Introduce alternative search panels same page links. Thank you, @sowbiba
  • #33741: Introduce employee menu same page links. Thank you, @sowbiba

Core

Front office

  • #34078: Fix URL with accented chars. Thank you, @M0rgan01
  • #33978: Uniformise and improve cart stock protection. Thank you, @jolelievre
  • #33964: Fix rounding of no pack price. Thank you, @Hlavtox
  • #33961: Do not construct presenters that we already have from the parent. Thank you, @Hlavtox
  • #33954: Fix undefined currency if cart is updated before currency is assigned to the context. Thank you, @Hlavtox
  • #33930: Cannot set specific price with currency filter. Thank you, @M0rgan01
  • #33928: Provide rendered category footer. Thank you, @Hlavtox
  • #33885: Fix URL sanitization and duplicate language ID. Thank you, @Hlavtox
  • #33873: Allow modules to provide language link params in correct languages. Thank you, @Hlavtox
  • #33844: Allow adding multilanguage routes, add comments. Thank you, @Hlavtox
  • #33788: Add htaccess to protect templates dir. Thank you, @nicosomb

Installer

LO

  • #33807: Fixed $legacyKey in buildTranslationCatalogueFromLegacyFiles(). Thank you, @Amazzing

Tests

  • #33869: Nightly: Fixed campaigns/productV2/functional/03_CRUDProductWithCombinations.ts. Thank you, @Progi1984
  • #33789: Nightly 8.1.x : Fixed campaigns/productV2/functional/01_filterProducts.ts. Thank you, @Progi1984

Web services

  • #34014: Backport of 32884 / Fix Error Webservice combinations or categories on a blank schema. Thank you, @matks

Code changes in the ‘1.7.8.x’ branch

Tests

Code changes in modules, themes and tools

Auto Upgrade module

Automated tests on Pull Requests

  • #50: Add missing management of merge in checkout action. Thank you, @jolelievre
  • #48: ga.tests.ui.pr : Bump Playwright. Thank you, @Progi1984
  • #46: Add notice about updating fork. Thank you, @nicosomb
  • #44: Split shop building in independent single job for optimization. Thank you, @jolelievre

Best categories statistics module

Best manufacturers statistics module

Changes in developer documentation sources

Changes in developer documentation theme

  • #45: Display aliases so they can be matched on search. Thank you, @thomasnares
  • #44: Gracefully skip github info requests when the token has not been set. Thank you, @eternoendless

Classic theme

Customer reassurance block module

  • #601: Bump eslint from 8.48.0 to 8.50.0. Thank you, @dependabot
  • #600: Bump @babel/core from 7.22.17 to 7.22.20. Thank you, @dependabot
  • #598: Bump @babel/core from 7.22.11 to 7.22.17. Thank you, @dependabot
  • #596: Bump @babel/eslint-parser from 7.22.11 to 7.22.15. Thank you, @dependabot
  • #594: Fix removing previous module files in PHPStan tests. Thank you, @kpodemski
  • #589: Bump eslint-plugin-import from 2.27.5 to 2.28.1. Thank you, @dependabot

Data mining for statistics module

Distribution API

  • #35: Add mention about forks and CI in the README. Thank you, @matks
  • #34: Manually add the next patch version handled for the modules list. Thank you, @jolelievre

Docker images

Email Alerts module

Faceted search module

  • #57: Bump version to 2.1.5. Thank you, @micka-fdz
  • #56: Use ProductListingPresenter instead of ProductPresenter. Thank you, @micka-fdz

GDPR module

Google Sitemap module

  • #160: Check if the hook is present before adding it. Thank you, @Hlavtox

Hummingbird theme

  • #548: Change qty input min and value to match with minimal quantity. Thank you, @ga-devfront
  • #547: Add classes to make menu elements tall as parent. Thank you, @rodriciru
  • #542: Fix: when you edit the product qty to zero, the product won’t be removed from the cart. Thank you, @tblivet
  • #541: fix: quantity input of additional products have an issue after changing quantity of a product in the cart. Thank you, @tblivet

Keycloak_connector_demo

  • #29: Bump phpstan/phpstan from 1.10.34 to 1.10.35. Thank you, @dependabot
  • #28: Bump phpstan/phpstan from 1.10.33 to 1.10.34. Thank you, @dependabot
  • #27: Bump phpstan/phpstan from 1.10.32 to 1.10.33. Thank you, @dependabot

Newsletter statistics module

Nightly board

Pages not found module

  • #36: Fix removing previous module files in PHPStan tests. Thank you, @leemyongpakvn

PrestaShop contributors website

Prestashop-flashlight

  • #6: feat(docker): Add some labels. Thank you, @Venatum
  • #5: Add a github action script. Thank you, @jokesterfr
  • #4: Move to MIT Licence. Thank you, @jokesterfr
  • #2: fix(docker): Replace gnu-libiconv-libs by gnu-libiconv. Thank you, @Venatum

Presthubot

  • #169: Bump justinrainbow/json-schema from 5.2.12 to 5.2.13. Thank you, @dependabot
  • #168: Bump phpunit/phpunit from 9.6.12 to 9.6.13. Thank you, @dependabot
  • #167: Bump phpstan/phpstan from 1.10.34 to 1.10.35. Thank you, @dependabot
  • #166: Bump phpstan/phpstan from 1.10.33 to 1.10.34. Thank you, @dependabot
  • #165: Bump phpunit/phpunit from 9.6.11 to 9.6.12. Thank you, @dependabot
  • #164: Bump phpstan/phpstan from 1.10.32 to 1.10.33. Thank you, @dependabot

PrestonBot

  • #145: Update dependencies, including Symfony 3 to 4. Thank you, @jolelievre

Product Comments module

Product details statistics module

QA nightly results

  • #75: Fix: right to access to prestabulle storage. Thank you, @elodie-bil3

Quality Assurance module

Registered customer information statistics module

Registrations statistics modules

Shop search statistics module

The PrestaShop open source project

TopTranslators

  • #66: Explain degraded mode. Thank you, @matks
  • #64: Do not build on PRs. Thank you, @matks
  • #63: Improve README. Thank you, @matks
  • #62: Perform deploy using built data. Thank you, @matks
  • #61: Refactor deploy GH Action. Thank you, @matks
  • #60: Allow deploy by workflow_dispatch and fix branch name. Thank you, @matks
  • #59: Allow workflow_dispatch for build. Thank you, @matks
  • #57: Debugging CI. Thank you, @matks
  • #55: Add CONTRIBUTION_PROCESS.md. Thank you, @matks

Translation Files repository

  • #40: Use latest TranslationTool in production. Thank you, @jolelievre

Webservice-postman-examples

Zip-archives


Thank you to the contributors whose pull requests were merged since the last Core Monthly Report: @Amazzing, @BarbUk, @Hlavtox, @JevgenijVisockij, @LameuleFR, @M0rgan01, @Oksydan, @Progi1984, @PululuK, @Venatum, @boherm, @boubkerbribri, @clotairer, @dependabot, @elodie-bil3, @eternoendless, @ga-devfront, @gennaris, @github-actions, @gross-nvs, @hugofintecture, @iamtiagogalvao, @jokesterfr, @jolelievre, @kpodemski, @leemyongpakvn, @matks, @matthieu-rolland, @maxime-profileo, @mflasquin, @micka-fdz, @nesrineabdmouleh, @nicosomb, @ps-jarvis, @rodriciru, @sallemiines, @sowbiba, @tblivet, @thomasnares, @tleon, @zuk3975!

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!