A busy month in the codebase: a critical security release, fast iteration on bringing AI into the project’s workflows, and a save-the-date for PS Summit in Lyon.

Core Monthly banner

Dear community,

April was a heads-down month. GitHub activity stayed high, with 254 pull requests merged across the project and a critical security patch shipped on both supported branches. The One Page Checkout module, the new pricing engine, and a fresh layer of AI-assisted tooling all kept moving forward, and several of you may already have noticed the latter showing up in pull request reviews.

Critical security release: 9.1.1 and 8.2.6

On April 28th, we released PrestaShop 9.1.1 and PrestaShop 8.2.6 simultaneously. Both patches address the same critical stored Cross-Site Scripting vulnerability in the back office Customer Service view (GHSA-w9f3-qc75-qgx9, severity 9.3/10). If you have not updated yet, please do so as soon as possible. The release articles also document a hotfix module and a manual patch for shops that cannot update immediately.

PrestaShop 9.1.1 is available

PrestaShop 8.2.6 is available

A reminder: the safest path to apply the fix is the Update Assistant, which received its own version bumps (7.6.2 and 7.6.3) during the same window thanks to work from @Quetzacoalt91 and @ga-devfront.

AI tooling takes shape across the project

@jolelievre introduced an AI-driven pre-review workflow, packaged as a reusable GitHub Action so it can eventually be shared across repositories. The shared workflow lives in the project’s .github repository and is currently piloted on ps_apiresources only, where it runs on a small set of opted-in contributors and specific labels rather than every pull request. The setup adds explicit guard failures, label management, and a documented CONTEXT.md that gives the AI reviewer enough information about the codebase to be useful instead of noisy. The intent is to learn from this pilot before considering wider rollout.

The work goes beyond reviews. A new skills repository was created (with initial contributions from @Quetzacoalt91) to host reusable Claude Code skills for the project, and @tleon opened the door for AI assistants to operate inside the core itself with two foundational PRs: #41205 introducing the base AI structure and contexts, and #41279 adding a Symfony migration skill. AI context files also landed in Hummingbird (AI context enhancement by @tblivet) and in ps_apiresources for the skills endpoint (by @boherm). And on the human side, the developer documentation gained a dedicated page on AI-assisted development, also by @jolelievre.

The direction is consistent: bring AI assistants into the contributor workflow as helpers, not gatekeepers, and make sure every repository carries the context an assistant needs to be accurate. We are planning a dedicated article to walk through the approach in detail, including how we help AI assistants navigate a codebase as large and layered as PrestaShop’s. Expect more on this in the coming months.

Save the date: PS Summit, November 4-5 in Lyon

We rarely have the chance to put the whole ecosystem in the same room, and this autumn we will. The PS Summit brings the PrestaShop and Sylius open source communities together at the Palais des Congrès in Lyon on November 4 and 5, 2026. Around 500 merchants, developers, agencies, and partners are expected, with hands-on workshops, dedicated tech tracks, and shared sessions on commerce strategy and trends. Admission is free, and registration is opening soon. If you contribute to the project, this is a great opportunity to meet the people behind the pull requests in person, including the core team. Bookmark the date.

PS Summit, save the date: November 4-5, 2026, Lyon

Most active contributors

Counting all merged pull requests across the project’s repositories in April:

  1. @nesrineabdmouleh (17 PRs): kept up a remarkable pace on functional tests, with extensive coverage added for catalog price rules and the new Discounts feature in both the PrestaShop core and the UI Testing Library.
  2. @jolelievre (15 PRs): drove the AI pre-review workflow rollout, fine-tuned the Claude integration, and pushed the pricing v2 work forward by integrating the new price calculator into getPriceStatic and getProductProperties.
  3. @Progi1984 (14 PRs): completed the removal of the 9.0.x branch from the PrestaShop core, test-scenarios and presthubot, bumped the core to 9.1.2, and shipped functional tests for the new admin discount API.
  4. @Hlavtox (13 PRs): single-handedly modernized six native front-office modules (ps_bestsellers, ps_categoryproducts, ps_featuredproducts, ps_newproducts, ps_viewedproduct, and a start on ps_specials), pushing them to new majors.
  5. @Quetzacoalt91 (12 PRs): kept the Update Assistant busy with two version bumps (7.6.2 and 7.6.3), wording improvements around incompatible modules, and the addition of an update option for module uninstallation. Also kicked off the new skills repository.

Spotlight on community contributors

April brought meaningful work from outside the core team. Five contributors stood out:

  • @Hlavtox for steady work on several native modules this month. The kind of focused contribution that keeps the ecosystem healthy.
  • @PrestaEdit for keeping the traces registry accurate as the project’s footprint shifts: adding skills and ps_onepagecheckout to the modules list, moving minimal-theme to documentation, and listing themeinstallator.
  • @MAX-IT-Tech for a careful pass on the developer documentation, updating internal and external links for the 9.1.x branch and pinning line-anchored GitHub references to the right tag.
  • @Codencode for several core bug fixes, including child theme translation loading in the BO translation API, a fix for the actionCarrierUpdate hook on the migrated carrier page, and adding sortable social fields in the ps_socialfollow configuration form.
  • @soledis-contributeur for a B2B-oriented contribution that spanned two repositories: adding a label column and dropping the legacy enterprise_id from the BusinessIdentifier entity in the PrestaShop core, with the matching change in the Update Assistant.

A huge thank you to everyone who contributed to this release! Your dedication helps make PrestaShop stronger, more secure, and better for everyone. We truly appreciate your time and expertise.

Want to join the movement? Start contributing today and help shape the future of open source e-commerce!

And the rest

A few other strands of work kept moving in the background. The Multi-carrier and Improved Shipments features picked up more pieces, with @Poulinhoo merging shipment management into the existing order command and @Nakahiru adding shipment information to invoices. The new pricing engine progressed with the introduction of CartCalculator by @boherm. Analytics tracking was wired into ps_onepagecheckout by @dylanDenizonPresta, and @ga-devfront finally removed jQuery from the Hummingbird theme dependencies.

The full breakdown of every merged PR is below. As always, thanks to everyone who contributed code, reviews, issues, or comments this month.

Project releases

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

Code changes in the ‘9.1.x’ branch

Back office

Core

Tests

Code changes in the ‘develop’ branch

Back office

  • #41260: TEST [E2E] update Design Pages page with meta title column. Thank you, @paulnoelcholot
  • #41116: Fix: align on the same line inline grid action and regular grid action. Thank you, @Nakahiru
  • #41081: Merge add shipment in existing command. Thank you, @Poulinhoo
  • #41026: Add form builder for edit shipment form. Thank you, @Poulinhoo
  • #40591: Feat(shipment): add shipments information on invoices. Thank you, @Nakahiru

Core

  • #41336: Improves stale issues workflow : increases cron interval to 20 minutes and adjusts the GitHub API operations limit to 1000.. Thank you, @cnavarro-prestashop
  • #41279: Create a skill for symfony migration in prestashop. Thank you, @tleon
  • #41277: Ai fine tunes, update readme and release builder. Thank you, @jolelievre
  • #41229: Bump the version of the prestashop/dashgoals package from v2.0.4 to v2.0.5. Thank you, @cnavarro-prestashop
  • #41227: Remove 9.0.x branch. Thank you, @Progi1984
  • #41095: Init CartCalculator for pricing v2. Thank you, @boherm
  • #41089: Integrate the price calculator in getPriceStatic and getProductProperties. Thank you, @jolelievre

Front office

  • #40315: Use product EmbeddedAttributes in quickview. Thank you, @M0rgan01

Installer

  • #41205: Base of ai structure and contexts. Thank you, @tleon
  • #41200: B2B Contribution - Add “label” column & remove enterprise_id column to BusinessIdentifier entity. Thank you, @soledis-contributeur

Tests

  • #41306: Functional tests : BO - Catalog price rules - CRUD - Price(tax excl.). Thank you, @nesrineabdmouleh
  • #41282: Functional tests : Add new test to CRUD catalog price rules with different groups. Thank you, @nesrineabdmouleh
  • #41242: Functional tests - Add new test to CRUD country in catalog price rules. Thank you, @nesrineabdmouleh
  • #41207: Functional tests : BO - Discount - Create a discount that applies automatically or via promo code. Thank you, @nesrineabdmouleh
  • #41202: Functional Tests : API : POST /admin-api/discounts. Thank you, @Progi1984
  • #41153: Functional tests : BO - Discount - Trigger based on the total quantity of products in the cart. Thank you, @nesrineabdmouleh
  • #41150: Functional tests : BO - Discount - Check period. Thank you, @nesrineabdmouleh
  • #40384: Fix: SQL syntax for table checksum query (fixes #40383). Thank you, @the-ge

Code changes in the ‘8.2.x’ branch

Back office

Code changes in modules, themes and tools

.github

  • #45: Add job display names and upgrade actions/checkout to v6. Thank you, @jolelievre
  • #44: Add reusable ai-guarded-review workflow. Thank you, @jolelievre
  • #43: Add debug output to ai-prereview-guard workflow. Thank you, @jolelievre
  • #42: Add reusable AI pre-review guard workflow and labels. Thank you, @jolelievre

API Resources

  • #200: Add job display names and upgrade actions/checkout to v6. Thank you, @jolelievre
  • #199: Simplify workflow to use reusable ai-guarded-review. Thank you, @jolelievre
  • #198: Fix execution file JSON parsing in validation step. Thank you, @jolelievre
  • #197: Improve Claude review: fix tools, increase turns, focus on PR diff. Thank you, @jolelievre
  • #196: Fix claude-code-action inputs and label management. Thank you, @jolelievre
  • #195: Add explicit guard failure and use official guard workflow. Thank you, @jolelievre
  • #194: Update the url for the check guard action. Thank you, @jolelievre
  • #192: Add Claude AI pre-review workflow and enrich CONTEXT.md. Thank you, @jolelievre
  • #190: Add AI context and rework on the skill endpoint. Thank you, @boherm
  • #189: Remove support for 9.0.x. Thank you, @Progi1984
  • #162: Search Engine endpoints. Thank you, @boherm
  • #152: Add Profile API Platform. Thank you, @tblivet

Auto Upgrade module

Best sellers module

  • #41: Release version 2.0.0. Thank you, @Hlavtox
  • #40: Remove caching system and bump version to 2.0.0. Thank you, @Hlavtox

Cash on delivery module

Changes in developer documentation site

  • #45: Exclude context from the build. Thank you, @tblivet
  • #44: Exclude claude from the build. Thank you, @tblivet

Changes in developer documentation sources

  • #2138: Update PHP branch in workflow configuration. Thank you, @kpodemski
  • #2137: Document AI assisted development. Thank you, @jolelievre
  • #2136: Fix incorrect internal documentation links for the 9.1.x transition. Thank you, @MAX-IT-Tech
  • #2134: Update external documentation links for clarity and accuracy. Thank you, @MAX-IT-Tech
  • #2133: Pin line-anchored GitHub links to the 9.1.0 tag. Thank you, @MAX-IT-Tech
  • #2132: Update documentation links to the PrestaShop 9.1.x branch. Thank you, @MAX-IT-Tech
  • #2130: Update objectNodeName from ‘articles’ to ‘article’. Thank you, @dali-rajab
  • #2128: Update theme name description in installation guide. Thank you, @PrestaEdit
  • #2084: Update service definitions and add webservice container. Thank you, @islemdev

Changes in developer documentation theme

  • #69: Fix arrow toggling issue during navigation. Thank you, @tblivet

Dashboard Goals module

Distribution API

Docker images

  • #64: Release version 3.0.0. Thank you, @Hlavtox
  • #63: Remove caching system and bump version to 3.0.0. Thank you, @Hlavtox

Hummingbird theme

New Products module

  • #35: Release version 2.0.0. Thank you, @Hlavtox
  • #34: Remove extra settings and bump compatibility. Thank you, @Hlavtox
  • #33: Remove caching system and bump version to 2.0.0. Thank you, @Hlavtox

PrestaShop Flashlight

PrestaShop test scenarios

Presthubot

  • #456: slack:notifier : Remove 9.0.x support. Thank you, @Progi1984
  • #453: slack:notifier : PR Stats for QA (Remove 1.7.8.x => 8.1.x) & By Community. Thank you, @Progi1984

Products in the same category module

  • #49: Release version 2.0.0. Thank you, @Hlavtox
  • #48: Remove caching system and bump version to 2.0.0. Thank you, @Hlavtox
  • #46: Fix: Respect customer group show_prices setting. Thank you, @drhide16

Ps_onepagecheckout

  • #37: [fix] Analytics: fix trackCheckoutStarted/Completed calling trackEvent with wrong number of arguments. Thank you, @dylanDenizonPresta
  • #36: [SPE-82] feat(analytics): track Checkout Started and Checkout Completed. Thank you, @dylanDenizonPresta
  • #35: [SPE-25] - Add confirmation modale for payout layout switch . Thank you, @sylardiere
  • #34: [SPE-30] - Multicarrier => Vérifier le bon affichage des transporteurs lorsque le feature flag “Improved shipment” est actif. Thank you, @sylardiere
  • #32: [SPE-81] feat(analytics): track OPC module lifecycle and checkout layout events. Thank you, @dylanDenizonPresta
  • #31: SPE-113/ Add XLF translations (Admin+Shop). Thank you, @dylanDenizonPresta
  • #28: [SPE-83] feat(analytics): track OPC critical errors. Thank you, @dylanDenizonPresta
  • #25: fix(opc): SPE-110 sync pay button amount on voucher changes. Thank you, @julienr114
  • #23: [SPE-105] feat(analytics): add Segment PHP client bootstrap. Thank you, @dylanDenizonPresta
  • #22: fix: eager-evaluate tax-sensitive cart properties before temp address cleanup. Thank you, @julienr114
  • #21: Feat: finish opc migration. Thank you, @ThbPS
  • #20: [SPE-106] BO - Checkout configuration modal modification. Thank you, @sylardiere
  • #19: Feat: use Core interface to resolve checkout process provider. Thank you, @ThbPS

Skills

Social Follow module

  • #56: Renaming Twitter by X. Thank you, @AureRita
  • #51: Add sortable social fields in module configuration (HelperForm). Thank you, @Codencode

Special offers module

  • #26: Remove caching system and bump version to 2.0.0. Thank you, @Hlavtox
  • #23: Change product sort for performance and UX. Thank you, @jf-viguier

Traces

UI Testing Library

Viewed products block module

Wishlist block module


Acknowledgments

Thank you to all contributors this month!

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!