Release of PrestaShop 1.7.8.8 and the autoupgrade module, what’s next for PrestaShop 8, an overview of ongoing work, and much more. This Core Monthly summarizes what happened in the project during the month of December.

Core Monthly banner

Dear community,

Welcome to the first Core Monthly of 2023! 2022 was a fantastic year for the PrestaShop project, with a new major release, announcement of the upcoming new theme for PrestaShop, and significant changes to the project’s structure, which made it more open than it has ever been.

In 2022, the project welcomed new members in the committers team, to help with its growth. It was also the second year where you could see other project members and me in the Public Demo. And for the first time, discuss with us during office hours.

All project members wish you all the best in 2023! Now, let’s get into the summary of December.

Here’s what happened:

Release of PrestaShop 1.7.8.8

PrestaShop 1.7.8.8 was released on December 8th. This maintenance release fixed some bugs and regressions but, more importantly, provided the community with a security fix. It’s worth noting that it’s the last regular version of PrestaShop 1.7. You can read the release notes for this version to learn more.

PrestaShop 8.0.1

The first patch version for PrestaShop 8 is on the horizon. With over 30 bug fixes and plenty of minor improvements this version aims to increase the stability of the latest major release.

I understand that some of you are waiting for the first patch to start thinking about the upgrade. The good news is that the autoupgrade module is now available, and the patch version is currently being tested by the Quality Assurance team.

Autoupgrade module

Speaking of upgrades, autoupgrade v4.15 is now live. As I’m writing this article, PrestaShop 8 is not available in the module interface yet, but the module itself has everything needed for the upgrade to succeed. If you don’t see PrestaShop 8 as a new major release, you can upgrade to the latest version using the Local archive or Local directory option.

The release zip file, along with the xml file required by the module, is available on GitHub. If you don’t know how to upgrade using these files, watch this short video that I showed during the Public Demo.

Pull requests overview

In December, there were over 200 merged pull requests across the project. Let’s dig into some of the most interesting contributions that target PrestaShop 8.1 and module updates.

Enabling profiler in back office

Thanks to @Hlavtox, in PrestaShop 8.1, it will be possible to enable the Front office profiler directly from the Back office, without needing to modify any file. There’s still some work to do regarding this feature, as the community requested to add an extra security layer to let only shop maintainers see the results of profiling. You can see the details in the pull request.

Update from Vue 2 to Vue 3

Core components written in Vue 2 are now fully migrated to Vue 3, mainly to ensure that the project uses a supported version of the framework. It was also a chance to do a little cleanup. You can see the migration details in this massive pull request. Kudos to @NeOMakinG for such amazing work!

Making PrestaShop core better

Every release includes minor changes that improve the software’s core in some way or another. This time I present you a pull request where @FabienPapet refactored Tools::str2url so that it uses the StringModifier utility class. Thanks to his work, the function is now fully unit-tested, and the project has become more stable and reliable. You can see all the implementation details in the pull request.

I would also like to thank developers from @StoreCommanderDev for fixing a very tricky issue with the Product::getAttributesResume method, which could return incorrect data in some scenarios.

Faceted search module

There’s a new version of the Faceted Search module available. This release brings a set of new features and improvements, such as setting a default template for filters, performance improvements, and changes to simplify the module’s codebase.

Thanks to @Hlavtox, @leemyongpakvn, and @zuk3975 for the work on this new version.

Changes in the productcomments module

@micka-fdz reported that the productcomments module was causing trouble with generated microdata on product listings. Not only Mickaël submitted a bug report, but he managed to fix the issue as well!

The second interesting change from this module is coming from me. I fixed some issues with the customer’s last name anonymization. There was a critical error if the anonymization was enabled and the customer used the last name starting with a special character, like Ł for instance. This would cause comments not to be displayed. Both changes are coming to productcomments v5.0.3, which should be released in the upcoming weeks.

Big changes in the developer documentation

The last thing I wanted to mention is the changes in the developer documentation. Thanks to the outstanding work done by @thomasnares, documentation now has a brand new hooks page. The list of hooks now shows the location where the hooks are displayed or executed, as well as whether it has an example implementation in the documentation. By the time I write this article, there is one example for the actionValidateOrder. If you want to contribute some examples feel free to submit a Pull Request. To learn more on how to contribute to DevDocs, read this article.

What do you think?

How do you like the new monthly format for the core report? Send us your feedback here!

Project releases

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

Code changes in the ‘develop’ branch

Back office

  • #30662: Product edit modal shop selection. Thank you, @jolelievre
  • #30613: Handle multishop builders interfaces in bulk form data handler. Thank you, @jolelievre
  • #30603: Allow controlling profiler from backoffice. Thank you, @Hlavtox
  • #30598: Improve syntax of information page. Thank you, @Hlavtox
  • #30567: Fix stock availability labels update when product is combination type. Thank you, @zuk3975
  • #30564: Implement delete combinations for all shops button. Thank you, @zuk3975
  • #30559: Add a checkbox to generate combinations for all shops. Thank you, @zuk3975
  • #30557: Only show current and all shops for specific price type. Thank you, @zuk3975
  • #30538: Use shop constraint in UpdateCombinationCommand. Thank you, @zuk3975
  • #30510: Added the deletion of images linked to the image settings. Thank you, @nicosomb
  • #30504: Remove combination handlers in favour of unified UpdateCombinationCommand. Thank you, @zuk3975
  • #30503: Add class to password field. Thank you, @JevgenijVisockij
  • #30495: Product multishop list and shared group stock. Thank you, @jolelievre
  • #30467: Remove the configuration “Automatically check for module updates”. Thank you, @Progi1984
  • #30463: Remove unused product handlers in favour of unified UpdateProductCommand. Thank you, @zuk3975
  • #30455: Fetching every image details for a product in every shop. Thank you, @lartist
  • #30315: Customization field multishop. Thank you, @jolelievre
  • #30231: Update product.id_category_default after deleting categories. Thank you, @zuk3975
  • #29927: Add visibility checkbox description. Thank you, @FabienPapet
  • #28542: Add catalog price rule list to product form. Thank you, @JevgenijVisockij
  • #28463: Update vue 2 to vue 3 and every linked dependencies. Thank you, @NeOMakinG

Core

Front office

Installer

Tests

  • #30678: Bump @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.1 in /tests/UI. Thank you, @dependabot
  • #30669: Bump @typescript-eslint/parser from 5.46.1 to 5.47.0 in /tests/UI. Thank you, @dependabot
  • #30646: Functional tests : Migration TS (Migrate @utils/basicHelper). Thank you, @Progi1984
  • #30640: Functional Tests : Migration TS (Install). Thank you, @boubkerbribri
  • #30639: Functional Tests : Migration TS (BO - 09). Thank you, @Progi1984
  • #30638: Functional Tests : Migration TS (FO - 02). Thank you, @Progi1984
  • #30636: Functional test - Add new test ‘CRUD virtual product’ in product page V2. Thank you, @nesrineabdmouleh
  • #30627: Functional Tests : Migration TS (FO - 03). Thank you, @Progi1984
  • #30621: Functional Tests : Migration TS (BO - 10). Thank you, @Progi1984
  • #30616: Functional Tests : Fixed the selector in deletion modal. Thank you, @Progi1984
  • #30615: Functional tests : Migration TS (Migrate @utils/files). Thank you, @Progi1984
  • #30611: Functional Tests : Migration TS (FO - 04/05/06). Thank you, @Progi1984
  • #30601: Bump @typescript-eslint/eslint-plugin from 5.46.0 to 5.46.1 in /tests/UI. Thank you, @dependabot
  • #30600: Bump @typescript-eslint/parser from 5.46.0 to 5.46.1 in /tests/UI. Thank you, @dependabot
  • #30599: Bump eslint from 8.29.0 to 8.30.0 in /tests/UI. Thank you, @dependabot
  • #30593: Functional Tests : Migration TS (BO - 11). Thank you, @Progi1984
  • #30587: Functional tests - Add new test ‘CRUD pack of products’ in product page V2. Thank you, @nesrineabdmouleh
  • #30583: Functional tests : Migration TS (FO - 07 & 08). Thank you, @Progi1984
  • #30575: Functional Tests : Migration TS (BO > 13). Thank you, @Progi1984
  • #30554: Bump mocha from 10.1.0 to 10.2.0 in /tests/UI. Thank you, @dependabot
  • #30553: Bump mochawesome-merge from 4.2.1 to 4.2.2 in /tests/UI. Thank you, @dependabot
  • #30548: Functional Tests : Migration TS (FO > 09). Thank you, @Progi1984
  • #30544: Functional tests - Add new test ‘Crud product with combination’ in the page product V2. Thank you, @nesrineabdmouleh
  • #30536: Bump typescript from 4.8.4 to 4.9.4 in /tests/UI. Thank you, @dependabot
  • #30535: Bump @typescript-eslint/eslint-plugin from 5.41.0 to 5.46.0 in /tests/UI. Thank you, @dependabot
  • #30534: Bump @typescript-eslint/parser from 5.41.0 to 5.46.0 in /tests/UI. Thank you, @dependabot
  • #30524: Functional Tests : Migration TS (tools/stepIdentifiersChecker). Thank you, @Progi1984
  • #30513: Add PHPStan rule to disallow calling of deprecated Symfony Translation. Thank you, @FabienPapet
  • #30505: Add phpstan disallowed calls extension. Thank you, @FabienPapet
  • #30493: Bump jsdoc-to-markdown from 7.1.1 to 8.0.0 in /tests/UI. Thank you, @dependabot
  • #30492: Bump eslint from 8.27.0 to 8.29.0 in /tests/UI. Thank you, @dependabot
  • #30491: Bump chai from 4.3.6 to 4.3.7 in /tests/UI. Thank you, @dependabot
  • #30490: Bump @types/mocha from 10.0.0 to 10.0.1 in /tests/UI. Thank you, @dependabot
  • #30489: Bump pdfjs-dist from 3.0.279 to 3.1.81 in /tests/UI. Thank you, @dependabot
  • #30466: Functional Tests : Migration TS (BO > Advanced Parameters 04 => 07). Thank you, @Progi1984
  • #30460: Fix use statement for ProductResetter. Thank you, @jolelievre
  • #30459: Functional Tests : Fixed Column used. Thank you, @Progi1984
  • #30458: Functional Tests : Migration TS (FO > 11). Thank you, @Progi1984
  • #30432: Functional tests - Add new test ‘BO > Catalog > Filter products table v2’. Thank you, @nesrineabdmouleh
  • #30419: Add better logging in the create-test-db script. Thank you, @jolelievre

Web services

Code changes in the ‘8.0.x’ branch

Back office

  • #30512: Allow negative number for attribute quantity. Thank you, @atomiix
  • #30511: Save settings before generating htaccess. Thank you, @atomiix
  • #29475: Eco tax fixed for combination price. Thank you, @margud

Core

  • #30676: Upgraded classic theme and ps_contactinfo module. Thank you, @nicosomb

LO

Code changes in the ‘1.7.8.x’ branch

Core

Code changes in modules, themes and tools

Auto Upgrade module

Autoload

Buy button lite module

  • #75: Bump minimatch from 3.0.4 to 3.0.8 in /app. Thank you, @dependabot
  • #72: Bump decode-uri-component from 0.2.0 to 0.2.2 in /app. Thank you, @dependabot

Changes in developer documentation site

  • #20: Add a param to enable/disable custom gitinfo if token is inactive/not…. Thank you, @thomasnares
  • #19: Update build.yml. Thank you, @kpodemski
  • #18: GitInfo functionnality : Add ghApiCommitURL, and disable error reporting for remote get-json. Thank you, @thomasnares

Changes in developer documentation sources

Changes in developer documentation theme

  • #19: Add hasExample flag on hook table. Thank you, @thomasnares
  • #18: Add a param to enable/disable custom gitinfo if token is inactive/not…. Thank you, @thomasnares
  • #17: Fix typo on hook param location. Thank you, @thomasnares
  • #16: Display author and date of last commit on footer of pages. Thank you, @thomasnares
  • #15: Better genericHook searches and compatibility with 1.7 . Thank you, @thomasnares
  • #14: Shortcode for new hook page. Thank you, @thomasnares

Check payment module

Classic theme

  • #93: Fix product cart wording issue. Thank you, @PululuK
  • #92: Add a display hook in the address step. Thank you, @Amit-Kumar-Tiwari-Webkul
  • #91: Fix: Adds rule to avoid overflowing logo in maintenance mode. Thank you, @amaury-hanser
  • #90: Bump minimatch from 3.0.4 to 3.0.8 in /_dev. Thank you, @dependabot
  • #88: Bump decode-uri-component from 0.2.0 to 0.2.2 in /_dev. Thank you, @dependabot
  • #70: Fix:30071 - Button of file field in customization product has a smaller height rather than its field. Thank you, @Arpit-Gulgulia

Contact Form module

Contact informations module

CsaGuzzle Bundle (fork)

Customer reassurance block module

Dashboard Activity module

Docker images

Example modules

  • #135: Set parent::__construct after add definition. Thank you, @PrestaSafe
  • #131: Bump decode-uri-component from 0.2.0 to 0.2.2 in /example_module_mailtheme. Thank you, @dependabot
  • #130: Bump decode-uri-component from 0.2.0 to 0.2.2 in /demo_grid/js. Thank you, @dependabot
  • #129: Bump decode-uri-component from 0.2.0 to 0.2.2 in /demodoctrine/js. Thank you, @dependabot
  • #124: Bump loader-utils from 1.4.1 to 1.4.2 in /demodoctrine/js. Thank you, @dependabot
  • #123: Bump loader-utils from 1.4.0 to 1.4.2 in /demo_grid/js. Thank you, @dependabot

Faceted search module

GDPR module

Google Analytics module

Google Sitemap module

Hummingbird theme

  • #156: Add registration page to available links. Thank you, @Hlavtox

Nightly board

OnBoarding module

PrestaShop-1.6

Prestashop UI Kit

Presthubot

  • #74: Bump symfony/var-dumper from 5.4.14 to 5.4.17. Thank you, @dependabot
  • #73: Bump symfony/yaml from 5.4.16 to 5.4.17. Thank you, @dependabot
  • #72: Bump symfony/console from 5.4.16 to 5.4.17. Thank you, @dependabot
  • #71: Bump symfony/yaml from 5.3.14 to 5.4.16. Thank you, @dependabot
  • #70: Bump symfony/console from 4.4.49 to 5.4.16. Thank you, @dependabot
  • #69: Bump symfony/dotenv from 4.4.37 to 5.4.5. Thank you, @dependabot
  • #67: Bump phpunit/phpunit from 8.5.31 to 9.5.27. Thank you, @dependabot
  • #66: Bump prestashop/php-coding-standards from 3.15.1 to 4.1.0. Thank you, @dependabot
  • #65: Bump PHP to 8.0. Thank you, @Progi1984
  • #64: Introduce Core monthly generator. Thank you, @kpodemski

Product Comments module

Share Buttons module

Stylelint configuration

The PrestaShop open source project

Wishlist block module


Thank you to the contributors whose pull requests were merged since the last Core Monthly Report: @Amit-Kumar-Tiwari-Webkul, @Arpit-Gulgulia, @FabienPapet, @Hlavtox, @JBLach, @JevgenijVisockij, @LouisAUTHIE, @NeOMakinG, @Oksydan, @PrestaSafe, @Progi1984, @PululuK, @StoreCommanderDev, @amaury-hanser, @atomiix, @boubkerbribri, @davidglezz, @dependabot, @dingedi, @eternoendless, @github-actions, @idnovate, @ioweb-gr, @jf-viguier, @jolelievre, @kpodemski, @lartist, @leemyongpakvn, @lucrp, @maniT4c, @margud, @marsaldev, @matks, @matthieu-rolland, @mflasquin, @micka-fdz, @mparvazi, @nesrineabdmouleh, @nicosomb, @sowbiba, @staabm, @thomasnares, @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!