PrestaShop logo

PrestaShop

Open source e-commerce platform for building an online store

Alternative to: shopify, woocommerce, bigcommerce, magento


About Versions (100)

9.0.0-beta.1

2025-02-10

Full Changelog

This is the first beta for PrestaShop 9.0. You can read the Release note on the blog.

Click here to see

  • Back Office:
    • New feature:
      • #37696: Handle new multishop constraint that can target specific shop IDs (by @jolelievre)
      • #37387: Log actions on modules : install, uninstall, upgrade (by @jf-viguier)
      • #37548: Add new CLI command prestashop:api-client to create and remove an API Client (by @jolelievre)
      • #37248: Upgrade module cqrs command (by @dylanDenizonPresta)
      • #37042: Implement feature value positions to core and back office (by @ks129)
      • #37187: Install module CQRS command (by @sullivan-monteiro)
      • #37256: Uninstall module CQRS command (by @dylanDenizonPresta)
      • #37169: Reset module CQRS Command (by @jinpresta)
      • #37188: Add new version in workflows (by @tleon)
      • #37014: Introduce ToggleModuleStatusCommand (by @jolelievre)
      • #36869: Migrate module configuration (by @jolelievre)
      • #37025: Upgrade API Platform to 3.4 (by @jolelievre)
      • #36705: Allow full anonymous Symfony controller (by @jolelievre)
      • #36584: Renew PrestaShop back-office branding (by @tblivet)
      • #36585: Renew PrestaShop installer branding (by @tblivet)
      • #36348: [BC Break] Finalize login page migration (by @jolelievre)
    • Improvement:
      • #37941: Improve category helptext (by @Hlavtox)
      • #37828: Add URL Validation when installing theme from URL (by @M0rgan01)
      • #36086: Improve Admin API doc generation (by @jolelievre)
      • #37763: SymfonyCacheClearer tries multiple manual cache clear (by @jolelievre)
      • #37745: Improve ShopCollection list of shop IDs in API, and test API validation (by @jolelievre)
      • #37699: Refactored Hooks API (by @nicosomb)
      • #37692: [BC Break] Add Language locale in grid and form (by @jolelievre)
      • #37648: Improve hook list (by @tleon)
      • #37633: API localized values can be indexed by locale (by @jolelievre)
      • #37470: Reorganize Search Aliases with a new tab (by @boherm)
      • #37482: Minor order page UX improvements (by @Hlavtox)
      • #37550: Update all CQRS Operations for APIPlatfom with recent parameters (by @jolelievre)
      • #37525: Fix theme version to the newest tags (by @tleon)
      • #37515: Update league server to v9.1 (by @jolelievre)
      • #37212: Migration SF Alias (by @boherm)
      • #37422: Location field import (by @Prestaworks)
      • #37373: Add more options to pagination (by @Hlavtox)
      • #37355: Disable autocapitalize for SMTP settings (mobile) (by @ShaiMagal)
      • #37215: Use LanguageContext in ModuleRepository for better stability (by @jolelievre)
      • #35843: Add a file separator input to the sql manager settings (by @Kaikina)
      • #37150: Remove module configuration feature flag (by @jolelievre)
      • #37053: Update required inputs on carrier page (by @PoulainMaxime)
      • #36731: Theme information when theme is switched (by @jolelievre)
      • #36974: Make API swagger doc accessible only from back office (by @jolelievre)
      • #36892: Fix(carrier): handle page redirection on fields that are on error (by @Nakahiru)
      • #36936: Remove redirection on cms exception (by @Hlavtox)
      • #36831: Improve image setting wording (by @Hlavtox)
      • #36714: Order modules on translation page alphabetically (by @Hlavtox)
      • #36725: Compressed unzip wizard GIF animation (by @tblivet)
      • #36718: Clean all missing legacy links (by @jolelievre)
      • #36706: [BC Break] Clean legacy links part 5 (by @jolelievre)
      • #36172: Input type “number” is not styled properly (by @ShaiMagal)
      • #36537: Shipping costs and location (by @tleon)
      • #36386: Fix typo in pack wording that doesn’t make sense (by @Hlavtox)
      • #35603: Support 8 bits PNG file (by @jf-viguier)
      • #36387: Handle tax rule for multishop (by @tleon)
      • #36320: Use v8 documentation in CMS Page (HelperCard) (by @PrestaEdit)
      • #36171: View templatesRemove email “Preview” from BO section “Statutes” (because it’s not working) (by @ShaiMagal)
      • #36381: UI - Size, weight, group access for Carrier form (by @boherm)
      • #36306: Open EntitySearchInput to public components in backoffice (by @thomasDelaporte)
      • #36246: Add several fields to carrier (by @tleon)
      • #35488: Add Export button missing on new Product Page V2 (by @OrionCodeDev)
    • Bug fix:
      • #37944: Fix: MaterialChoiceTableType does not render help text (by @Codencode)
      • #37869: Fix: Admin search by product ID results in CSV download instead of product page redirect (by @Codencode)
      • #37838: Fix: bug: Legacy form sends GET request instead of POST as it should (by @Codencode)
      • #37888: Fix: BO > Order details page - When changing pagination, Refunded column displays automatically (by @Codencode)
      • #37803: Fix multistore disabling (by @boherm)
      • #37771: Improve constraint on Product description (by @jolelievre)
      • #37818: Fix: BO > Carriers - Exception thrown Invalid Carrier url. Got ”@” (by @Codencode)
      • #37717: Fix: Problem with shop association component (by @Codencode)
      • #37819: Fix: BO > Carriers - Exception thrown Carrier cannot be both shipping handling and free (by @Codencode)
      • #37679: Fix use case when changing status for already existed alias (by @boherm)
      • #37678: Fix the use of special chars for aliases search term (by @boherm)
      • #37565: Fix employee form bugs (by @jolelievre)
      • #37538: Fixed translation domain in Shipping settings (by @nicosomb)
      • #37510: [BC Break] Update circuit breaker and Distribution API client, remove Guzzle completely (by @jolelievre)
      • #37518: Rename default API firewall (by @jolelievre)
      • #37507: [BC Break] Update circuit breaker, remove Guzzle (by @jolelievre)
      • #35709: Partial fix for textarea field height issues in V1 product page (by @Roxayl)
      • #37418: [BC Break] Fix absolute urls that were broken by our custom Router (by @jolelievre)
      • #36607: Fix: set by default enable action if module is disabled instead of configure action (by @Nakahiru)
      • #37271: Prevent carrier negative range (by @tleon)
      • #36505: Fix: set the product redirection to another product (301 & 302) (by @RomPiot)
      • #37330: Initialise Language context settings in the SF module command (by @jolelievre)
      • #37297: Fix/carrier page bug when deleting range specific zone (by @nicosomb)
      • #37283: Generate all image formats for categories right away after saving (by @Hlavtox)
      • #37211: Fix creating guest accounts from back office (by @kpodemski)
      • #37220: Fix translating modules using the old system (by @Hlavtox)
      • #37208: Product category filter (by @jolelievre)
      • #37030: Fix: Multistore - Can’t disable a group shop (by @Codencode)
      • #37076: Add manual removal fallback in SymfonyCacheClearer (by @jolelievre)
      • #36880: Initialized locale in context (by @nicosomb)
      • #36914: Added management of the ‘addedByModule’ field in the “CustomizationField” object (by @Codencode)
      • #36895: Update AdminCartsController.php (by @Codencode)
      • #36639: Check override conflicts at module install (by @ludoviccardinale)
      • #36876: Fix: handle error with uploaded logo on carrier form (by @PoulainMaxime)
      • #36736: Fixing maintenance mode link in BO header (by @PoulainMaxime)
      • #36871: Add addJqueryUI and addJqueryPlugin methods in LegacyControllerContext (by @jolelievre)
      • #36802: Fix: Error occurs when navigating new admin controllers with empty quick access links (by @Codencode)
      • #36772: Fix button style issue inside alerts for default theme (by @tblivet)
      • #36733: Replace Puffing logo in Symfony debug bar (by @matks)
      • #36750: Fix: add missing import for checkbox selection (by @PoulainMaxime)
      • #36746: Fix: remove required tax rule when freeshipping is enabled (by @PoulainMaxime)
      • #36287: Fix issue with Product Customizations (by @Codencode)
      • #36653: Fix missing id_address_delivery to fix #35190 (by @Hlavtox)
      • #36082: Fix error in PHP 8: count(): Argument #1 ($value) must be of type Countable|array, string given (by @olecorre)
      • #36403: Fixing issue #36401 duplicated invalid text (by @jackoske)
      • #36521: Handle hook prefix to allow dashboard module to be saved (by @PrestaEdit)
      • #36457: Fix: Pass correct language ID to getAttributesName instead of hardcoded 1 (by @mouleeg)
      • #36433: Fix addJs/addCss on migrated pages with Symfony layout (by @jolelievre)
      • #36357: Load parent assets in shop selector iframe page (by @jolelievre)
      • #36026: Attribute group list is sorted by position (by @mattgoud)
    • Refactoring:
      • #37318: Use FormChoiceFormatter on more providers (by @Hlavtox)
      • #37274: [BC Break] Refacto controllers (by @jolelievre)
      • #37270: [BC Break] Refacto MultistoreController into components (by @jolelievre)
      • #36715: Fix unreliable translation export (by @Hlavtox)
      • #36703: [BC Break] Handle form choice duplicates (by @Hlavtox)
      • #37158: [BC Break] Refacto Advanced configuration controllers (by @jolelievre)
      • #36856: Refactor order controllers not using prestashop admin controller (by @tleon)
      • #37011: [BC Break] Refactor Configure > Shop controllers (by @jolelievre)
      • #36884: Refactoring product catalog controllers with PrestaShopAdminController (by @boherm)
      • #36886: Refactoring feature catalog controllers with PrestaShopAdminController (by @boherm)
      • #36885: Refactoring attribute catalog controllers with PrestaShopAdminController (by @boherm)
      • #36883: Refactoring General Catalog controllers with PrestaShopAdminController (by @boherm)
      • #36915: Simplify javascript on backoffice pages (by @Hlavtox)
      • #36818: Refactor(carrier): dissociate zones from ranges (by @Nakahiru)
      • #36845: Refacto module controller to extend PrestaShopAdminController (by @jolelievre)
      • #36822: Refacto CustomerOutstanding controller with PrestaShopAdminController (by @boherm)
      • #36823: Refacto Address controller with PrestaShopAdminController (by @boherm)
      • #36819: Refacto CustomerService with PrestaShopAdminController (by @boherm)
      • #36322: Symfony clean after migration (by @jolelievre)
  • Front Office:
    • New feature:
      • #37125: Make getHookModuleExecList customizable from modules (by @matthieu-rolland)
      • #37236: Enable controlling of default language URL prefix (by @Hlavtox)
    • Improvement:
      • #37598: Upgrade attachment names length (by @LaBisquerie)
      • #37467: SEO delete category in URL product scheme during installation (by @jeckyl)
      • #37448: Add missing hook on checkout account creation (by @Touxten)
      • #37066: Do not index filtered pages (by @ShaiMagal)
      • #37013: [BC Break] Distinguish when availability is in stock (by @Hlavtox)
      • #36891: Missing .htaccess in js folder - security (malicious PHP files can be hidden in this folder) (by @ShaiMagal)
      • #36747: Redirect into closest parent (by @Hlavtox)
      • #36655: Carrier - UI Ranges Part 2 (by @boherm)
      • #36534: Carrier - #36259 Ranges selector component (by @boherm)
      • #36523: Filter product output in cart ajax method (by @matthieu-rolland)
      • #36451: Enhance TemplateVarShop Function with Shop Group ID for Improved Multi-Shop Support (by @OrionCodeDev)
      • #36408: Decouple cart presenter into lazy array (by @matthieu-rolland)
      • #35465: Order accessories by name (by @Hlavtox)
      • #36423: Add new selector for quickview modal using Bootstrap 5 (Hummingbird) (by @tblivet)
      • #36359: Match URLs with a trailing slash (by @Hlavtox)
    • Bug fix:
      • #37747: Add sales to manufacturer sort (by @jf-viguier)
      • #37430: Add ‘product Sales’ to default product sort parameter and in front category page (by @jf-viguier)
      • #37533: If price is not shown hide add to cart too. Fixes #37532 (by @tswfi)
      • #37589: Fix lazy array (by @matthieu-rolland)
      • #37268: Fix Incorrect SpecificPrice Currency Conversion (Issue 36844) (by @mrkalchemy)
      • #37267: Fix cart value amount (by @idnovate)
      • #37191: Fix specific references (by @rsoulard-prolaser)
      • #36905: Fix: Cart.php class method _deleteCustomization not deleting all image files from same customization but only first (by @Codencode)
      • #36866: Fix: PHP 8.3 deprecation warnings (by @Codencode)
      • #36834: Fix: problems with product customizations issue 1 (by @Codencode)
      • #36730: Automatically generate no image thumbnails (by @Hlavtox)
      • #36664: Use attribute public name instead of private name in URL anchors — r… (by @maxldn5)
      • #35943: Fix hyphen end of name in mail order confirmation (by @ComonSoft)
      • #36269: Fix OrderConfirmationController redirection url for slow validation payments (by @Tafaz)
      • #34700: Update product.js (by @dngraphisme)
      • #36454: Prevent creating duplicate customers in some scenarios (by @Hlavtox)
      • #36472: Fix cart_quantity in front ProductController (by @boherm)
      • #36342: Fix quantity check when there a customization in cart (Backport from #32312) (by @Progi1984)
    • Refactoring:
      • #37504: Improve robots.txt generation (by @Hlavtox)
      • #37436: Clean productcontroller initcontent (by @Hlavtox)
      • #37449: Remove unnecessary conditions (by @Hlavtox)
      • #37403: Remove unnecessary cart present and improve performance (by @Hlavtox)
      • #37401: Remove useless pack quantity (by @Hlavtox)
      • #37410: Do not reload product cache immediately (by @Hlavtox)
      • #37400: Assemble accessories and packs in bulk (by @Hlavtox)
      • #37399: Assemble cart products in bulk (by @Hlavtox)
      • #37389: Improve speed of getting combination images (by @Hlavtox)
      • #37326: Cleanup customization logic (by @Hlavtox)
      • #37295: Extract manufacturer assignment to separate method (by @Hlavtox)
      • #37300: Rename variable inside method for better clarity (by @Hlavtox)
      • #37204: Add return types for front controllers methods (by @Hlavtox)
      • #36946: Delete js/validate.js - deprecated since 1.6.0.4 (by @ShaiMagal)
  • Core:
    • Improvement:
      • #37931: Update dependencies (by @jolelievre)
      • #37907: Chore: [release-8.2.1] - update version number to 8.2.1 (by @mattgoud)
      • #37354: Slovakia VAT change from 2025/01 to 5% and 19% and 23% (by @ShaiMagal)
      • #37711: Update Changelog for 9.0.0-beta.1 (by @jolelievre)
      • #37586: Apply rector fixes (by @FabienPapet)
      • #37018: [BC Break] Improve and finalize availability (by @Hlavtox)
      • #37591: Add debug information during installation (by @nicosomb)
      • #37578: Update composer normalizer for PHP 8.4, remove obsolete incenteev (by @jolelievre)
      • #37544: Update php-version.tpl (by @PrestaEdit)
      • #37511: Update Symfony components after 6.4.16 release (by @nicosomb)
      • #37451: Add actionPDFInvoiceRender (by @Touxten)
      • #36612: Add a condition for handling errors from hook actionModuleInstallBefore (by @JohnPAfr)
      • #37261: Allow configuring maximum word difference (by @Hlavtox)
      • #37368: Update Symfony components after 6.4.15 release (by @nicosomb)
      • #37168: Upgrade hooks command improvement (by @jolelievre)
      • #37331: Update Symfony components after 6.4.14 release (by @nicosomb)
      • #37286: Add CI for Twig CS Fixer (by @tblivet)
      • #37260: CCC should be enabled by default after PS installation (by @ShaiMagal)
      • #37266: Update Symfony components after 6.4.13 release (by @nicosomb)
      • #37016: Guest.php - OS/Browser unnecessary logging to PHP error log in specific conditions (by @ShaiMagal)
      • #35695: Allow select correct invoice -> invoice_number can be “duplicated” (every year) (by @ShaiMagal)
      • #37156: Updated blockwishlist to 3.0.2 (by @nicosomb)
      • #37160: Refacto Improve > International controllers (by @boherm)
      • #37083: Refacto Improve > Design, Payment and Shipping controllers (by @boherm)
      • #37159: Updated PrestaShop Packages (by @github-actions[bot])
      • #37152: [BC Break] Delete getTabByIdProfile method (by @PrestaEdit)
      • #37147: Updated PrestaShop Packages (by @github-actions[bot])
      • #37134: Build(deps-dev): bump @typescript-eslint/parser from 8.8.0 to 8.8.1 in /tests/UI (by @dependabot[bot])
      • #37133: Build(deps-dev): bump typescript from 5.6.2 to 5.6.3 in /tests/UI (by @dependabot[bot])
      • #37132: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.8.0 to 8.8.1 in /tests/UI (by @dependabot[bot])
      • #37131: Build(deps-dev): bump @types/mocha from 10.0.8 to 10.0.9 in /tests/UI (by @dependabot[bot])
      • #37122: Update github action to update php modules (by @nicosomb)
      • #36938: Delete old thumbnail for variant images when deleting product (by @ShaiMagal)
      • #37096: Build(deps-dev): bump eslint-plugin-import from 2.30.0 to 2.31.0 in /tests/UI (by @dependabot[bot])
      • #37068: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.0.0 to 8.8.0 in /tests/UI (by @dependabot[bot])
      • #37064: Build(deps): bump @faker-js/faker from 8.4.1 to 9.0.3 in /tests/UI (by @dependabot[bot])
      • #37063: Build(deps): bump pdfjs-dist from 3.6.172 to 3.11.174 in /tests/UI (by @dependabot[bot])
      • #37041: Update node js to v20 (by @mattgoud)
      • #36932: Updated PrestaShop Packages (by @github-actions[bot])
      • #37049: Build(deps-dev): bump jsdoc-to-markdown from 9.0.1 to 9.0.2 in /tests/UI (by @dependabot[bot])
      • #37023: Update phpoffice/phpspreadsheet (by @jolelievre)
      • #37006: Update Changelog for 8.2.0 release (by @matthieu-rolland)
      • #36994: Build(deps-dev): bump eslint from 8.57.0 to 8.57.1 in /tests/UI (by @dependabot[bot])
      • #37000: Update Symfony components after 6.4.12 release (by @nicosomb)
      • #36996: Build(deps-dev): bump eslint-plugin-html from 8.1.1 to 8.1.2 in /tests/UI (by @dependabot[bot])
      • #36955: Use basename on user given filename in legacy uploadcontroller (by @matthieu-rolland)
      • #36922: Build(deps-dev): bump @types/mocha from 10.0.7 to 10.0.8 in /tests/UI (by @dependabot[bot])
      • #36925: Build(deps-dev): bump typescript from 5.5.4 to 5.6.2 in /tests/UI (by @dependabot[bot])
      • #36921: Build(deps): bump mysql2 from 3.11.0 to 3.11.3 in /tests/UI (by @dependabot[bot])
      • #36863: Build(deps-dev): bump eslint-plugin-import from 2.29.1 to 2.30.0 in /tests/UI (by @dependabot[bot])
      • #36860: Build(deps-dev): bump jsdoc-to-markdown from 9.0.0 to 9.0.1 in /tests/UI (by @dependabot[bot])
      • #36575: [BC Break] Migrate lazy array improvements and cart presenter decoupling from develop to 8.2.x (by @matthieu-rolland)
      • #36657: Add hook for assigning general purpose variables before the core does it (by @matthieu-rolland)
      • #36788: Build(deps-dev): bump jsdoc-to-markdown from 8.0.3 to 9.0.0 in /tests/UI (by @dependabot[bot])
      • #36784: Update Symfony components after 6.4.11 release (by @nicosomb)
      • #36236: Update iframe-modal.ts DOM text reinterpreted as HTML (by @Shivam7-1)
      • #36696: Build(deps): bump mocha from 10.7.0 to 10.7.3 in /tests/UI (by @dependabot[bot])
      • #36576: Mail - Reply-To can be the same as the To address (spam indicator - negative points) (by @ShaiMagal)
      • #36595: Handle links in XML checksum generation and improve tests auto actions (by @jolelievre)
      • #36625: Bump typescript from 5.5.3 to 5.5.4 in /tests/UI (by @dependabot[bot])
      • #36628: Bump mysql2 from 3.10.3 to 3.11.0 in /tests/UI (by @dependabot[bot])
      • #36627: Bump jsdoc-to-markdown from 8.0.2 to 8.0.3 in /tests/UI (by @dependabot[bot])
      • #36626: Bump chai from 4.4.1 to 4.5.0 in /tests/UI (by @dependabot[bot])
      • #36622: Update Symfony components after 6.4.10 release (by @nicosomb)
      • #36579: Bump mocha from 10.6.0 to 10.7.0 in /tests/UI (by @dependabot[bot])
      • #36578: Bump jsdoc-to-markdown from 8.0.1 to 8.0.2 in /tests/UI (by @dependabot[bot])
      • #36581: Bump mysql2 from 3.10.2 to 3.10.3 in /tests/UI (by @dependabot[bot])
      • #36559: Improve GetCarrier query to have ordersCount (by @boherm)
      • #36553: Replace AbstractCarrierHandler by CarrierRepository use (by @boherm)
      • #36501: Presenter classes: use new php attributes instead of php doc (by @matthieu-rolland)
      • #36509: Bump typescript from 5.5.2 to 5.5.3 in /tests/UI (by @dependabot[bot])
      • #36506: Bump mocha from 10.5.2 to 10.6.0 in /tests/UI (by @dependabot[bot])
      • #36198: Add Hummingbird theme in composer.json (by @nicosomb)
      • #36477: Implement php attribute for lazy array + other improvements (by @matthieu-rolland)
      • #36464: Bump mocha from 10.4.0 to 10.5.2 in /tests/UI (by @dependabot[bot])
      • #36463: Bump mysql2 from 3.10.1 to 3.10.2 in /tests/UI (by @dependabot[bot])
      • #36434: Carrier - Optimise when updating Carrier (by @boherm)
      • #36460: Update Symfony components after 6.4.9 release (by @nicosomb)
      • #36437: Update Pull Request template (by @nicosomb)
      • #36407: Bump typescript from 5.4.5 to 5.5.2 in /tests/UI (by @dependabot[bot])
      • #36380: Carrier - CQRS - Get/Set Carrier Ranges (by @boherm)
      • #36353: Update API Platform to version 3.3 (by @jolelievre)
      • #36417: Updated PrestaShop Packages (by @github-actions[bot])
      • #36363: Update Changelog for 8.1.7 release (by @jolelievre)
      • #36406: Bump @types/mocha from 10.0.6 to 10.0.7 in /tests/UI (by @dependabot[bot])
      • #36398: Updated PrestaShop Packages (by @github-actions[bot])
      • #36368: Bump mysql2 from 3.10.0 to 3.10.1 in /tests/UI (by @dependabot[bot])
      • #36300: Carriers - CQRS - Add/Update Shipping locations and costs (by @boherm)
      • #36341: Preliminary tasks for 8.1.7 release (by @jolelievre)
      • #36284: Updated PrestaShop Packages (by @github-actions[bot])
    • Bug fix:
      • #37861: [BC Break] Fix Customer threads messages for multiple products (by @boherm)
      • #37912: Fix performance issue linked to HookModuleFilter PR (by @matthieu-rolland)
      • #37849: Fix issue with count on string (by @pszostok)
      • #37876: Downgrade lockfileVersion of themes package-lock.json files (by @mattgoud)
      • #37332: Order::getCustomerOrders - in specific case incorrect sorting by date_add DESC (by @ShaiMagal)
      • #37474: [BC Break] Make Twig accessible for modules inside hooks (by @kpodemski)
      • #37620: Update patch version of dependencies + Major faceted search module (by @jolelievre)
      • #37486: Fix obvious notice in Warehouse class (by @kpodemski)
      • #37412: Fixes free product cart rule not being added (by @gennaris)
      • #37508: Revert “Update circuit breaker, remove Guzzle” (by @jolelievre)
      • #37377: Add return type to execute() methods (by @PrestaEdit)
      • #37375: Optimise module manager builder in legacy environment (by @jolelievre)
      • #37312: Fixed documentation URL for PrestaShop 9.0.x (by @nicosomb)
      • #37009: Add replyToName parameter to Hook actionEmailSendBefore (by @tups)
      • #36877: [BC Break] Fix category thumbnail images (by @Hlavtox)
      • #37037: Fix: check if legacy context force multishop mode (by @Nakahiru)
      • #36484: Add currency context for new admin API (by @clement-hvt)
      • #36689: Can’t transformToCustomer while password max length is shorter than default 16 length (by @ShaiMagal)
      • #36875: Add attr_stringify_fetches to PDO init config to avoid BC Break (by @fox-john)
      • #36840: Use PHP constants for doctrine config (by @matks)
      • #35882: Unify varchar limits (by @Hlavtox)
      • #36662: Cast OrderProductForViewing - location to string for Memcached (by @ShaiMagal)
      • #36531: Exception on several scopes on an API Platform resource (by @clement-hvt)
      • #36540: Fix var_export() with missing 2nd return=true arg (by @staabm)
      • #36528: Fix lazy object rewrite mechanism (by @matthieu-rolland)
      • #36358: Improve legacy context loader for CLI usage (by @matthieu-rolland)
      • #36123: Fix quantity misadjustment on status change from Canceled to any non-loggable (by @Macin609)
      • #36372: Update README with 9.x links (by @nicosomb)
      • #36160: Follow symlinks for traductions - Deployer best practice (by @Jeremie-Kiwik)
      • #35902: Fix min qty in front ProductController (by @boherm)
      • #36272: Fix compatibility error on ARM processors when installing via docker (by @matthieu-rolland)
      • #36343: Downgrade blockreassurance (by @jolelievre)
    • Refactoring:
      • #37659: Remove use of deprecated method in customizations (by @Hlavtox)
      • #37658: Adjust error handling (by @Hlavtox)
      • #37656: Remove unused variable (by @PrestaEdit)
      • #37592: Keep default language unprefixed by default (by @Hlavtox)
      • #37494: Make if before foreach (by @PrestaEdit)
      • #37434: Refactor rounding and fix compatibility with PHP 8.4 (by @Hlavtox)
      • #37414: Add excplicit escape parameter to prevent PHP 8.4 deprecation notice (by @Hlavtox)
      • #37416: Explicitly type all nullable values for PHP 8.4 (by @Hlavtox)
      • #37388: Fix confusing wording (by @Hlavtox)
      • #37281: Unify form fields with database text fields (by @Hlavtox)
      • #36873: [BC Break] Remove meta keywords (by @Hlavtox)
      • #37257: E_STRICT error level was removed, constant E_STRICT is now deprecated (by @ShaiMagal)
      • #37038: Raise payment reference to unify with orders table (by @Hlavtox)
      • #36882: Comment search process (by @Hlavtox)
      • #36782: Remove unused lines (by @PrestaEdit)
      • #36749: Fix Image::getCover & Image::getGlobalCover PHPDoc (by @PululuK)
      • #36397: Remove unexpected binary condition (by @davidglezz)
  • Installer:
    • Improvement:
      • #37957: Update default catalog 9.0.x (by @ps-jarvis)
      • #37709: Update default catalog 9.0.x (by @ps-jarvis)
      • #37706: Update default catalog 9.0.x (by @ps-jarvis)
      • #37581: Improve Installation errors (by @jolelievre)
      • #37549: Update default catalog 9.0.x (by @ps-jarvis)
      • #37531: Update default catalog 9.0.x (by @ps-jarvis)
      • #37495: Update mysql-version.tpl (by @PrestaEdit)
      • #37167: Improve security by randomizing prefix (by @Prestaworks)
      • #37079: Improve security by randomizing prefix (by @Prestaworks)
      • #36972: Update default catalog 8.2.x (by @ps-jarvis)
      • #36726: Add possiblity to customize the installer based on template from a module (by @jolelievre)
      • #36643: Include symlinks into the zip release archive (by @jolelievre)
      • #36233: [BC Break] Remove doctrine command from install process (by @jolelievre)
      • #36345: Update default catalog 8.1.x (by @ps-jarvis)
      • #36340: Update default catalog 8.1.x (by @ps-jarvis)
      • #36270: Update doc about ReleaseCreator (by @PrestaEdit)
    • Bug fix:
      • #37942: Generate category thumbnail for demo data on install (by @jolelievre)
  • Web Services:
    • Bug fix:
      • #36807: Move the array_unshift in Product::setWsPositionInCategory() (by @matks)
    • Refactoring:
      • #37415: [BC Break] Remove outdated E_STRICT (by @Hlavtox)
  • Tests:
    • Improvement:
      • #37945: Functional Tests: Bump @prestashop-core/ui-testing (by @Progi1984)
      • #37923: Functional Tests : Migrate to @prestashop-core/ui-testing (Part 3) (by @Progi1984)
      • #37891: Functional Tests : Migrate to @prestashop-core/ui-testing (Part 2) (by @Progi1984)
      • #37871: Functional Tests : Migrate to @prestashop-core/ui-testing (Part 1) (by @Progi1984)
      • #37743: Functional Tests : Audit - BO - Shop Parameters (by @florine2623)
      • #37742: Functional Tests : API : GET /languages (by @Progi1984)
      • #37741: Functional Tests : API : POST /customers/group (by @Progi1984)
      • #37732: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
      • #37677: Functional Tests : Audit - BO - International (by @florine2623)
      • #37645: Nightly : Fixed campaigns after #37592 (by @Progi1984)
      • #37624: Functional Tests : Audit - BO - Shipping (by @florine2623)
      • #37619: Functional Tests : Audit - BO - Payment (by @florine2623)
      • #37573: Functional Tests : Audit - BO - Design (by @Progi1984)
      • #37556: Functional Tests : Audit - BO - Modules (by @Progi1984)
      • #37545: Functional Tests : Removed jsdoc-to-markdown (by @Progi1984)
      • #37524: Functional Tests : Audit - BO - Statistics (by @Progi1984)
      • #37514: Functional Tests : Audit - BO - Customer Service (by @Progi1984)
      • #37505: Functional Tests : Audit - BO - Customers (by @Progi1984)
      • #37503: Functional Tests : Audit - BO - Catalog (by @Progi1984)
      • #37484: Functional Tests : Audit - BO - Orders (by @Progi1984)
      • #37483: Functional Tests : Audit : BO - Dashboard (by @Progi1984)
      • #37478: Functional Tests : Audit : FO - Cart (by @Progi1984)
      • #37469: Bump @prestashop-core/ui-testing (by @Progi1984)
      • #37468: Functional Tests : Pages in connected mode (by @Progi1984)
      • #37463: Update PHPUnit to v10 (by @jolelievre)
      • #37439: Functional Tests : FO - Hummingbird - Pages in guest mode (by @Progi1984)
      • #37435: Functional Tests : API : PUT /module/{technicalName}/upgrade (by @Progi1984)
      • #37427: Functional Tests : Added campaign audit (by @Progi1984)
      • #37420: Functional Tests : BO - Shop Parameters - Search: Weight (by @Progi1984)
      • #37406: Small UI tests adaptations/improvements (by @jolelievre)
      • #37398: Functional Tests : API : PUT /modules/uninstall (by @Progi1984)
      • #37379: Fast login in UI tests (by @jolelievre)
      • #37385: Functional : API : POST /module/upload-archive (by @Progi1984)
      • #37384: Functional Tests : API : PUT /module/{technicalName}/uninstall (by @Progi1984)
      • #37372: Functional Tests : API : PUT /module/{technicalName}/install (by @Progi1984)
      • #37367: Functional Tests : API : POST /module/upload-source (by @Progi1984)
      • #37358: Bump @prestashop-core/ui-testing (by @Progi1984)
      • #37336: Functional Tests : BO - Shop Parameters - Search - Indexing - Set a cron job (by @Progi1984)
      • #37325: Functional Tests : BO - Shop Parameters - Search : Indexing (by @Progi1984)
      • #37299: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
      • #37289: Functional Tests : BO - Shop Parameters - Search : Search within word (by @Progi1984)
      • #37279: Functional Tests : Removed @todo #30520 (by @Progi1984)
      • #37269: Functional Tests : Category products module - Display products’ prices (by @Progi1984)
      • #37252: Functional Tests : API : PUT /module/{technicalName}/status (by @Progi1984)
      • #37250: Functional Tests : API : PATCH /module/{technicalName}/reset (by @Progi1984)
      • #37235: Functional Tests : Split modules campaign (by @Progi1984)
      • #37232: Functional Tests : BO - Catalog - Attributes - Values - Filter table (by @Progi1984)
      • #37234: Nightly : Fixed Keycloak (by @Progi1984)
      • #35935: Functional Tests : Remove playwright dependency (by @Progi1984)
      • #37138: Functional Tests : Faceted search module - Edit template - Product Price filter (by @Progi1984)
      • #37118: Functional Tests : BO - International - Currencies : Filter, sort and pagination (by @Progi1984)
      • #37114: Functional Tests : BO - Modules - GDPR : Multistore (by @Progi1984)
      • #37107: Functional Tests : Remove @commonTests/BO/loginBO (by @Progi1984)
      • #37104: Functional Tests : BO - Header : Quick access links (by @Progi1984)
      • #37099: Functional Tests : Wishlist module - Reset module (by @Progi1984)
      • #37075: Functional Tests : BO - Shop Parameters - Order Settings : Terms and conditions (by @Progi1984)
      • #37070: Functional Tests : Theme Customization module - Uninstall and install module (by @Progi1984)
      • #37056: Functional Tests : Clean @todo (by @Progi1984)
      • #37055: Functional Tests : BO - Shop Parameters - Search : Maximum word length (in characters) (by @Progi1984)
      • #37036: Functional Tests : BO - Modules - GDPR: Help (by @Progi1984)
      • #37020: Functional Tests : Mail alerts module - Disable/Enable module (by @Progi1984)
      • #37015: Small modification to make tests more stable in CI (by @jolelievre)
      • #37012: Functional Tests : BO - Design - Email Theme : Back to configuration link (by @Progi1984)
      • #37001: Functional Tests : Cash on delivery (COD) module: Upgrade module (by @Progi1984)
      • #36990: Functional Tests : BO - Shop Parameters - Product Settings : Display notifications (by @Progi1984)
      • #36986: Functional Tests : Migrate pages to ui-testing-library (by @Progi1984)
      • #36971: Functional Tests : New products block module: Upgrade module (by @Progi1984)
      • #36954: Functional Tests : BO - Shipping - Carriers : Size and weight (by @Progi1984)
      • #36934: Functional Tests : BO - Shipping - Carriers : Shipping locations and costs (by @Progi1984)
      • #36908: Functional Tests: Faceted search module: Show unavailable, out of stock last’s field configuration (by @Progi1984)
      • #36872: Functional Tests : Faceted search module: Show products only from default category’s field configuration (by @Progi1984)
      • #36832: Functional Tests : ps_supplierlist - Configure Settings (by @Progi1984)
      • #36867: Functional Tests : BO - Modules - GDPR: Personal data manager for guest (by @Progi1984)
      • #36846: Functional Tests : BO - Customers - Customers : Filter and quick edit (by @Progi1984)
      • #36776: Functional Tests : BO - Shipping - Carriers : Bulk actions (by @Progi1984)
      • #36881: Functional Tests : New products block module - Configure settings of “Products to display” field (by @Progi1984)
      • #36890: Functional Tests : Faceted search module - Edit template - Size filter (by @Progi1984)
      • #36804: Functional Tests : BO - Shipping - Carriers : General Settings (by @Progi1984)
      • #36769: Functional Tests : BO - Orders - Shopping carts: Filter & sort table (by @Progi1984)
      • #36777: Nightly : Push report for 8.2.x (by @Progi1984)
      • #36762: Functional Tests : Added nightly for 8.2.x (by @Progi1984)
      • #36681: Update UI testing library to be compatible with reskin (by @jolelievre)
      • #36646: Functional Tests : BO - Shop Parameters - Customer Settings : Password reset delay (by @Progi1984)
      • #36640: Functional Tests : Faceted search module - Reset module (by @Progi1984)
      • #36637: Functional Tests : Faceted search module - Edit template - Dimension filter (by @Progi1984)
      • #36633: Functional Tests : BO - Advanced Parameters - Performance : Optional features (by @Progi1984)
      • #36618: Functional Tests : Wishlist module - Uninstall and delete module (by @Progi1984)
      • #36610: Functional Tests : BO - Advanced Parameters: Informations (by @Progi1984)
      • #36603: Functional Tests : BO - International - Countries : Enable / Disable Countries (by @Progi1984)
      • #36591: Functional Tests : Theme Customization module - Disable/Enable module (by @Progi1984)
      • #36571: Functional Tests : Faceted search module - Edit template - Sub-categories filter (by @Progi1984)
      • #36569: Functional Tests : BO - Shop Parameters - Search : Search exact end match (by @Progi1984)
      • #36562: Faceted search module - Edit template: Product condition filter (by @Progi1984)
      • #36554: Functional Tests : BO - Shop Parameters - Search : Indexing (by @Progi1984)
      • #36538: Functional Tests : Wishlist module - Share a list (by @Progi1984)
      • #36497: Functional Tests : Wishlist module - Add a product to a list (by @Progi1984)
      • #36488: Functional Tests : BO - Payments - Payment methods: Configure module link (by @Progi1984)
      • #36481: Functional Tests : BO - International - Localization - Geolocation: Update IP address whitelist (by @Progi1984)
      • #36485: Functional Tests : New products block module - Uninstall and delete module (by @Progi1984)
      • #36473: Functional Tests : BO - Modules - GDPR: Customer activity tracking (by @Progi1984)
      • #36455: Functional Tests : BO - Shop Parameters - Search : Maximum approximate words allowed by fuzzy search (by @Progi1984)
      • #36441: Functional Tests : Faceted search module - Category filter depth field configuration (by @Progi1984)
      • #36435: Functional Tests : BO - Advanced Parameters - Performance : Clear cache (by @Progi1984)
      • #36431: Functional Tests : Faceted search module - Uninstall and install module (by @Progi1984)
      • #36422: Functional Tests : BO - Shop Parameters - Search : Minimum word length (in characters) (by @Progi1984)
      • #36416: Functional Tests : Wishlist module - Help header buttons (by @Progi1984)
      • #36400: Functional Tests : Faceted search module - Edit template - Paper type filter (by @Progi1984)
      • #36393: Functional Tests : BO - Shop Parameters - Search : Blacklisted words (by @Progi1984)
      • #36389: Improve Carrier management behat tests (by @boherm)
      • #36383: Functional Tests : New products block module - BO header buttons (by @Progi1984)
      • #36295: Functional Tests : Support for MariaDB (by @Progi1984)
    • Bug fix:
      • #37908: Clean JS errors between each steps in UI tests (by @jolelievre)
      • #37887: Fix: #37886 - [docker-compose] - upgrade node 14 to 16 (by @mattgoud)
      • #37870: Nightly : Improved functionals/BO/00*/04* (by @Progi1984)
      • #37862: Use Ubuntu 22.04 on 8.2.x (by @Progi1984)
      • #37662: Functional Tests : Reduce Sanity (and improve stability) (by @Progi1984)
      • #37429: Clean behat context constructors (by @jolelievre)
      • #37203: Functional Tests : Stabilization (by @Progi1984)
      • #37226: Stabilise UI tests changing positions (by @jolelievre)
      • #37214: Fix tests ContextMocker wrong country config var (by @PululuK)
      • #37155: Update module UI tests for API to rely on technicalName now (by @jolelievre)
      • #36673: Screenshot on each steps in UI tests (by @jolelievre)
      • #36763: Nightly : Fixed 8.2.x (by @Progi1984)
      • #36676: Update UI testing library to work on Mac OS (by @jolelievre)
      • #36514: Nightly : Enable UI Tests after merge Hummingbird (by @Progi1984)
    • Refactoring:
      • #37600: UI tests - Fix nightly 06-12 after UX improvements of order page (by @nesrineabdmouleh)
      • #37115: Functional tests - Fix nightly 09-10 (by @nesrineabdmouleh)
      • #37101: Functional tests - Migrate languages pages to ui-testing-library (by @nesrineabdmouleh)
      • #37078: Functional tests - Add new scenario to configure the whole page of email theme (by @nesrineabdmouleh)
      • #37026: Functional Test : BO - Shop Parameters - Order Settings - Statuses : Filter, sort and pagination order return status (by @Progi1984)
      • #36656: Clean behat scenarios with new carrier steps (by @tleon)
      • #36659: Functional tests - Add new test to edit official and unofficial currency (by @nesrineabdmouleh)
      • #36638: Functional tests - Add new test to check links in BO login page (by @nesrineabdmouleh)
      • #36444: MariaDB ci test to use healthcheck.sh to order (by @grooverdan)
      • #36533: Nightly : Improved the stability (2024-07-11) (by @Progi1984)
      • #36532: Cron Update PHP Modules : Remove UI Tests part (by @Progi1984)
      • #36385: Nightly : Split :dolphin: MySQL & :seal: MariaDB in two workflows (by @Progi1984)
      • #36370: Functional Tests : ui-testing : Migrate @utils/* (by @Progi1984)
      • #36339: Functional Tests : ui-testing : Migrate @data/types/* (by @Progi1984)
      • #36325: Functional Tests : ui-testing : Migrate @data/faker/* (by @Progi1984)