Copyright since 2007 PrestaShop SA and Contributors
PrestaShop is an International Registered Trademark & Property of PrestaShop SA

NOTICE OF LICENSE

This source file is subject to the Open Software License (OSL 3.0)
that is bundled with this package in the file LICENSE.md.
It is also available through the world-wide-web at this URL:
https://opensource.org/licenses/OSL-3.0
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@prestashop.com so we can send you a copy immediately.

DISCLAIMER

Do not edit or add to this file if you wish to upgrade PrestaShop to newer
versions in the future. If you wish to customize PrestaShop for your
needs please refer to https://devdocs.prestashop.com/ for more information.

@author    PrestaShop SA and Contributors <contact@prestashop.com>
@copyright Since 2007 PrestaShop SA and Contributors
@license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)

Changelog for PrestaShop 9

####################################
#   v9.1.1 - (2026-04-16)
####################################

- Back Office
  - Improvement:
    - GHSA-w9f3-qc75-qgx9 Prevent xss exploitation via unprotected variables in customer threads (found by Savio from Doyensec in collaboration with Anthropic Research)

####################################
#   v9.1.0 - (2026-03-13)
####################################

- Back Office:
  - Improvement:
    - GHSA-35pf-37c6-jxjv Prevent xss exploitation via unprotected variables in template
    - GHSA-283w-xf3q-788v Fix improper use of validation framework
  - Bug fix:
    - #40888: Add ShopContext and LanguageContext to FeatureAttributeRepository
    - #40923: Dynamize docker names when using docker exec in CI

####################################
#   v9.1.0 RC 1 - (2026-02-19)
####################################

- Back Office:
  - Improvement:
    - #40720: Add actionUpdateDefaultCombinationAfter hook when default combination is set (by @Codencode)
    - #40536: Add discountType endpoint (by @nicosomb)
    - #40517: Add some help boxes to product page (by @Hlavtox)
    - #40481: Improved UX for API client creation (by @kpodemski)
    - #40330: Add usage limits fields for new discount system (by @boherm)
    - #40094: Fix: Doctrine auto-mapping in modules: only the first subfolder inside src/Entity is recognized (by @Codencode)
    - #39923: Improve wording of some settings, better explain the meaning of them (by @Hlavtox)
    - #39459: Set optin and newsletter off for John DOE (by @Touxten)
  - Bug fix:
    - #40809: Clean discount form (by @jolelievre)
    - #40743: Fix: Bug: when invoicing is disabled, changing order status to "paid=1" does not register any payment on the order (by @Codencode)
    - #40710: Fix: Feature values count is duplicated when using “All shops” with multiple shops (by @Codencode)
    - #40682: Fix the collision when we create / delete product customization in the same action (by @nicosomb)
    - #40640: Fix EntitySearchInput::setValues forEach callback argument order (by @Codencode)
    - #40620: Update AdminSecurity permissions logic in OrderController (by @rsoulard-prolaser)
    - #40578: Dynamic pack quantity (by @jolelievre)
    - #40563: Admin API improvements for combination endpoints (by @jolelievre)
    - #40556: Fix: CsvFileReader service fails with "You have requested a non-existent service 'session'" (by @Codencode)
    - #40554: Fix: always display taxes total in order summary (by @Codencode)
    - #40532: BO Product page, fix feature value collection indexes (by @jolelievre)
    - #40525: Update module ps_apiresources (by @jolelievre)
    - #40518: Fix position of minimum_product_quantity field in table (by @nicosomb)
    - #40499: Fix: When saving an Attribute is_color_group is not updated. (by @Codencode)
    - #40475: Fix link for redirection on country BO page (by @jolelievre)
    - #40433: Fix: Module update problem (by @Codencode)
    - #40329: Prevent NoResultException when checking for existing translations (by @ChillCode)
    - #40317: Fix: Backoffice data grids can yield different random results every time (by @Codencode)
    - #40066: Fix: [BO] Admin Countries page redirect issue with multishop after changing shop (by @Codencode)
    - #40054: Use URL when building urls to prevent subtle mistakes with &? (by @tswfi)
    - #40050: Fix: Incorrect redirect from HTTP to HTTPS on the admin login page when PrestaShop is in a subfolder (by @Codencode)
    - #40036: BO - Product : Fixed feature display in multishop (by @Progi1984)
    - #39854: Fix: Quick Access links redirect to root instead of subdirectory, causing 404 (by @Codencode)
    - #38775: Fix: Multishop - error loading CMS pages removed from the default shop (by @Codencode)
  - Refactoring:
    - #40825: Add shipping helptexts (by @Hlavtox)
    - #40358: Handle Product level discount in CQRS (by @jolelievre)
    - #37667: Apply backoffice optimizations (by @Hlavtox)
- Front Office:
  - New feature:
    - #40403: Allow easily hooking into country and currency selection logic (by @Hlavtox)
  - Improvement:
    - #40758: Secure table name with bqsql in DB and DBQuery  #33539 backport (by @jf-viguier)
    - #40733: Bump prestashop/hummingbird to 2.0 (by @Progi1984)
    - #40572: Add feature during theme enabling to unhook specific modules (by @jolelievre)
    - #40537: Remove unnecessary force refresh in checkout (by @Hlavtox)
  - Bug fix:
    - #40814: Update classic theme to 3.1.1 (by @jolelievre)
    - #40626: Fix "Free shipping" displayed for discounts with free shipping off an… (by @Hlavtox)
    - #40614: Fix "Free shipping" displayed on cart when a discount haven't free shipping enabled and with a reduction amount = 0 (by @boherm)
    - #40538: Fix quantity input, add to cart button and availability labels when items are added in a cart (by @Hlavtox)
    - #40246: Fix preview in multilang (by @tleon)
  - Refactoring:
    - #40673: Use proper delivery times (by @Hlavtox)
    - #40662: Corrects the error message when the quantity is less than 1 in cart (by @Touxten)
    - #40653: Add cart product presenter and cart availability (by @Hlavtox)
    - #40570: Prevent accidental usage of quantity_wanted from request (by @Hlavtox)
    - #40406: Comment how language setting works in FO (by @Hlavtox)
- Core:
  - New feature:
    - #40808: Add new options for release creator (by @nicosomb)
  - Improvement:
    - #40833: Bump apiresources to 0.5.0 (by @boherm)
    - #40811: Backport missing workflows from develop to 9.1.x (by @jolelievre)
    - #40768: Integrate new header-stamp for 9.1.x branch (by @jolelievre)
    - #40765: Dynamic PHP matrix in workflows for 9.1.x (by @jolelievre)
    - #40730: Add hooks that enable to control free shipping price (by @Hlavtox)
    - #40678: Restore dev version for ps_apiresources (by @nicosomb)
    - #40603: Clean old cart rule migration (by @jolelievre)
    - #40596: Discounts for guest, test scenario (by @kpodemski)
    - #40546: Command : Added CLI for checking fixtures translations (by @Progi1984)
    - #40520: Skip removed modules on enable theme (by @jolelievre)
    - #40467: Chore: [composer] update prestashop/dashproducts (by @mattgoud)
    - #40381: Remove `curl_close` obsolete function calls (by @ShaiMagal)
    - #40359: Use node 20.19.5 by default to build assets (by @jolelievre)
    - #40353: Dynamise hook documentation generation based on Version (by @jolelievre)
    - #40350: Remove the composer config to ignore audit (by @jolelievre)
    - #40342: Improved-shipment: Global refactorisation (by @M0rgan01)
    - #40269: Prevent database inconsistencies by preventing faulty group delete calls (by @Hlavtox)
    - #40133: Update ca-bundle from 1.3.7 to 1.5.9 (by @tswfi)
  - Bug fix:
    - #40823: Don't add "default" if "default" already in name for getFormattedName (by @boherm)
    - #40776: Replace github action that sets up mysql in CI (by @Touxten)
    - #40762: Replace github action that sets up mysql in CI (by @Touxten)
    - #40657: Fix configuration of Dev mode and Debug profiling in the back office (by @kpodemski)
    - #40656: Fix getting specific price for a given customer group (by @kpodemski)
    - #40590: Fix creating orders for guests (by @kpodemski)
    - #40588: Update Changelog 9.0.3 (by @jolelievre)
    - #40585: Preliminary tasks for patch version 9.0.3 (by @jolelievre)
    - #40562: Update VAT rates for Estonia and Romania (by @Codencode)
    - #40498: Fix: doctrine throws error from the beginning: There is no column with name "theme_name" on table "ps_image_type" (by @Codencode)
    - #40496: Fix some type issues related to carriers (by @Hlavtox)
    - #40480: Improvements to Makefile (by @kpodemski)
    - #40479: Fix legacy profiler in the back office (by @kpodemski)
    - #40423: Fix empty extra vars / product list when using the new automatic text email option (by @matrixino)
    - #40400: Simplify cart rule minimal value by avoiding subtracting values (by @Hlavtox)
    - #40040: Always request a non cached result in Order::getIdByCartId (by @ilsalvopss)
  - Refactoring:
    - #40798: Fix, comment and improve country initialization logic related to shipping (by @Hlavtox)
    - #40604: Update classic to 3.0.6 (by @Hlavtox)
    - #40432: Simplify some of cart logic to gradually move to single source of truth (by @Hlavtox)
    - #40389: Comment logic related to addresses and their initialization (by @Hlavtox)
- Installer:
  - Improvement:
    - #40839: Update default catalog 9.1.x (by @ps-jarvis)
    - #40824: Update default catalog 9.1.x (by @ps-jarvis)
    - #40468: Update default catalog 9.1.x (by @ps-jarvis)
    - #40397: Update default catalog 9.1.x (by @ps-jarvis)
  - Bug fix:
    - #40574: Fix Makefile to prevent build assets twice (by @jolelievre)
    - #40457: Fix installation theme step order (by @jolelievre)
    - #40077: Install Console : Allow characters "<" & ">" in admin password (by @Progi1984)
- Web Services:
  - Bug fix:
    - #40442: Fix: PHP Fatal error when deleting product image by Webservice API #39111 (by @semicolonSimp)
- Localization:
  - Bug fix:
    - #40521: Fix default fixtures translation (by @jolelievre)
- Tests:
  - Improvement:
    - #40789: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40734: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40691: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40674: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40645: Functional Tests : Fixed campaigns (Part 5) (by @Progi1984)
    - #40607: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40565: Functional Tests : Fixed campaigns (Part 4) (by @Progi1984)
    - #40512: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40469: Functional Tests : Fixed campaigns (Part 3) (by @Progi1984)
    - #40458: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40436: Functional Tests : Fixed campaigns (Part 2) (by @Progi1984)
    - #40434: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40428: Functional Tests : Fixed campaigns (Part 1) (by @Progi1984)
    - #40425: Functional Tests : Use Hummingbird as front theme for Audit/Modules/Regression/Sanity Scenarios (by @Progi1984)
    - #40419: Functional Tests : Use Hummingbird as front theme for BO Scenarios (by @Progi1984)
    - #40418: Enable Hummingbird as default theme (by @Progi1984)
    - #40363: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40128: Functional Tests : Hummingbird 2 (as secondary theme) (by @Progi1984)
  - Bug fix:
    - #40684: Functional Tests : Enable scenarios (by @Progi1984)
    - #40646: Fixtures : Enable payment modules for US (by @Progi1984)
  - Refactoring:
    - #40405: Functional tests - Add enable/disable the classic theme (by @nesrineabdmouleh)
    - #40402: Functional tests - Delete enable/disable the theme hummingbird (by @nesrineabdmouleh)

####################################
#   v9.1.0 Beta 1 - (2025-12-18)
####################################

- Back Office:
  - New feature:
    - #39889: Send improved shipment feature flag to smarty on order history page (by @Nakahiru)
    - #39873: Discount priority system (by @tleon)
    - #39876: Feat: [discount-list] fix #39796 - add start and expiration date columns (by @mattgoud)
    - #39741: Set validity date for discounts (by @tleon)
    - #39789: Add limit to a single customer for discount (by @nicosomb)
    - #39763: UI tests - Add new scenario to check multicarrier (by @nesrineabdmouleh)
    - #39351: Condition based on feature (by @tleon)
    - #39498: Add edit shipment page (by @PoulainMaxime)
    - #39127: Add shipmentId on product list in order page detail (by @PoulainMaxime)
    - #39138: Create split shipment form (by @ga-devfront)
    - #39418: Discount attributes condition in form (by @jolelievre)
    - #39363: Condition based on countries (by @tleon)
    - #39246: Discount condition based on supplier (by @tleon)
    - #39140: Condition based on categories (by @tleon)
    - #39137: Create merge shipment form (by @M0rgan01)
    - #39130: Add trigger on a brand for discount (by @nicosomb)
    - #39093: Create-shipment-tab (by @M0rgan01)
    - #39019: Add delete shipment product command for multishipment (by @PoulainMaxime)
    - #39103: Discount specific product condition allows selection of combination (by @jolelievre)
    - #38976: Add split shipment command for multishipment (by @PoulainMaxime)
    - #38984: Add get shipment for viewing query (by @M0rgan01)
    - #39087: Handle new type of Discount product condition based on restricted combinations (by @jolelievre)
    - #38933: Add list available shipments for product query  (by @PoulainMaxime)
    - #38954: Add merge shipment command (by @PoulainMaxime)
    - #38911: Add list available carriers query (by @M0rgan01)
    - #38839: Add hooks on Module enable/disable/upgrade (by @studiokiwik)
    - #38909: Add switch shipment carrier CQRS command (by @ga-devfront)
    - #38842: Discount minimal cart product (by @jolelievre)
    - #38867: Integrate discount conditions in form (by @tleon)
    - #38746: Add product selection while creating free gift discount (by @nicosomb)
    - #38837: Add delete discount command and list for api & bo (by @tleon)
    - #38690: Cart & Order discount Form (add + update)  (by @tleon)
    - #38450: Order level discount (by @tleon)
    - #38209: Add `free gift` discount (by @nicosomb)
    - #38191: Feat: add CQRS command for add & list shipment (by @PoulainMaxime)
    - #38201: Add product level discounts (by @tleon)
    - #38187: Add new discount page grid and creation popup (by @jolelievre)
    - #38081: Add new discount cart level cqrs command (by @tleon)
    - #38046: Feat: add entities for multi-shipment (by @PoulainMaxime)
    - #38111: Refactor Discount creation domain services and allow creation without names (by @jolelievre)
    - #38040: Feature: add feature flag for upcoming new shipment system (by @Nakahiru)
    - #37911: Cart rule refacto command free shipping (by @tleon)
  - Improvement:
    - #40130: Add two-step process for module upgrade (download then install) (by @dylanDenizonPresta)
    - #40230: Adds help text to product page fields (by @Hlavtox)
    - #40247: Discount duplication (by @boherm)
    - #40212: [BC Break] Update module api resources v0.2.0 (by @jolelievre)
    - #40104: Bulk delete for discounts (by @boherm)
    - #40103: Add new bulk enable/disable commands for discounts (by @boherm)
    - #40089: Handle description field for discounts (by @tleon)
    - #39951: Chore(bo): New date filter component for discounts (by @tleon)
    - #39977: Migration Admin Tags : Delete & Bulk Delete (by @Progi1984)
    - #39979: Combine different types of trigger conditions (by @boherm)
    - #39962: Sort modules and mails templates by name in translations (by @PululuK)
    - #39649: Migration Admin Tags : Create & Edit Form (by @Progi1984)
    - #39857: Rearrange discount form (by @nicosomb)
    - #39629: [BC Break] Update d3 and nvd3 libs (by @boherm)
    - #39662: [BC Break] Add discount compatibility (by @nicosomb)
    - #39760: Address without linked brand (by @aomaxime)
    - #37668: Add more specific filtering to Brand addresses listing (by @zelarg)
    - #39579: Trigger error when split shipment with tracking number (by @PoulainMaxime)
    - #39383: Improve performance of admin notifications (by @MattKelvin)
    - #39536: Display right tab when the feature flag is enabled (by @PoulainMaxime)
    - #39517: Add possibility to get multiple shipment id for one product (by @PoulainMaxime)
    - #39516: Migration Admin Tags : Feature Flag & Grid (Listing & Filters) (by @Progi1984)
    - #39330: Improve "GetAvailableCarriers" query - filters (by @M0rgan01)
    - #39338: Update CQRS discount commands and queries to handle the carriers (by @jolelievre)
    - #38916: Add trigger with specific product in discount (by @nicosomb)
    - #38889: Add form in BO to apply discount automatically or via promo code (by @boherm)
    - #39055: Add more updateDiscountCommand Tests (by @tleon)
    - #38956: Add hook on Configuration updateValue (by @studiokiwik)
    - #38953: New generic form types, integration of minimum quantity and amount in the discount form (by @jolelievre)
    - #38780: Discount form cards (by @jolelievre)
    - #38561: Free shipping creation form (by @tleon)
    - #38430: Open product link in new window in admin order page (by @web-cooking-factory)
    - #38431: Add CMS Page preview link in listing in BO (by @web-cooking-factory)
    - #38248: Add product discount integration + some tests improvements (by @tleon)
    - #38000: Add new integration test for discount CQRS (by @tleon)
  - Bug fix:
    - #39926: Fix: handle SELECT fields without no_quotes in getSensitiveAttributes (by @Codencode)
    - #40001: Fix redirect after editing root category to use current categoryId in stead of PS_HOME_CATEGORY (by @Codencode)
    - #39869: Update monologger to v3 (by @NKoonen)
    - #40256: Fix: Issue retrieving product price when adding the first specific_price (by @Codencode)
    - #40243: Admin API handle position update (by @jolelievre)
    - #40257: Prevent saving ajax URL for future login redirection, or the redirect… (by @jolelievre)
    - #40112: Bump prestakit to v2.0.5 (by @Quetzacoalt91)
    - #40267: Fix minimum amount discount cart conditions tax/shipping incl. or excl. (by @boherm)
    - #40201: Fix path to legacy mail folder (by @Hlavtox)
    - #40123: Update module api resources with new boolean rule (by @jolelievre)
    - #39868: Chore: show carrier deleted on edit shipment to avoid blocking edit (by @PoulainMaxime)
    - #39883: Refactor discount-map.ts to use discountContainer for currency selector and reduction value symbol paths (by @tleon)
    - #39880: Add virtual product filter for shipments (by @M0rgan01)
    - #39810: Chore: verify is carrier is linked to shipments for soft delete (by @PoulainMaxime)
    - #39811: Fix product type discount (by @tleon)
    - #39808: Add missing form type in catalog discount (by @tleon)
    - #39706: Fix discount edition when no cart conditions were defined (by @nicosomb)
    - #39448: Fix carrier grade validation and prevent fatal error (by @MattKelvin)
    - #39262: Fix "get available carriers" query (by @M0rgan01)
    - #39341: Fix shipments "items" (by @M0rgan01)
    - #39302: Fix shipments tab (by @M0rgan01)
    - #38603: Cast $orderMessage['message'] as string to prevent fatal error. (by @josecarlosphp)
    - #38763: Fix for setAmountDiscount constructor type  (by @tleon)
    - #38349: Discount feedbacks (by @tleon)
    - #36374: PR - Fix order detail price re-calculation (by @Jeremie-Kiwik)
    - #37882: Fix: BO - Product Page - Display all features in feature choice, even if two features have the same name (by @Shagshag)
  - Refactoring:
    - #38505: Refacto discount commands (by @tleon)
- Front Office:
  - New feature:
    - #39755: Feat: add logic for new display on multishipment for order summary (by @PoulainMaxime)
    - #38444: Show all carriers in the delivery option when FEATURE_FLAG_IMPROVED_SHIPMENT is enabled (by @Nakahiru)
  - Improvement:
    - #40248: Prevent Exposure of Sensitive Product Attributes in Front Office (by @M0rgan01)
    - #39879: Chore: add new format to multishipment display on order final summary (by @PoulainMaxime)
    - #39787: Multi-carrier: added a property in OrderLazyArray (by @M0rgan01)
    - #39097: Fix CartPresenter translation domain (by @PululuK)
    - #39433: Allow specials characters in search (by @MattKelvin)
  - Bug fix:
    - #39582: Fix: Product customization text field bug with using symbol {} (by @Codencode)
    - #40117: Fix cart rule validation in front office (by @Hlavtox)
    - #40262: Allow access to customized files preview without multi-lang enabled (by @kpodemski)
    - #40137: Updated zxcvbn to a maintained version for consistency with backend checks (by @tleon)
    - #40044: Multistore : Display countries only those covered by active carriers (by @Progi1984)
    - #39788: Add check for enabled countries in cart and order (by @PrestaEdit)
    - #35471: [BC Break] PrestashopDatabaseException on cart confirmation with free delivery cart rules in debug mode #32748  (by @clotairer)
- Core:
  - New feature:
    - #40356: Update & activate hummingbird (by @tleon)
    - #40346: Update themes (by @tleon)
    - #39478: Add console command "prestashop:thumbnails:regenerate" (by @iNem0o)
    - #39403: Add SearchIndexationCommand to handle CLI search indexation (by @iNem0o)
    - #39405: Export module translations command (by @kpodemski)
    - #38484: Modify the shipment creation & remove order duplication for different carrier (by @PoulainMaxime)
  - Improvement:
    - #40349: Manual verifications (by @tleon)
    - #40347: Update native modules (by @jolelievre)
    - #40332: Restore original repository for ps_apiresources (by @nicosomb)
    - #40293: Create fixtures for discount types (by @boherm)
    - #40312: Bump to `9.0.3` (by @boherm)
    - #40134: Docker : Fixed Install of xdebug (by @Progi1984)
    - #39645: Add display parameter to generatePDF method (by @PrestaEdit)
    - #40265: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.48.0 to 8.48.1 in /tests/UI (by @dependabot[bot])
    - #40264: Chore(deps-dev): bump @typescript-eslint/parser from 8.48.0 to 8.48.1 in /tests/UI (by @dependabot[bot])
    - #40217: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.47.0 to 8.48.0 in /tests/UI (by @dependabot[bot])
    - #40136: Add more logs in database dumping script (by @nicosomb)
    - #40215: Chore(deps-dev): bump @typescript-eslint/parser from 8.47.0 to 8.48.0 in /tests/UI (by @dependabot[bot])
    - #39831: Add customer groups limit for discounts (by @nicosomb)
    - #40084: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.4 to 8.47.0 in /tests/UI (by @dependabot[bot])
    - #40083: Chore(deps-dev): bump @typescript-eslint/parser from 8.46.4 to 8.47.0 in /tests/UI (by @dependabot[bot])
    - #40010: Chore(deps): bump @prestashop-core/ui-testing from `8c2eab4` to `41f49bf` in /tests/UI (by @dependabot[bot])
    - #40009: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.3 to 8.46.4 in /tests/UI (by @dependabot[bot])
    - #39956: Chore(deps): bump mocha from 11.7.4 to 11.7.5 in /tests/UI (by @dependabot[bot])
    - #39957: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.2 to 8.46.3 in /tests/UI (by @dependabot[bot])
    - #39899: CHORE(DEPS): BUMP @PRESTASHOP-CORE/UI-TESTING FROM `47A084B` TO `6BE33E2` IN /TESTS/UI (by @dependabot[bot])
    - #39840: Chore(deps): bump @prestashop-core/ui-testing from `32f470f` to `c00d5c6` in /tests/UI (by @dependabot[bot])
    - #39841: Chore(deps): bump mysql2 from 3.15.2 to 3.15.3 in /tests/UI (by @dependabot[bot])
    - #39839: Chore(deps-dev): bump @types/mochawesome from 6.2.4 to 6.2.5 in /tests/UI (by @dependabot[bot])
    - #39842: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.46.1 to 8.46.2 in /tests/UI (by @dependabot[bot])
    - #39843: Chore(deps-dev): bump @typescript-eslint/parser from 8.46.1 to 8.46.2 in /tests/UI (by @dependabot[bot])
    - #39785: Chore(deps): bump @faker-js/faker from 9.9.0 to 10.1.0 in /tests/UI (by @dependabot[bot])
    - #39736: Chore(deps): bump mysql2 from 3.15.1 to 3.15.2 in /tests/UI (by @dependabot[bot])
    - #39734: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.45.0 to 8.46.0 in /tests/UI (by @dependabot[bot])
    - #39697: Chore(deps): bump @prestashop-core/ui-testing from `9c61da0` to `17efa39` in /tests/UI
 (by @dependabot[bot])
    - #39694: Chore(deps): bump dotenv from 17.2.2 to 17.2.3 in /tests/UI
 (by @dependabot[bot])
    - #39698: Chore(deps-dev): bump typescript from 5.9.2 to 5.9.3 in /tests/UI
 (by @dependabot[bot])
    - #39696: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.44.1 to 8.45.0 in /tests/UI
 (by @dependabot[bot])
    - #39695: Chore(deps): bump mocha from 11.7.2 to 11.7.4 in /tests/UI
 (by @dependabot[bot])
    - #39699: Chore(deps-dev): bump @typescript-eslint/parser from 8.44.1 to 8.45.0 in /tests/UI
 (by @dependabot[bot])
    - #39640: Chore(deps): bump @prestashop-core/ui-testing from `8cf7b0d` to `b721cb9` in /tests/UI
 (by @dependabot[bot])
    - #39599: Update Cookie class documentation (by @djbuch)
    - #39643: Chore(deps): bump mysql2 from 3.15.0 to 3.15.1 in /tests/UI
 (by @dependabot[bot])
    - #39641: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.44.0 to 8.44.1 in /tests/UI
 (by @dependabot[bot])
    - #39642: Chore(deps-dev): bump @typescript-eslint/parser from 8.44.0 to 8.44.1 in /tests/UI
 (by @dependabot[bot])
    - #39600: Chore(deps): bump mysql2 from 3.14.5 to 3.15.0 in /tests/UI
 (by @dependabot[bot])
    - #39604: Chore(deps): bump mochawesome from 7.1.3 to 7.1.4 in /tests/UI
 (by @dependabot[bot])
    - #39603: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.43.0 to 8.44.0 in /tests/UI
 (by @dependabot[bot])
    - #39570: Add new constraint to avoid having customizable product on free gift discount (by @boherm)
    - #39564: Chore(deps): bump @prestashop-core/ui-testing from `610e3fc` to `1f11274` in /tests/UI
 (by @dependabot[bot])
    - #39561: Chore(deps): bump mysql2 from 3.14.4 to 3.14.5 in /tests/UI
 (by @dependabot[bot])
    - #39563: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.42.0 to 8.43.0 in /tests/UI
 (by @dependabot[bot])
    - #39518: Updated PrestaShop Packages (by @github-actions[bot])
    - #39521: Chore(deps-dev): bump typescript from 5.8.3 to 5.9.2 in /tests/UI
 (by @dependabot[bot])
    - #39520: Chore(deps): bump mocha from 11.7.1 to 11.7.2 in /tests/UI
 (by @dependabot[bot])
    - #39519: Chore(deps): bump dotenv from 17.2.1 to 17.2.2 in /tests/UI
 (by @dependabot[bot])
    - #39522: Chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.41.0 to 8.42.0 in /tests/UI
 (by @dependabot[bot])
    - #39487: Bump mysql2 from 3.14.3 to 3.14.4 in /tests/UI (by @dependabot[bot])
    - #39486: Bump @prestashop-core/ui-testing from `ecfcc4d` to `500a226` in /tests/UI (by @dependabot[bot])
    - #39484: Bump @typescript-eslint/parser from 8.38.0 to 8.41.0 in /tests/UI (by @dependabot[bot])
    - #39483: Bump @typescript-eslint/eslint-plugin from 8.38.0 to 8.41.0 in /tests/UI (by @dependabot[bot])
    - #39424: Update CSSJanus to wikimedia/cssjanus (by @Krinkle)
    - #39197: Added PrestaShop version in bin/console (by @Codencode)
    - #39289: Build(deps): bump mysql2 from 3.14.2 to 3.14.3 in /tests/UI
 (by @dependabot[bot])
    - #39213: Build(deps): bump dotenv from 17.2.0 to 17.2.1 in /tests/UI
 (by @dependabot[bot])
    - #39212: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.37.0 to 8.38.0 in /tests/UI
 (by @dependabot[bot])
    - #39177: Updated PrestaShop Packages (by @github-actions[bot])
    - #39155: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.36.0 to 8.37.0 in /tests/UI
 (by @dependabot[bot])
    - #39113: Build(deps): bump @prestashop-core/ui-testing from `c560551` to `9d48756` in /tests/UI
 (by @dependabot[bot])
    - #39115: Build(deps): bump mysql2 from 3.14.1 to 3.14.2 in /tests/UI
 (by @dependabot[bot])
    - #39116: Build(deps): bump dotenv from 17.0.1 to 17.2.0 in /tests/UI
 (by @dependabot[bot])
    - #39114: Build(deps-dev): bump @typescript-eslint/parser from 8.35.1 to 8.36.0 in /tests/UI
 (by @dependabot[bot])
    - #39117: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.35.1 to 8.36.0 in /tests/UI
 (by @dependabot[bot])
    - #39071: Build(deps): bump @faker-js/faker from 9.8.0 to 9.9.0 in /tests/UI
 (by @dependabot[bot])
    - #39072: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.35.0 to 8.35.1 in /tests/UI
 (by @dependabot[bot])
    - #39036: Build(deps): bump mocha from 11.6.0 to 11.7.1 in /tests/UI
 (by @dependabot[bot])
    - #39040: Build(deps): bump dotenv from 16.5.0 to 17.0.0 in /tests/UI
 (by @dependabot[bot])
    - #39038: Build(deps-dev): bump @typescript-eslint/parser from 8.34.1 to 8.35.0 in /tests/UI
 (by @dependabot[bot])
    - #39039: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.34.0 to 8.35.0 in /tests/UI
 (by @dependabot[bot])
    - #38969: Build(deps-dev): bump eslint-plugin-import from 2.31.0 to 2.32.0 in /tests/UI
 (by @dependabot[bot])
    - #38785: Noindex ajax controller (by @PululuK)
    - #39029: Remove docker compose version, it is obsolete (by @tswfi)
    - #38971: Build(deps-dev): bump @typescript-eslint/parser from 8.34.0 to 8.34.1 in /tests/UI
 (by @dependabot[bot])
    - #38900: Bump to 9.1.0 (by @boherm)
    - #38923: Build(deps): bump @prestashop-core/ui-testing from `baf6879` to `0ef43d3` in /tests/UI
 (by @dependabot[bot])
    - #38922: Build(deps): bump mocha from 11.5.0 to 11.6.0 in /tests/UI
 (by @dependabot[bot])
    - #38921: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.33.1 to 8.34.0 in /tests/UI
 (by @dependabot[bot])
    - #38864: Build(deps-dev): bump @typescript-eslint/parser from 8.32.1 to 8.33.1 in /tests/UI
 (by @dependabot[bot])
    - #38863: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.32.1 to 8.33.1 in /tests/UI
 (by @dependabot[bot])
    - #38779: New order history retrieval filter (by @Kaikina)
    - #38777: Build(deps-dev): bump eslint-plugin-html from 8.1.2 to 8.1.3 in /tests/UI
 (by @dependabot[bot])
    - #38778: Build(deps): bump mocha from 11.3.0 to 11.5.0 in /tests/UI
 (by @dependabot[bot])
    - #38727: Build(deps): bump @prestashop-core/ui-testing from `a115403` to `8dad7b7` in /tests/UI
 (by @dependabot[bot])
    - #38728: Build(deps): bump mocha from 11.2.2 to 11.3.0 in /tests/UI
 (by @dependabot[bot])
    - #38729: Build(deps-dev): bump @typescript-eslint/parser from 8.32.0 to 8.32.1 in /tests/UI
 (by @dependabot[bot])
    - #38726: Build(deps): bump @faker-js/faker from 9.7.0 to 9.8.0 in /tests/UI
 (by @dependabot[bot])
    - #38624: Build(deps): bump @prestashop-core/ui-testing from `6a87453` to `5e44d9e` in /tests/UI
 (by @dependabot[bot])
    - #38625: Build(deps-dev): bump @types/mocha from 10.0.9 to 10.0.10 in /tests/UI
 (by @dependabot[bot])
    - #38626: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.31.1 to 8.32.0 in /tests/UI
 (by @dependabot[bot])
    - #38627: Build(deps-dev): bump @typescript-eslint/parser from 8.31.1 to 8.32.0 in /tests/UI
 (by @dependabot[bot])
    - #38585: Updated PrestaShop Packages (by @github-actions[bot])
    - #38541: Build(deps): bump mysql2 from 3.14.0 to 3.14.1 in /tests/UI
 (by @dependabot[bot])
    - #38588: Build(deps): bump mocha from 10.7.3 to 11.2.2 in /tests/UI
 (by @dependabot[bot])
    - #38587: Build(deps): bump @prestashop-core/ui-testing from `b013e9a` to `6a87453` in /tests/UI
 (by @dependabot[bot])
    - #38590: Build(deps-dev): bump @typescript-eslint/parser from 8.31.0 to 8.31.1 in /tests/UI
 (by @dependabot[bot])
    - #38538: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.30.1 to 8.31.0 in /tests/UI (by @dependabot[bot])
    - #38476: Build(deps): bump @prestashop-core/ui-testing from `ee6d175` to `df14b61` in /tests/UI (by @dependabot[bot])
    - #38473: Build(deps): bump @faker-js/faker from 9.6.0 to 9.7.0 in /tests/UI (by @dependabot[bot])
    - #38510: Build(deps-dev): bump @typescript-eslint/parser from 8.29.0 to 8.30.1 in /tests/UI (by @dependabot[bot])
    - #38512: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.29.0 to 8.30.1 in /tests/UI (by @dependabot[bot])
    - #38472: Build(deps): bump dotenv from 16.4.7 to 16.5.0 in /tests/UI (by @dependabot[bot])
    - #38426: Build(deps-dev): bump typescript from 5.6.3 to 5.8.3 in /tests/UI
 (by @dependabot[bot])
    - #38429: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.28.0 to 8.29.0 in /tests/UI (by @dependabot[bot])
    - #38427: Build(deps-dev): bump @typescript-eslint/parser from 8.28.0 to 8.29.0 in /tests/UI (by @dependabot[bot])
    - #38373: Build(deps): bump @prestashop-core/ui-testing from `1a7ac2a` to `11febeb` in /tests/UI (by @dependabot[bot])
    - #38374: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.27.0 to 8.28.0 in /tests/UI (by @dependabot[bot])
    - #38375: Build(deps-dev): bump @typescript-eslint/parser from 8.27.0 to 8.28.0 in /tests/UI
 (by @dependabot[bot])
    - #38331: Build(deps): bump @prestashop-core/ui-testing from `0731418` to `1a7ac2a` in /tests/UI
 (by @dependabot[bot])
    - #38333: Build(deps): bump mysql2 from 3.13.0 to 3.14.0 in /tests/UI
 (by @dependabot[bot])
    - #38332: Build(deps-dev): bump @typescript-eslint/parser from 8.26.1 to 8.27.0 in /tests/UI
 (by @dependabot[bot])
    - #38330: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.26.1 to 8.27.0 in /tests/UI
 (by @dependabot[bot])
    - #38267: Build(deps-dev): bump ts-mocha from 10.0.0 to 11.1.0 in /tests/UI
 (by @dependabot[bot])
    - #38271: Build(deps): bump @faker-js/faker from 9.0.3 to 9.6.0 in /tests/UI
 (by @dependabot[bot])
    - #38270: Build(deps): bump dotenv from 16.4.5 to 16.4.7 in /tests/UI
 (by @dependabot[bot])
    - #38269: Build(deps-dev): bump @typescript-eslint/parser from 8.8.1 to 8.26.1 in /tests/UI
 (by @dependabot[bot])
    - #38268: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.8.1 to 8.26.1 in /tests/UI
 (by @dependabot[bot])
    - #38272: Build(deps): bump mysql2 from 3.11.3 to 3.13.0 in /tests/UI
 (by @dependabot[bot])
    - #38218: Build(deps): bump chai-string from 1.5.0 to 1.6.0 in /tests/UI
 (by @dependabot[bot])
    - #38216: Build(deps): bump @prestashop-core/ui-testing from `a6591d6` to `78ad81b` in /tests/UI
 (by @dependabot[bot])
    - #38217: Build(deps): bump @faker-js/faker from 9.5.1 to 9.6.0 in /tests/UI
 (by @dependabot[bot])
    - #38221: Build(deps-dev): bump @typescript-eslint/parser from 8.25.0 to 8.26.0 in /tests/UI
 (by @dependabot[bot])
    - #38219: Build(deps): bump mysql2 from 3.12.0 to 3.13.0 in /tests/UI
 (by @dependabot[bot])
    - #38215: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.25.0 to 8.26.0 in /tests/UI
 (by @dependabot[bot])
    - #38177: Build(deps-dev): bump @typescript-eslint/parser from 8.24.1 to 8.25.0 in /tests/UI
 (by @dependabot[bot])
    - #38176: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.24.1 to 8.25.0 in /tests/UI
 (by @dependabot[bot])
    - #38175: Build(deps): bump @faker-js/faker from 9.5.0 to 9.5.1 in /tests/UI
 (by @dependabot[bot])
    - #38143: Build(deps): bump @prestashop-core/ui-testing from `160589f` to `a6591d6` in /tests/UI
 (by @dependabot[bot])
    - #38129: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.23.0 to 8.24.1 in /tests/UI
 (by @dependabot[bot])
    - #38130: Build(deps-dev): bump ts-mocha from 10.0.0 to 11.1.0 in /tests/UI
 (by @dependabot[bot])
    - #38066: Build(deps): bump @faker-js/faker from 9.4.0 to 9.5.0 in /tests/UI
 (by @dependabot[bot])
    - #38128: Build(deps-dev): bump @typescript-eslint/parser from 8.23.0 to 8.24.1 in /tests/UI
 (by @dependabot[bot])
    - #38085: Updated PrestaShop Packages (by @github-actions[bot])
    - #38054: Change version to 9.1.0 (by @boherm)
    - #38019: Build(deps-dev): bump @typescript-eslint/parser from 8.22.0 to 8.23.0 in /tests/UI
 (by @dependabot[bot])
    - #38018: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.22.0 to 8.23.0 in /tests/UI
 (by @dependabot[bot])
    - #37960: Build(deps-dev): bump @typescript-eslint/parser from 8.21.0 to 8.22.0 in /tests/UI
 (by @dependabot[bot])
    - #37858: Build(deps): bump @faker-js/faker from 9.3.0 to 9.4.0 in /tests/UI
 (by @dependabot[bot])
    - #37950: Build(deps): bump @prestashop-core/ui-testing from `6f826b5` to `e621af0` in /tests/UI
 (by @dependabot[bot])
    - #37914: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.19.1 to 8.22.0 in /tests/UI
 (by @dependabot[bot])
    - #37904: Build(deps-dev): bump @typescript-eslint/parser from 8.20.0 to 8.21.0 in /tests/UI
 (by @dependabot[bot])
    - #37857: Build(deps-dev): bump @typescript-eslint/parser from 8.19.1 to 8.20.0 in /tests/UI
 (by @dependabot[bot])
    - #37814: Build(deps): bump @prestashop-core/ui-testing from `c9555dd` to `071d97a` in /tests/UI
 (by @dependabot[bot])
    - #37809: Build(deps-dev): bump @typescript-eslint/parser from 8.19.0 to 8.19.1 in /tests/UI
 (by @dependabot[bot])
    - #37810: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.19.0 to 8.19.1 in /tests/UI
 (by @dependabot[bot])
    - #37812: Build(deps-dev): bump typescript from 5.7.2 to 5.7.3 in /tests/UI
 (by @dependabot[bot])
    - #37761: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.18.2 to 8.19.0 in /tests/UI
 (by @dependabot[bot])
    - #37762: Build(deps-dev): bump @typescript-eslint/parser from 8.18.2 to 8.19.0 in /tests/UI
 (by @dependabot[bot])
    - #37738: Build(deps): bump @prestashop-core/ui-testing from `92f687b` to `c9555dd` in /tests/UI
 (by @dependabot[bot])
    - #37736: Build(deps): bump mysql2 from 3.11.5 to 3.12.0 in /tests/UI
 (by @dependabot[bot])
    - #37737: Build(deps-dev): bump @typescript-eslint/parser from 8.18.1 to 8.18.2 in /tests/UI
 (by @dependabot[bot])
    - #37731: Build(deps): bump @prestashop-core/ui-testing from `0b3ed30` to `92f687b` in /tests/UI
 (by @dependabot[bot])
    - #37730: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.16.0 to 8.18.2 in /tests/UI
 (by @dependabot[bot])
    - #37720: Build(deps-dev): bump @typescript-eslint/parser from 8.16.0 to 8.18.1 in /tests/UI
 (by @dependabot[bot])
    - #37607: Build(deps): bump @faker-js/faker from 9.2.0 to 9.3.0 in /tests/UI
 (by @dependabot[bot])
    - #37583: Update iframe-modal.ts DOM Text Interpreted As HTML  (by @Shivam7-1)
    - #37605: Build(deps): bump dotenv from 16.4.5 to 16.4.7 in /tests/UI
 (by @dependabot[bot])
    - #37540: Bump mysql2 from 3.11.4 to 3.11.5 in /tests/UI (by @dependabot[bot])
    - #37457: Build(deps-dev): bump typescript from 5.6.3 to 5.7.2 in /tests/UI (by @dependabot[bot])
    - #37500: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.14.0 to 8.16.0 in /tests/UI (by @dependabot[bot])
    - #37488: Bump @typescript-eslint/parser from 8.14.0 to 8.16.0 in /tests/UI (by @dependabot[bot])
    - #37455: Bump @types/mocha from 10.0.9 to 10.0.10 in /tests/UI (by @dependabot[bot])
    - #37407: Bump @prestashop-core/ui-testing from `242dded` to `93c245e` in /tests/UI (by @dependabot[bot])
    - #37396: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.13.0 to 8.14.0 in /tests/UI (by @dependabot[bot])
    - #37397: Build(deps-dev): bump @typescript-eslint/parser from 8.13.0 to 8.14.0 in /tests/UI (by @dependabot[bot])
    - #37353: Build(deps): bump mysql2 from 3.11.3 to 3.11.4 in /tests/UI (by @dependabot[bot])
    - #37351: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.12.2 to 8.13.0 in /tests/UI (by @dependabot[bot])
    - #37305: Build(deps-dev): bump @typescript-eslint/eslint-plugin from 8.8.1 to 8.12.2 in /tests/UI (by @dependabot[bot])
    - #37307: Build(deps): bump @faker-js/faker from 9.1.0 to 9.2.0 in /tests/UI (by @dependabot[bot])
    - #37309: Build(deps-dev): bump jsdoc-to-markdown from 9.0.4 to 9.0.5 in /tests/UI (by @dependabot[bot])
    - #37310: Build(deps): bump mocha from 10.7.3 to 10.8.2 in /tests/UI (by @dependabot[bot])
    - #37262: Build(deps): bump @faker-js/faker from 9.0.3 to 9.1.0 in /tests/UI (by @dependabot[bot])
    - #37196: Build(deps-dev): bump jsdoc-to-markdown from 9.0.2 to 9.0.4 in /tests/UI (by @dependabot[bot])
  - Bug fix:
    - #40291: Removed useless aliases which cause issue with MariaDB (by @kpodemski)
    - #40092: Fix composer and npm script in make file (by @tleon)
    - #39864: Fix: [Docker][Makefile] fix #39862 (by @mattgoud)
    - #39670: Fix log level for create-test-db (by @boherm)
    - #32058: Improve cart performance when multiple product combinations (by @MattKelvin)
    - #39569: Disable temporary order level discount to avoid issues (by @boherm)
    - #36084: New Dispatcher methods to set Controller/FrontController (by @Markus-Gurkcity)
    - #39233: Filemanager should load AdminKernel (by @Kaikina)
    - #39349: Fixed version in the README version badge (by @tyloo)
    - #38898: Improvig typing (by @Kaikina)
    - #38086: Revert #38054, UI tests are not ready yet (by @nicosomb)
    - #37647: Fix incorrect @see reference in ModuleCore documentation (by @dali-rajab)
  - Refactoring:
    - #40295: [BC Break] Introduce Theme::getDefaultTheme method to replace classic hard-coded value (by @jolelievre)
    - #39719: Remove tests & references to the cronjobs module (by @tleon)
    - #38991: Change default product type to TYPE_STANDARD (by @Hlavtox)
    - #38193: Removed extra repeated line (by @dali-rajab)
    - #38014: Rename `emailField` to `field` for aligning the variable name with its actual purpose (by @jmartin82)
    - #37411: Unify error handling in FO and get rid of Tools::displayError calls (by @Hlavtox)
    - #37348: Add missing apostrophes to database queries (by @ShaiMagal)
- Installer:
  - Improvement:
    - #40354: Update default catalog 9.1.x (by @ps-jarvis)
    - #39443: Allow to use static db prefix during installation (by @kpodemski)
    - #35503: Improve GD test precision - check JPEG support (by @b44x)
  - Bug fix:
    - #40114: Chore(Makefile): fix Makefile shell detection issue (by @tyloo)
- Tests:
  - Improvement:
    - #40219: No more nightly for 8.0.x and 8.1.x (by @jolelievre)
    - #40138: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39211: Added support for PHP 8.5 (by @Progi1984)
    - #40046: Functional Tests : Unskip Test (Linked to issue #39983) (by @Progi1984)
    - #39984: Functional Tests : BO - Catalog price Rules : CRUD - Reduction type (by @Progi1984)
    - #39973: Functional Tests : BO - Catalog price Rules : Bulk actions (by @Progi1984)
    - #39963: Functional Tests : BO - Cart Rules : Quantity consumption (by @Progi1984)
    - #39919: TE: Bump behat/behat (v3.25.0 => v3.26.0) (by @Progi1984)
    - #39515: Functional Tests : Migrate from CommonJS to NodeNext (by @Progi1984)
    - #39256: Functional Tests : BO - Cart rules - Actions : Send a free gift (by @Progi1984)
    - #39242: Functional Tests : BO - Cart rules - Actions : Exclude discounted products (by @Progi1984)
    - #39234: Functional Tests : BO - Cart rules - Actions : Apply a discount to Selected product(s) (by @Progi1984)
    - #39224: Functional Tests : BO - Cart rules - Actions : Apply a discount to Cheapest product (by @Progi1984)
    - #39194: Functional Tests : BO - Cart rules - Actions : Apply a discount to Specific product (by @Progi1984)
    - #39173: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39132: Functional Tests : BO - Cart rules - Actions : Apply a discount to Order (without shipping) (by @Progi1984)
    - #39131: Functional Tests : BO - Cart rules - Actions : Apply a discount None (by @Progi1984)
    - #39121: Functional Tests : BO - Cart rules - Actions : Apply a discount Amount (by @Progi1984)
    - #39085: Functional Tests : BO - Cart rules - Actions - Apply a discount percent(%) (by @Progi1984)
    - #39067: Nightly : Remove 1.7.8 (by @Progi1984)
    - #38949: Functional Tests : BO - Cart rules - Actions : Free shipping (by @Progi1984)
    - #37844: Nightly : Fixed `functional/BO/00*/04*` (by @Progi1984)
    - #37845: Nightly : Fixed `functional/BO/00*/04*` (by @Progi1984)
    - #37546: Nightly Build : Generate XML for each branch (by @Progi1984)
    - #37512: Nightly : Create ZIP for each branch (by @Progi1984)
  - Bug fix:
    - #40225: Update valid_to dates in behat tests for discount FO (by @jolelievre)
    - #39795: Functional Tests : Fixed `functional/BO/03*/05*/brands/addresses/02*` (by @Progi1984)
    - #39493: Nightly : Fixed 8.2 (Missing API Config file) (by @Progi1984)
    - #39070: Nightly : Remove 1.7.8 (by @Progi1984)
    - #38542: Fix blocked CI (by @jolelievre)
    - #37867: Nightly : Define Ubuntu Version for 8.1.x & 8.2.x (by @Progi1984)
    - #37860: Functional Tests : `actions/upload-artifact@v4` doesn't support colon (by @Progi1984)
  - Refactoring:
    - #40298: Functional tests - Fix create account in FO classic theme test (by @nesrineabdmouleh)
    - #39166: Refactor manufacturer behat tests (by @jolelievre)

####################################
#   v9.0.3 - (2026-01-22)
####################################

- Back Office:
  - Improvement:
    - #40517: Add some help boxes to product page (by @Hlavtox)
    - #39923: Improve wording of some settings, better explain the meaning of them (by @Hlavtox)
    - #40230: Adds help text to product page fields (by @Hlavtox)
  - Bug fix:
    - #40563: Admin API improvements for combination endpoints (by @jolelievre)
    - #40556: Fix: CsvFileReader service fails with "You have requested a non-existent service 'session'" (by @Codencode)
    - #38775: Fix: Multishop - error loading CMS pages removed from the default shop (by @Codencode)
    - #40499: Fix: When saving an Attribute is_color_group is not updated. (by @Codencode)
    - #40554: Fix: always display taxes total in order summary (by @Codencode)
    - #40532: BO Product page, fix feature value collection indexes (by @jolelievre)
    - #40433: Fix: Module update problem (by @Codencode)
    - #40054: Use URL when building urls to prevent subtle mistakes with &? (by @tswfi)
    - #40036: BO - Product : Fixed feature display in multishop (by @Progi1984)
    - #39854: Fix: Quick Access links redirect to root instead of subdirectory, causing 404 (by @Codencode)
    - #40050: Fix: Incorrect redirect from HTTP to HTTPS on the admin login page when PrestaShop is in a subfolder (by @Codencode)
    - #40475: Fix link for redirection on country BO page (by @jolelievre)
    - #40066: Fix: [BO] Admin Countries page redirect issue with multishop after changing shop (by @Codencode)
    - #40329: Prevent NoResultException when checking for existing translations (by @ChillCode)
    - #39926: Fix: handle SELECT fields without no_quotes in getSensitiveAttributes (by @Codencode)
    - #40001: Fix redirect after editing root category to use current categoryId in stead of PS_HOME_CATEGORY (by @Codencode)
    - #39869: Update monologger to v3 (by @NKoonen)
    - #40256: Fix: Issue retrieving product price when adding the first specific_price (by @Codencode)
    - #40243: Admin API handle position update (by @jolelievre)
    - #40257: Prevent saving ajax URL for future login redirection, or the redirect… (by @jolelievre)
    - #40112: Bump prestakit to v2.0.5 (by @Quetzacoalt91)
  - Refactoring:
    - #37667: Apply backoffice optimizations (by @Hlavtox)
- Front Office:
  - New feature:
    - #40403: Allow easily hooking into country and currency selection logic (by @Hlavtox)
  - Improvement:
    - #40537: Remove unnecessary force refresh in checkout (by @Hlavtox)
    - #40248: Prevent Exposure of Sensitive Product Attributes in Front Office (by @M0rgan01)
  - Bug fix:
    - #40246: Fix preview in multilang (by @tleon)
    - #39582: Fix: Product customization text field bug with using symbol {} (by @Codencode)
    - #40117: Fix cart rule validation in front office (by @Hlavtox)
    - #40262: Allow access to customized files preview without multi-lang enabled (by @kpodemski)
    - #40137: Updated zxcvbn to a maintained version for consistency with backend checks (by @tleon)
  - Refactoring:
    - #40406: Comment how language setting works in FO (by @Hlavtox)
- Core:
  - Improvement:
    - #40269: Prevent database inconsistencies by preventing faulty group delete calls (by @Hlavtox)
    - #40133: Update ca-bundle from 1.3.7 to 1.5.9 (by @tswfi)
    - #40350: Remove the composer config to ignore audit (by @jolelievre)
    - #40332: Restore original repository for ps_apiresources (by @nicosomb)
    - #40312: Bump to `9.0.3` (by @boherm)
    - #40134: Docker : Fixed Install of xdebug (by @Progi1984)
  - Bug fix:
    - #40585: Preliminary tasks for patch version 9.0.3 (by @jolelievre)
    - #40479: Fix legacy profiler in the back office (by @kpodemski)
    - #40562: Update VAT rates for Estonia and Romania (by @Codencode)
    - #40496: Fix some type issues related to carriers (by @Hlavtox)
    - #40423: Fix empty extra vars / product list when using the new automatic text email option (by @matrixino)
    - #40040: Always request a non cached result in Order::getIdByCartId (by @ilsalvopss)
    - #40400: Simplify cart rule minimal value by avoiding subtracting values (by @Hlavtox)
  - Refactoring:
    - #40389: Comment logic related to addresses and their initialization (by @Hlavtox)
- Installer:
  - Bug fix:
    - #40574: Fix Makefile to prevent build assets twice (by @jolelievre)
    - #40077: Install Console : Allow characters "<" & ">" in admin password (by @Progi1984)
    - #40114: Chore(Makefile): fix Makefile shell detection issue (by @tyloo)
- Localization:
  - Bug fix:
    - #40521: Fix default fixtures translation (by @jolelievre)
- Tests:
  - Improvement:
    - #40512: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40458: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40434: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40363: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40138: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
  - Refactoring:
    - #40298: Functional tests - Fix create account in FO classic theme test (by @nesrineabdmouleh)

####################################
#   v9.0.2 - (2025-12-01)
####################################

- Back Office:
  - Improvement:
    - #40212: [BC Break] Update module api resources v0.2.0 (by @jolelievre)
    - #40088: Api normalization mapper indexes (by @jolelievre)
    - #39938: Add attachment ID to product attachments search and selection (by @Codencode)
    - #40005: Backport Sort modules and mails templates by name in translations (by @Codencode)
    - #39422: Improve order status form wording, improve theme selector (by @Hlavtox)
  - Bug fix:
    - #40201: Fix path to legacy mail folder (by @Hlavtox)
    - #40123: Update module api resources with new boolean rule (by @jolelievre)
    - #40091: Update module ps_apiresources with new conventions (by @jolelievre)
    - #40052: BO - Multistore : Fixed link "Add new group" (by @Progi1984)
    - #40082: Fix: Error in updating the state that has an ISO code equal to that of a different country's state (by @Codencode)
    - #38617: Fix: Hook actionAttributeCombinationSave never triggered (by @Codencode)
    - #40062: BO - Products Page : Fixed URL for documentation (by @Progi1984)
    - #40004: BO - Customer Service : Fixed button "Reply to the next unanswered message in this thread" (by @Progi1984)
    - #39999: BO : Product (Virtual) : Set number of days without expiration date (by @Progi1984)
    - #39892: Fix order of categories in admin (by @Hlavtox)
    - #40021: BO - Orders : Fixed amount of order discounts when changing currency (by @Progi1984)
    - #37841: Fix: Multishop: Deleting and recreating a combination removes the shared reference (new Product Page V2) (by @Codencode)
    - #39669: Fix grid doctrine query builder to use context language instead of employee language (by @Codencode)
    - #39982: BO : Fixed anchor target for modules page (by @Progi1984)
    - #39834: BO Modules : Display only modules if you have the permission (by @Progi1984)
    - #39976: BO : Adresses : Fixed display of state if there is errors (by @Progi1984)
    - #39985: BO : Product SEO - Display attribute in SEO preview (by @Progi1984)
    - #39900: BO - Orders : Optimized Countries Choice (by @Progi1984)
    - #39833: BO - Orders - View - Carrier Modal : The selected carrier is the correct (by @Progi1984)
    - #39866: BO - Import : Added missing ISBN field for Products & Combinations (by @Progi1984)
    - #39897: BO - Categories : The description wasn't displayed by default in SERP (by @Progi1984)
    - #39914: BO - Permissions : Added authorization role for "More" (by @Progi1984)
    - #39886: Legacy email template scan (by @tleon)
    - #39874: BO - Products : Enable/Disable actions depending on permissions (by @Progi1984)
    - #39877: Add the possibility to bulk assign a new zone (by @nicosomb)
    - #38301: Fix: AverageTaxOfProductsTaxCalculator, Cannot use a scalar value as an array (by @Codencode)
    - #39691: Fix: Ensure order status template keeps between saves (by @ChillCode)
    - #39802: BO: State Grid : Clean unuseful parameters (by @Progi1984)
    - #39758: Allow attribute groups colors/textures on groups with ID different than 2 (by @ChillCode)
    - #39578: Fix issue with null values on stores from import (by @Prestaworks)
    - #39732: Fix order tax update (by @tleon)
    - #39728: Fix product broken when redirect target is deleted (by @tleon)
    - #39714: BO: Email Layouts : Set table responsive (by @Progi1984)
    - #39621: [BO] Added DataCollector for Legacy Profiling (by @Progi1984)
    - #39637: Ensure cache is cleared on each module action even when they fail (by @jolelievre)
  - Refactoring:
    - #39990: Remove extra join (by @Hlavtox)
    - #39893: Optimize category input (by @Hlavtox)
    - #39748: BO : Webservice : Refactoring using CQRS (by @Progi1984)
- Front Office:
  - Improvement:
    - #39913: Add new hooks: actionOverrideQuantityAvailableByProduct - actionCheckAttributeQuantity - actionOverrideProductQuantity (by @Codencode)
    - #39928: Remove very specific text about payment validation (by @Hlavtox)
    - #39891: Fix: ProductController::findProductCombinationById() incorrect return type (by @Codencode)
  - Bug fix:
    - #40044: Multistore : Display countries only those covered by active carriers (by @Progi1984)
    - #36796: Fix: Product customization text appears as raw HTML in order confirmation email (order_conf) (by @Codencode)
    - #39817: Improve front office customer form validation to fix issues with guests and emails (by @Hlavtox)
    - #39572: Fix: Front container lazy service declaration (by @Codencode)
    - #39525: Fix: Fatal Error : Doctrine proxy classes and cache in production mode Prestashop 9.0.0 (by @Codencode)
    - #39606: fix(CustomerMessage): increase user_agent length from 128 to 255 to prevent silent validation errors on some mobile contact form (by @yebor974)
    - #39651: Fix the canonical redirection when category slug is wrong but id is correct (by @aomaxime)
  - Refactoring:
    - #39941: Improve confirmation logic and remove module check (by @Hlavtox)
    - #39934: Make sure address IDs are returned consistently (by @Hlavtox)
    - #39935: Comment address save process (by @Hlavtox)
    - #39666: Explain parent initialization for future generation (by @Hlavtox)
- Core:
  - Improvement:
    - #40136: Add more logs in database dumping script (by @nicosomb)
    - #40100: Manual verifications release 902 (by @mattgoud)
    - #40068: Chore: [release-9.0.2][preliminary-task]- update composer (classic-theme 3.0.4) (by @mattgoud)
    - #40047: Bump version to 9.0.2 (by @tleon)
    - #39775: Corrects the date in the change log (by @Touxten)
    - #39742: Merge release-9.0.1 into 9.0.x (by @tyloo)
    - #39589: Improved generation of queries and commands (by @kpodemski)
  - Bug fix:
    - #39905: Fixed swagger property filter system for mapped properties (by @tleon)
    - #40030: Initialize dispatcher early and fix all $_FILES issues (by @Hlavtox)
    - #39835: Fix Manufacturer/Supplier controllers return types for their respective getters (by @prestamodule)
    - #40017: Check if function exec is disabled in ExecKernelCacheClearer (by @jolelievre)
    - #39674: Fix log level create test db for `9.0.x` (by @boherm)
  - Refactoring:
    - #39950: Cookie account_created - absolete code from PS 1.6 (by @ShaiMagal)
- Installer:
  - Improvement:
    - #40127: Update default catalog 9.0.x (by @ps-jarvis)
    - #39305: Rework Docker Developer Experience and Added documentation (by @tyloo)
    - #39619: Update default catalog 9.0.x (by @ps-jarvis)
  - Bug fix:
    - #39959: Chore: fix docker entrypoint wait assets script (by @tyloo)
- Web Services:
  - Bug fix:
    - #39904: Add DateImmutable for api type consistency (by @tleon)
- Localization:
  - Improvement:
    - #39012: Update italian provinces as of June 2025 (by @mavalentin)
- Tests:
  - Improvement:
    - #40121: Functional Tests : Improve UI Tests after #40088 (by @Progi1984)
    - #39940: Functional Tests : Added new endpoints (by @Progi1984)
    - #40029: Functional Tests : API : GET /admin-api/zones (by @Progi1984)
    - #40012: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #40016: Functional Tests : API : DELETE /admin-api/product/image/{imageId} (by @Progi1984)
    - #39987: Functional Tests : API : DELETE /admin-api/search-alias/{search} (by @Progi1984)
    - #39965: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39902: Functional Tests : BO - Cart rules - Conditions : Case 9 - Compatibility with other cart rules (by @Progi1984)
    - #39812: TE: Bump behat/behat (v3.16.0 => v3.25.0) (by @Progi1984)
    - #39875: Functional Tests : BO - Cart rules - Condition : Case 2 - Valid Date Time (by @Progi1984)
    - #39871: Bump prestashop/ps_apiresources (by @Progi1984)
    - #39870: Functional Tests : BO - Cart rules - Condition : Case 2 bis - Invalid Date Time (by @Progi1984)
    - #39856: Functional Tests : API : DELETE /admin-api/category/{categoryId}/cover (by @Progi1984)
    - #39844: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39846: Functional Tests : API : GET /attributes/attribute/{attributeId} (by @Progi1984)
    - #39828: Functional Tests : API : POST /admin-api/attributes/attribute (by @Progi1984)
    - #39815: Functional Tests : API : DELETE /admin-api/category/{categoryId} (by @Progi1984)
    - #39806: Functional Tests : API : DELETE /attributes/attribute/{attributeId} (by @Progi1984)
    - #39794: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39777: Functional Tests : API : GET /categories (by @Progi1984)
    - #39768: Functional Tests : Update new endpoints (by @Progi1984)
    - #39767: Functional Tests : API : PUT /attributes/groups/delete (by @Progi1984)
    - #39754: Functional Tests : API : GET /attributes/groups (by @Progi1984)
    - #39749: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39738: Functional Tests : API : PUT /hook/{hookId}/status (by @Progi1984)
    - #39731: Functional Tests : API : POST /attributes/group (by @Progi1984)
    - #39718: Functional Tests : API : PATCH /attributes/group/{attributeGroupId} (by @Progi1984)
    - #39701: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39681: Github Action `setup-env` : Retry 5 times the download of MkCert (by @Progi1984)
    - #39677: Functional Tests : GET /attributes/group/{attributeGroupId} (by @Progi1984)
    - #39675: Functional Tests : Added new endpoints (by @Progi1984)
    - #39661: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39593: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
  - Bug fix:
    - #40042: Functional Tests : Unskip Test (Linked to issue #38787) (by @Progi1984)
    - #39901: BO - Categories : Responsive of the SERP block (by @Progi1984)
    - #39671: Functional Tests : Fix for ps_accounts (by @Progi1984)
  - Refactoring:
    - #40086: Functional Tests : API : DELETE /admin-api/category/{categoryId}/{mode} (by @Progi1984)
    - #39829: UI tests - Fix random errors in functional:BO:advanced-parameters:07-10  & functional:FO:hummingbird:08-12 (by @nesrineabdmouleh)
    - #39807: Functional tests - Fix random error in Orders > Credit slips > Create filter credit slip (by @nesrineabdmouleh)
    - #39702: Removed pdiddy occurences in PrestaShop project (by @nicosomb)

####################################
#   v9.0.1 - (2025-10-13)
####################################

- Back Office:
  - New feature:
    - #39021: Bring back the ability to fill the login fields from the URL query params (by @Quetzacoalt91)
    - #39050: Prompt people to migrate to new page (by @Hlavtox)
  - Improvement:
    - #39399: Fix: It is not possible to remove the texture and clear the color field when configuring the Attribute value (by @Codencode)
    - #39451: Add customer_service to contact query selection (by @PrestaEdit)
    - #39404: Allow filtering module list for translation export (by @kpodemski)
    - #39277: Make the TinyMCEEditor more flexible and extensible via module (by @Codencode)
    - #39196: Change 404 admin template (by @Hlavtox)
    - #39322: Update Distribution API Client to include the new wall of fame (by @jolelievre)
    - #39321: Update Distribution API Client to include the new wall of fame (by @jolelievre)
    - #39192: Add product errors (by @Hlavtox)
    - #38042: Added field "Module name" to admin carrier list (by @Codencode)
    - #39175: Improve API misconfiguration error (by @jolelievre)
    - #39162: Add new hooks: actionOrderHasBeenShipped and actionOrderHasBeenDelivered (by @Codencode)
    - #39092: Fix: harmonize carrier page style (by @tblivet)
    - #39084: Fix: Date picker handle color (by @tblivet)
    - #39078: Fix: carrier logo preview size (by @tblivet)
    - #38717: Use v8 documentation in HelperCard (by @PrestaEdit)
    - #39022: Styles header notifications (by @tblivet)
    - #38634: Improved regex in StringModifier (by @nicosomb)
    - #38773: Disable autofill of password for edit customer in BO (by @ShaiMagal)
  - Bug fix:
    - #39559: Update HTMLTemplateOrderSlip.php (by @ShaiMagal)
    - #39472: Add missing "Stock location" in the defaults product csv (by @MattKelvin)
    - #39062: Fix display of Nav Bar with NULL icons (by @Quetzacoalt91)
    - #39554: [BC Break] Revert PR 38745 (by @tleon)
    - #39335: BO : Titles : When editing, fetch dimensions of the image (by @Progi1984)
    - #38006: Fix: Problems with customer groups category discounts (by @Codencode)
    - #39310: [BC Break] Remove property from documentation that are not in the ressources (by @tleon)
    - #37707: Fix unsecure payment request link (by @SebBareyre)
    - #39326: BO : HelperForm : Fixed for select the hard defined width (by @Progi1984)
    - #39430: Fix quantity in delivery slip if we have a refunded product (by @Touxten)
    - #39358: Create ModuleParser to parse module information (by @jolelievre)
    - #37590: Patch tinymce fullscreen (by @nicohery)
    - #39407: Update CancelProductType to display only refundable quantities as available quantity to refund (by @iNem0o)
    - #39400: Fix: Help is displayed two times (by @Codencode)
    - #38622: Fix: New product catalog does not load images in multi-store (by @Codencode)
    - #39340: Fix product / category access in BO when seo redirection related category is deleted (by @aomaxime)
    - #39375: Don't allow  delete default country (by @Touxten)
    - #39333: Fix product access in BO when seo redirection related entity is deleted (by @aomaxime)
    - #39287: Fix + simplify last positions and add comments to it (by @Hlavtox)
    - #39314: BO : Orders : Modal Discount reset when it's hidden (by @Progi1984)
    - #39337: Fix: Cannot use newline in textarea on product page (by @Codencode)
    - #39269: BO : Admin API : Fixed selectors for copying secret (by @Progi1984)
    - #39271: BO : TinyMCE : Fixed checkbox icon (by @Progi1984)
    - #39272: BO : Fixed the memorization of the language used in Admin in the cookie (if option is enabled) (by @Progi1984)
    - #39292: BO : Fixed redirection when permission is not allowed (by @Progi1984)
    - #39312: Fix ALT shop name. (by @Touxten)
    - #39297: Update PHPDoc of ActionsBarButtonInterface (by @Quetzacoalt91)
    - #39295: [BC Break] Admin API CQRSDelete can use CQRSCommand and empty bodies can be used (by @jolelievre)
    - #39209: BO : Fixed HTML in informations & warnings block (by @Progi1984)
    - #39203: BO : Invoices : Harmonize Helper Text (by @Progi1984)
    - #39274: Added closure of the 'deleteCategoriesForm' form (by @Codencode)
    - #39208: Fix: Carrier search not working when editing order's carrier (by @Codencode)
    - #39160: Fix OrderStateType form to show all languages, including disabled ones (by @Codencode)
    - #39053: Add logic to generate random password on employee profil (by @PoulainMaxime)
    - #39257: Add missing attribute tag on constraints (by @jolelievre)
    - #39216: Fix: Call to a member function getClassName() on null when the Employee default tab does not exist anymore (by @Codencode)
    - #39228: Fix the result of Admin API paginated response (by @jolelievre)
    - #39206: Apply filters mapping on the orderBy query parameter in API listing (by @jolelievre)
    - #39168: Fix RouteValidator by checking unknown keywords in schema URL (by @cnavarro-prestashop)
    - #39193: When enriching the module data always keep most recent version (by @jolelievre)
    - #39153: BO Theme import : Fixed bad display when filename is too long (by @Progi1984)
    - #38810: Support for brand named as numbers (by @borjagarciab)
    - #39028: Fix carrier edit form name (by @Hlavtox)
    - #38549: Fix: Misleading maximum attachment upload size in configure/advanced/administration (by @Codencode)
    - #37933: Price final critical error fix (by @jf-viguier)
    - #38982: BO : Product Form : Use the correct configuration for the Max Filesize (by @Progi1984)
    - #39007: Client API - Help card is not displayed in sidebar as it should (by @seiwan)
    - #38966: Add missing Content-Type header in stock quantity update request (by @nborkowska)
    - #37928: Fix datacollector caster for reference object property including smarty cache_locking fatal error (by @jf-viguier)
    - #38846: BO Countries : Set two fields `call_prefix` & `zip_code_format` as non-required (by @Progi1984)
    - #38593: Fix query builder to find translations by key in Backoffice during the translations saving process (by @mcaldex)
    - #38532: Fix: Multistore: CMS page error on new empty store creation (by @Codencode)
    - #38337: Fix: Max password length allowed in the password policy is longer than bcrypt can handle and hardcoded max pass length for customer (by @Codencode)
    - #38581: Allow refund on an order of a deleted customer  (by @jf-viguier)
  - Refactoring:
    - #39182: Improve warning on languages page (by @Hlavtox)
    - #39080: Remove getCasters override not necessary anymore with SF 6.4 (by @jolelievre)
- Front Office:
  - Improvement:
    - #39704: Chore: Update classic theme to v3.0.3 (by @tyloo)
    - #39445: Propagate auth header (by @Hlavtox)
    - #39537: Backport Fix CartPresenter translation domain (by @Codencode)
    - #39406: Display full history time (by @Hlavtox)
    - #39366: Add hook on rendertemplate in CheckoutStep (by @alexandrebrubeyonds)
    - #38992: Improve combination images speed (by @Hlavtox)
    - #38586: Add hook into formfield class method toArray + add property attr (by @Mch0)
    - #38480: New Hook: actionPaymentModuleProductVarTplAfter (by @gwojcik7)
    - #38487: New Hook: actionGetPdfTemplateObject get pdf template object (by @Markus-Gurkcity)
    - #38868: Update CHANGELOG.txt (by @Touxten)
  - Bug fix:
    - #39592: Reintroduce email unicity validation (by @bibips)
    - #39245: Fix: Back Office becomes inaccessible if the employee's assigned language is deleted (by @Codencode)
    - #39010: Save address choice on click (by @Matt75)
    - #39191: Fix: recoverCart link does not log the user. Stuck to process checkout step 1 (by @Codencode)
    - #39008: Fix customer birthdate validation in FO (by @boherm)
    - #38926: Fix favicon path (by @Hlavtox)
    - #38903: CustomerAddressForm : Set a minimum length in HTML5 (by @Progi1984)
  - Refactoring:
    - #38998: Improve cart performance by avoiding wiping a cache when not needed (by @Hlavtox)
- Core:
  - New feature:
    - #38881: Add hook that allows completely custom cart rule application on a cart (by @Hlavtox)
  - Improvement:
    - #39717: Chore: Update ps_apiresources (by @tyloo)
    - #39589: Improved generation of queries and commands (by @kpodemski)
    - #39591: Improve customer unicity check and add comments (by @Hlavtox)
    - #39541: Admin API Openapi multistore context documentation (by @iNem0o)
    - #39379: Updated PrestaShop Packages (by @github-actions[bot])
    - #39344: Updated PrestaShop Packages (by @github-actions[bot])
    - #39479: Bump PrestaShop version to 8.2.3 (by @matthieu-rolland)
    - #39466: Update Symfony components after 6.4.25 release (by @nicosomb)
    - #39264: Update Symfony components after 6.4.24 release (by @nicosomb)
    - #39371: Refacto ConnectionsSource.php for little better performance (by @ShaiMagal)
    - #39372: Refacto of few $_SERVER variables (Tools.php) (by @ShaiMagal)
    - #39364: Add genuine Czech republic bot (SeznamBot) to "isBot" function (by @ShaiMagal)
    - #38822: Another level of protection for Tools::unSerialize (allowed_classes => false) + refacto (by @ShaiMagal)
    - #39217: Fix changelog date for 8.2.2 (by @boherm)
    - #39145: Bump PrestaShop version to 8.2.2 (by @boherm)
    - #39006: Verify if category exists before accessing it (by @Hlavtox)
    - #39180: Bump patch version 9.0.1 (by @jolelievre)
    - #39150: Updated PrestaShop Packages (by @github-actions[bot])
    - #39063: Add option to automatically generate text version of emails (by @Hlavtox)
    - #39141: Update hummingbird to v1.0.1 (by @tblivet)
    - #39135: Updated PrestaShop Packages (by @github-actions[bot])
    - #39043: Silence some last smarty deprecations (by @Hlavtox)
    - #39034: Update Symfony components after 6.4.23 release (by @nicosomb)
    - #38441: Relax validation rules for first batch of characters (by @Hlavtox)
    - #38952: Add 2 hooks in getImageLink (by @ludoviccardinale)
    - #38924: Backport improved profiler from v9 (by @Hlavtox)
    - #38847: Skip rector.php and PHPStan files during build (by @kpodemski)
    - #38772: New hook at TOP of customer my account section - displayCustomerAccountTop (by @ShaiMagal)
  - Bug fix:
    - #39715: Chore: Update PHPSpreadsheet version to v1.30.0 (by @tyloo)
    - #39535: Backport Filemanager should load AdminKernel (by @Codencode)
    - #38871: Ensure specific prices are deleted safely on customer deletion by validating passed ID (by @gilles-knani)
    - #39463: CORE : Fix Cart constructor initialization order to prevent null configuration errors (by @djbuch)
    - #39480: Fix docker initialisation (by @nicosomb)
    - #39442: Stabilize cache clear (by @jolelievre)
    - #39453: Fix CI with mysql suddenly going crazy over SSL certificate (by @jolelievre)
    - #39327: Fix symlink issues on install (by @boherm)
    - #39331: Fix: using dev version of ps_apiresources (by @PrestaEdit)
    - #39260: Adding taxes for shipping cost if needed (by @lukaslau)
    - #38997: Remove dead code watermark types (by @tswfi)
    - #38905: Cast properties to prevent issues (by @Hlavtox)
    - #38989: Fix carrier ID for modules (by @Hlavtox)
  - Refactoring:
    - #39505: Method getIdFromClassName incorrect phpdoc - phpstan is complaining (by @ShaiMagal)
    - #39373: Small Refacto Store.php for semantic (backticks unification) (by @ShaiMagal)
    - #39311: Backport Unify error handling in FO and get rid of Tools::displayError calls (by @Hlavtox)
    - #39167: Comment carrier logic (by @Hlavtox)
    - #39129: Use constants instead of integers (by @Hlavtox)
    - #39057: Comment the mail class after migration to symfony (by @Hlavtox)
    - #39051: Wipe @since tags that serve no value anymore (by @Hlavtox)
    - #38990: Secure .env files and comment htaccess (by @Hlavtox)
    - #38877: Clean and comment postSave (by @Hlavtox)
    - #38761: Refactor Warehouse::getProductLocation() (by @ShaiMagal)
- Installer:
  - Improvement:
    - #39619: Update default catalog 9.0.x (by @ps-jarvis)
    - #39508: Add the parameter `--symlink` to the command `assets:install` of Symfony (by @Quetzacoalt91)
  - Bug fix:
    - #39716: Chore: Add missing hooks (by @tyloo)
    - #39336: Install : Configure : Hide password error on keyup (by @Progi1984)
    - #39110: Fix installation of en-GB during install, improve installation error report (by @jolelievre)
    - #38919: Update installer favicon (by @matks)
- Web Services:
  - Bug fix:
    - #38893: Fix 500 error on create product with id_default_category to 0 (by @Mch0)
- Tests:
  - Improvement:
    - #39594: Functional Tests : Added new endpoints (by @Progi1984)
    - #39583: Functional Tests : API : DELETE /attributes/group/{attributeGroupId} (by @Progi1984)
    - #39575: Functional Tests : API : GET /customers/groups (by @Progi1984)
    - #39565: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39528: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39329: Update api module and optimise API UI tests (by @jolelievre)
    - #39284: Command `prestashop:list:commands-and-queries` : Filter CQRS with (1) or without (0) an endpoint (by @Progi1984)
    - #39291: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39215: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39172: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39159: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39123: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39077: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #39064: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #38927: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #38890: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #38885: Functional Tests : API : PATCH /product/{productId}/shops (by @Progi1984)
  - Bug fix:
    - #39551: Functional Tests : Fixed #38788  (by @Progi1984)
    - #39500: Functional Tests : Fixed tests for PSC (by @Progi1984)
    - #39299: BO : Products - Bulk Actions : Fixed error when no permissions (by @Progi1984)
    - #39285: BO : Export SQL from Grid : Format SQL (by @Progi1984)
    - #39139: Docker 7.2-apache : Fixed use of archive Debian repo  (by @Progi1984)
    - #39049: BO : Theme : Export current theme > Protect directories (by @Progi1984)
    - #38999: Fix FormFieldTest (by @boherm)
    - #38963: BO : Specific Price : Hide label (by @Progi1984)
  - Refactoring:
    - #38873: Functional Tests : Reorganize endpoints based on domains (by @Progi1984)

####################################
#   v9.0.0 - (2025-06-06)
####################################

- Back Office:
  - Improvement:
    - #38841: Small refacto LegacyControllerContext (by @boherm)
    - #38849: Change criteria to hide invalid endpoints (by @jolelievre)
    - #38783: Update API module and improve CQRS not found filtering in API (by @jolelievre)
  - Bug fix:
    - #38199: Fix: Cannot use 'type' => 'file' on HelperOptions on PS 9.0.x (by @Codencode)
    - #38795: Fix LegacyControllerContextBuilder to use physicalUri (by @boherm)
- Core:
  - Improvement:
    - #38820: Update Symfony components after 6.4.22 release (by @nicosomb)
    - #38491: OrderSlipCreator Hook actionOrderSlipAdd => add order slip object to hook param (by @Mch0)
- Tests:
  - Improvement:
    - #38793: Functional Tests : API : Check endpoints (by @Progi1984)
    - #38789: Functional Tests : API : `PATCH /product/{productId}` (by @Progi1984)
  - Bug fix:
    - #38749: TextWithLengthCounterType : Support for existing CSS class (by @Progi1984)

####################################
#   v9.0.0 RC 1 - (2025-05-23)
####################################

- Back Office:
  - New feature:
    - #38567: Add display hook in Information page to add distribution details (by @jolelievre)
    - #38408: Add new hook `actionProductGetAttributesGroupsAfter` (by @gwojcik7)
    - #38400: Enable api platform path scanning for entity (by @tleon)
    - #37638: Switch carrier feature flag to stable and enabled by default (by @jolelievre)
  - Improvement:
    - #38755: API operations filtered when CQRS classes not found (by @jolelievre)
    - #38736: Improve multi shop permissions (by @jolelievre)
    - #38712: Prevent data from hooks from overriding local translated module data (by @jolelievre)
    - #38557: Improve OpenApi configuration to include OAuth scopes dynamically (by @jolelievre)
    - #38526: UI tests adaptation for classic  (by @jolelievre)
    - #38502: Optimise anonymous route checking (by @jolelievre)
    - #38481: Fix wording in Abandonned carts KPI (by @boherm)
    - #38395: Admin API improvement on Open API, floats, datetime (by @jolelievre)
    - #38370: Demo grid improvements (by @jolelievre)
    - #38202: Detail development possibilities for trusted proxies (by @jolelievre)
    - #38073: Check mail template directory before reading (by @matthieu-rolland)
    - #38142: Fix: improve link styling for better identification – issue #38122 (by @tblivet)
  - Bug fix:
    - #38745: Enabling theme of add/update shop in a multistore context (by @boherm)
    - #38048: Fix: Unable to configure a module that utilizes a modern controller (by @Codencode)
    - #38731: Fix showcase-card image for attribute page (by @boherm)
    - #38599: Fixed Order States Provider for Order Listing (by @Progi1984)
    - #38251: Fix: Query to select most used tax rule is simply ridicoulous (by @Codencode)
    - #38703: Revert modification in OrderLazyArray that breaks the UI tests (by @jolelievre)
    - #38572: Fix spinner on mobile resolution (by @boherm)
    - #38323: Fix: Webservice link_rewrite validation error on Product creation due to Tools::str2url in PS8 (by @Codencode)
    - #37996: Fix: BO Employee - Setting More as default page cannot load the page (by @Codencode)
    - #37874: Fix: BO > Movements - Search results is undefined and loads forever (by @Codencode)
    - #38027: Fix: BO export - Cannot export subcategories (by @Codencode)
    - #38254: Fix: Migration - Product V2 - tab name not the same - Product creation (by @Codencode)
    - #38319: Fix: Edit country taxe rules (by @Codencode)
    - #38496: Fix uploading a module on mobile devices (by @johnkim0306)
    - #38514: Fix ajax process and legacy shop context init (by @jolelievre)
    - #36792: Event "OrderCreateProductSearched" not managed in custom modules (related #35970) (by @mattgoud)
    - #38425: Fix: When I disable a feature flag, I shouldn't see the warning popin (by @Codencode)
    - #38008: Fix: BO - Product listing - product are still selected after successful deletion (by @Codencode)
    - #37775: Add .WEBP extensions to back office openable attachments (by @gennaris)
    - #38381: Bug fix copyFromPost that remove overrided object model definitions in ps8.2 (by @jf-viguier)
    - #38350: Problem with decimal separator and eco-tax on Combination Form (by @djbuch)
    - #38355: Fix: It is not possible to view a cart in the admin if it contains customized items (by @Codencode)
    - #38262: Cast icon to string if null (by @Hlavtox)
    - #38304: Fix mail theme scanner when used on a module folder (by @jolelievre)
    - #38203: Remove link in help message for product stock option (by @jolelievre)
    - #38152: Hide spinner if no ajax in progress (by @Hlavtox)
    - #38246: Tax rule group country edition (by @jolelievre)
    - #38234: Update product indexation after each update when it is needed (by @jolelievre)
    - #38243: Fixed FI taxes in localization files (by @nicosomb)
    - #38153: Load module translation catalogues for all present modules (by @jolelievre)
    - #38194: Symfony remember me lifetime is linked to the BO config (by @jolelievre)
    - #38100: Fix: Cookie mechanism is broken after refactoring for 9.0.0 (by @Codencode)
    - #38141: Fix missing changeFormLanguageUrl (by @Hlavtox)
    - #38112: Fix: header positioning (by @tblivet)
    - #38136: Fix: Issue with JS and CSS cache clearing in multishop context (by @Codencode)
    - #38168: Category::getParentsCategories fix with multiple root categories (by @jolelievre)
    - #37961: Search Tab with case sensitive matching (by @jolelievre)
    - #38156: Fix legacy context initialisation inconsistencies (by @jolelievre)
    - #37877: Fix: BO - Product Page - Redirection type - Category without image generate 404 call (by @Codencode)
    - #37970: Fix: [Bug] Missing attributes autoplay, loop, muted, and playsinline in the video tag within Tools::purifyHTML() (by @Codencode)
    - #37985: Fix: display... hooks duplicated on module transplant list (by @Codencode)
    - #37958: Fix product filters for csv export (by @boherm)
    - #37982: Empty the labels "totalPriceText" and "availableText". (by @Codencode)
  - Refactoring:
    - #38093: Improve message on exception (by @Hlavtox)
- Front Office:
  - New feature:
    - #38691: Add hook displayCartExtraProductInfo to display cart extra product information (by @jf-viguier)
    - #38371: Feat - Add hook actionCartDuplicate (by @unlocomqx)
  - Improvement:
    - #38488: Add new hook actionGetPdfRenderer to use a custom inherited tcpdf ren… (by @Markus-Gurkcity)
  - Bug fix:
    - #38679: Filter out modules that return empty payment options (by @jolelievre)
    - #38552: Use id_customization for matching cart and order products (by @unlocomqx)
    - #38265: Fix and refactor category controller for non existent categories (by @Hlavtox)
    - #38257: Fix: Address Fields Disappear After Changing Country on Checkout Page (by @Codencode)
    - #38303: Add missing function strpos for smarty templates (by @jolelievre)
    - #38056: Added smartyRegisterFunction for file_exists and strpos. (by @Codencode)
    - #38263: Fix profiler working with arrays (by @Hlavtox)
    - #38157: Fix: Issue with multilingual translations (by @Codencode)
    - #38037: Fix: Use 'active' from 'product_shop' instead of 'product' in Product::searchByName() (by @Codencode)
    - #37955: Fix: prestashop don't display Title of product, category meta title, meta description (by @Codencode)
- Core:
  - New feature:
    - #38467: Single file XLF catalog (by @jolelievre)
    - #37947: Add new hook in object presenter (by @web-cooking-factory)
  - Improvement:
    - #38767: Fix image type entity (by @boherm)
    - #38765: Preliminary steps for RC (by @jolelievre)
    - #38694: Updated PrestaShop Packages (by @github-actions[bot])
    - #38576: Update Symfony components after 6.4.21 release (by @nicosomb)
    - #38583: Update changelog 9.0.0 RC 1 (by @jolelievre)
    - #37535: Add path parameter to Htaccess Create action hook - #37534 (by @Pliciweb)
    - #38527: Add support for {categories} keyword in category seo urls, Fixes #38181 (by @tswfi)
    - #37611: Remove configuration of AEUC_LABEL_TAX_INC_EXC from module ps_legalco… (by @Markus-Gurkcity)
    - #38376: Update Symfony components after 6.4.20 release (by @nicosomb)
    - #38195: Updated PrestaShop Packages (by @github-actions[bot])
    - #38310: Display additional details about the module errors in the CLI command (by @jolelievre)
    - #38232: Improve hook generation for fixtures and documentation (by @jolelievre)
    - #38163: Update Symfony components after 6.4.19 release (by @nicosomb)
    - #37635: Updated PrestaShop Packages (by @github-actions[bot])
    - #38044: Updated PrestaShop Packages (by @github-actions[bot])
    - #37964: Fixed license header (by @mattgoud)
    - #37943: Chore: [release-8.2.1] - composer : update classic-theme package to 2… (by @mattgoud)
  - Bug fix:
    - #38701: Stabilize composer create test db (by @jolelievre)
    - #38633: Improve language for installer and downgrade league/oauth2-server to 8.5 (by @boherm)
    - #38575: Update dependencies (by @jolelievre)
    - #38498: Remove dynamic county access (by @jolelievre)
    - #38482: Remove carrier display on pdf for virtual orders (by @boherm)
    - #38382: Fix module override system for typed properties (by @boherm)
    - #37925: Fix: round calcul in calculator (by @Midoclas)
    - #38342: Translation fixes (by @jolelievre)
    - #38327: Fix actionFilterDeliveryOptionList hook Cart Param (by @adrianllopis)
    - #38104: Fixed SK tax in all localization files (by @nicosomb)
    - #37890: Fix preview mode for combination products (by @boherm)
- Installer:
  - Improvement:
    - #38764: Update default catalog 9.0.x (by @ps-jarvis)
    - #38698: Block execution while cache clear is running in install endpoints (by @jolelievre)
    - #38501: Update default catalog 9.0.x (by @ps-jarvis)
    - #38235: Display the error reported by the module when the installation of PrestaShop fails because of it (by @Quetzacoalt91)
    - #38077: Add demo product env parameter for cli install via docker (by @matthieu-rolland)
    - #38058: Use devdocs link (by @PrestaEdit)
- Web Services:
  - Bug fix:
    - #38417: Fix webservice sql error (by @thersane-john)
    - #38341: Fix: product carrier delete (by @fox-john)
- Tests:
  - Improvement:
    - #38747: Functional Tests : Bump `@prestashop-core/ui-testing` (by @Progi1984)
    - #38733: Functional Tests : Migrate `@utils/globals` into `ui-testing-library` (by @Progi1984)
    - #38714: Functional Tests : Migrate to `@prestashop-core/ui-testing` (Part 8) (by @Progi1984)
    - #38689: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #38620: Functional Tests : Migrate to `@prestashop-core/ui-testing` (Part 7) (by @Progi1984)
    - #38595: Functional Tests : Bump `@prestashop-core/ui-testing` (by @Progi1984)
    - #38436: Functional Tests : Stabilisation "functional:FO:hummingbird:08-12" (by @Progi1984)
    - #38569: Stabilize UI tests for new product module (by @jolelievre)
    - #38564: Stabilize tests UI for modules, especially faceted search (by @jolelievre)
    - #38547: Stabilize UI tests for brand and supplier (by @jolelievre)
    - #38544: Improve tests ui functional bo header campaign (by @boherm)
    - #38519: Functional Tests : Bump @prestashop-core/ui-testing (by @Progi1984)
    - #38495: Improve github actions to help debug classic building (by @jolelievre)
    - #38447: Functional Tests : Allow override URL_FO for PS Entreprise UI Tests (by @Progi1984)
    - #38419: Functional Tests : Stabilisation "functional:BO:shop-parameters:05-07" (by @Progi1984)
    - #38403: Functional Tests : Stabilisation "functional:BO:shop-parameters:05-07" (by @Progi1984)
    - #38386: Functional Tests : Stabilisation "functional:FO:hummingbird:08-12" (by @Progi1984)
    - #38379: Functional Tests : Migrate to `@prestashop-core/ui-testing` (Part 6) (by @Progi1984)
    - #38346: Functional Tests : Bump `@prestashop-core/ui-testing` (by @Progi1984)
    - #38306: Functional Tests : Bump `@prestashop-core/ui-testing` (by @Progi1984)
    - #38300: Functional Tests : Stabilisation "functional:BO:shop-parameters:05-07" (by @Progi1984)
    - #38198: Functional Tests : Enable after #22581 (by @Progi1984)
    - #38190: Functional Tests : Migrate to `@prestashop-core/ui-testing` (Part 5) (by @Progi1984)
    - #38169: Add setup log export action (by @jolelievre)
    - #37801: Functional Tests : Audit - BO - Advanced Parameters (by @florine2623)
    - #38113: Functional Tests : Migrate to `@prestashop-core/ui-testing` (Part 4) (by @Progi1984)
    - #38050: Functional Tests : BO - Catalog - Discounts : CRUD catalog price rules (by @Progi1984)
    - #38035: Functional Tests : BO - Catalog - Discounts : Filter, sort and pagination catalog price rules table (by @Progi1984)
    - #38030: Functional Tests : FO - Menu and Navigation - Navigate in Categories - Side block categories (by @Progi1984)
    - #38007: Functional Tests : BO - Cart Rules - Filter, Quick Edit and bulk actions (by @Progi1984)
    - #37980: Tests UI stabilization: order creation (by @jolelievre)
    - #37973: Stabilize test view order multi invoices (by @jolelievre)
  - Bug fix:
    - #38546: Fix mkcert installation (by @jolelievre)
    - #38020: Functional Tests : Fixed `functional/API/02*/05_hooks/02*` (by @Progi1984)
    - #37969: Functional Tests : Fixed `functional/API/02*/09*/01*` (by @Progi1984)
  - Refactoring:
    - #38236: Functional Tests : Stabilisation "functional:FO:hummingbird:04-07" (by @Progi1984)
    - #38230: Functional Tests : Stabilisation "functional:BO:shipping" (by @Progi1984)
    - #38226: Functional Tests : Stabilisation "functional:BO:shop-parameters:05-07" (by @Progi1984)
    - #38210: Functional Tests : Stabilisation "functional:FO:hummingbird:08-12" (by @Progi1984)
    - #38205: Functional Tests : Stabilisation "functional:BO:catalog:07-08" (by @Progi1984)

####################################
#   v9.0.0 Beta 1 - (2025-02-03)
####################################

- 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)


####################################
#   v9.0.0 Alpha 1 - (2024-06-06)
####################################

- Back Office:
  - New feature:
    - #36271: Create basic general form for carrier (by @jolelievre)
    - #35983: [BC Break] Migrate login and authentication in Back Office to Symfony (by @jolelievre)
    - #35907: Handle API upload file (by @jolelievre)
    - #35270: [BC Break] Enable attribute migrated page (by @jolelievre)
    - #35750: Filter experimental apis (by @jolelievre)
    - #35725: Add languages list API as a core endpoint that is available without specific scope (by @jolelievre)
    - #35380: Feat(infos): added hostname in system information (by @Dreimus)
    - #35630: [BC Break] Product multilang listing (by @tleon)
    - #35292: [BC Break] Order history can track modifications via api calls (by @jolelievre)
    - #35360: List operation and pagination  (by @tleon)
    - #35180: Enable symfony layout feature flag by default (by @jolelievre)
    - #34892: API handle basic multi shop and multi lang endpoint (by @jolelievre)
    - #34929: Add debug cookie configuration values to installation data (by @unlocomqx)
    - #34666: Handle return in CommandProcessor to return resource content after modification (by @jolelievre)
    - #34696: Customer group commands for edition and deletion (by @jolelievre)
    - #34193: Api access scopes (by @jolelievre)
    - #34171: Integrate external PrestaShop module for API resources (by @jolelievre)
    - #34149: Create API Access page with grid and basic form (by @jolelievre)
    - #33833: Add API access Command (by @tleon)
    - #33366: Feat(api): add endpoint with complex custom type (by @tleon)
    - #33024: Add complex query with optional parameters (by @mflasquin)
    - #33056: Enable migrated Title page and Remove AdminGendersController (by @Progi1984)
    - #32494: Add of GeoCoordinates form type (by @LouisAUTHIE)
    - #33208: Symfony layout feature flag (by @jolelievre)
    - #31116: Aaa/apis08d view authorized application (by @mflasquin)
    - #32809: Add debug cookie option (by @unlocomqx)
    - #31169: Aaa/apis08b delete authorized app (by @mflasquin)
    - #32860: Feat(api-platform): api platform documentation spike (by @tleon)
    - #32382: Setup generic provider for oauth API (by @mflasquin)
    - #32367: Add CLI command to list and toggle feature flags (by @jolelievre)
    - #27769: Proper guest management in backoffice (by @Hlavtox)
    - #31439: Add information about customer default group (by @Hlavtox)
    - #30938: APIS08c - Add and edit authorized application (by @mflasquin)
    - #31109: Change limit of filed value on ps_customized_data so that it can accepts more than 255 characters (by @lartist)
  - Improvement:
    - #36314: Update missing security attributes (by @jolelievre)
    - #36264: Check Employee IP address in BO (by @jolelievre)
    - #36203: Improve access controls (by @jolelievre)
    - #36139: Symfony login page improvement (by @jolelievre)
    - #36136: Remove attribute feature flag (by @jolelievre)
    - #35996: [BC Break] Update redirect_type enum values (by @M0rgan01)
    - #36021: [BC Break] Integrate phpstan extension for Doctrine (by @jolelievre)
    - #35848: Introduce AllShopContext Attribute for Symfony layout (by @M0rgan01)
    - #35832: Chore(api): make api based on grid instead of query builder (by @tleon)
    - #35815: TokenAuthenticator can handle multiple authorization servers (by @jolelievre)
    - #35773: Core(api) allow customer group endpoint to be created without shopid… (by @tleon)
    - #35434: Improve wording of pack quantities (by @Hlavtox)
    - #35697: [BC Break] Create gtin and replace ean13 usages (by @tleon)
    - #35761: [BC Break] Introduce PS_TRUSTED_PROXIES env, and delete the obsolete PS_SSL_ENABLED_EVERYWHERE config (by @M0rgan01)
    - #35772: [BC Break] Admin API page stabilization and renaming (by @jolelievre)
    - #35608: [BC Break] Add a redirection function 301 or 302 on Category page (by @M0rgan01)
    - #35716: [BC Break] Add scope hard coded checks in places employee permissions were hard coded (by @jolelievre)
    - #35699: Correction of patch requests in PPV2 (by @M0rgan01)
    - #35515: [BC Break] Create dedicated Admin API endpoint outside of the back office space (by @jolelievre)
    - #35662: Update ps_linklist module (by @jolelievre)
    - #35564: Update product SEO metadata length (by @M0rgan01)
    - #35518: BO login screen - don't show PrestaShop version before Employee successful login (by @ShaiMagal)
    - #35568: Make products and specific combination products searchable by all kind of references in stock management page (by @matthieu-rolland)
    - #35501: Add new feature flag "Authorization server - Multistore" (by @M0rgan01)
    - #35505: Add ean13 field to api stock management search engine for product and combinations (by @matthieu-rolland)
    - #35397: API Access Info endpoint (by @M0rgan01)
    - #35373: [BC Break] Remove migrated image settings pages feature flag (by @boherm)
    - #35329: [BC Break] Remove migrated shopping carts pages feature flag (by @boherm)
    - #35332: Run the API module tests in the core CI (by @M0rgan01)
    - #35192: Migrate "Design > Image Settings" (by @boherm)
    - #35007: Migrate "Orders > Shopping Carts" page (by @boherm)
    - #35266: Update API-platform to v3 (by @M0rgan01)
    - #35264: [BC Break] Remove sensio/framework-extra-bundle (by @M0rgan01)
    - #35212: [BC Break] Replace AdminSecurity annotations with attributes (by @M0rgan01)
    - #34783: [BC Break] Creation of a LegacyController for display a legacy page in a symfony layout (by @M0rgan01)
    - #35142: Update symfony to 6.4 (by @M0rgan01)
    - #35129: Update symfony to 6.3 (by @M0rgan01)
    - #35069: [BC Break] Migrate to Symfony 6, part 2 (by @M0rgan01)
    - #34763: [BC Break] Features UX improvement (by @jolelievre)
    - #34836: [BC Break] SF6- Remove deprecated code from FrameworkBundle (by @M0rgan01)
    - #34901: Make address row clickable (by @Hlavtox)
    - #34792: [BC Break] SF6: Use AbstractAuthenticator for TokenAuthenticator (by @M0rgan01)
    - #34833: Add an address alias to the list of available addresses (by @kpodemski)
    - #34780: SF6 - Remove deprecated code from HttpFoundation (by @M0rgan01)
    - #34778: [BC Break] SF6 - Remove deprecated code from HttpKernel (by @M0rgan01)
    - #34764: SF6 - Remove deprecated code from TwigBundle (by @M0rgan01)
    - #34497: Dynamize scopes from DB into access token endpoint, resource resource server no checks only the JWT token content (by @tleon)
    - #34560: [BC Break] Handle backward compatibility for smarty context (by @M0rgan01)
    - #34397: API access - add/edit lifetime (by @tleon)
    - #34396: Remove the � from the invalid character (by @AureRita)
    - #34029: Get a list of unique module's name (by @PrestaEdit)
    - #34195: Add `tinyMCE` hr plugin & toolbar (by @PululuK)
    - #33756: Feat(api-platform): handle scope on endpoints (by @tleon)
    - #33775: [BC Break] Twig component: Make Header independent (by @M0rgan01)
    - #33832: Make MobileQuickAccess twig component independent (by @boherm)
    - #33702: Twig component: Make navigation bar management independent (by @M0rgan01)
    - #33760: Introduce `css component` for `TypeaheadProductCollectionType` (by @PululuK)
    - #33682: Twig component: Makes breadcrumbs management independent (by @M0rgan01)
    - #33607: Fix miscellaneous bugs on Symfony layout to get full UI tests green (by @jolelievre)
    - #32720: Update TranslationToolsBundle to version 6 (by @jolelievre)
    - #33570: Replacing MultistoreHeaderController by a twig component and using it in ToolBar twig component instead (by @lartist)
    - #33379: Make navbar component independent (by @M0rgan01)
    - #33336: Replace twig component header (by @boherm)
    - #33128: Handle partial output for an API based on a single DTO (by @tleon)
    - #33347: Get notifications center independent twig component (by @lartist)
    - #33214: Flash messages Bridge from legacy to Symfony (by @lartist)
    - #31504: Order Statuses/Order Return Statuses : Use the new form theme (by @Progi1984)
    - #33301: Get employee dropdown twig component independent (by @lartist)
    - #33309: Deprecate `SendCartToCustomer` in v9 (by @Progi1984)
    - #33081: First smarty template replaced by twig (by @lartist)
    - #32993: Change translation key when duplicate product (by @mflasquin)
    - #33016: Improve controller depreciation documentation (by @mflasquin)
    - #32627: Add CTAs for edit pages (by @Hlavtox)
    - #32669: [BC Break] Change hook status command logic (by @mflasquin)
    - #32411: Add missing MPN column into products CSV example (by @PrestaEdit)
    - #32289: Replace use of "upgrade" with "update" (by @eternoendless)
    - #32190: [BC Break] Remove unused toolbar.tpl (by @eternoendless)
    - #32152: Improvement: displaying header toolbar on mobile (by @ga-devfront)
    - #32137: Don't call Hook::getHookModuleExecList('displayAdminStatsModules') twice (by @Tofandel)
    - #31218: Add index on ps_orders.'invoice_date' (by @AdrienPlx)
    - #29920: Titles : Migrate Add & Edit Forms (by @Progi1984)
    - #31900: [BC Break] Use htmlspecialchars on trans parameters and deprecate _raw parameter (by @mflasquin)
    - #32106: Improve display of gift message on order view (by @Prestaworks)
    - #31984: Add an exit button in tablet and phone menu (by @JBLach)
    - #28854: Improve StockManager queries performances (by @tom-combet)
    - #31576: Ignore non existing product while importing by reference (by @web-cooking-factory)
    - #31739: Delete jquery-passy.LICENSE (by @leemyongpakvn)
    - #31736: Improve LinkColumn phpdoc (by @justeen35)
    - #31322: Unify page names, grid names, form names (by @Hlavtox)
    - #31353: Add QS to some of the back office assets to force cache clearance (by @kpodemski)
    - #27912: [BC Break] Refactor AdminModulesControllers and remove obsolete features (by @eternoendless)
    - #31563: Limit the size of changelog for module updates (by @SharakPL)
    - #31499: [BC Break] Simplify module manager, remove see more/less (by @Hlavtox)
    - #31360: Tax Rules Group : Edit Page > Tax Rules Grid (Only the list) (by @Progi1984)
    - #31440: Fix sales value in customer grid list (by @Hlavtox)
    - #31323: Improve customer group selector (by @Hlavtox)
    - #31196: Add authorized application factory to avoid use PrestaShopBundle in Core (by @mflasquin)
    - #31111: Improve customer basic info section (by @Hlavtox)
    - #31155: Allow custom redirect after login (by @cvng)
    - #31104: Improve customer view totals (by @Hlavtox)
    - #31105: Improve buttons in customer detail (by @Hlavtox)
  - Bug fix:
    - #36309: Integrate social icons on login page with symfony ux-icons (by @mattgoud)
    - #36301: Reset password page - updating cancel btn selector (css… (by @mattgoud)
    - #36299: Login page responsive (by @mattgoud)
    - #36068: Add texture in attribute color (by @tleon)
    - #36256: Fixed incorrect link to documentation (by @nicosomb)
    - #36244: Product page fixes (by @jolelievre)
    - #35775: Responsive visual issues new product page (by @mattgoud)
    - #36229: Fix the reformating of legacy controller class name (by @jolelievre)
    - #36028: Clickable rows for attributes group and attributes lists  (by @mattgoud)
    - #36027: Dynamic form fields based on choice of attribute-group field (attribute form) (by @mattgoud)
    - #36122: Error 500 fix for Admin Categories If description null (backport from develop) (by @ShaiMagal)
    - #36101: Fix display of available hooks for a module (by @nicosomb)
    - #36052: Removed useless aliases which cause issue with MariaDB (by @nicosomb)
    - #34917: Groups list : display new group buttons even after saving options (by @HiCharly)
    - #34823: Sets the current date on the duplicate product (by @webeshop)
    - #35810: [BC Break] Taking into account legacy public actions in Symfony layout (by @M0rgan01)
    - #35865: Changed attribute value creation route (by @nicosomb)
    - #35863: Fixed title in attribute value form (by @nicosomb)
    - #35861: Update HTMLTemplateOrderSlip.php to fix #35802 (by @rudolfkastl)
    - #35771: Updated query to remove subquery (by @nicosomb)
    - #34891: Fix issues on some catalog pages (by @Hlavtox)
    - #35439: Fixed sort error after generation of credit slip just for delivery fees; refs #33890 (by @denys202)
    - #35368: Improve TokenAuthenticator (by @M0rgan01)
    - #35442: Fix parameters retrieval in QueryListProvider (by @jolelievre)
    - #35424: Allow JSON format for OpenApi doc (by @jolelievre)
    - #35343: Clean empty old API files (by @jolelievre)
    - #35313: RouteNotFoundException when I configure a disabled module (by @M0rgan01)
    - #35307: Fix non scalar value in translation (by @M0rgan01)
    - #35234: Fix route name (by @Hlavtox)
    - #35025: Fix module updates (by @Hlavtox)
    - #35139: Fix smarty foreach loop on boolean variable $quick_access in BO (by @MHostinato)
    - #34725: [BC Break] Update ModuleCatalogueLayersProvider.php (by @danilocarta)
    - #34394: Fix on asset links for the symfony layout (by @M0rgan01)
    - #34407: Theme with the right width in multistore creation (by @AureRita)
    - #34395: Fix html encoded urls in symfony layout (by @M0rgan01)
    - #34350: Update link for user doc in Import page to v8 (by @florine2623)
    - #34352: Fix placeholder filter in BO > Employee and Customer Sessions (by @florine2623)
    - #34305: Fix ButtonCollectionType groups splitting (by @jolelievre)
    - #34235: Allow html tags in BO module footer (by @lmeyer1)
    - #34153: Fix feature values export (by @boherm)
    - #33990: Fix WebProfiler when dev mode is active (by @boherm)
    - #33746: Fix nightly which was broken due to legacy route configuration (by @M0rgan01)
    - #33621: Fix broken trans call (by @Hlavtox)
    - #33593: Fix navbar twig component error (by @lartist)
    - #29850: Hide the current user's profile checkbox for bulk actions (by @0x346e3730)
    - #33388: An exception is displayed when we create a new store (by @M0rgan01)
    - #33207: Disable wrapping of maintenance mode (by @Hlavtox)
    - #33089: Update date_time.html.twig better check for emptiness (by @Kaikina)
    - #33078: Create new order : The listing of carts/orders doesn't work (by @M0rgan01)
    - #31621: [BC Break] Enable Order Creation in BO with a virtual product and a customer add… (by @cquintini)
    - #32956: Override service discovery (by @mflasquin)
    - #29760: [BC Break] Invalid characters are being saved as Social titles (by @AlexTechDev)
    - #32671: Fix confirm text for bulk actions in module manager (by @boherm)
    - #32657: Remove empty value for default customer group (by @M0rgan01)
    - #32664: Fix modules page bulk action (by @boherm)
    - #32554: Fix states selector in back office stores form (by @zuk3975)
    - #32589: Remove default value for Customer Group form (by @M0rgan01)
    - #30922: Error 500 fix for Admin Categories If description null (by @uguranium)
    - #32515: Fix(trans): removed old htmlspecialchar parameters in smarty config (by @tleon)
    - #32506: Removes the placeholder for the import form on advanced parameters (by @0x346e3730)
    - #32403: Update sidebar transform value (by @M0rgan01)
    - #32339: Fix mobile help button (by @boherm)
    - #32042: Fix help card in popup instead of full page on create webservice (by @tleon)
    - #32012: Revert displaying Customer Groups migrated page (by @0x346e3730)
    - #31703: Add validation rule to avoid special characters in virtual urls (by @boherm)
    - #31416: Fix the bypass of censorship of sensitive data in sql queries (by @mflasquin)
    - #31455: Fix missing closing div in linked orders (by @sas-adilis)
    - #31223: Don't catch exception that implements ModuleErrorInterface (by @bibips)
    - #31153: Always set HelperKpi source and use conditional refresh (by @atomiix)
  - Refactoring:
    - #36162: Refacto login forms and add Employee CQRS commands (by @jolelievre)
    - #36158: EmployeeHomepageProvider service provides homepage url (by @jolelievre)
    - #36109: Fix forgotten tab (by @Hlavtox)
    - #35824: Prevent errors on different address formats (by @Hlavtox)
    - #35830: Fix notice on nulls (by @Hlavtox)
    - #35827: Fix uasort in dead code (by @Hlavtox)
    - #35698: Make changing order status more resilient to failed data (by @Hlavtox)
    - #35414: Rebind composer on the API module dev branch and update composer.lock (by @jolelievre)
    - #35402: Rename ApiAccess into ApiClient (by @jolelievre)
    - #35172: Delete endpoints that have been moved to the module (by @tleon)
    - #32475: Migrating attribute value page (by @JevgenijVisockij)
    - #35191: [BC Break] Clean horizontal migration code (by @jolelievre)
    - #34894: Move returns templates to proper location (by @Hlavtox)
    - #33587: [BC Break] Clean old product page code (by @jolelievre)
    - #34732: Refacto(api): change the uri to respect the adr (by @tleon)
    - #34653: [BC Break] Type protected and private methods of legacy admin controllers (by @Hlavtox)
    - #34528: Update 2 old links to PrestaShop site and github on BO login page (by @Uthanien)
    - #34569: [BC Break] Change module translation domains, make sure it's discoverable by the… (by @Hlavtox)
    - #34390: Context refactorisation for controller (by @M0rgan01)
    - #34147: Refactor shop initialization into listeners  (by @matthieu-rolland)
    - #33864: [BC Break] Twig component: Create global layout (by @M0rgan01)
    - #34290: [BC Break] Remove historic tabs system (by @Hlavtox)
    - #34146: Remove authorized application entity and related controller and tests (by @jolelievre)
    - #31502: Migrate attribute group edit (by @JevgenijVisockij)
    - #27590: [BC Break] Migrate "Shop parameters > Order settings > Statuses" page (by @Progi1984)
    - #33758: Fix PDO prepare for CVE-2023-39524 (by @clotairer)
    - #33051: [BC Break] Enable migrated Feature page and remove AdminFeaturesController (by @zuk3975)
    - #33232: [BC Break] Remove purpose (activity) of store during install and in config (by @Hlavtox)
    - #33324: [BC Break] Remove non responsive component (by @Hlavtox)
    - #33463: Make search_form twig component independant (by @matthieu-rolland)
    - #33466: [BC Break] Remove remains of AdminCartsController view (by @Hlavtox)
    - #33143: Replace shop list smarty template by twig component (by @lartist)
    - #33453: Revert php errors twigs component (by @lartist)
    - #33288: Add page header toolbar twig component (by @lartist)
    - #33165: Replace search form smarty template by twig component (by @lartist)
    - #33142: Replace notifications center smarty template by twig component (by @lartist)
    - #33173: Replace mobile quick access smarty template by twig component (by @lartist)
    - #33127: Replace nav bar (left menu) smarty template by twig component (by @lartist)
    - #33167: Replace php error smarty template by twig component (by @lartist)
    - #33162: Replace footer smarty template by twig component (by @lartist)
    - #33172: Replace non responsive smarty template by twig component (by @lartist)
    - #33117: Replace employee dropdown smarty template by twig template (by @lartist)
    - #33076: Cart rule group restrictions handling in SetCartRuleRestrictions CQRS command (by @zuk3975)
    - #33035: Cart rule country restrictions CQRS handling (by @zuk3975)
    - #33026: Rework commands with getters (by @aleksiuno)
    - #33045: Cart rule carrier restrictions CQRS handling (by @zuk3975)
    - #32948: Implement Search Aliases For Association Query (by @aleksiuno)
    - #33015: Feature value delete and export actions (by @zuk3975)
    - #32556: SetCartRuleProductRestrictions CQRS handling (by @zuk3975)
    - #33020: Extract FeatureChoiceType (by @zuk3975)
    - #32994: Feature value form integration (by @zuk3975)
    - #32334: Migrate Feature value list (a.ka. feature view action) (by @zuk3975)
    - #32464: [BC Break] SetCartRuleRestrictionsCommand (by @zuk3975)
    - #32302: Implement Delete/Bulk Delete Alias Command (by @aleksiuno)
    - #32672: Implement Edit Alias Command (by @aleksiuno)
    - #32490: Implement Bulk/UpdateAliasStatusCommand (by @aleksiuno)
    - #32695: Url cleaner integration (by @jolelievre)
    - #32222: [BC Break] CartRuleActionBuilder refacto (by @zuk3975)
    - #32160: [BC Break] Re-Removed deprecated method Tools::isBright & Tools::getBrightness (by @Progi1984)
    - #32055: Implement Add Alias Command (by @aleksiuno)
    - #32366: Use `CurrencyChoiceType` on all form types (by @FabienPapet)
    - #29951: [BC Break] Simplify category form (by @JevgenijVisockij)
    - #31728: [BC Break] Clean up Add/Edit feature and introduce Delete/BulkDeleteFeatureCommand (by @zuk3975)
    - #32193: Fix jquery deprecations (by @eternoendless)
    - #32115: [BC Break] Edit cart rule CQRS command (by @zuk3975)
    - #31802: Migrate "Shop parameters > Contact > Stores" list (by @zuk3975)
    - #32156: Feature UpdatePosition action (by @zuk3975)
    - #32169: Features list export action (by @zuk3975)
    - #31904: Migrate Cart Rules Create action (by @zuk3975)
    - #31689: [BC Break] Migrate Sell > Catalog > Feature listing (by @zuk3975)
    - #32023: Migrate Search Config Alias Grid (by @aleksiuno)
    - #31726: Migrate customer bought and viewed products to grids (by @Hlavtox)
    - #31583: Customer Group CQRS - Create (by @0x346e3730)
    - #31729: Use index for connections.date_add (by @lmeyer1)
    - #31765: [BC Break] Removed deprecated parameter in class Cart (by @Progi1984)
    - #29633: M/international/locations/countries delete action (by @margud)
    - #31769: [BC Break] Removed deprecated method Tools::isBright (by @Progi1984)
    - #31766: [BC Break] Removed deprecated class linked to FileUpload (by @Progi1984)
    - #31764: [BC Break] Removed deprecated file `admin-dev/get-file-admin.php` (by @Progi1984)
    - #31770: [BC Break] Removed deprecated method `Translate::getAdminTranslation` (by @Progi1984)
    - #31442: [BC Break] Migrate customer view cart and order tables to grid (by @Hlavtox)
    - #31462: Improve duplicate customer exceptions (by @Hlavtox)
    - #29591: Origin/m/international/locations/countries edit rebased (by @margud)
    - #30929: Customer Groups migration (by @0x346e3730)
    - #29510: [BC Break] Migrate "Internation > Locations > States" page (by @Progi1984)
    - #31114: Fix translation page responsivity (by @Hlavtox)
- Front Office:
  - New feature:
    - #34431: Add a hook 'actionValidateOrderBefore' called before actionValidateOrder (by @bibips)
    - #33931: Inform customer about quantity in cart (by @Hlavtox)
    - #32719: [BC Break] Load symfony container in front (by @boherm)
    - #32653: Introduce category presenter (by @Hlavtox)
    - #32634: [BC Break] Introduce supplier presenter & simplify manufacturer presenter (by @Hlavtox)
    - #32652: Introduce store presenter (by @Hlavtox)
  - Improvement:
    - #35705: Fix strstr modifier (by @Hlavtox)
    - #35735: Fix array_slice modifier (by @Hlavtox)
    - #30546: Generate product categories breadcrumb accordingly to accessed category (by @Dreimus)
    - #35571: Stop requesting core.js source map in production (by @SharakPL)
    - #35075: Add avif support to theme files (by @buggyzap)
    - #34122: Protect .git folder with htaccess (by @jf-viguier)
    - #34121: Change prestashop.com to prestashop-project.org in .htaccess (by @jf-viguier)
    - #33298: Make independent Quick Access twig component (by @boherm)
    - #33435: [BC Break] Lazyload attribute_price property (by @Hlavtox)
    - #33437: [BC Break] Hide stores from web if no stores are configured (by @Hlavtox)
    - #33335: [BC Break] Lazyload product features (by @Hlavtox)
    - #31825: Improve smartyClassname() (by @justeen35)
  - Bug fix:
    - #35962: CartRule.php - performance bottleneck - duplicating query (by @ShaiMagal)
    - #36074: Fix specific scenario when multiple carriers are used. (by @Hlavtox)
    - #35565: Fix CCC error for path with version (by @ComonSoft)
    - #35812: Fix unit price everywhere (by @Hlavtox)
    - #35729: Remove deprecated jquery method (by @Hlavtox)
    - #35584: Fix(merchandise-return): deprecation alert is displayed on the return form (by @TheoAlloin)
    - #34975: Getjqueryuipath correct return value (by @web-cooking-factory)
    - #34948: Correct warning with substr if $component is an array (by @web-cooking-factory)
    - #34834: Unreleased version of Classic is required for v9 (by @kpodemski)
    - #34370: Load theme css on maintenance page (by @Prestaworks)
    - #34464: Fix gift display in cart (by @Hlavtox)
    - #34598: Fix sorting by Relevance in search results (develop branch version) (by @mrkalchemy)
    - #34376: Fix potential TypeError in ProductLazyArray.php (by @hugofintecture)
    - #33700: Add an instruction in htaccess to prevent directory listings (by @maxime-morel)
    - #34182: Fix sorting by "time" in profiler's stopwatch SQL (by @mnastalski)
    - #34133: Add missing hook actionSubmitAccountBefore (by @jf-viguier)
    - #33723: Protect templates directory (by @maxime-morel)
    - #32063: Problems with actionValidateCustomerAddressForm hook (by @kijamve)
    - #33563: [BC Break] Fix load JqueryUI on FrontController : load only requested components (by @tups)
    - #33325: Condition out manufacturer if not present (by @Hlavtox)
    - #32631: Cache backup fix with no products (by @M0rgan01)
    - #32946: FrontController should not drop existing notifications (by @Tofandel)
    - #32861: Fix invalid token in redirection after editing himself (by @boherm)
    - #32500: Fix PDF invoice generator footer which only shows a %s (by @tesshsu)
    - #29520: Fix shipping cost on order details page (by @daresh)
    - #32312: Fix quantity check when there a customization in cart (by @unlocomqx)
    - #31487: FO: Fix cart rule detail amount (by @idnovate)
    - #31300: Mitigate multiple function call CartPresenter::present (by @lmeyer1)
    - #31695: Do not enable add to cart button if catalog mode is enabled (by @Hlavtox)
    - #31571: Fix error Uncaught TypeError: abs() in CartController (by @lmeyer1)
    - #31092: Fix widget call for nonexistent modules (by @Hlavtox)
    - #26764: Avoid including negative stock quantity values in attribute selector total quantity sum (by @prestaalba)
  - Refactoring:
    - #35822: Fix strpos modifier (by @Hlavtox)
    - #35167: Change old links to newer method (by @Hlavtox)
    - #34499: [BC Break] Migrate more properties to lazy array (by @Hlavtox)
    - #34498: [BC Break] Remove calls to get products properties (by @Hlavtox)
    - #34571: [BC Break] Remove unused things in Media class (by @Hlavtox)
    - #33363: [BC Break] Refacto image loading and allow cover configuration (by @Hlavtox)
    - #32846: [BC Break] Type hint front controllers (by @Hlavtox)
    - #32673: Add some comments to controllers (by @Hlavtox)
    - #31309: [BC Break] Introduce manufacturer presenter (by @Hlavtox)
    - #31074: Fix and unify sort orders in default search providers (by @Hlavtox)
    - #31076: Send proper welcome emails to customers (by @Hlavtox)
- Core:
  - New feature:
    - #33223: Introduce ShopContext and EmployeeContext sub context services (by @jolelievre)
    - #32450: [BC Break] Use dependency injection inside controllers (by @FabienPapet)
    - #29116: Support for PHP 8.2 (by @Progi1984)
    - #32370: Add customer `GenderType` and `GroupType` (by @FabienPapet)
    - #32395: Introduce `FormHelper` and deprecate `CommonAbstractType` (by @FabienPapet)
    - #32394: Add `autocomplete` option to every ChoiceType (by @FabienPapet)
    - #32325: Factorize language selection into a single `LocaleChoiceType` (by @FabienPapet)
    - #31683: Set possibility to ignore warnings and notices in dev mode (by @web-cooking-factory)
    - #31294: New hook for performing actions when address change on cart (by @Prestaworks)
  - Improvement:
    - #36312: Add optional blackfire installation in docker (by @matthieu-rolland)
    - #36293: Update Symfony components after 6.4.8 release (by @nicosomb)
    - #36313: Update licenses everywhere (by @jolelievre)
    - #36316: Update auto generated hooks (by @jolelievre)
    - #36288: Bump mysql2 from 3.9.8 to 3.10.0 in /tests/UI (by @dependabot[bot])
    - #36292: Bump eslint-plugin-deprecation from 2.0.0 to 3.0.0 in /tests/UI (by @dependabot[bot])
    - #36240: Bump @prestashop-core/ui-testing from `2acb006` to `5cbc261` in /tests/UI (by @dependabot[bot])
    - #36237: Bump mysql2 from 3.9.7 to 3.9.8 in /tests/UI (by @dependabot[bot])
    - #36063: Migration Carrier pages - CQRS for Add / Get / Update / Upload logo  (by @boherm)
    - #36207: [BC Break] Upgrade NodeJS version in Github Actions (by @nicosomb)
    - #36194: Bump fast-xml-parser from 4.3.6 to 4.4.0 in /tests/UI (by @dependabot[bot])
    - #36163: Update Changelog for 9.0.0 alplha 1 build 2 (by @jolelievre)
    - #36073: Improved Github Actions when updating php modules (by @nicosomb)
    - #36081: Update changelog for alpha v9 (by @matthieu-rolland)
    - #36069: Upgraded productcomments (by @nicosomb)
    - #34908: Don't create useless file "index.php" in every image folder (by @ShaiMagal)
    - #36050: Update Symfony components after 6.4.7 release (by @nicosomb)
    - #36043: Bump eslint-plugin-html from 8.1.0 to 8.1.1 in /tests/UI (by @dependabot[bot])
    - #35994: Fix typo (by @PrestaEdit)
    - #35981: Bump mysql2 from 3.9.4 to 3.9.7 in /tests/UI (by @dependabot[bot])
    - #34530: Add primary key to DB table accessory (by @ShaiMagal)
    - #35917: Bump typescript from 5.4.4 to 5.4.5 in /tests/UI (by @dependabot[bot])
    - #35915: Bump mysql2 from 3.9.3 to 3.9.4 in /tests/UI (by @dependabot[bot])
    - #35913: Bump eslint-plugin-html from 8.0.0 to 8.1.0 in /tests/UI (by @dependabot[bot])
    - #35898: Changelog v9.0.0-alpha.1 (by @matthieu-rolland)
    - #35864: Update outdated licence headers / Add missing licence headers (by @matthieu-rolland)
    - #35892: Updated PrestaShop Packages (by @github-actions[bot])
    - #35887: Update fos_js_routes file (by @matthieu-rolland)
    - #35871: Updated PrestaShop Packages (by @github-actions[bot])
    - #35857: Bump @types/libsodium-wrappers from 0.7.13 to 0.7.14 in /tests/UI (by @dependabot[bot])
    - #35858: Bump typescript from 5.4.3 to 5.4.4 in /tests/UI (by @dependabot[bot])
    - #35787: Bump mocha from 10.3.0 to 10.4.0 in /tests/UI (by @dependabot[bot])
    - #35789: Bump mysql2 from 3.9.2 to 3.9.3 in /tests/UI (by @dependabot[bot])
    - #35754: Updated PrestaShop Packages (by @github-actions[bot])
    - #35733: Bump typescript from 5.4.2 to 5.4.3 in /tests/UI (by @dependabot[bot])
    - #35345: Updated PrestaShop Packages (by @github-actions[bot])
    - #35653: Take account of active and deleted fields when fetching a tax rules group id by name (by @paulc010)
    - #35667: Bump fast-xml-parser from 4.3.5 to 4.3.6 in /tests/UI (by @dependabot[bot])
    - #35596: Bump typescript from 5.3.3 to 5.4.2 in /tests/UI (by @dependabot[bot])
    - #35552: Form type `MaterialChoiceTableType` introduce `display_total_items` form `option` (by @PululuK)
    - #35549: Bump playwright from 1.41.2 to 1.42.1 in /tests/UI (by @dependabot[bot])
    - #35548: Bump mysql2 from 3.9.1 to 3.9.2 in /tests/UI (by @dependabot[bot])
    - #35469: Bump dotenv from 16.4.4 to 16.4.5 in /tests/UI (by @dependabot[bot])
    - #35468: Bump eslint from 8.56.0 to 8.57.0 in /tests/UI (by @dependabot[bot])
    - #35470: Bump fast-xml-parser from 4.3.4 to 4.3.5 in /tests/UI (by @dependabot[bot])
    - #35350: Add params to actionValidateOrderBefore (by @PrestaEdit)
    - #35417: AppKernel is now able to detect the admin folder (by @jolelievre)
    - #34485: Add support for PHP 8.3 (by @jolelievre)
    - #35407: Bump dotenv from 16.4.2 to 16.4.4 in /tests/UI (by @dependabot[bot])
    - #35338: Bump @typescript-eslint/eslint-plugin from 6.20.0 to 7.0.0 in /tests/UI (by @dependabot[bot])
    - #35328: Bump eslint-plugin-html from 7.1.0 to 8.0.0 in /tests/UI (by @dependabot[bot])
    - #35325: Bump mocha from 10.2.0 to 10.3.0 in /tests/UI (by @dependabot[bot])
    - #35327: Bump dotenv from 16.4.1 to 16.4.2 in /tests/UI (by @dependabot[bot])
    - #35324: Bump @typescript-eslint/parser from 6.20.0 to 6.21.0 in /tests/UI (by @dependabot[bot])
    - #35323: Bump @faker-js/faker from 8.4.0 to 8.4.1 in /tests/UI (by @dependabot[bot])
    - #35255: Bump @typescript-eslint/eslint-plugin from 6.19.1 to 6.20.0 in /tests/UI (by @dependabot[bot])
    - #35256: Bump mysql2 from 3.9.0 to 3.9.1 in /tests/UI (by @dependabot[bot])
    - #35257: Bump jsdoc-to-markdown from 8.0.0 to 8.0.1 in /tests/UI (by @dependabot[bot])
    - #35254: Bump fast-xml-parser from 4.3.3 to 4.3.4 in /tests/UI (by @dependabot[bot])
    - #35253: Bump playwright from 1.41.1 to 1.41.2 in /tests/UI (by @dependabot[bot])
    - #35241: Update Symfony components after 6.4.3 release (by @matks)
    - #35210: Bump @typescript-eslint/parser from 6.19.0 to 6.20.0 in /tests/UI (by @dependabot[bot])
    - #35199: Bump dotenv from 16.3.2 to 16.4.1 in /tests/UI (by @dependabot[bot])
    - #35198: Bump @faker-js/faker from 8.3.1 to 8.4.0 in /tests/UI (by @dependabot[bot])
    - #35197: Bump mysql2 from 3.7.1 to 3.9.0 in /tests/UI (by @dependabot[bot])
    - #35196: Bump @typescript-eslint/eslint-plugin from 6.19.0 to 6.19.1 in /tests/UI (by @dependabot[bot])
    - #35113: Updated PrestaShop Packages (by @github-actions[bot])
    - #32208: Add maildev for docker dev environments (by @tswfi)
    - #34816: Remove file CACHEDIR.TAG - reverting changes (by @ShaiMagal)
    - #35119: Bump mysql2 from 3.7.0 to 3.7.1 in /tests/UI (by @dependabot[bot])
    - #35116: Bump @typescript-eslint/eslint-plugin from 6.18.1 to 6.19.0 in /tests/UI (by @dependabot[bot])
    - #35117: Bump playwright from 1.40.1 to 1.41.1 in /tests/UI (by @dependabot[bot])
    - #35118: Bump dotenv from 16.3.1 to 16.3.2 in /tests/UI (by @dependabot[bot])
    - #35120: Bump @typescript-eslint/parser from 6.18.1 to 6.19.0 in /tests/UI (by @dependabot[bot])
    - #35011: CLI improvement before and during install (by @jolelievre)
    - #35041: Updated PrestaShop Packages (by @github-actions[bot])
    - #35045: Bump @typescript-eslint/parser from 6.18.0 to 6.18.1 in /tests/UI (by @dependabot[bot])
    - #35046: Bump chai from 4.4.0 to 4.4.1 in /tests/UI (by @dependabot[bot])
    - #35047: Bump fast-xml-parser from 4.3.2 to 4.3.3 in /tests/UI (by @dependabot[bot])
    - #35014: Updated PrestaShop Packages (by @github-actions[bot])
    - #35002: Bump @typescript-eslint/eslint-plugin from 6.16.0 to 6.18.1 in /tests/UI (by @dependabot[bot])
    - #34994: Bump @typescript-eslint/parser from 6.16.0 to 6.18.0 in /tests/UI (by @dependabot[bot])
    - #34993: Bump mysql2 from 3.6.5 to 3.7.0 in /tests/UI (by @dependabot[bot])
    - #34992: Bump chai from 4.3.10 to 4.4.0 in /tests/UI (by @dependabot[bot])
    - #34964: Updated PrestaShop Packages (by @github-actions[bot])
    - #34944: Bump @typescript-eslint/parser from 6.15.0 to 6.16.0 in /tests/UI (by @dependabot[bot])
    - #34941: Updated PrestaShop Packages (by @github-actions[bot])
    - #34912: Bump @typescript-eslint/eslint-plugin from 6.14.0 to 6.16.0 in /tests/UI (by @dependabot[bot])
    - #34910: Bump @typescript-eslint/parser from 6.14.0 to 6.15.0 in /tests/UI (by @dependabot[bot])
    - #34866: Bump eslint from 8.55.0 to 8.56.0 in /tests/UI (by @dependabot[bot])
    - #34867: Bump @typescript-eslint/parser from 6.13.2 to 6.14.0 in /tests/UI (by @dependabot[bot])
    - #34865: Bump @typescript-eslint/eslint-plugin from 6.13.2 to 6.14.0 in /tests/UI (by @dependabot[bot])
    - #34864: Bump eslint-plugin-import from 2.29.0 to 2.29.1 in /tests/UI (by @dependabot[bot])
    - #34802: Bump @typescript-eslint/eslint-plugin from 6.13.1 to 6.13.2 in /tests/UI (by @dependabot[bot])
    - #34758: Bump playwright from 1.40.0 to 1.40.1 in /tests/UI (by @dependabot[bot])
    - #34801: Bump @typescript-eslint/parser from 6.13.1 to 6.13.2 in /tests/UI (by @dependabot[bot])
    - #34800: Bump typescript from 5.3.2 to 5.3.3 in /tests/UI (by @dependabot[bot])
    - #34757: Bump eslint from 8.54.0 to 8.55.0 in /tests/UI (by @dependabot[bot])
    - #34790: CACHEDIR.TAG - saving resources and disk space (by @ShaiMagal)
    - #34729: Bump @typescript-eslint/eslint-plugin from 6.11.0 to 6.13.1 in /tests/UI (by @dependabot[bot])
    - #34684: Bump @types/chai from 4.3.10 to 4.3.11 in /tests/UI (by @dependabot[bot])
    - #34730: Bump @typescript-eslint/parser from 6.10.0 to 6.13.1 in /tests/UI (by @dependabot[bot])
    - #34722: Updated PrestaShop Packages (by @github-actions[bot])
    - #34687: Bump mysql2 from 3.6.3 to 3.6.5 in /tests/UI (by @dependabot[bot])
    - #34686: Bump @types/mocha from 10.0.4 to 10.0.6 in /tests/UI (by @dependabot[bot])
    - #34688: Bump typescript from 5.2.2 to 5.3.2 in /tests/UI (by @dependabot[bot])
    - #34645: Improve FeatureFlagManager ServiceLocator (by @boherm)
    - #34631: Updated PrestaShop Packages (by @github-actions[bot])
    - #34614: Revise docblock for getToken() (by @Amazzing)
    - #34616: Bump playwright from 1.39.0 to 1.40.0 in /tests/UI (by @dependabot[bot])
    - #34586: Updated PrestaShop Packages (by @github-actions[bot])
    - #34615: Bump eslint from 8.53.0 to 8.54.0 in /tests/UI (by @dependabot[bot])
    - #34618: Bump @typescript-eslint/eslint-plugin from 6.10.0 to 6.11.0 in /tests/UI (by @dependabot[bot])
    - #34619: Bump @faker-js/faker from 8.2.0 to 8.3.1 in /tests/UI (by @dependabot[bot])
    - #34556: Migrate deprecated DoctrineProvider to new one (by @boherm)
    - #34543: Bump @types/mocha from 10.0.3 to 10.0.4 in /tests/UI (by @dependabot[bot])
    - #34184: [BC Break] Forbidden sensitive files extensions on modules directory (by @clotairer)
    - #34542: Bump @types/chai-string from 1.4.4 to 1.4.5 in /tests/UI (by @dependabot[bot])
    - #34550: Use NumberFormatter's round constant instead of NumberToLocalizedStringTransformer's constant (by @matthieu-rolland)
    - #34544: Bump @typescript-eslint/parser from 6.9.1 to 6.10.0 in /tests/UI (by @dependabot[bot])
    - #34541: Bump @types/libsodium-wrappers from 0.7.12 to 0.7.13 in /tests/UI (by @dependabot[bot])
    - #34540: Bump @typescript-eslint/eslint-plugin from 6.9.1 to 6.10.0 in /tests/UI (by @dependabot[bot])
    - #34539: Bump @types/chai from 4.3.9 to 4.3.10 in /tests/UI (by @dependabot[bot])
    - #34545: Bump @types/mochawesome from 6.2.3 to 6.2.4 in /tests/UI (by @dependabot[bot])
    - #34508: Updated PrestaShop Packages (by @github-actions[bot])
    - #34475: Bump mysql2 from 3.6.2 to 3.6.3 in /tests/UI (by @dependabot[bot])
    - #34474: Bump eslint from 8.52.0 to 8.53.0 in /tests/UI (by @dependabot[bot])
    - #34473: Bump @typescript-eslint/parser from 6.9.0 to 6.9.1 in /tests/UI (by @dependabot[bot])
    - #34476: Bump @typescript-eslint/eslint-plugin from 6.9.0 to 6.9.1 in /tests/UI (by @dependabot[bot])
    - #34136: Updated PrestaShop Packages (by @github-actions[bot])
    - #34414: Bump eslint-plugin-import from 2.28.1 to 2.29.0 in /tests/UI (by @dependabot[bot])
    - #34381: Update module versions in composer.lock (develop) (by @matthieu-rolland)
    - #34372: Bump @typescript-eslint/eslint-plugin from 6.7.5 to 6.9.0 in /tests/UI (by @dependabot[bot])
    - #34366: Bump @types/libsodium-wrappers from 0.7.11 to 0.7.12 in /tests/UI (by @dependabot[bot])
    - #34365: Bump @types/chai from 4.3.8 to 4.3.9 in /tests/UI (by @dependabot[bot])
    - #34364: Bump @types/mocha from 10.0.2 to 10.0.3 in /tests/UI (by @dependabot[bot])
    - #34373: Bump @typescript-eslint/parser from 6.7.5 to 6.9.0 in /tests/UI (by @dependabot[bot])
    - #34362: Bump @types/chai-string from 1.4.3 to 1.4.4 in /tests/UI (by @dependabot[bot])
    - #34361: Bump eslint from 8.51.0 to 8.52.0 in /tests/UI (by @dependabot[bot])
    - #34360: Bump @types/mochawesome from 6.2.2 to 6.2.3 in /tests/UI (by @dependabot[bot])
    - #34309: Remove archived modules from email themes (by @micka-fdz)
    - #34283: Bump @typescript-eslint/parser from 6.7.4 to 6.7.5 in /tests/UI (by @dependabot[bot])
    - #34282: Bump @faker-js/faker from 8.1.0 to 8.2.0 in /tests/UI (by @dependabot[bot])
    - #34284: Bump @types/chai from 4.3.6 to 4.3.8 in /tests/UI (by @dependabot[bot])
    - #34285: Bump @typescript-eslint/eslint-plugin from 6.7.4 to 6.7.5 in /tests/UI (by @dependabot[bot])
    - #34212: Bump @typescript-eslint/eslint-plugin from 6.7.3 to 6.7.4 in /tests/UI (by @dependabot[bot])
    - #34211: Bump @typescript-eslint/parser from 6.7.3 to 6.7.4 in /tests/UI (by @dependabot[bot])
    - #34209: Bump fast-xml-parser from 4.3.1 to 4.3.2 in /tests/UI (by @dependabot[bot])
    - #34210: Bump eslint from 8.50.0 to 8.51.0 in /tests/UI (by @dependabot[bot])
    - #34118: Bump @types/mocha from 10.0.1 to 10.0.2 in /tests/UI (by @dependabot[bot])
    - #34117: Bump @types/mochawesome from 6.2.1 to 6.2.2 in /tests/UI (by @dependabot[bot])
    - #34119: Bump chai from 4.3.8 to 4.3.10 in /tests/UI (by @dependabot[bot])
    - #34111: Fix `wording` in `AbstractColumn` (by @PululuK)
    - #34045: Bump @faker-js/faker from 8.0.2 to 8.1.0 in /tests/UI (by @dependabot[bot])
    - #34072: Bump @typescript-eslint/eslint-plugin from 6.7.0 to 6.7.3 in /tests/UI (by @dependabot[bot])
    - #33459: [BC Break] Update egulias/email-validator to 4.0.1 and bump multiple doctrine deps (by @M0rgan01)
    - #34071: Bump @typescript-eslint/parser from 6.7.0 to 6.7.3 in /tests/UI (by @dependabot[bot])
    - #34042: Bump playwright from 1.38.0 to 1.38.1 in /tests/UI (by @dependabot[bot])
    - #34046: Bump fast-xml-parser from 4.2.7 to 4.3.1 in /tests/UI (by @dependabot[bot])
    - #34043: Bump eslint from 8.49.0 to 8.50.0 in /tests/UI (by @dependabot[bot])
    - #34056: Add missing params doc for get method in Configuration.php (by @hugofintecture)
    - #33958: Bump playwright from 1.37.1 to 1.38.0 in /tests/UI (by @dependabot[bot])
    - #33968: Remove 8.0.x branch from Update PHP Modules cron (by @nicosomb)
    - #33955: Bump libsodium-wrappers from 0.7.11 to 0.7.13 in /tests/UI (by @dependabot[bot])
    - #33957: Bump @typescript-eslint/parser from 6.6.0 to 6.7.0 in /tests/UI (by @dependabot[bot])
    - #33956: Bump eslint-plugin-deprecation from 1.5.0 to 2.0.0 in /tests/UI (by @dependabot[bot])
    - #33914: Bump @typescript-eslint/eslint-plugin from 6.5.0 to 6.7.0 in /tests/UI (by @dependabot[bot])
    - #33898: Bump eslint from 8.48.0 to 8.49.0 in /tests/UI (by @dependabot[bot])
    - #33897: Bump @types/chai from 4.3.5 to 4.3.6 in /tests/UI (by @dependabot[bot])
    - #33891: Updated PrestaShop Packages (by @github-actions[bot])
    - #33899: Bump @types/chai-string from 1.4.2 to 1.4.3 in /tests/UI (by @dependabot[bot])
    - #33901: Bump @typescript-eslint/parser from 6.5.0 to 6.6.0 in /tests/UI (by @dependabot[bot])
    - #33821: Bump @types/libsodium-wrappers from 0.7.10 to 0.7.11 in /tests/UI (by @dependabot[bot])
    - #33822: Bump @typescript-eslint/eslint-plugin from 6.4.1 to 6.5.0 in /tests/UI (by @dependabot[bot])
    - #33824: Bump @typescript-eslint/parser from 6.4.1 to 6.5.0 in /tests/UI (by @dependabot[bot])
    - #33735: Bump @typescript-eslint/eslint-plugin from 6.4.0 to 6.4.1 in /tests/UI (by @dependabot[bot])
    - #33733: Bump @typescript-eslint/parser from 6.4.0 to 6.4.1 in /tests/UI (by @dependabot[bot])
    - #33734: Bump typescript from 5.1.6 to 5.2.2 in /tests/UI (by @dependabot[bot])
    - #33339: Fix symfony legacy route configuration, PART 2 (by @M0rgan01)
    - #33732: Bump chai from 4.3.7 to 4.3.8 in /tests/UI (by @dependabot[bot])
    - #33731: Bump eslint from 8.47.0 to 8.48.0 in /tests/UI (by @dependabot[bot])
    - #33666: Bump eslint-plugin-import from 2.28.0 to 2.28.1 in /tests/UI (by @dependabot[bot])
    - #33665: Bump playwright from 1.37.0 to 1.37.1 in /tests/UI (by @dependabot[bot])
    - #33628: Bump @typescript-eslint/eslint-plugin from 6.2.1 to 6.4.0 in /tests/UI (by @dependabot[bot])
    - #33618: Bump playwright from 1.36.2 to 1.37.0 in /tests/UI (by @dependabot[bot])
    - #33627: Bump @typescript-eslint/parser from 6.2.1 to 6.4.0 in /tests/UI (by @dependabot[bot])
    - #33620: Bump eslint from 8.46.0 to 8.47.0 in /tests/UI (by @dependabot[bot])
    - #33533: Improve Makefile usage (by @nicosomb)
    - #32873: Upgrade cssjanus to 2.1.1 (by @matks)
    - #33448: Bump @typescript-eslint/eslint-plugin from 5.62.0 to 6.2.0 in /tests/UI (by @dependabot[bot])
    - #32584: Improved the CQRS listing command to track the progress of the development of the CQRS endpoints (by @tleon)
    - #33507: Bump league/oauth2-server from 8.5.1 to 8.5.3 (by @dependabot[bot])
    - #33145: Fix symfony legacy route configuration, PART 1 (by @M0rgan01)
    - #33497: Bump eslint-plugin-deprecation from 1.4.1 to 1.5.0 in /tests/UI (by @dependabot[bot])
    - #33499: Bump fast-xml-parser from 4.2.6 to 4.2.7 in /tests/UI (by @dependabot[bot])
    - #33498: Bump eslint-plugin-import from 2.27.5 to 2.28.0 in /tests/UI (by @dependabot[bot])
    - #33500: Bump playwright from 1.36.1 to 1.36.2 in /tests/UI (by @dependabot[bot])
    - #33496: Bump eslint from 8.45.0 to 8.46.0 in /tests/UI (by @dependabot[bot])
    - #32167: [BC Break] Remove deprecated services (by @Progi1984)
    - #33344: Bump maildev from 2.0.5 to 2.1.0 in /tests/UI (by @dependabot[bot])
    - #33343: Bump @xmldom/xmldom from 0.8.9 to 0.8.10 in /tests/UI (by @dependabot[bot])
    - #33346: Bump fast-xml-parser from 4.2.5 to 4.2.6 in /tests/UI (by @dependabot[bot])
    - #33273: Bump @typescript-eslint/parser from 5.61.0 to 5.62.0 in /tests/UI (by @dependabot[bot])
    - #33274: Bump playwright from 1.35.1 to 1.36.1 in /tests/UI (by @dependabot[bot])
    - #33272: Bump @xmldom/xmldom from 0.8.8 to 0.8.9 in /tests/UI (by @dependabot[bot])
    - #33271: Bump eslint from 8.44.0 to 8.45.0 in /tests/UI (by @dependabot[bot])
    - #33248: Bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.62.0 in /tests/UI (by @dependabot[bot])
    - #33160: Bump eslint-plugin-deprecation from 1.3.3 to 1.4.1 in /tests/UI (by @dependabot[bot])
    - #32923: Feature flags improvements (by @boherm)
    - #32787: [BC Break] Migrate league/tactician-bundle to symfony/messenger (by @lartist)
    - #33094: Bump @typescript-eslint/parser from 5.60.0 to 5.61.0 in /tests/UI (by @dependabot[bot])
    - #33067: Bump eslint from 8.43.0 to 8.44.0 in /tests/UI (by @dependabot[bot])
    - #33069: Bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 in /tests/UI (by @dependabot[bot])
    - #33070: Bump typescript from 5.1.3 to 5.1.6 in /tests/UI (by @dependabot[bot])
    - #32164: [BC Break] Removed deprecated methods `displayNumber` & `displayPrice` in class `Tools` (by @Progi1984)
    - #33001: Bump @typescript-eslint/eslint-plugin from 5.59.11 to 5.60.0 in /tests/UI (by @dependabot[bot])
    - #33002: Bump @typescript-eslint/parser from 5.59.11 to 5.60.0 in /tests/UI (by @dependabot[bot])
    - #32960: [BC Break] Removing guzzle library (by @lartist)
    - #32943: [BC Break] Remove unused symfony librairies (by @lartist)
    - #32161: [BC Break] Remove deprecated method `getClassName` in class `Tab` (by @Progi1984)
    - #32163: [BC Break] Remove deprecated method `setPriorities` in class `SpecificPrice` (by @Progi1984)
    - #32932: Bump @typescript-eslint/eslint-plugin from 5.59.9 to 5.59.11 in /tests/UI (by @dependabot[bot])
    - #32931: Bump @typescript-eslint/parser from 5.59.9 to 5.59.11 in /tests/UI (by @dependabot[bot])
    - #32930: Bump playwright from 1.35.0 to 1.35.1 in /tests/UI (by @dependabot[bot])
    - #32933: Bump eslint from 8.42.0 to 8.43.0 in /tests/UI (by @dependabot[bot])
    - #32934: Bump dotenv from 16.1.4 to 16.3.1 in /tests/UI (by @dependabot[bot])
    - #32890: Update phpunit and phpunit-bridge (by @M0rgan01)
    - #32157: [BC Break] Remove deprecated UpdateProductStatusCommand (& Handler & Interface & service) (by @Progi1984)
    - #32872: Use laminas/laminas-code 4.11.0 instead of fork of 4.5 (by @matks)
    - #32877: Bump @typescript-eslint/eslint-plugin from 5.59.8 to 5.59.9 in /tests/UI (by @dependabot[bot])
    - #32876: Bump playwright from 1.34.3 to 1.35.0 in /tests/UI (by @dependabot[bot])
    - #32878: Bump @typescript-eslint/parser from 5.59.8 to 5.59.9 in /tests/UI (by @dependabot[bot])
    - #32776: Update soundasleep/html2text to 2.1.0 (by @M0rgan01)
    - #32811: Improve Product::getAnchor() (by @davidglezz)
    - #32736: [BC Break] Replace swift mailer by symfony mailer (by @lartist)
    - #32779: Update MobileDetect to 3.74.0 (by @M0rgan01)
    - #32822: Bump typescript from 5.0.4 to 5.1.3 in /tests/UI (by @dependabot[bot])
    - #32821: Bump @typescript-eslint/parser from 5.59.7 to 5.59.8 in /tests/UI (by @dependabot[bot])
    - #32820: Bump @xmldom/xmldom from 0.8.7 to 0.8.8 in /tests/UI (by @dependabot[bot])
    - #32818: Bump eslint from 8.41.0 to 8.42.0 in /tests/UI (by @dependabot[bot])
    - #32817: Bump dotenv from 16.0.3 to 16.1.4 in /tests/UI (by @dependabot[bot])
    - #32816: Bump module-alias from 2.2.2 to 2.2.3 in /tests/UI (by @dependabot[bot])
    - #32347: Use service discovery for form types (by @FabienPapet)
    - #32780: Update pelago/emogrifier to 7.0.0 (by @boherm)
    - #32742: Update composer installers (by @M0rgan01)
    - #32771: Update lcobucci/jwt to 5.0.0 (by @M0rgan01)
    - #32781: Update phpunit-speedtrap to 4.0.1 (by @boherm)
    - #32759: Update jsrouting to 3.2.1 (by @M0rgan01)
    - #32746: Bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.8 in /tests/UI (by @dependabot[bot])
    - #32707: Split symfony components in composer.json (by @lartist)
    - #32599: Country choice improvements (by @FabienPapet)
    - #32729: Bump playwright from 1.34.0 to 1.34.3 in /tests/UI (by @dependabot[bot])
    - #32732: Bump @faker-js/faker from 8.0.1 to 8.0.2 in /tests/UI (by @dependabot[bot])
    - #32731: Bump @typescript-eslint/parser from 5.59.6 to 5.59.7 in /tests/UI (by @dependabot[bot])
    - #31216: [BC Break] Bump Symfony to v5.4 (by @Progi1984)
    - #32636: Bump @faker-js/faker from 8.0.0 to 8.0.1 in /tests/UI (by @dependabot[bot])
    - #32638: Bump playwright from 1.33.0 to 1.34.0 in /tests/UI (by @dependabot[bot])
    - #32637: Bump @typescript-eslint/eslint-plugin from 5.59.5 to 5.59.6 in /tests/UI (by @dependabot[bot])
    - #32639: Bump eslint from 8.40.0 to 8.41.0 in /tests/UI (by @dependabot[bot])
    - #31690: Updated PrestaShop Packages (by @github-actions[bot])
    - #32593: Bump @typescript-eslint/parser from 5.59.2 to 5.59.6 in /tests/UI (by @dependabot[bot])
    - #32571: Bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.5 in /tests/UI (by @dependabot[bot])
    - #32572: Bump @faker-js/faker from 7.6.0 to 8.0.0 in /tests/UI (by @dependabot[bot])
    - #32159: [BC Break] Removed deprecated parameters in `OrderReturn` (by @Progi1984)
    - #32514: [BC Break] Remove compatibility for php versions inferior to PHP 8.1 (by @jolelievre)
    - #32551: Bump ps_linklist to v6.0.1 (by @Progi1984)
    - #32539: Bump ps_themecusto to v1.2.3 (by @Progi1984)
    - #32472: Bump eslint from 8.39.0 to 8.40.0 in /tests/UI (by @dependabot[bot])
    - #32473: Bump @typescript-eslint/parser from 5.59.1 to 5.59.2 in /tests/UI (by @dependabot[bot])
    - #32340: [BC Break] Add missing y to service name (by @PrestaEdit)
    - #32401: Bump @typescript-eslint/eslint-plugin from 5.59.0 to 5.59.2 in /tests/UI (by @dependabot[bot])
    - #32391: Bump @types/chai from 4.3.4 to 4.3.5 in /tests/UI (by @dependabot[bot])
    - #32392: Bump @typescript-eslint/parser from 5.59.0 to 5.59.1 in /tests/UI (by @dependabot[bot])
    - #32393: Bump playwright from 1.32.3 to 1.33.0 in /tests/UI (by @dependabot[bot])
    - #32362: [BC Break] Remove deprecated files (by @FabienPapet)
    - #32298: Bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 in /tests/UI (by @dependabot[bot])
    - #32189: [BC Break] Remove deprecated displayFlags (by @eternoendless)
    - #32299: Bump eslint from 8.38.0 to 8.39.0 in /tests/UI (by @dependabot[bot])
    - #32297: Bump @typescript-eslint/parser from 5.58.0 to 5.59.0 in /tests/UI (by @dependabot[bot])
    - #32232: [BC Break] Remove unused functions getUrlRewriteInformation & getUrlRewriteInformations (by @eternoendless)
    - #32187: [BC Break] No longer try to include obsolete errors.php and admin.php (by @eternoendless)
    - #31976: Nicer docker compose & co for fast dev environment startup (by @tswfi)
    - #32176: Bump @typescript-eslint/parser from 5.57.1 to 5.58.0 in /tests/UI (by @dependabot[bot])
    - #28102: [BC Break] Removed `pear/archive_tar` dependency (by @Progi1984)
    - #31996: [BC Break] Remove triggered errors and deprecated for Grid (by @Progi1984)
    - #31994: [BC Break] Removed method  `renderForm` in namespace `PrestaShopBundle\Controller` (by @Progi1984)
    - #31995: [BC Break] Remove deprecated message in Pagination class by typehinting (by @Progi1984)
    - #31991: [BC Break] Remove deprecated classes `TranslationFinder` and `TranslationFinderTrait` in namespace `PrestaShopBundle\Translation\Provider` (by @Progi1984)
    - #31997: [BC Break] Removed message by typehinting the class GetProfileForEditingHandler (by @Progi1984)
    - #31993: [BC Break] Remove deprecated methods in `LogRepository` & `RequestSqlRepository` (by @Progi1984)
    - #31992: [BC Break] Remove deprecated classes `TypeaheadRedirectionTargetTransformer` and `TranslateTextType` in namespace `PrestaShopBundle\Form\Admin` (by @Progi1984)
    - #32107: Bump @typescript-eslint/eslint-plugin from 5.57.0 to 5.58.0 in /tests/UI (by @dependabot[bot])
    - #32094: Bump typescript from 5.0.3 to 5.0.4 in /tests/UI (by @dependabot[bot])
    - #32093: Bump eslint from 8.37.0 to 8.38.0 in /tests/UI (by @dependabot[bot])
    - #32092: Bump @typescript-eslint/parser from 5.57.0 to 5.57.1 in /tests/UI (by @dependabot[bot])
    - #32103: Bump playwright from 1.32.1 to 1.32.3 in /tests/UI (by @dependabot[bot])
    - #32090: Bump pdfjs-dist from 3.4.120 to 3.5.141 in /tests/UI (by @dependabot[bot])
    - #32043: Building all assets goes 🏎️ (by @0x346e3730)
    - #31421: [BC Break] Remove Tools::encrypt() and Tools::encryptIV() (deprecated) (by @FabienPapet)
    - #32014: Fix linter (by @lartist)
    - #32009: Bump typescript from 5.0.2 to 5.0.3 in /tests/UI (by @dependabot[bot])
    - #32007: Bump @typescript-eslint/eslint-plugin from 5.56.0 to 5.57.0 in /tests/UI (by @dependabot[bot])
    - #32008: Bump eslint from 8.36.0 to 8.37.0 in /tests/UI (by @dependabot[bot])
    - #31894: [BC Break] Removed deprecated in Adapter namespace (by @Progi1984)
    - #32006: Bump @typescript-eslint/parser from 5.56.0 to 5.57.0 in /tests/UI (by @dependabot[bot])
    - #31961: Add discounted unit price and initial price to formatted specific price (by @tswfi)
    - #31531: [BC Break] Standardize `filterManufacturerContent` hook (by @micka-fdz)
    - #31891: [BC Break] Removed deprecated methods `stripslashes` & `safePostVars` in class `Tools` (by @Progi1984)
    - #31892: [BC Break] Removed deprecated methods `generateDeliverySlipPDFByIdOrder` & `generateInvoicePDFByIdOrder` in class `AdminPdfController` (by @Progi1984)
    - #31925: Bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.56.0 in /tests/UI (by @dependabot[bot])
    - #31893: [BC Break] Removed deprecated controller `AdminRequestSqlController` (by @Progi1984)
    - #31890: [BC Break] Removed deprecated method `isAnything` in class `Validate` (by @Progi1984)
    - #31889: [BC Break] Removed deprecated method `addJquery` in `Controller` class (by @Progi1984)
    - #31926: Bump @typescript-eslint/parser from 5.55.0 to 5.56.0 in /tests/UI (by @dependabot[bot])
    - #31927: Bump playwright from 1.31.2 to 1.32.1 in /tests/UI (by @dependabot[bot])
    - #31834: Bump typescript from 4.9.5 to 5.0.2 in /tests/UI (by @dependabot[bot])
    - #31835: Bump @typescript-eslint/parser from 5.54.1 to 5.55.0 in /tests/UI (by @dependabot[bot])
    - #31836: Bump mochawesome-merge from 4.2.2 to 4.3.0 in /tests/UI (by @dependabot[bot])
    - #31837: Bump @typescript-eslint/eslint-plugin from 5.54.1 to 5.55.0 in /tests/UI (by @dependabot[bot])
    - #31824: No need to check error_get_last exist it exists since PHP 5.2 (by @justeen35)
    - #31744: Bump @typescript-eslint/eslint-plugin from 5.54.0 to 5.54.1 in /tests/UI (by @dependabot[bot])
    - #31745: Bump @typescript-eslint/parser from 5.54.0 to 5.54.1 in /tests/UI (by @dependabot[bot])
    - #31743: Bump eslint from 8.35.0 to 8.36.0 in /tests/UI (by @dependabot[bot])
    - #31742: Bump js-image-generator from 1.0.3 to 1.0.4 in /tests/UI (by @dependabot[bot])
    - #31391: [BC Break] Continue form type optimization (by @FabienPapet)
    - #31522: Updated PrestaShop Packages (by @github-actions[bot])
    - #31418: [BC Break] Remove ModuleRepository and ModuleRepositoryFactory (by @FabienPapet)
    - #31652: Bump playwright from 1.31.1 to 1.31.2 in /tests/UI (by @dependabot[bot])
    - #31651: Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.0 in /tests/UI (by @dependabot[bot])
    - #31653: Bump @typescript-eslint/parser from 5.53.0 to 5.54.0 in /tests/UI (by @dependabot[bot])
    - #31557: Corrects php licenses (by @lartist)
    - #31543: Bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 in /tests/UI (by @dependabot[bot])
    - #31544: Bump @typescript-eslint/parser from 5.52.0 to 5.53.0 in /tests/UI (by @dependabot[bot])
    - #31545: Bump playwright from 1.30.0 to 1.31.1 in /tests/UI (by @dependabot[bot])
    - #31546: Bump pdfjs-dist from 3.3.122 to 3.4.120 in /tests/UI (by @dependabot[bot])
    - #31547: Bump eslint from 8.34.0 to 8.35.0 in /tests/UI (by @dependabot[bot])
    - #31495: Add whitelist to legacy link linter mechanism (by @matthieu-rolland)
    - #31525: Bump modules (ps_linklist in v6 & blockwishlist in v3) (by @Progi1984)
    - #31028: [BC Break] Remove deprecated features on v9 (by @FabienPapet)
    - #29000: Add actionCartGetPackageShippingCost hook (by @PrestaEdit)
    - #31448: Bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0 in /tests/UI (by @dependabot[bot])
    - #31449: Bump @typescript-eslint/parser from 5.51.0 to 5.52.0 in /tests/UI (by @dependabot[bot])
    - #31414: Update PHPStan performance (by @FabienPapet)
    - #25353: Allow ordering as a guest, even after a you made an account (by @Hlavtox)
    - #31364: Update phpstan configuration file (by @FabienPapet)
    - #31138: [BC Break] Migrate form types to FQCN / autowire (by @FabienPapet)
    - #31326: Bump eslint from 8.33.0 to 8.34.0 in /tests/UI (by @dependabot[bot])
    - #31325: Bump @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0 in /tests/UI (by @dependabot[bot])
    - #31327: Bump @typescript-eslint/parser from 5.50.0 to 5.51.0 in /tests/UI (by @dependabot[bot])
    - #31029: [BC Break] Remove autoload (by @FabienPapet)
    - #31119: Updated PrestaShop Packages (by @github-actions[bot])
    - #31215: Bump @typescript-eslint/parser from 5.49.0 to 5.50.0 in /tests/UI (by @dependabot[bot])
    - #31118: [BC Break] Remove controller deprecations (by @FabienPapet)
    - #31214: Bump @typescript-eslint/eslint-plugin from 5.49.0 to 5.50.0 in /tests/UI (by @dependabot[bot])
    - #31213: Bump typescript from 4.9.4 to 4.9.5 in /tests/UI (by @dependabot[bot])
    - #28532: [BC Break] Removed deprecated Form Types (by @Progi1984)
    - #28550: [BC Break] Removed deprecated methods in Order class (by @Progi1984)
  - Bug fix:
    - #36266: Do not use makefile to do a composer install in docker script (by @matthieu-rolland)
    - #34875: Add cart rule module validation (by @Hlavtox)
    - #35621: Fix: Clear cache module multishop (by @pvujic)
    - #35587: Fix $action variable in postProcess method (by @SharakPL)
    - #35544: Update hook.xml (by @manudas)
    - #33624: [BC Break] Fix untranslated field names on Attribute Group error messages (by @eternoendless)
    - #35281: Fix diacritics pdf invoice support for ro-RO (by @gabrielroman13)
    - #35274: Move debug and web profiler bundle into prod dependencies (by @jolelievre)
    - #34731: [BC Break] Fix module upgrades, cleanup a bit (by @Hlavtox)
    - #34721: Fix use of front_legacy_context constant in FrontController (by @boherm)
    - #33633: Fixing Employee Object Creation: Ensuring Correct Data Types for id and id_profile Properties (by @Kaikina)
    - #33083: Fix action variable in postProcess method (by @gfilippakis)
    - #32840: Error in cache id naming (by @lmeyer1)
    - #32754: Profiler: measure execution time from the beginning. (by @lmeyer1)
    - #32563: Update EmailConfigurationTester.php (by @edelmacias)
    - #31026: Use 6 decimals while getting unit price (by @PrestaEdit)
    - #31752: [BC Break] Fix ProductCore::getDefaultCategory to return an int consistently (by @lea-BMS)
    - #31456: Fixed indentation in yaml file (by @nicosomb)
    - #31154: Revert "Removed deprecated methods & properties in Product class" (by @jolelievre)
  - Refactoring:
    - #35644: Fix order and remove duplicates from smarty.config.inc.php (by @SharakPL)
    - #35283: [BC Break] Remove deprecated ajaxDie method and deprecated hooks (by @Hlavtox)
    - #36108: Remove outdated PHP conditions (by @Hlavtox)
    - #36029: [BC Break] Remove deprecated object model validation and other dead code (by @Hlavtox)
    - #35998: Moves the random admin folder name generation at the end of the install process (by @matthieu-rolland)
    - #35953: Fix cart calculator tax rounding issues (by @Hlavtox)
    - #35834: Stabilize search indexation and check referrer (by @Hlavtox)
    - #35826: Better inform about faulty hooks (by @Hlavtox)
    - #35749: Unify text field database limits (by @Hlavtox)
    - #35231: Fix index.php links in admin zone (by @Hlavtox)
    - #35259: Remove dataviz related (by @PrestaEdit)
    - #34927: [BC Break] Add comments, remove unused constants (by @Hlavtox)
    - #34172: [BC Break] Remove image feature flag and fix original images (by @Hlavtox)
    - #35008: Improving Clarity: Refactor Image Link Handling in Link.php (by @dali-rajab)
    - #34907: Remove generation of unused file "fileType" in every image folder (by @ShaiMagal)
    - #34525: [BC Break] Remove some old deprecations (by @Hlavtox)
    - #34939: Remove confusing french method calls (by @Hlavtox)
    - #34905: Remove "debug code" from HTMLTemplateInvoice (by @ShaiMagal)
    - #34818: [BC Break] Deal with security deprecations (by @matthieu-rolland)
    - #34521: [BC Break] Remove extra checks (by @Hlavtox)
    - #34500: [BC Break] Language context refacto (by @jolelievre)
    - #34524: Upgrade symfony http-kernel to 5.4.31 (by @Hlavtox)
    - #34382: [BC Break] Upgrade jquery to latest version, drop polyfills (by @Hlavtox)
    - #33779: Move `FrontController::updateQueryString` to `Tools` to make reusable (by @PululuK)
    - #32458: [BC Break] Remove menu thumbnails (by @Hlavtox)
    - #33264: [BC Break] Remove usage of multiaddress delivery (by @Hlavtox)
    - #32941: Refacto getShopLogo remove hasKey usage (by @cruftex)
    - #32992: Symfony 6 - Fix user deprecations (by @FabienPapet)
    - #33158: [BC Break] Remove advanced stock management remains (by @Hlavtox)
    - #33263: [BC Break] Remove deprecated methods in Cart class (by @Hlavtox)
    - #32814: Improve GroupReduction (by @davidglezz)
    - #33057: Switch Annotation to attributes (by @FabienPapet)
    - #32945: Install `rector/rector` and apply basic rules (by @FabienPapet)
    - #32927: [BC Break] Remove deprecated actions buttons (by @FabienPapet)
    - #32926: Fix updateQuantity PHPDOC  (by @Kaikina)
    - #32446: [BC Break] Remove high DPI images functionality (by @Hlavtox)
    - #31151: [BC Break] Remove obsolete enable/disable module on mobile feature, remove mobile_theme feature remains (by @Hlavtox)
    - #32524: Migrate choice providers to autowiring 1/X (by @FabienPapet)
    - #32691: [BC Break] Remove search parameters (by @FabienPapet)
    - #32693: [BC Break] Remove deprecated inside `AdminController` (by @FabienPapet)
    - #32679: [BC Break] Remove deprecated code (by @Hlavtox)
    - #32660: Use service discovery for Twig extensions (by @FabienPapet)
    - #32447: Move getBulkActions inside a dedicated trait (by @FabienPapet)
    - #32342: Inherit `AbstractType` instead of `ChoiceType` (by @FabienPapet)
    - #31420: Migrate cookie constants usages to PSR4 (by @FabienPapet)
    - #31705: [BC Break] Remove deprecated upload classes (by @matthieu-rolland)
    - #28988: [BC Break] Remove deprecated in Core namespace (by @Progi1984)
    - #31193: [BC Break] Replacing form extensions by FQCN and deprecate public legacy aliases. (by @FabienPapet)
    - #31474: [BC Break] Remove FrameworkExtraBundle `@Template` annotation. (by @FabienPapet)
    - #31311: [BC Break] Remove legacy images (by @Hlavtox)
    - #29464: [BC Break] Remove forgotten deprecations (by @Hlavtox)
    - #31375: Add guest functionality to add customer command (by @Hlavtox)
    - #12422: [BC Break] Remove legacy customization system (by @unlocomqx)
    - #31117: Security improvements (by @FabienPapet)
    - #28548: Removed deprecated methods & properties in Product class (reverted) (by @Progi1984)
    - #28564: [BC Break] Remove deprecated in Adapter namespace (by @Progi1984)
- Installer:
  - Improvement:
    - #36127: Update default catalog develop (by @ps-jarvis)
    - #35989: Add xdebug install into the dockerfile (by @tleon)
    - #35496: Fix docker config (by @SharakPL)
    - #33229: Add Warning check in updateSchema command output (by @M0rgan01)
    - #32474: Add phpmyadmin service as optional (by @tesshsu)
    - #32433: Remove unused var (by @PrestaEdit)
  - Bug fix:
    - #34241: Improve installation language fallback system (by @jolelievre)
    - #32496: [BC Break] Create CategoriesProviderBuilder (by @M0rgan01)
    - #32540: Add lazy tag for ThemeManager and ThemePageLayoutsCustomizer service (by @M0rgan01)
    - #32888: Fix link to blog in install (by @justeen35)
    - #32406: Add .php-cs-fixer.dist.php to remove file list of the ZIP creator tool (by @jf-viguier)
  - Refactoring:
    - #34940: Remove smarty precompilation and fix notices (by @Hlavtox)
- Web Services:
  - New feature:
    - #34303: Edit client API and generate token (by @nicosomb)
    - #33706: Handle advanced setters in command processor (by @mflasquin)
    - #33675: Add webservice order returns - issue #17753 (by @Max84)
    - #32686: New API Modularity - Modules can add Ressources (by @0x346e3730)
    - #30565: [BC Break] Allow only tlsv1.2+ for api calls (by @atomiix)
  - Improvement:
    - #33530: [BC Break] Rename new-api into backoffice API (by @nicosomb)
  - Bug fix:
    - #31251: Fix position in category setter from WS (by @TomLorenzi)
    - #33664: Fix(webservice): allow preflight requests (by @arnauddohogne)
    - #33350: Added www-authenticate: bearer if the access token is invalid (by @nicosomb)
    - #29391: Fix issue where field updates by api when they are not supposed to (by @Prestaworks)
    - #32884: Error Webservice combinations or categories on a blank schema (by @crezzur)
    - #32701: Deleting an attached file from the webservice API does not work (by @olecorre)
- Localization:
  - Improvement:
    - #35070: Fix default Finnish date_format (by @tswfi)
    - #31826: Change profiles wording (by @micka-fdz)
  - Bug fix:
    - #34345: Fix typo squared (by @florine2623)
    - #31666: Take locale into account when deciding whether module translation should fall back to the legacy system (by @samaij)
- Tests:
  - New feature:
    - #31363: Add registered customer edit test (by @Hlavtox)
  - Improvement:
    - #36298: Increase composer timeout globally in docker init script (by @jolelievre)
    - #36231: Use actions/upload-artifact@v4 to get access to archives sooner (by @jolelievre)
    - #36210: Stabilise UI tests and nightly (by @jolelievre)
    - #36221: Functional Tests : BO - Advanced Parameters - Webservice - Configuration (by @Progi1984)
    - #36215: Functional Tests : BO - International - Localization : Update default  language (by @Progi1984)
    - #36211: Functional Tests : `ui-testing-library` : Migrate `boLoginPage` (by @Progi1984)
    - #36188: Functional Tests : `ui-testing-library` : Migrate `boDashboardPage` (by @Progi1984)
    - #36168: Functional Tests : BO - Shipping - Carriers : Bulk actions (by @Progi1984)
    - #36154: Functional Tests : Fixed #35612 (by @Progi1984)
    - #36112: Functional Tests : BO - Shipping - Carriers : CRUD carrier in BO (by @Progi1984)
    - #36048: Functional Tests : FO - Product Page : Display pack content and link to product (Classic & Hummingbird) (by @Progi1984)
    - #36045: Functional Tests : FO - Guest checkout: Billing address when logged in (Classic & Hummingbird) (by @Progi1984)
    - #36023: Functional tests - Add new tests to add file customization and required customization in FO > Product page (Classic theme) (by @nesrineabdmouleh)
    - #36009: Functional Tests : API : POST /product/image/{imageId} (by @Progi1984)
    - #36000: Functional Tests : API : GET /product/image/{imageId} (by @Progi1984)
    - #35995: Functional Tests : API : GET /product/{productId}/images (by @Progi1984)
    - #35990: Functional Tests : API : POST /product/{productId}/image (by @Progi1984)
    - #35974: Functional Tests : API : PUT /modules/toggle-status (by @Progi1984)
    - #35934: Functional Tests : GDPR : Consent checkbox customization (by @Progi1984)
    - #35960: Functional Tests : API : GET /module/{moduleId} (by @Progi1984)
    - #35957: Functional Tests : API : GET /api-clients (by @Progi1984)
    - #35845: Functional Tests: FO - Order confirmation : Order details and totals - Recap of payment method (Classic & Hummingbird) (by @Progi1984)
    - #35847: Functional Tests: `GET /api/languages` (by @Progi1984)
    - #35859: Functional Tests : `GET /api/modules` (by @Progi1984)
    - #35891: Functional Tests: Mail alerts module - BO Header Buttons (by @Progi1984)
    - #35903: Reenable installation of keycloak module via zip (by @jolelievre)
    - #35905: Nightly : Fixed error install libnss3-tools (by @Progi1984)
    - #35835: Functional Tests: FO - Order confirmation : Display of product customization (by @Progi1984)
    - #35831: Functional Tests : BO - Catalog - Categories : CRUD Category in BO (by @Progi1984)
    - #35818: Functional Tests : Migration from Docker Compose v1 to v2 (8.1.x) (by @Progi1984)
    - #35797: New products block module - Configure settings of "Number of days for which the product is considered 'new'" field (by @Progi1984)
    - #35793: Functional Tests : BO - Design - Positions - Unhook module in list by Bulk actions (by @Progi1984)
    - #35798: Functional Tests : FO - Order confirmation - List of ordered products (by @Progi1984)
    - #35809: Functional Tests : Migration from Docker Compose v1 to v2 (by @Progi1984)
    - #35769: Functional Tests: Hummingbird - FO - Checkout - Addresses - Use another address for invoice as a guest (by @Progi1984)
    - #35757: Functional Tests : Hummingbird : FO - Menu and Navigation : Check categories and subcategories links in header (by @Progi1984)
    - #35710: UI Tests : Bump `@prestashop-core/ui-testing` to 0.0.11 (by @Progi1984)
    - #35671: Functional Tests : Added `@prestashop-core/ui-testing` (by @Progi1984)
    - #35652: Functional Tests : Hummingbird > FO - Order confirmation : Contact us (by @Progi1984)
    - #35656: Functional Tests: Faceted search module - Disable/Enable module (by @Progi1984)
    - #35658: Functional Tests: Category products module - Disable/Enable module (by @Progi1984)
    - #35661: Functional Tests : API : GET /api/products (by @Progi1984)
    - #35657: Functional Tests: Hummingbird > FO - User account - Order history - Order details - Request a merchandise return from order details (by @Progi1984)
    - #35646: UI Tests : Allow to enable/disable make (by @Progi1984)
    - #35629: Functional Tests : API : PATCH /api/product/{productId} (by @Progi1984)
    - #35462: Functional Tests : Hummingbird > FO - Product page - Product page : Add to cart (by @Progi1984)
    - #35620: Functional Tests : API : POST /api/product (by @Progi1984)
    - #35610: Functional Tests : API : PATCH /api/api-client/{apiClientId} (by @Progi1984)
    - #35599: Functional Tests : API : GET /api/customers/group/{customerGroupId} (by @Progi1984)
    - #35606: Functional Tests : API : GET /api/product/{productId} (by @Progi1984)
    - #35569: Functional Tests : API : PUT /api/customers/group/{customerGroupId} (by @Progi1984)
    - #35576: Functional Tests : API : POST /api/api-client (by @Progi1984)
    - #35559: Functional Tests : Improve check of GET endpoints (by @Progi1984)
    - #35562: Functional Tests : API : DELETE /api/product/{productId} (by @Progi1984)
    - #35561: Functional Tests : API : DELETE /api/api-client/{apiClientId} (by @Progi1984)
    - #35555: Functional Tests : API : GET /api/api-client/infos (by @Progi1984)
    - #35556: Functional Tests : API : DELETE /api/customers/group/{customerGroupId} (by @Progi1984)
    - #35459: Functional Tests : Mail alerts module - Uninstall and delete module (by @Progi1984)
    - #35453: Functional Tests : Faceted search module - Add new template (by @Progi1984)
    - #35452: Functional Tests : Hummingbird > FO - Account : Send a message with an ordered product (by @Progi1984)
    - #35458: Functional Tests : Hummingbird > FO - Consult credit slip list & View PDF Credit slip & View order (by @Progi1984)
    - #35476: Github Actions (UI Tests) : Check that all suites are executed (by @Progi1984)
    - #35392: Functional Tests : Hummingbird > FO - Checkout - Personal information  : Password reminder (by @Progi1984)
    - #35388: Functional Tests : New products block module - Disable/Enable module (by @Progi1984)
    - #35386: Functional Tests : Hummingbird > FO - Checkout - Addresses : CRUD address (by @Progi1984)
    - #35357: Functional Tests : New products block module - Reset module (by @Progi1984)
    - #35352: [BC Break] Functional Tests : Hummingbird - FO - Checkout - Shipping methods : Add order message (by @Progi1984)
    - #35315: Functional Tests : Hummingbird : FO - Checkout - Shipping method - Select a carrier (by @Progi1984)
    - #35282: Functional Tests : Theme Customization module - Uninstall and delete module (by @Progi1984)
    - #35309: Nightly : Add campaign Hummingbird 04 & 11 (by @Progi1984)
    - #35248: Functional Tests : Hummingbird : FO - Checkout - Payment - Choose a payment method (by @Progi1984)
    - #35271: Update GitHub actions using deprecated version of node (by @jolelievre)
    - #35249: [BC Break] Change runners to be based on macos environment (by @jolelievre)
    - #35049: Nightly : Externalize Push Reports & Define the maximum number of concurrent jobs (by @Progi1984)
    - #34902: Nightly: use composite actions (by @boubkerbribri)
    - #34919: Sanity Tests : Execute on Firefox & Chrome & Webkit (by @Progi1984)
    - #34882: Functional Tests : BO - Advanced Parameter - Authorization Server : Edit API Access (Enabled/Disabled) (by @Progi1984)
    - #34668: Functional Tests : Mail alerts module - Customer notifications - Enable/Disable product availability (by @Progi1984)
    - #34712: Cron Update Modules : Update `tests/UI/data/demo/modules.ts` (by @Progi1984)
    - #34663: Functional Tests : Theme Customization module - Reset module (by @Progi1984)
    - #34661: Functional Tests : Theme Customization module - Advanced Customization tab (by @Progi1984)
    - #34650: Functional Tests : Cash on delivery (COD) module - Place an order with it (by @Progi1984)
    - #34515: Documentation to help run UI tests locally (Linux distribution) (by @M0rgan01)
    - #34577: Functional Tests : WS - Orders : CRUD (by @Progi1984)
    - #34553: Functional Tests : API : GET `/api/hooks/{id}` (by @Progi1984)
    - #34546: Functional Tests : API : GET `/api/api-access/{apiAccessId}` (by @Progi1984)
    - #34514: Functional Tests : API : GET `/api/hook-status/{id}` (by @Progi1984)
    - #34494: Functional Tests : `functional/BO/14*/12*/*` : Changes for Scopes (by @Progi1984)
    - #34467: Functional Tests : FO - Menu and Navigation : Side block categories (by @Progi1984)
    - #34465: Functional Tests : FO - Checkout - Payment - Choose a payment method (by @Progi1984)
    - #34459: Functional Tests : `functional/BO/14*/12*/03*` : Changes for Token Lifetime (by @Progi1984)
    - #34422: Functional Tests : `functional/BO/14*/12*/02*` : Changes for Client Secret (by @Progi1984)
    - #33787: Functional Tests : BO - Stocks - Movements - Filter by category, movement type, employee and period (by @Progi1984)
    - #34344: Functional Tests : Hummingbird : FO - User account - Edit informations (by @Progi1984)
    - #34328: Functional Tests: Mail alerts module - Uninstall/Install module (by @Progi1984)
    - #34330: Functional Tests : BO - Advanced Parameter - Authorization Server : Edit API Access (by @Progi1984)
    - #34329: Functional Tests : BO - Advanced Parameter - Authorization Server - Add API Access (by @Progi1984)
    - #34240: Nightly : Fixed `campaigns/productV2/functional/22_*` (by @Progi1984)
    - #34219: Functional tests - Add new test to check multistore in PPV2 (by @nesrineabdmouleh)
    - #34194: Functional Tests : BO - Products list - Bulk actions, Enable/Disable, 3-dot button (by @Progi1984)
    - #34159: Functional Tests : BO - Catalog - Products list : Filter & Sort, Pagination, Filter by category, Position (by @Progi1984)
    - #34144: Functional Tests : BO - Catalog - Products : Stocks tab (by @Progi1984)
    - #33690: Composer and npm not installed in Docker when assets are not built (by @jolelievre)
    - #34030: Nightly : Fixed Playwright in 1.7.8.x version (by @Progi1984)
    - #33963: Functional Tests : BO - Catalog - Products : Pack Tab (by @Progi1984)
    - #33825: Functional Tests : FO - Header & Footer - Check links in footer (by @Progi1984)
    - #33934: Functional Tests : Hummingbird : FO - Header and Footer : Change currency (by @Progi1984)
    - #33933: Functional Tests : Added email check to `BO - Advanced Parameters - Import : Import file` (by @Progi1984)
    - #33929: Functional Tests : BO - Customers - Filter and Quick Edit (by @Progi1984)
    - #33781: Functional Tests : Moved tests from `campaigns/functional/BO/13_shopParameters/05_contact/*` (by @Progi1984)
    - #33748: Functional Tests : BO - Catalog - Products : Footer (by @Progi1984)
    - #33528: Functional Tests : Faceted search module - Edit template - Product stock filter (by @Progi1984)
    - #33518: Functional Tests : BO - Catalog - Products : Header (by @Progi1984)
    - #33464: Functional Tests : WS - Products - CRUD (by @Progi1984)
    - #33537: Functional Tests : Hummingbird - FO - Header and Footer : Change language (by @Progi1984)
    - #33531: Functional Tests : BO - Catalog - Products : CRUD virtual product (Add check for email) (by @Progi1984)
    - #33468: Update Keycloak module URL in tests (by @nicosomb)
    - #33410: Functional Tests : Hummingbird : FO - Header & Footer - Check links in header (by @Progi1984)
    - #33386: Functional Tests : FO - Consult credit slip list & View PDF Credit slip & View order (Add check for email) (by @Progi1984)
    - #33370: Functional Tests : BO - Advanced Parameter - Authorization Server - View detail (by @Progi1984)
    - #33375: Functional Tests : Wishlist module - Statistics tab settings (by @Progi1984)
    - #33354: Functional Tests : Bump Hummingbird to 0.1.6 (by @Progi1984)
    - #33316: Functional Tests : Hummingbird - FO - Login - Password reminder (by @Progi1984)
    - #33308: Functional Tests : BO - Orders - Create order : Check summary (Add check for email) (by @Progi1984)
    - #33252: Functional Tests : FO - Login : Create account (Add check for email) (by @Progi1984)
    - #33249: Functional Tests : Faceted search module - Edit template - Product brand filter (by @Progi1984)
    - #33244: Functional Tests : BO - Advanced Parameter - Authorization Server - CRUD (by @Progi1984)
    - #33216: Functional Tests : WS - Countries : Check Blank & Synopsis (by @Progi1984)
    - #32891: Nightly : Move 1.7.8.x to Github Actions (by @Progi1984)
    - #32785: Nightly : Add WS & Modules campaigns (by @Progi1984)
    - #32682: Remove workflow skipping that ignored some tests in some cases (by @jolelievre)
    - #31921: Verify file exists before parsing it in ThemeValidatorTest (by @justeen35)
    - #32205: Nightly : Support for HTTPS (by @Progi1984)
    - #32015: Remove step for install npm in tests (by @tswfi)
    - #32118: Remove un-used test file (by @laurentrousseau918)
    - #32124: Nightly : Migrate from prestashop.com to prestashop-project.org (by @Progi1984)
    - #32114: Revert bump pdfjs-dist from 3.4.120 to 3.5.141 in /tests/UI (by @Progi1984)
    - #32033: Functional Tests : Move FO tests to classic directory (by @Progi1984)
    - #31988: Use 'npm ci' instead of 'npm i' (by @tswfi)
    - #31990: Remove deprecated hook in Behat Tests (by @Progi1984)
    - #31923: Use assertSame instead of assertEquals when type must match in ThemeTest (by @justeen35)
    - #31716: Update disallowed calls (by @FabienPapet)
    - #31661: CI : Nightly : Added `BO:dashboard` & `API` (by @Progi1984)
    - #31592: Functional Tests : Splits Tests in small packages (by @Progi1984)
    - #31165: Running nightly on branch 8.1.x (by @boubkerbribri)
  - Bug fix:
    - #36250: Stabilise CI and docker initialisation (by @jolelievre)
    - #36279: Update UI tests expected wording to match new catalog (by @jolelievre)
    - #36275: Nightly : Revert Github Actions to v3 (by @Progi1984)
    - #36268: Nightly : Fixed download & upload of artifacts (by @Progi1984)
    - #36252: Nightly : Bump to `actions/download-artifact@v4` (by @Progi1984)
    - #36247: Nightly : Fixed artifact after upgrade to `actions/upload-artifact@v4` (by @Progi1984)
    - #36213: Nightly : Defined Node version for each supported version of PS (by @Progi1984)
    - #36190: Functional Tests : Fixed campaign `functional/FO/*/09*/02*/04*` (by @Progi1984)
    - #36189: Functional Tests : Fixed campaign `functional/API/02*/09*/03*` (by @Progi1984)
    - #36098: Functional Tests : Fixed `check:data:modules` (by @Progi1984)
    - #35944: Nightly : Fixed cron_nightly_tests_reusable.yml (by @Progi1984)
    - #35941: Nightly : Fixed API : GET /languages (by @Progi1984)
    - #35940: Nightly : Need Keycloak for execution (by @Progi1984)
    - #35906: Fix error install libnss3-tools (by @jolelievre)
    - #35780: Fix module test folder in test environment (by @jolelievre)
    - #35550: Nightly : Fixed `campaigns/functional/FO/hummingbird/09*/01*/*` (by @Progi1984)
    - #35482: Revert MacOs runner because of its instability (by @jolelievre)
    - #35455: Nightly : Fixed `campaigns/functional/BO/02*/05*/03*` (by @Progi1984)
    - #35437: Nighly : Fixed `campaigns/functional/BO/02*/05*/01*` (by @Progi1984)
    - #35431: Functional Tests : Added some tests for some mocha tests (by @Progi1984)
    - #35300: Nightly : Fixed `campaigns/functional/BO/02*/05*/*` (by @Progi1984)
    - #35294: Nightly : Fixed `tests/UI/campaigns/functional/FO/classic/01*/04*` (by @Progi1984)
    - #35290: Functional Tests : Fixed glob for package.json (by @Progi1984)
    - #35050: Fix(dbdump): add complete insert in databasedump (by @tleon)
    - #34969: Fix Nightly build workflow for 8.0.x and Develop (by @boubkerbribri)
    - #34883: Nightly : Fixed error after #34833 (by @Progi1984)
    - #34635: Nightly : Fixed `campaigns/functional/WS/02*` (by @Progi1984)
    - #34501: Nightly : Fixed `campaigns/modules/blockwishlist/02*/02*` & `campaigns/functional/BO/14*/12*/02*` (by @Progi1984)
    - #34478: Nightly : Fixed `functional/BO/04*/02*/02*` (by @Progi1984)
    - #34461: Nightly : Fixed `campaigns/functional/BO/05*/01*/06*` (by @Progi1984)
    - #34427: Nightly: Fixed `campaigns/functional/BO/15*/01*/06*` (by @Progi1984)
    - #34237: Functional Tests : Removed Product Page v1 (by @Progi1984)
    - #34255: Nightly : Fixed `campaigns/productV2/functional/01*` (by @Progi1984)
    - #34123: Nightly : Move `skip` to method in UI Tests (by @Progi1984)
    - #34076: Functional Tests : Enable test after #33962 (by @Progi1984)
    - #34068: Nightly : Fixed the URL to ping (by @Progi1984)
    - #34054: Nightly : Disable PS_INSTALL_AUTO on campaign sanity (by @Progi1984)
    - #33791: Nightly `develop` : Fixed `campaigns/productV2/functional/*` (by @Progi1984)
    - #33764: Nightly : Fixed URL in @todo (by @Progi1984)
    - #33753: Nightly : Fixed `campaigns/modules/ps_facetedsearch/02*/*` (by @Progi1984)
    - #33532: Nightly : Fixed functional/BO/14*/03*/01* (by @Progi1984)
    - #33323: Nightly : Develop - Fixed Mocha Loader (by @Progi1984)
    - #33129: Nightly : Develop : Fixed error in filterTaxes (by @Progi1984)
    - #33010: Nightly : Fixed mocha loader (develop) (by @Progi1984)
    - #33032: Nightly : Fixed install Node 16 (by @Progi1984)
    - #32935: Nightly : 1.7.8.x : Fixed Admin password & Removed sanity:productV2 campaign (by @Progi1984)
    - #32863: Nightly : Fixed call to campaign Order (by @Progi1984)
    - #32836: Nightly : Develop : Fixed error in package.json (by @Progi1984)
    - #32704: Nightly : Fixed fill of Adress Form (by @Progi1984)
    - #32373: Nightly: another fix to have PS_DOMAIN=localhost:8001 on 8.0.x (by @boubkerbribri)
    - #32330: Nightly: add PS_DOMAIN to allow docker installation (by @boubkerbribri)
    - #32301: Nightly : Fix forgotten environment variable `PS_ENABLE_SSL` (by @Progi1984)
    - #32236: Nightly : Fixed error in the worfklow for the nightly (by @Progi1984)
    - #32071: Nightly : Fixes API Campaign (by @Progi1984)
    - #32050: Nightly Workflow: Fix combine report not working (by @boubkerbribri)
    - #31960: Nightly : Fixed `FO/08*/02*/01*` & `productV2/functional/03*` (by @Progi1984)
    - #31942: Nightly : Use `app/config/security_test.yml` rather than `app/config/security_dev.yml` (by @Progi1984)
    - #31783: Functional Tests : ps_linklist : Fixed selector for the language selector (by @Progi1984)
    - #31632: Functional Tests : Add the script `test:functional:productV2` (by @Progi1984)
    - #31628: Fix Sanity Product V2 tests blocking CI (by @0x346e3730)
  - Refactoring:
    - #36274: Functional Tests : Migrate `@data/demo` to `@prestashop-core/ui-testing` (by @Progi1984)
    - #36156: Functional tests - Add new test to check out of stock behaviour in FO >Product page in hummingbird theme (by @nesrineabdmouleh)
    - #36142: Functional tests - Add new tests to check discount on FO (by @nesrineabdmouleh)
    - #36141: Functional tests - Add new test to change color in FO > Product page (by @nesrineabdmouleh)
    - #36111: Functional tests - Refacto 'BO > Shipping > Carriers > Quick edit and change position' tests (by @nesrineabdmouleh)
    - #36137: Functional tests - Add new test to display specific delivery time in FO (Classix & Hummingbird) Theme (by @nesrineabdmouleh)
    - #36103: Functional tests - Add new tests to dispaly tags in 'FO>Product' page in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #36087: Functional tests - Add some test in 'FO > Shipping > Addresses' in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #36085: Functional tests - Add new test to Edit combination in FO > Product page in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #36072: Functional tests - Add new test to display discount in the cart page in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #36060: Functional tests - Add new test to check popular products in payment confirmation page (Classic & Hummingbird) (by @nesrineabdmouleh)
    - #36030: Functional tests - Add new test 'FO > Modal > Continue shopping / Proceed to checkout / Close' in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #36034: Functional tests - Add new test to dispay modal of prduct with customization in FO > Cart page in (Classic & Hummingbird) theme (by @nesrineabdmouleh)
    - #35959: Functional tests - Add new test to edit quantity in product page (Classic & Hummingbird) (by @nesrineabdmouleh)
    - #35991: Functional tests - Add new test to change image in 'FO > Product page on (Classic & Hummingbird theme)' (by @nesrineabdmouleh)
    - #35966: Functional Tests : API (Refactoring directories / Rename file / Add blocked UI Tests) (by @Progi1984)
    - #35950: Functional tests - Add new tests in 'FO > Classic > Search result page > Consult search results - Sort search results - Consult quick view'  (by @nesrineabdmouleh)
    - #35952: Functional tests - Add new test 'FO > Classic > Select color on hover on product list' (by @nesrineabdmouleh)
    - #35840: Functional tests - Add new test to add customization in FO > Product page (classic and hummingbird theme) (by @nesrineabdmouleh)
    - #35819: Functional tests - Add new test in 'FO > Hummingbird > Check highlighted promo code' (by @nesrineabdmouleh)
    - #35821: Functional tests - Add new tests to check share links in product page FO in Hummingbird and classic theme (by @nesrineabdmouleh)
    - #35804: Functional tests - Add new test 'FO > Classic > Add product to cart in product page' (by @nesrineabdmouleh)
    - #35801: Functional tests - Add some tests in 'FO > Classic > Quick view modal' (by @nesrineabdmouleh)
    - #35779: Functional tests - Add some tests in 'FO > Classic > Quick view modal' (by @nesrineabdmouleh)
    - #35627: Functional tests - Add new test 'FO > Hummingbird >  Get gdpr data in PDF ' (by @nesrineabdmouleh)
    - #35718: Functional tests - Add new test 'FO > Hummingbird > Checkout > Display totals' (by @nesrineabdmouleh)
    - #35715: Functional tests - Add new test 'FO > Hummingbird > Check tags' (by @nesrineabdmouleh)
    - #35741: Functional tests -  Add new test 'FO > Hummingbird > Order confirmation > check list of ordered products - Display of product customization' (by @nesrineabdmouleh)
    - #35706: Functional tests - Add new tests 'FO > Hummingbird > Navigation and display' (by @nesrineabdmouleh)
    - #35689: Functional tests - Add new tests 'FO > Hummingbird > Menu and navigation'' (by @nesrineabdmouleh)
    - #35660: Functional tests - Add new test 'FO > Hummingbird > Show details in checkout page' (by @nesrineabdmouleh)
    - #35650: Functional tests - Add new test 'FO > Hummingbird > Select color in home page' (by @nesrineabdmouleh)
    - #35651: Functional tests - Add new test 'FO > Hummingbird > Check modal' (by @nesrineabdmouleh)
    - #35649: Functional tests - Add new test 'FO > Hummingbird > Check order details and reorder' (by @nesrineabdmouleh)
    - #35639: Functional tests - Add new test 'FO > Hummingbird > Download invoice from orders list' (by @nesrineabdmouleh)
    - #35638: Functional tests - Add new tests 'FO >  Hummingbird > Consult merchandise returns - Check order return pdf' (by @nesrineabdmouleh)
    - #35632: Functional tests - Add new test 'FO > Hummingbird > Download invoice' (by @nesrineabdmouleh)
    - #35618: Functional tests - Add new tests 'FO > Hummingbird > Search page' (by @nesrineabdmouleh)
    - #35575: Functional tests - Add new test 'FO > Hummingbird > Delete product from cart page' (by @nesrineabdmouleh)
    - #35577: Functional tests - Add new test 'FO > Hummingbird > Add promo code' (by @nesrineabdmouleh)
    - #35529: Functional tests - Add new test 'FO > Hummingbird > Consult auto complete list' (by @nesrineabdmouleh)
    - #35558: Functional Tests : Remove FF Authorization Server (by @Progi1984)
    - #35532: Functional tests - Add new test 'FO > Hummingbird > Reorder from order details page' (by @nesrineabdmouleh)
    - #35502: Functional tests - Add new tests in 'FO > Hummingbird > Quick view modal' (by @nesrineabdmouleh)
    - #35514: Fix nightly 28-02 :  'FO > Cart > Display modal' (by @nesrineabdmouleh)
    - #35498: Functional Tests : Refactoring Install Hummingbird with remove zip (by @Progi1984)
    - #35451: Functional tests - Add some refacto to 'FO > Quick edit - Block cart modal' (by @nesrineabdmouleh)
    - #35440: Functioanl tests - Add new test 'FO > Hummingbird > Change quantity in cart page' (by @nesrineabdmouleh)
    - #35430: Functional tests - Add new test 'FO > Hummingbird > Change quantity in quick view modal' (by @nesrineabdmouleh)
    - #35364: Functional tests - Fix 'FO:classic:01-03 get GDPR data in PDF' (by @nesrineabdmouleh)
    - #35415: Functional tests - Add new test 'FO > Hummingbird > Add to cart' (by @nesrineabdmouleh)
    - #35389: Functioanl tests - Add tests in 'FO > Hummingbird > Check slider - Display some products - Display all products - Quick view' (by @nesrineabdmouleh)
    - #35335: Functional tests - Add tests in 'FO > Hummingbird > Order as a guest - Sign in - Create account' (by @nesrineabdmouleh)
    - #35298: Functional tests - Add new test to view voucher in FO - Hummingbird theme (by @nesrineabdmouleh)
    - #35302: Functional tests - Add new test in 'FO > Hummingbird > logout from user account page' (by @nesrineabdmouleh)
    - #35308: Functional tests - Add new test 'FO > Hummingbird > Subscribe to newsletter' (by @nesrineabdmouleh)
    - #35312: Functional tests - Add tests in 'FO > Hummingbird > Add attachment - Send message with customer - send message as anonymous (by @nesrineabdmouleh)
    - #35310: Functional tests - Add new test 'FO > Hummingbird > Check mailto link' (by @nesrineabdmouleh)
    - #35284: Functional tests - Add new test 'FO > Hummingbird > CRUD address' (by @nesrineabdmouleh)
    - #35244: Functional tests - Fix random error in 'BO > Catalog:07-08' (by @nesrineabdmouleh)
    - #35202: Functional tests - Move classic theme pages in classic directory (by @nesrineabdmouleh)
    - #35222: Functional tests - Add new test 'BO > Sort link list table' (by @nesrineabdmouleh)
    - #35173: Functional tests - Refacto 'BO > Stock > Bulk edit quantity' (by @nesrineabdmouleh)
    - #35203: Functional tests - Fix nightly 29-01 (by @nesrineabdmouleh)
    - #35145: Functional tests - Add new test 'BO > Design > Export current theme' (by @nesrineabdmouleh)
    - #35132: Functional tests - Add/Refacto tests in 'BO > Stocks ' page (by @nesrineabdmouleh)
    - #35057: Functional tests - Add test to check the email when change the order status to refunded (by @nesrineabdmouleh)
    - #35060: Functional tests - Add test to check received email when send a message from FO > order details page (by @nesrineabdmouleh)
    - #35059: Functional tests - Add new steps to check received emails when change merchandise returns status (by @nesrineabdmouleh)
    - #35056: Functional tests - Add steps to check voucher email when return a product  (by @nesrineabdmouleh)
    - #35039: Functional tests : Email subscription - Add some steps to check validation email (by @nesrineabdmouleh)
    - #35077: Functional tests - Fix Nightly 18-01 : Fix slider URL (by @nesrineabdmouleh)
    - #35068: Functional tests - Add some steps to check welcome and payment emails (by @nesrineabdmouleh)
    - #35055: Functional tests - Add steps to check received email log (by @nesrineabdmouleh)
    - #35051: Functional tests - Add steps to check emails when change the order status to on backorder (by @nesrineabdmouleh)
    - #35031: Functional tests - Add test to check email when the merchant change the order status (by @nesrineabdmouleh)
    - #35048: Functional tests - Add test to check received email in customer service page (by @nesrineabdmouleh)
    - #35032: Functional tests : Mail subscription - Add new test to check 'Welcome voucher' email (by @nesrineabdmouleh)
    - #35036: Functional tests : Email subscription - Fix check confirmation email (by @nesrineabdmouleh)
    - #35018: Functional tests - Add steps to check emails in 'Enable/Disable product availability' test (by @nesrineabdmouleh)
    - #34983: Functional Tests : Mail subscription - check verification and confirmation email after subscribe to newsletter (by @nesrineabdmouleh)
    - #34959: Functional tests - Add steps to check email when transform a guest to customer  (by @nesrineabdmouleh)
    - #34827: Test: use locator for textContent, hover, fill and getAttribute (by @boubkerbribri)
    - #34824: Functional Tests : Mail alerts module - Customer notifications - Enable/Disable order edit (by @nesrineabdmouleh)
    - #34829: Functional Tests : Mail alerts module - Merchant notifications - Enable/Disable out of stock (by @nesrineabdmouleh)
    - #34817: Functional Tests : Mail alerts module - Merchant notifications - Enable/Disable new order (by @nesrineabdmouleh)
    - #34772: Functional tests - Add check received mail from contact us page  (by @nesrineabdmouleh)
    - #34809: Test: Replace decrecated $eval usages (by @boubkerbribri)
    - #34806: Functional Tests : Mail alerts module - Merchant notifications - Enable/Disable return (by @nesrineabdmouleh)
    - #34693: Test: not use discouraged functions (by @boubkerbribri)
    - #34746: Workflow: fix error on GCP auth for nightly (by @boubkerbribri)
    - #34749: Functional tests - Fix nightly : BO:Catalog:07-08 (by @nesrineabdmouleh)
    - #34697: Functional tests - Fix random error in 'BO:catalog:07-08' and 'BO:shop-parameters:01-02' (by @nesrineabdmouleh)
    - #34690: Functional tests - Fix nightly 'BO > Advanced parameters > Administration> Update quota' (by @nesrineabdmouleh)
    - #34662: Functional tests - Add new test 'Administration > Check quota' (by @nesrineabdmouleh)
    - #34626: Functional tests - Add new test 'Administration > Notifications' (by @nesrineabdmouleh)
    - #34608: Functional tests - Add new test 'Multistore > Multistore options' (by @nesrineabdmouleh)
    - #34590: Functional tests - Fix random error in 'Nightly tests (develop, functional:BO:catalog:01-02)' (by @nesrineabdmouleh)
    - #34573: Functional tests - Add new test 'Shop parameters > Enable/Disable iframes' (by @nesrineabdmouleh)
    - #34561: Functional tests - Add new test 'Shop parameters > Filter, sort, pagination and bulk actions search' (by @nesrineabdmouleh)
    - #34584: Functional tests - Add new test 'Shop parameters >  Round mode' (by @nesrineabdmouleh)
    - #34565: Functional tests - Add new test 'Shop Parameters > Enable/disable display best sellers page' (by @nesrineabdmouleh)
    - #34520: Functional tests - Add new test and refacto  "BO > Shop parameters > Product settings" (by @nesrineabdmouleh)
    - #34549: Functional tests - Fix random errors in the nightly (Modules and Catalog campaigns) (by @nesrineabdmouleh)
    - #34511: Functional tests - Refacto tests in 'BO > Shop parameters > Customer settings' (by @nesrineabdmouleh)
    - #34502: Functional tests - Refacto 'BO > International > Translations' tests (by @nesrineabdmouleh)
    - #34446: Functional tests - Fix product v2 multistore test after the fix of #34197 (by @nesrineabdmouleh)
    - #34466: Functional tests - Add new test 'FO > Menu and navigation > Check breadcrumb links' (by @nesrineabdmouleh)
    - #34463: Functional tests - Add new test 'FO > Cart > Display of modal when adding a product to cart' (by @nesrineabdmouleh)
    - #34456: Functional tests - Add new test 'FO > Personal information >  Order as a guest' (by @nesrineabdmouleh)
    - #34449: Functional tests - Add new test 'FO> Menu and navigation > Clear one filter' (by @nesrineabdmouleh)
    - #34400: Functional tests - Add new test 'FO > Menu and navigation > Filter products' (by @nesrineabdmouleh)
    - #34354: Functional tests - Refacto BO > Webservice' (by @nesrineabdmouleh)
    - #34406: Functional tests - Fix create API access tests (by @nesrineabdmouleh)
    - #34402: Functional tests - Fix random error in nightly 'BO > Products > CombinationTab' (by @nesrineabdmouleh)
    - #34379: Functional tests - Fix random errors in nightly (by @nesrineabdmouleh)
    - #34333: Functional tests - Add new test 'BO Dashboard > Products and sales & help card' (by @nesrineabdmouleh)
    - #34338: Functional Tests : Refacto `setLabelWhenOutOfStock` for StocksTab (by @Progi1984)
    - #34268: Functional tests - Add new test 'BO > Customer service >  Check customer service options' (by @nesrineabdmouleh)
    - #34324: Functional tests - Add new test 'BO > Dashboard > Activity overview' (by @nesrineabdmouleh)
    - #34258: Functional tests - Add new test 'BO > Orders > Return order' (by @nesrineabdmouleh)
    - #34267: Functional tests - Add new test 'BO > Customer service > Forward message' (by @nesrineabdmouleh)
    - #34307: Functional tests - Fix some random errors (by @nesrineabdmouleh)
    - #34251: Functional tests - Add new test 'BO > Shop parameters > Recalculate shipping costs after editing the order '  (by @nesrineabdmouleh)
    - #34253: Functional Tests: Revert chrome-beta and use chromium (by @boubkerbribri)
    - #34249: Functional tests - Refacto 'BO > Order settings > Order status & return status' (by @nesrineabdmouleh)
    - #34232: Functional tests - Add new test 'BO > Customers > Transform a Guest to a Customer' (by @nesrineabdmouleh)
    - #34223: Functional tests - Add new test 'BO > Customers > View/edit voucher' (by @nesrineabdmouleh)
    - #34187: Use chrome beta to avoid crash on playwright (by @boubkerbribri)
    - #34105: Functional tests - Add new test 'BO > Product V2 > Check seo tab' (by @nesrineabdmouleh)
    - #34179: Functional tests - Fix the max length of the faker value for alias address (by @nesrineabdmouleh)
    - #34135: Functional tests - Add new test to check 'BO > Product V2 > Options tab' (by @nesrineabdmouleh)
    - #34069: Functional tests - Add new test 'BO > Product V2 > Pricing tab' (by @nesrineabdmouleh)
    - #34037: Functional tests - Add new test 'BO > Product V2 > Shipping tab' (by @nesrineabdmouleh)
    - #33635: UI test: remove await form expect (by @boubkerbribri)
    - #34019: Functional tests - Add new test 'BO > Product V2 > Details tab' (by @nesrineabdmouleh)
    - #33980: Functional tests - Add new test to check 'BO > Products page > Virtual tab' (by @nesrineabdmouleh)
    - #33969: Functional tests - Add new test to check 'BO > Product V2 > Combination tab' (by @nesrineabdmouleh)
    - #33935: Functional tests - Add new test 'BO > Product v2 > Description tab' (by @nesrineabdmouleh)
    - #33927: Fix errors in the nightly 13-09-2023 (by @nesrineabdmouleh)
    - #33526: Functional tests - Add new test in 'Advanced parameters > Administration page > General' (by @nesrineabdmouleh)
    - #33512: Functional tests - Add new test 'Advanced parameters > Import file' (by @nesrineabdmouleh)
    - #33061: Webservices tests : CRUD Stores (by @davidPrestashop)
    - #33456: Functional tests - Refacto some tests in employee pages (by @nesrineabdmouleh)
    - #33391: Functional tests - Fix random errors in the nightly (by @nesrineabdmouleh)
    - #33360: Functional tests - Fix random error in 'Design > Add new theme' test and in CI (by @nesrineabdmouleh)
    - #33334: Functional tests - Add new test to Editprofile permission (by @nesrineabdmouleh)
    - #33328: UI tests: use tsconfig-paths and delete module_alias (by @boubkerbribri)
    - #33105: Functional tests - Add new test 'Multistore > Edit url options' (by @nesrineabdmouleh)
    - #33243: Functional tests - Refacto 'Design > Pages' tests (by @nesrineabdmouleh)
    - #33233: Functional tests - Add new test 'Design > Theme and logo > Add new theme' (by @nesrineabdmouleh)
    - #33224: Product Page : Remove v1 & Set v2 as main for Sanity Tests (by @Progi1984)
    - #33149: Sanity tests - Fix CRUD product with combination (by @nesrineabdmouleh)
    - #32983: Replace legacy cart rule creation methods in behats with new CQRS steps (by @zuk3975)
    - #32483: Refacto cart rule tests (by @zuk3975)
    - #32916: Remove deprecated functions for Faker V8 and use new functions (by @boubkerbribri)
    - #32802: Nightly - Split commands for optimizing time (by @nesrineabdmouleh)
    - #32375: Functional tests - Fix random error in 'FO > User account > Get GDPR data in PDF' (by @nesrineabdmouleh)
    - #32364: Nightly: fix run for 8.0.x (by @boubkerbribri)
    - #32149: Functional tests - Add some tests in 'Customer service > Merchandise return' page (by @nesrineabdmouleh)
    - #31567: Fix some phpdocs return types (by @hugofintecture)
    - #31723: Fix nightly Develop - 'BO > Customers > View customer' (by @nesrineabdmouleh)
    - #31461: Add guest customer edit test (by @Hlavtox)
    - #31386: Add test for mismatching groups, fix the check in handler (by @Hlavtox)

####################################
#   v8.2.3 - (2025-08-28)
####################################

- Back Office:
  - Improvement:
    - #39321: Update Distribution API Client to include the new wall of fame (by @jolelievre)
    - GHSA-8xx5-h6m3-jr33: Fix email enumeration vulnerability on password reset page (by @M0rgan01 & @matthieu-rolland, vulnerability reported by Maxime Morel-Bailly)
  - Bug fix:
    - #38622: Fix new product catalog not loading images in multi-store (by @Codencode)
    - #39208: Fix Carrier search not working when editing order's carrier (by @Codencode)
    - #39274: Added closure of the 'deleteCategoriesForm' form (by @Codencode)
    - #39337: Fix newline in textarea on product page (by @Codencode)
    - #39430: Fix quantity in delivery slip if we have a refunded product (by @touxten)
- Front Office:
  - Bug fix:
    - #39191: Fix cart recovery: use updateCustomer for restoring customer session (by @Codencode)

####################################
#   v8.2.2 - (2025-07-28)
####################################

- Back Office:
  - New feature:
    - #38408: Add new hook `actionProductGetAttributesGroupsAfter` (by @gwojcik7)
  - Improvement:
    - #39162: Add new hooks: actionOrderHasBeenShipped and actionOrderHasBeenDelivered (by @Codencode)
    - #38717: Use v8 documentation in HelperCard (by @PrestaEdit)
    - #38634: Improved regex in StringModifier (by @nicosomb)
    - #38773: Disable autofill of password for edit customer in BO (by @ShaiMagal)
    - #38073: Check mail template directory before reading (by @matthieu-rolland)
  - Bug fix:
    - #38810: Support for brand named as numbers (by @borjagarciab)
    - #38549: Fix: Misleading maximum attachment upload size in configure/advanced/administration (by @Codencode)
    - #37933: Price final critical error fix (by @jf-viguier)
    - #38982: BO : Product Form : Use the correct configuration for the Max Filesize (by @Progi1984)
    - #37928: Fix datacollector caster for reference object property including smarty cache_locking fatal error (by @jf-viguier)
    - #38593: Fix query builder to find translations by key in Backoffice during the translations saving process (by @mcaldex)
    - #38532: Fix: Multistore: CMS page error on new empty store creation (by @Codencode)
    - #38337: Fix: Max password length allowed in the password policy is longer than bcrypt can handle and hardcoded max pass length for customer (by @Codencode)
    - #38581: Allow refund on an order of a deleted customer  (by @jf-viguier)
    - #38251: Fix: Query to select most used tax rule is simply ridicoulous (by @Codencode)
    - #38703: Revert modification in OrderLazyArray that breaks the UI tests (by @jolelievre)
    - #38323: Fix: Webservice link_rewrite validation error on Product creation due to Tools::str2url in PS8 (by @Codencode)
    - #38254: Fix: Migration - Product V2 - tab name not the same - Product creation (by @Codencode)
    - #38319: Fix: Edit country taxe rules (by @Codencode)
    - #36792: Event "OrderCreateProductSearched" not managed in custom modules (related #35970) (by @mattgoud)
    - #38381: Bug fix copyFromPost that remove overrided object model definitions in ps8.2 (by @jf-viguier)
    - #38350: Problem with decimal separator and eco-tax on Combination Form (by @djbuch)
    - #38355: Fix: It is not possible to view a cart in the admin if it contains customized items (by @Codencode)
    - #38234: Update product indexation after each update when it is needed (by @jolelievre)
    - #38243: Fixed FI taxes in localization files (by @nicosomb)
    - #38136: Fix: Issue with JS and CSS cache clearing in multishop context (by @Codencode)
    - #38168: Category::getParentsCategories fix with multiple root categories (by @jolelievre)
    - #37877: Fix: BO - Product Page - Redirection type - Category without image generate 404 call (by @Codencode)
    - #37970: Fix: [Bug] Missing attributes autoplay, loop, muted, and playsinline in the video tag within Tools::purifyHTML() (by @Codencode)
    - #37985: Fix: display... hooks duplicated on module transplant list (by @Codencode)
    - #37958: Fix product filters for csv export (by @boherm)
    - #37982: Empty the labels "totalPriceText" and "availableText". (by @Codencode)
- Front Office:
  - New feature:
    - #38691: Add hook displayCartExtraProductInfo to display cart extra product information (by @jf-viguier)
    - #38371: Feat - Add hook actionCartDuplicate (by @unlocomqx)
  - Improvement:
    - #38480: New Hook: actionPaymentModuleProductVarTplAfter (by @gwojcik7)
  - Bug fix:
    - #38679: Filter out modules that return empty payment options (by @jolelievre)
    - #38552: Use id_customization for matching cart and order products (by @unlocomqx)
    - #38257: Fix: Address Fields Disappear After Changing Country on Checkout Page (by @Codencode)
    - #38157: Fix: Issue with multilingual translations (by @Codencode)
    - #38037: Fix: Use 'active' from 'product_shop' instead of 'product' in Product::searchByName() (by @Codencode)
    - #37955: Fix: prestashop don't display Title of product, category meta title, meta description (by @Codencode)
- Core:
  - Improvement:
    - #39135: Updated PrestaShop Packages (by @github-actions[bot])
    - #38952: Add 2 hooks in getImageLink (by @ludoviccardinale)
    - #38924: Backport improved profiler from v9 (by @Hlavtox)
    - #38772: New hook at TOP of customer my account section - displayCustomerAccountTop (by @ShaiMagal)
    - #38195: Updated PrestaShop Packages (by @github-actions[bot])
    - #37635: Updated PrestaShop Packages (by @github-actions[bot])
  - Bug fix:
    - #37925: Fix: round calcul in calculator (by @Midoclas)
    - #38327: Fix actionFilterDeliveryOptionList hook Cart Param (by @adrianllopis)
    - #38104: Fixed SK tax in all localization files (by @nicosomb)
  - Refactoring:
    - #38761: Refactor Warehouse::getProductLocation() (by @ShaiMagal)
- Installer:
  - Improvement:
    - #38077: Add demo product env parameter for cli install via docker (by @matthieu-rolland)
- Web Services:
  - Bug fix:
    - #38417: Fix webservice sql error (by @thersane-john)
    - #38341: Fix: product carrier delete (by @fox-john)
- Tests:
  - Improvement:
    - #38447: Functional Tests : Allow override URL_FO for PS Entreprise UI Tests (by @Progi1984)
    - #38169: Add setup log export action (by @jolelievre)
  - Bug fix:
    - #39139: Docker 7.2-apache : Fixed use of archive Debian repo  (by @Progi1984)
    - #39049: BO : Theme : Export current theme > Protect directories (by @Progi1984)

####################################
#   v8.2.1 - (2025-02-10)
####################################

- Back Office:
  - Improvement:
    - #37828: Add URL Validation when installing theme from URL (by @M0rgan01)
    - #37373: Add more options to pagination (by @Hlavtox)
    - #37355: Disable autocapitalize for SMTP settings (mobile) (by @ShaiMagal)
  - Bug fix:
    - #37869: Fix: Admin search by product ID results in CSV download instead of product page redirect (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)
    - #35709: Partial fix for textarea field height issues in V1 product page (by @Roxayl)
    - #36607: Fix: set by default enable action if module is disabled instead of configure action (by @Nakahiru)
    - #36505: Fix: set the product redirection to another product (301 & 302) (by @RomPiot)
    - #37030: Fix: Multistore - Can't disable a group shop (by @Codencode)
  - Refactoring:
    - #36715: Fix unreliable translation export (by @Hlavtox)
- Front Office:
  - New feature:
    - #37125: Make getHookModuleExecList customizable from modules (by @matthieu-rolland)
  - Improvement:
    - #37448: Add missing hook on checkout account creation (by @Touxten)
  - Bug fix:
    - #37533: If price is not shown hide add to cart too. Fixes #37532 (by @tswfi)
    - #37268: Fix Incorrect SpecificPrice Currency Conversion (Issue 36844) (by @mrkalchemy)
    - #37267: Fix cart value amount (by @idnovate)
    - #37191: Fix specific references (by @rsoulard-prolaser)
  - Refactoring:
    - #37403: Remove unnecessary cart present and improve performance (by @Hlavtox)
- Core:
  - Improvement:
    - #37964: Fixed license header (by @mattgoud)
    - #37943: Chore: [release-8.2.1] - composer : update classic-theme package to 2… (by @mattgoud)
    - #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)
    - #36612: Add a condition for handling errors from hook actionModuleInstallBefore (by @JohnPAfr)
    - #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)
    - #37159: Updated PrestaShop Packages (by @github-actions[bot])
    - #37147: Updated PrestaShop Packages (by @github-actions[bot])
    - #36938: Delete old thumbnail for variant images when deleting product (by @ShaiMagal)
  - Bug fix:
    - #37890: Fix preview mode for combination 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)
    - #37486: Fix obvious notice in Warehouse class (by @kpodemski)
- Web Services:
  - Bug fix:
    - #36807: Move the array_unshift in Product::setWsPositionInCategory() (by @matks)
- Tests:
  - Bug fix:
    - #37887: Fix: #37886 - [docker-compose] - upgrade node 14 to 16 (by @mattgoud)
    - #37862: Use Ubuntu 22.04 on `8.2.x` (by @Progi1984)

####################################
#   v8.2.0 - (2024-09-23)
####################################
- Back Office:
  - Improvement:
    - #36171: Remove email "Preview" from BO section "Statutes" (by @ShaiMagal)
    - #36386: Fix typo in pack wording that doesn't make sense (by @Hlavtox)
    - #36172: Input type "number" is not styled properly (by @ShaiMagal)
    - #36714: Order modules on translation page alphabetically (by @Hlavtox)
    - #36936: Remove redirection on cms exception (by @Hlavtox)
  - Bug fix:
    - #36457: Fix: Pass correct language ID to getAttributesName instead of hardcoded 1 (by @mouleeg)
    - #36454: Prevent creating duplicate customers in some scenarios (by @Hlavtox)
    - #36287: Fix issue with Product Customizations (by @Codencode)
    - #36802: Fix: Error occurs when navigating new admin controllers with empty quick access links (by @Codencode)
    - #36639: Check override conflicts at module install (by @ludoviccardinale & @matthieu-rolland)
    - #36895: Update AdminCartsController.php (by @Codencode)
    - #36914: Added management of the 'addedByModule' field in the "CustomizationField" object (by @Codencode)
- Front Office:
  - Improvement:
    - #36359: Match URLs with a trailing slash (by @Hlavtox)
    - #36451: Enhance TemplateVarShop Function with Shop Group ID for Improved Multi-Shop Support (by @ChronoBrake)
  - Bug fix:
    - #36454: Prevent creating duplicate customers in some scenarios (by @Hlavtox)
    - #36521: Handle hook prefix to allow dashboard module to be saved (by @PrestaEdit)
    - #36664: Use attribute public name instead of private name in URL anchors (by @maxldn5)
    - #36834: Fix: problems with product customizations issue 1 (by @Codencode)
    - #36905: Fix: Cart.php class method _deleteCustomization not deleting all image files from same customization but only first (by @Codencode)
- Core:
  - Improvement:
    - #36398: Updated PrestaShop Packages (by @github-actions)
    - #36417: Updated PrestaShop Packages (by @github-actions)
    - #36576: Mail - Reply-To can be the same as the To address (spam indicator - negative points) (by @ShaiMagal)
    - #36764: Version number 8.2.0 (by @matks)
    - #36657: Add hook for assigning general purpose variables before the core does it (by @matthieu-rolland)
    - #36575: Migrate lazy array improvements and cart presenter decoupling from develop to 8.2.x (by @matthieu-rolland)
    - #36955: Use basename on user given filename in legacy uploadcontroller (by @matthieu-rolland)
    - #36972: Update default catalog 8.2.x (by @ps-jarvis)
  - Bug fix:
    - #36662: Cast OrderProductForViewing - location to string for Memcached (by @ShaiMagal)
    - #36840: Use PHP constants for doctrine config (by @matks)
    - #36875: Add attr_stringify_fetches to PDO init config to avoid BC Break (by @fox-john)
    - #36689: Can't transformToCustomer while password max length is shorter than default 16 length (by @ShaiMagal)
  - Refactoring:
    - #36882: Comment search process (by @Hlavtox)

####################################
#   v8.1.7 - (2024-06-14)
####################################

- Back Office:
  - Improvement:
    - #36306: Open EntitySearchInput to public components in backoffice (by @thomasDelaporte)
    - #35488: Add Export button missing on new Product Page V2 (by @ChronoBrake)
    - #35434: Improve wording of pack quantities (by @Hlavtox)
    - #35699: Correction of patch requests in PPV2 (by @M0rgan01)
    - #35564: Update product SEO metadata length (by @M0rgan01)
    - #35518: BO login screen - don't show PrestaShop version before Employee successful login (by @ShaiMagal)
  - Bug fix:
    - #36256: Fixed incorrect link to documentation (by @nicosomb)
    - #36244: Product page fixes (by @jolelievre)
    - #35775: Responsive visual issues new product page (by @mattgoud)
    - #36122: Error 500 fix for Admin Categories If description null (backport from develop) (by @ShaiMagal)
    - #34823: Sets the current date on the duplicate product (by @webeshop)
    - #35861: Update HTMLTemplateOrderSlip.php to fix #35802 (by @rudolfkastl)
  - Refactoring:
    - #35824: Prevent errors on different address formats (by @Hlavtox)
    - #35830: Fix notice on nulls (by @Hlavtox)
    - #35827: Fix uasort in dead code (by @Hlavtox)
    - #35698: Make changing order status more resilient to failed data (by @Hlavtox)
- Front Office:
  - Improvement:
    - #35705: Fix strstr modifier (by @Hlavtox)
    - #35735: Fix array_slice modifier (by @Hlavtox)
    - #35571: Stop requesting core.js source map in production (by @SharakPL)
  - Bug fix:
    - #36342: Fix quantity check when there a customization in cart (Backport from #32312) (by @Progi1984)
    - #35962: CartRule.php - performance bottleneck - duplicating query (by @ShaiMagal)
    - #36074: Fix specific scenario when multiple carriers are used. (by @Hlavtox)
    - #35565: Fix CCC error for path with version (by @ComonSoft)
    - #35812: Fix unit price everywhere (by @Hlavtox)
    - #35729: Remove deprecated jquery method (by @Hlavtox)
    - #35584: Fix(merchandise-return): deprecation alert is displayed on the return form (by @TheoAlloin)
  - Refactoring:
    - #35822: Fix strpos modifier (by @Hlavtox)
- Core:
  - Improvement:
    - #36341: Preliminary tasks for 8.1.7 release (by @jolelievre)
    - #36284: Updated PrestaShop Packages (by @github-actions[bot])
    - #36069: Upgraded productcomments (by @nicosomb)
    - #35892: Updated PrestaShop Packages (by @github-actions[bot])
    - #35871: Updated PrestaShop Packages (by @github-actions[bot])
    - #35754: Updated PrestaShop Packages (by @github-actions[bot])
  - Bug fix:
    - #35902: Fix min qty in front ProductController (by @boherm)
    - #36272: Fix compatibility error on ARM processors when installing via docker   (by @matthieu-rolland)
    - #35621: Fix: Clear cache module multishop (by @pvujic)
    - #35587: Fix $action variable in postProcess method (by @SharakPL)
  - Refactoring:
    - #35953: Fix cart calculator tax rounding issues (by @Hlavtox)
    - #35834: Stabilize search indexation and check referrer (by @Hlavtox)
    - #35826: Better inform about faulty hooks (by @Hlavtox)
    - #35749: Unify text field database limits (by @Hlavtox)
- Installer:
  - Improvement:
    - #36345: Update default catalog 8.1.x (by @ps-jarvis)
    - #36340: Update default catalog 8.1.x (by @ps-jarvis)
- Tests:
  - Improvement:
    - #35818: Functional Tests : Migration from Docker Compose v1 to v2 (8.1.x) (by @Progi1984)
    - #35646: UI Tests : Allow to enable/disable make (by @Progi1984)
  - Bug fix:
    - #35906: Fix error install libnss3-tools (by @jolelievre)

####################################
#   v8.1.6 - (2024-05-13)
####################################

- Front Office:
  - Improvement:
    - GHSA-7pjr-2rgh-fc5g Fix invoice access vulnerability in FO (by @matthieu-rolland & @m0rgan01)
- Core
  - Imrovement:
    - GHSA-45vm-3j38-7p78 Fix XSS vulnerability from FO contact form to BO (by @m0rgan01 & @matthieu-rolland)

####################################
#   v8.1.5 - (2024-03-07)
####################################
- Back Office:
  - Improvement:
    - #34682: Add more information into cart view page (by @Hlavtox)
  - Bug fix:
    - #35384: Fix: Catalog - Stocks - multiple filters not working (by @Codencode)
    - #35495: Add most used rule group to new products (by @Hlavtox)
    - #35006: Backport newer method in filemanager (by @Hlavtox)
    - #35064: Add Length  constraint to MetaType (by @danilocarta)
    - #34982: Always set HelperKpi source and use conditional refresh (by @PrestaEdit)
    - #34857: Fix product csv import wiping category assignments, fixes #34601 (by @tswfi)
- Front Office:
  - Improvement:
    - #35483: Bump classic to 2.1.3 (by @Hlavtox)
  - Bug fix:
    - #35530: Fix invoice download for non logged in customer (by @Hlavtox)
    - #35023: Fix: BO - Import/Export - Can't import Store contact (by @Codencode)
    - #35464: Do not show vouchers that should be hidden (by @Hlavtox)
    - #35372: Fix A pack set to Decrement products in pack only. cannot be added to cart (by @Codencode)
    - #35418: Fix: The new password policy is not present in the reset password page #35410 (by @Codencode)
    - #35166: Validate cart rule actions on load (by @Hlavtox)
    - #35021: Fix Address form not work properly in customer account area (by @Codencode)
    - #35134: Implement canonical urls and remove not needed parameters (by @Hlavtox)
    - #35017: Fix and comment address deletion process (by @Hlavtox)
    - #34698: Allow Front controller called in cli if ssl is on or maintenance mode is on in 8.1 (by @jf-viguier)
- Core:
  - Improvement:
    - #35554: Update ps_googleanalytics (by @matthieu-rolland)
    - #35513: Update modules on composer for PS 8.1.5 (patch release) (by @matthieu-rolland)
    - #35422: Bump version to 8.1.5 (by @Hlavtox)
    - #35114: Updated PrestaShop Packages (by @github-actions[bot])
    - #35058: Disable autofill of password for SMTP (by @ShaiMagal)
    - #35042: Updated PrestaShop Packages (by @github-actions[bot])
    - #35034: Bump ps emailalerts to v3 (by @Hlavtox)
    - #35000: Prevent Internal Server Error 500 - opcache_reset with restrict_api (by @ShaiMagal)
    - #34957: Remove old Czech lower VAT 10% and 15% (by @ShaiMagal)
    - #34946: Added id_shop param to actionAfterLoadRoutes Hook (by @hherreros-webimpacto)
    - #34951: Fix CI for `8.1.x` branch after 8.1.3 release (by @boherm)
  - Bug fix:
    - #35536: Downgrade ps_googleanalytics (by @matthieu-rolland)
    - #35351: Fix backup tool creating nulls (by @Hlavtox)
    - #35322: Fix shipping cost on order details page - backport from v9 (by @kpodemski)
    - #34954: Fix Link->getModuleLink() function for other shop contexts (by @hherreros-webimpacto)
    - #35321: Fix display of categories from other shops (by @kpodemski)
    - #34873: Prevent uncheck cast (by @gross-nvs)
    - #GHSA-vr7m-r9vm-m4wf:  (by @matthieu-rolland)
    - #GHSA-xgpm-q3mq-46rq:  (by @matthieu-rolland)
  - Refactoring:
    - #35456: Comment cart and quantity methods (by @Hlavtox)
    - #35215: Fix alias hooks and add the missing ones (by @Hlavtox)
    - #35217: Bump version to 8.1.4 (by @Hlavtox)
- Installer:
  - Improvement:
    - #35579: Update default catalog 8.1.x (by @ps-jarvis)
    - #35534: Update default catalog 8.1.x (by @ps-jarvis)
- Tests:
  - Refactoring:
    - #35079: Functional tests - Fix nightly 8.1.x : Fix slider URL (by @nesrineabdmouleh)
    - #34931: Feat: Backport and add node and dev mode for composite on 8.1.x (by @boubkerbribri)
    - #34893: Sanity: Fix sanity command to stop after first fail (by @boubkerbribri)

####################################
#   v8.1.4 - (2024-02-12)
####################################

- Front Office:
  - Improvement:
    - GHSA-3366-9287-7QPR Path disclosure in JavaScript variable (by @matks)

####################################
#   v8.1.3 - (2023-12-13)
####################################

- Back Office:
  - Improvement:
    - #34741: Backport v9 SymfonyCacheClearer (by @M0rgan01)
    - #34606: Optimize product page (by @jolelievre)
    - #34738: Remove friendly url alert, put codes to columns (by @Hlavtox)
    - #34563: Update wording of add to cart from list setting (by @Hlavtox)
    - GHSA-XGPM-Q3MQ-46RQ Some attribute not escaped in Validate::isCleanHTML method (by @matthieu-rolland)
  - Bug fix:
    - #34356: Fix arabic numbers displayed (by @boherm)
    - #34699: Fix customer search in specific price PPV2 (by @M0rgan01)
    - #34715: Fix combination search in PPV2 specific price (by @M0rgan01)
    - #33945: [BC Break] Fix specific price datetime range (by @Hlavtox)
    - #34625: Add hook "actionUpdateQuantity" in product v2 (by @M0rgan01)
    - #34647: Add empty string check for price in Catalog price rules (by @M0rgan01)
    - #34600: Remove unnecessary Jquery selector in SerpApp. (by @M0rgan01)
    - #34537: Minimal quantity should be 1 at least, not 0! (by @ShaiMagal)
    - #34450: Fix TaxRulesGroup try to update removed column (by @LameuleFR)
    - #34438: Fix BO CSV import - broken functionality (by @ShaiMagal)
    - #34441: Fixed SQL apostrophe (') incompatibility (by @Lunyyx)
    - #34419: Allow unit price to be zero even when displayed (by @gbelorgey)
    - #34343: Fix combination modal changes detection (by @tleon)
    - #34351: Fix legacy page images (by @Hlavtox)
    - #34162: Fix edit bulk quantity for stock page (by @boherm)
    - #34023: Handle via javascript that the two fields for impact are synced, mean… (by @jolelievre)
  - Refactoring:
    - #34491: Improve error message on login page (by @Hlavtox)
- Front Office:
  - Improvement:
    - #34812: Bump classic-theme to 2.1.2 (by @boherm)
    - #34648: Early return from rule check (by @Hlavtox)
    - GHSA-VR7M-R9VM-M4WF XSS can be stored in DB from "add a message form" in order detail page (by @matthieu-rolland)
  - Bug fix:
    - #34695: Better validate availability date (by @Hlavtox)
    - #34689: Fix image legend not used (by @Hlavtox)
    - #34317: Fix sorting by Relevance in search results (by @mrkalchemy)
    - #34562: Do not allow products with required customization to be used as a gift (by @Hlavtox)
    - #34487: Fix manufacturer name overwriting (by @Hlavtox)
    - #34462: Improve front office date validation (by @Hlavtox)
    - #34207: Don't check all product availability in cart on add to cart action (by @Oksydan)
    - #34078: Fix URL with accented chars (by @M0rgan01)
    - #33954: Fix undefined currency if cart is updated before currency is assigned to the context (by @Hlavtox)
  - Refactoring:
    - #34633: Update ps_shoppingcart (by @Hlavtox)
    - #34443: Remove useless htaccess rule for not existing file retro-compat.css.php (by @ShaiMagal)
- Core:
  - Improvement:
    - #34811: Exclude new routes for Security Annotation linter command (by @boherm)
    - #34723: Updated PrestaShop Packages (by @github-actions[bot])
    - #34678: [Gift message] allow more special characters, for example <> (by @ShaiMagal)
    - #34632: Updated PrestaShop Packages (by @github-actions[bot])
    - #34458: CO: improvement : Performance String Modifier (by @Shoprunners)
    - #34529: New 12% VAT Czech Republic from 2024-01-01 (by @ShaiMagal)
    - #34448: Validate smarty render calls (prevent errors from outdated themes) (by @ShaiMagal)
    - #34452: Prevent Internal Server Error 500 - opcache_invalidate with restrict_api (by @ShaiMagal)
    - #34158: Explicit error messages (by @Zudjo)
    - #34435: Protect js folder from dangerous files (by @ShaiMagal)
    - #34377: Add missing js events in CleanHtmlValidator (by @matthieu-rolland)
    - #34380: Update module versions in composer.lock (PS 8.1.x) (by @matthieu-rolland)
    - #34242: Change the APE field validation to match all formats (by @alexandrebak42)
    - #34120: Bump Smarty to 4.3.4 (by @matks)
    - #34084:  Update Changelog for 8.1.2 (by @jolelievre)
  - Bug fix:
    - #34523: Fix combination unit price math (by @the-ge)
  - Refactoring:
    - #34609: Better validate cookie length (by @Hlavtox)
    - #34531: Update Address.php - small phpdoc edit (@return value) (by @ShaiMagal)
    - #34439: Update retro-compat.js.php - prevent PHP Warning (by @ShaiMagal)
    - #34444: Fix php warning webservice (by @ShaiMagal)
    - #34436: Update jquery.no conflict.php - prevent E_NOTICE (by @ShaiMagal)
- Tests:
  - Improvement:
    - #34773: Modify sanity tests workflow to use docker (by @jolelievre)
  - Refactoring:
    - #34759: CI: fix sanity tests on workflow (by @boubkerbribri)

####################################
#   v8.1.2 - (2023-09-27)
####################################

- Back Office:
  - Improvement:
    - #33741: Introduce employee menu same page links (by @sowbiba)
    - #33937: Bump 8.1.2 version (by @jolelievre)
    - #33880: Replace help text by tooltip in delivery slips page (by @nicosomb)
    - #33745: Introduce alternative search panels same page links (by @sowbiba)
    - #33476: Add image helptext (by @Hlavtox)
    - #33394: Add message when duplicating product (by @Hlavtox)
    - #33296: Change translation key when enable/disable/delete product (by @mflasquin)
    - #33276: Add file headers and bump some dependencies (by @mflasquin)
    - GHSA-6jmf-2pfc-q9m7 Filter dashboard hooks in ajax method (by @Matthieu Rolland)
    - GHSA-gvrg-62jp-rf7j Check user has view access before fetching module hooks (by @Matthieu Rolland)
  - Bug fix:
    - #34060: Fix image configuration (by @Hlavtox)
    - #33909: Cannot add feature or cusotmization fields to virtual product (by @M0rgan01)
    - #33771: Update classname regex to allow FQDN (by @gross-nvs)
    - #33860: Add order by for attribute by position (by @jolelievre)
    - #33778: Handle friendly url automatic update and automatic offline shop configurations (by @jolelievre)
    - #33802: Fix uninstalling modules with deleted hooks. (by @Hlavtox)
    - #33658: Fix: issue when clearing cache with opcache with enable_file_override (by @Tofandel)
    - #33380: Improve reorder positions on grids (by @boherm)
    - #33567: Fix visual issues new product page (by @boherm)
    - #33660: Fix error in the module translation page (old translation system) (by @eternoendless)
    - #33643: Do not attempt to rebuild modules list if missing data (by @matks)
    - #33581: Fix modules from distribution api (by @Hlavtox)
    - #33450: Style migrated customer threads properly (by @Hlavtox)
    - #33495: Check if external carrier module exists (by @Hlavtox)
    - #33428: Prevent checking nonsupported image formats (by @Hlavtox)
    - #33458: Fix select for when multishop is not enabled (by @tleon)
    - #33152: Generate image for store after uploading it (by @Hlavtox)
    - #33234: Update module's information cache and add clear cache for doctrine (by @M0rgan01)
- Front Office:
  - New feature:
    - #33873: Allow modules to provide language link params in correct languages (by @Hlavtox)
    - #33632: Add useful email variables (by @Hlavtox)
  - Improvement:
    - #33844: Allow adding multilanguage routes, add comments (by @Hlavtox)
  - Bug fix:
    - #33964: Fix rounding of no pack price (by @Hlavtox)
    - #33928: Provide rendered category footer (by @Hlavtox)
    - #33978: Uniformise and improve cart stock protection (by @jolelievre)
    - #33930: Cannot set specific price with currency filter (by @M0rgan01)
    - #33885: Fix URL sanitization and duplicate language ID (by @Hlavtox)
    - #33788: Add htaccess to protect templates dir (by @nicosomb)
    - #33608: Fix tax detail in invoice (by @idnovate)
    - #33387: Do not overwrite legend by empty value (by @Hlavtox)
    - #33113: Add conditions for manufacturer fields (by @M0rgan01)
  - Refactoring:
    - #33961: Do not construct presenters that we already have from the parent (by @Hlavtox)
- Core:
  - Improvement:
    - #34026: Update product comments in composer.lock (by @jolelievre)
    - #33853: Updated PrestaShop Packages (by @github-actions[bot])
    - #33407: Do not check for multiple image formats feature, add fallback (by @Hlavtox)
    - #33817: Updated PrestaShop Packages (by @github-actions[bot])
    - #33598: Updated PrestaShop Packages (by @github-actions[bot])
    - #33515: Retry downloading language packs (by @Hlavtox)
    - #33467: Updated PrestaShop Packages (by @github-actions[bot])
    - #33433: Use proper limit for CMS page content (by @Hlavtox)
  - Bug fix:
    - #33894: Fix adding and deleting language entries from tables (by @Hlavtox)
    - #33648: Add WebP and Avif to mod_expires (by @kpodemski)
    - #33573: Fix dropExistingForeignKeys method when updating doctrine schema (by @Hlavtox)
    - #GHSA-v4gr-v679-42p7:  (by @matthieu-rolland)
    - #GHSA-2rf5-3fw8-qm47:  (by @matthieu-rolland)
    - #GHSA-hpf4-v7v2-95p2:  (by @matthieu-rolland)
    - #GHSA-m9r4-3fg7-pqm2:  (by @matthieu-rolland)
    - #GHSA-75p5-jwx4-qw9h:  (by @matthieu-rolland)
    - #GHSA-xw2r-f8xv-c8xp:  (by @matthieu-rolland)
    - #GHSA-gf46-prm4-56pc:  (by @matthieu-rolland)
    - #31637: Do not interfere with PDF files (by @Hlavtox)
    - #33322: Delete data from product_carrier table after deleting product (by @Hlavtox)
    - #33212: Prevent removing non restricted cart rules (by @Hlavtox)
  - Refactoring:
    - #33883: Comment hooks with special calls, fix extra chain (by @Hlavtox)
    - #33907: Use softDelete method (by @Hlavtox)
    - #33555: Remove duplicates from smarty.config.inc.php (by @SharakPL)
    - #33436: Add some comments to Product class (by @Hlavtox)
- Installer:
  - Improvement:
    - #34034: Update INSTALL.txt for 8.x (by @matks)
    - #34007: Update default catalog 8.1.x (by @ps-jarvis)
    - #33976: Update czech localization pack (by @Hlavtox)
    - #33292: Add a check for key generation (by @Hlavtox)
  - Bug fix:
    - #34025: Add actionAfterLoadRoutes in hook.xml (by @jolelievre)
    - #34018: Wording fixed for final export for 8.1.2 (by @jolelievre)
    - #33784: Add missing wording and domains (by @Hlavtox)
    - #33491: Add low_stock_threshold to fixtures (by @Hlavtox)
- Web Services:
  - Bug fix:
    - #34014: Backport of 32884 / Fix Error Webservice combinations or categories on a blank schema (by @matks)
    - #32885: Added www-authenticate: bearer if the access token is invalid (by @nicosomb)
- Localization:
  - Bug fix:
    - #33807: Fixed $legacyKey in buildTranslationCatalogueFromLegacyFiles() (by @Amazzing)
- Tests:
  - Improvement:
    - #33352: Functional Tests : Unskip test after #31572 is fixed (by @Progi1984)
    - #33349: Functional Tests : Improved test after partial fix for #32265 (by @Progi1984)
  - Bug fix:
    - #33869: Nightly: Fixed `campaigns/productV2/functional/03_CRUDProductWithCombinations.ts` (by @Progi1984)
    - #33789: Nightly `8.1.x` : Fixed `campaigns/productV2/functional/01_filterProducts.ts` (by @Progi1984)
    - #33501: Nightly : 8.1.x - Fix random errors (by @Progi1984)
    - #33326: Nightly : 8.1.x - Fixed Mocha Loader (by @Progi1984)
  - Refactoring:
    - #33708: UI Test: delete filter by position on pages and categories (by @boubkerbribri)
    - #33679: Nightly: fix erreur on credit slip pagination test (by @boubkerbribri)
    - #33631: Modules tests - Fix 'Modules > Faceted search > Uninstall and delete module'' (by @nesrineabdmouleh)

####################################
#   v8.1.1 - (2023-07-20)
####################################

- Back Office:
  - Improvement:
    - #33278: Update dependencies (by @mflasquin)
    - #32894: Admin search - Transmit the search query param (by @sowbiba)
    - #32789: Warning on Modules List page when Distribution API cannot be contacted (by @0x346e3730)
    - GHSA-gf46-prm4-56pc Protect from writing files on server through SQL form (by @Matthieu Rolland)
    - GHSA-m9r4-3fg7-pqm2 Protect file name from path traversal attack (by @Matthieu Rolland)
    - GHSA-75p5-jwx4-qw9h Escape variable to prevent sql injection (by @Matthieu Rolland)
    - GHSA-hpf4-v7v2-95p2 Protect translation file reading form path traversal attack (by @Matthieu Rolland)
    - GHSA-2rf5-3fw8-qm47 Keep file name from containing path traversal (by @Matthieu Rolland)
    - GHSA-v4gr-v679-42p7 Keep file name from containing path traversal (by @Matthieu Rolland)
  - Bug fix:
    - #32493: Fix: When updating object images, old thumbnails are not deleted and updated (by @Codencode)
    - #33255: Prevent deleting main URL of a store (by @Hlavtox)
    - #33008: Fix 'New' Translation domain (by @mflasquin)
    - #33124: Fix issue when disable tax, do not delete tax rules (by @mflasquin)
    - #33236: Module manager - Empty category - Add raw filter to display html content (by @sowbiba)
    - #33164: Fix authorized application column length (by @mflasquin)
    - #33151:  Fix for product editor is not storing some fields in multi shop context conservative fix for 8.1.x (by @cruftex)
    - #33120: Fix bad display alert when changing product combination quantity (by @fatm-dev)
    - #33107: Fix new file button target in product attachment form; (by @fatm-dev)
    - #33048: Add string casting for boolean fields (by @nicosomb)
    - #32662: Remove module list item when force deletion (by @M0rgan01)
    - #32906: Fix clear filter options on missing category (by @FabienPapet)
    - #32615: Update ImageGenerator resize destination path (by @M0rgan01)
    - #31379: Fix disabling a module for a specific shop applied to all shops (by @matthieu-rolland)
    - #32790: Fix PDF translations in backoffice (by @mflasquin)
    - #32715: Fix: [BO] : Error notification displayed in Multistore page (by @Codencode)
    - #32656: Fix: Warning on the Cart Rules creation/editing page (by @Codencode)
- Front Office:
  - Bug fix:
    - #32597: Update checkOrGenerateImageType $sourceFilePath (by @M0rgan01)
    - #33156: Check if product is active and orderable during checkout (by @Hlavtox)
    - #33043: Fix wrong discount amount displayed (by @boherm)
    - #32596: Fix availability display logic (by @mflasquin)
- Core:
  - Bug fix:
    - #33136: Register commonly used deprecated modifiers to Smarty config (by @kpodemski)
    - #33148: Update autoload library to v1.0.1 (by @jolelievre)
    - #33133:  Fix for child themes/multishop themes translations (by @kpodemski)
  - Improvement:
    - GHSA-xw2r-f8xv-c8xp Add missing html attributes (by @Matthieu Rolland)
- Installer:
  - Improvement:
    - #32752: Update default catalog 8.1.x (by @ps-jarvis)
- Web Services:
  - Bug fix:
    - #32842: Changed error code when access token is invalid (by @nicosomb)
- Tests:
  - Improvement:
    - #33312: Nightly : 8.1.x - Multistore (Removed Delete shop url) (by @Progi1984)
    - #31275: Functional Tests : Added deprecated as errors (by @Progi1984)
    - #32769: Functional Tests : API : External Auth Server - Resource Endpoint (by @Progi1984)
    - #32756: Functional Tests : Faceted search module - Uninstall and delete module (by @Progi1984)
    - #32666: Functional Tests : BO - Design - Image Settings - Check base image format (by @Progi1984)
    - #32668: Functional Tests : Cash on delivery (COD) module - Reset module (by @Progi1984)
    - #32674: Functional Tests : Hummingbird : FO - Login : Login in FO (by @Progi1984)
  - Bug fix:
    - #33279: Nightly : 8.0.x : Unskip test for the issue 32914 (by @Progi1984)
    - #33281: Nightly : 8.1.x : Unskip test for the issue 32914 (by @Progi1984)
    - #33130: Nightly : 8.1.x : Fixed error in filterTaxes (by @Progi1984)
    - #33131: Nightly : 8.0.x : Fixed error in filterTaxes (by @Progi1984)
    - #33033: Nightly : Fixed install Node 14 (by @Progi1984)
    - #33023: Nightly : Fixed install Node 14 (by @Progi1984)
    - #33011: Nightly : Fixed mocha loader (8.1.x) (by @Progi1984)
    - #33012: Nightly : Fixed mocha loader (8.0.x) (by @Progi1984)
    - #32849: Nightly : Fixed functional/BO/04*/01*/08* (by @Progi1984)
    - #32835: Nightly : 8.1.x : Fixed error in package.json (by @Progi1984)
    - #32834: Nightly : 8.0.x : Fixed error in package.json (by @Progi1984)
    - #32829: Nightly : Fixed functional/BO/02*/01*/viewAndEditOrder/11* (by @Progi1984)
    - #32706: Nightly : Fixed check of shipping price (by @Progi1984)
  - Refactoring:
    - #33228: Nightly : 8.1.x - Skip test for the issue 32914 (by @Progi1984)
    - #33230: Nightly : 8.0.x - Skip test for the issue 32914 (by @Progi1984)
    - #33174: Sanity Tests - Fix bug in product V2 tests (by @nesrineabdmouleh)
    - #33146: Product V2 tests - Fix bug in product V2 tests (Sanity & Functional campaigns) (by @nesrineabdmouleh)
    - #32859: Refacto WS tests countries (by @boubkerbribri)
    - #32792: Functional tests - Add new test 'Design > Position > Filter module' (by @nesrineabdmouleh)
    - #32782: Functional tests - Add new tests 'Stock > Sort and pagination movements table' (by @nesrineabdmouleh)
    - #32718: Functional tests - Add some tests in 'FO > Carts' page (by @nesrineabdmouleh)
    - #32598: Functional tests - Add some tests in "Module manager > Alerts tab" (by @nesrineabdmouleh)
    - #32640: Fix nightly 18-05 - Add reset filter step to products table (by @nesrineabdmouleh)

####################################
#   v8.1.0 - (2023-06-20)
####################################

- Back Office:
  - Bug fix:
    - #31379: Fix disabling a module for a specific shop applied to all shops (by @matthieu-rolland and @FabienPapet)

####################################
#   v8.1-rc.1 - (2023-05-22)
####################################

- Back Office:
  - Improvement:
    - #32609: Fix missing AdminSecurity for 8.1.x (by @boherm)
    - #32060: Add admin breadcrumb hook (by @cvng)
    - #32195: Clean product v2 routing (by @jolelievre)
    - #32194: Deprecate code related to old product page (by @jolelievre)
    - #31968: Final UX improvement in PPV2 (by @jolelievre)
    - #31902: Remove cache clear lock file after it is not needed (by @jolelievre)
    - #31874: Create security_test.yml and move default credentials for api in it (by @mflasquin)
    - #31584: Product page v2 : Footer UX improvements (by @jolelievre)
    - #31691: Add admin tabs hook (by @cvng)
    - #31647: Prevent email enumeration (by @MathiasReker)
    - #31560: Duplicate product for multishop final part (by @jolelievre)
    - #31662: Put multiple image feature toggle into the "new feature" block (by @matthieu-rolland)
  - Bug fix:
    - #32509: Fix css for search dropdown in combination generator (81x) (by @zuk3975)
    - #32424: Update BO stock router (by @M0rgan01)
    - #32318: Translation app URL, refresh and selection issues (by @boherm)
    - #32535: Fix: Empty tracking URL for "in transit" email (by @Codencode)
    - #32492: Fix: Can't use LIMIT clause in Sql request manager (by @Codencode)
    - #32465: Fix: Useless redirection in the Customer Service page (by @Codencode)
    - #32199: Set cover on table image when add image on product (by @mflasquin)
    - #32201: Fix undefined shop_id when updating image (by @zuk3975)
    - #32215: Avoid html being escaped in translation in the alert box (by @eternoendless)
    - #32136: Fix reset all default parameters on currency (by @mflasquin)
    - #32202: Add missing attribute in search categories API (by @jolelievre)
    - #32197: [BC Break] Smarty htmlspecialchars (by @0x346e3730)
    - #32116: Fix resetLanguage for Currencies (by @boherm)
    - #32028: Fix module active flag with group & shop contexts (by @boherm)
    - #31411: Display error message when language file is missing (by @Prestaworks)
    - #31390: Ignore attribute_quantity if stock management disabled (by @bibips)
    - #31866: Fix memory leak on suppliers filter (by @mflasquin)
    - #31820: Handle custom lock file during the cache clear and force module actions one by one (by @jolelievre)
    - #30769: Carrier selection improvement in BO product page (by @zuk3975)
    - #31823: Disable legacy_feature_flag for migrated feature page (by @zuk3975)
    - #31674: Add `_legacy_feature_flag` for customer threads routes (by @boherm)
    - #31776: Remove command handler definition that was removed (by @jolelievre)
    - #31772: Fix wordings in BO for keys WS (by @boherm)
    - #31722: Add `force_hide_bulk_actions_btn` in HelperList for AdminCartsController.php (by @boherm)
    - #31512: Implement ShopConstraint into DeleteProductCommand (by @zuk3975)
    - #31508: Fix errors when submitting empty feature or feature values ppv2 (by @zuk3975)
    - #31463: Validate product image size depending on upload quota configuration (by @zuk3975)
    - #31682: Cast `featureId` into int to fix `InvalidFeatureIdException` (by @boherm)
    - #30957: Redirect to product list with warning message instead of raising an exception when we try to access a product which doesn't exist (by @lartist)
    - #31514: Fix sorting attribute do not works (by @mflasquin)
    - #31667: Catch PrestaShopException to validate sql-requests properly in PHP 8.X (by @boherm)
    - #31568: Fix virtual product file constraints (by @zuk3975)
    - #31654: Fix addslashes not working (by @mflasquin)
    - #31296: Update summary quantity on combination list refresh (by @zuk3975)
    - #31603: Fix generating of preload.tpl (by @kpodemski)
    - #31472: Fix "generate for all shops" button visibility when multiShop is off (by @zuk3975)
    - #31330: Fix access error when accessing product creation modal (by @zuk3975)
    - #31496: Handle shop constraint when searching customer for specific price (by @zuk3975)
    - #31337: Fix open new tab when target _blank exist for new product page link (by @mflasquin)
    - #31523: Multistore table dropdown correction (by @JBLach)
    - #31467: PPV2 Fix virtual file validation (by @zuk3975)
    - #31099: Adjust multishop images behavior in dropzone (by @zuk3975)
    - #31355: Fix invisible label on checkbox (by @mflasquin)
    - #31262: Adjust stock movement label when product is virtual (by @zuk3975)
  - Refactoring:
    - #32438: Fix minimum quantity label (by @Hlavtox)
    - #31928: Move namespace from Core/Domain/Product/AttributeGroup to Core/Domain/AttributeGroup (by @JevgenijVisockij)
    - #31885: Final multishop fields that needed to be renamed (by @jolelievre)
    - #31611: Clean ProductImageMultiShopRepository (by @zuk3975)
    - #31855: Refactor product stock update (by @jolelievre)
    - #31657: Clean product & combination command builders (by @zuk3975)
    - #31425: Cleanup ProductMultiShopRepository (by @zuk3975)
    - #31374: Cleanup StockAvailable repositories (by @zuk3975)
    - #31228: Clean up product v2 js structure (by @zuk3975)
- Front Office:
  - Bug fix:
    - #32290: Fix: Setting DNI mandatory after address creation launches an exception during checkout (by @Codencode)
    - #32345: Hide vouchers with no available quantities (by @tleon)
    - #32061: Fix error when change product qty in cart (by @mflasquin)
    - #31620: Fix sitemap url conflict, allow using the hook with fallbacks (by @Hlavtox)
    - #31485: Fix base image format generation, enable it for new image system, simplify (by @Hlavtox)
    - #31310: Fix thumbnail links for categories and stores, add manufacturer and supplier support (by @Hlavtox)
    - #31319: Fix body classes for manufacturer and supplier listings (by @Hlavtox)
    - #31152: Always use id_country from request if provided (by @atomiix)
    - #31148: Change domain to fix translation issue (by @atomiix)
  - Refactoring:
    - #31688: Add avif to htaccess allowed formats (by @Hlavtox)
- Core:
  - Improvement:
    - #32574: Bump classic theme to 2.1.1 (by @matks)
    - #32562: Update Composer dependencies (by @matks)
    - #32379: Fix translation for 8.1.x (by @lartist)
    - #32130: Release 8.0.4 (by @FabienPapet)
    - #32135: Bump version for translation extraction (by @lartist)
    - #32087: Dump modern mail theme with new wordings (by @lartist)
    - #31285: Allow JS action after module import (by @sowbiba)
    - #31981: Fix wordings (by @lartist)
    - #31912: Upgrade prestashop modules (by @matthieu-rolland)
    - #31932: Bump some module versions (by @lartist)
    - #31913: Bump symfony version  (by @matthieu-rolland)
    - #31907: Bump module ps_distributionapiclient (by @matthieu-rolland)
    - #31909: Bump prestashop to 8.0.3 patch version (by @matthieu-rolland)
    - #31811: Deprecate PS1.6 product list colors + formatting (by @SharakPL)
    - #31754: Correct translation domain names to standardize (by @lartist)
    - #31707: Update composer.lock for modules contactform and ps_contactinfo (by @matthieu-rolland)
    - #31692: Corrects some CORE wordings (by @lartist)
    - #31623: Updated PrestaShop Packages (by @github-actions[bot])
    - #31574: Lock theme classic version to 2.0.8 (by @matthieu-rolland)
    - #31575: Add missing licence  (by @matthieu-rolland)
    - #31558: Bump classic theme to 2.1.0 (by @lartist)
    - #31307: Prepare branch for 8.1.0 build (by @lartist)
    - #31339: Add @experimental to new API-related classes (by @atomiix)
  - Bug fix:
    - #32155: Don't attach logo to emails if text only mails is configured 8.1.x (by @cruftex)
    - #32326: [BC Break] Changelog 8.0.4 (by @FabienPapet)
    - #GHSA-8r4m-5p6p-52rp: Fix arbitrary file ready through sql manager (by @mflasquin)
    - GHSA-fh7r-996q-gvcp Fix possible XSS injection through Validate::isCleanHTML method (by @mflasquin)
    - GHSA-p379-cxqh-q822 Fix executeS method making sure it does selection only (by @mflasquin)
    - #32154: Fix domain translation (by @lartist)
    - #31511: Fix exception 'Template ::base.html.twig is not defined' (by @lmeyer1)
    - #31279: Fix errors en customer email field for registration form in FO and BO (by @lartist)
    - #31503: Filter empty values for modulesFromHooks (by @sowbiba)
    - #31137: Disable module's hook before upgrading it (by @atomiix)
    - #31241: Improved session availability test (by @Hlavtox)
- Installer:
  - Improvement:
    - #32536: Update default catalog 8.1.x (by @ps-jarvis)
    - #32147: Update default catalog 8.1.x (by @ps-jarvis)
    - #32027: Add install error message when a parameter is missing (by @eternoendless)
    - #31697: Link to the "data transparency" page inside installer (by @lartist)
  - Bug fix:
    - #32112: Handle fallback in Tools::clearSf2Cache when container is not available (by @jolelievre)
    - #31787: Installer : Fixed link to docs in Installer (by @Progi1984)
    - #31367: Fix a typo in xml hook list (by @thomasnares)
- Web Services:
  - Bug fix:
    - #32044: Fix WS error: add product with empty unit-price (by @boherm)
    - #31023: Backport #30309 : Fix broken result in webservices for 8.0.x (by @boubkerbribri)
- Localization:
  - Improvement:
    - #32522: Wording for 8.1.0 release (by @0x346e3730)
- Tests:
  - Improvement:
    - #32595: Functional Tests : Remove JS support (by @Progi1984)
    - #30574: Functional Tests : GA for checking TypeScript (by @Progi1984)
    - #32310: Functional Tests : API - Authorization Endpoint (by @Progi1984)
    - #32546: Functional Tests : BO - Modules - Alerts tab - Disable / Enable mobile (by @Progi1984)
    - #32431: Functional Tests : WS - Countries : CRUD (by @Progi1984)
    - #32529: Functional Tests : BO - Design - Image Settings - Check stores image format (by @Progi1984)
    - #32511: Functional Tests : BO - Shop Parameters - Search : Fuzzy search (by @Progi1984)
    - #32419: Functional Tests : Hummingbird - FO - Login : Logout from FO (by @Progi1984)
    - #32417: Functional Tests : CLDR - Search a currency by ISO code (by @Progi1984)
    - #32410: Functional Tests : BO - Design - Image Settings - Check category image format (by @Progi1984)
    - #32221: UI Tests : Unskip tests now that #31812 is fixed (by @Progi1984)
    - #32251: Functional Tests : BO - Design - Image Settings - Check product image format (by @Progi1984)
    - #32123: Nightly : Support for HTTPS (by @Progi1984)
    - #31888: Functional Tests : BO - Design - Image Settings - Image Generation on creation (by @Progi1984)
    - #32025: Functional Tests : CLDR - Search a currency by enable/disable (by @Progi1984)
    - #32041: UI Tests : Use HTTPS (by @Progi1984)
    - #32040: UI Tests : Fixed commands (by @Progi1984)
    - #32032: Functional Tests : Move FO tests to classic directory (by @Progi1984)
    - #31881: Functional Tests : Hummingbird : FO - Login - Create an account (by @Progi1984)
    - #31868: Functional Tests : CLDR - Delete a currency (by @Progi1984)
    - #31861: Functional Tests : BO - Design - Image Settings - Regenerate thumbnail (by @Progi1984)
    - #31818: Functional Tests : CLDR - Edit symbol / format currency (by @Progi1984)
    - #31676: Functional Tests : BO - Design - Image Settings - Image Generation options (by @Progi1984)
    - #31808: Functional Tests : API : Authorization Endpoint (by @Progi1984)
    - #31761: Functional Tests : CLDR - Reset symbol / format settings (by @Progi1984)
    - #31669: Functional Tests : API - Resource Endpoint (by @Progi1984)
    - #31687: Functional Tests : CLDR - Enable/Disable a currency (by @Progi1984)
    - #31102: Functional Tests : API - Basic Test (by @Progi1984)
    - #31591: Functional Tests : Splits Tests in small packages (by @Progi1984)
    - #31471: Functional tests : BO - Design - Image Settings - Delete actions (by @Progi1984)
    - #31257: Functional Tests : Migration TS (Remove public attributes targeting a selector) (by @Progi1984)
    - #31292: Functional Tests : Fixed Warning `Warning: fetchStandardFontData: failed to fetch file "FoxitSans.pfb" with "UnknownErrorException: The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.".` (by @Progi1984)
  - Bug fix:
    - #32607: Functional Tests : Fixed Mocha typescript loader (by @Progi1984)
    - #31947: Nightly : Fixed Tests `functional/FO/08*` (by @Progi1984)
    - #31800: Replace non existent steps with their replacement (by @jolelievre)
    - #31631: Functional Tests : Add the script `test:functional:productV2` (by @Progi1984)
    - #29751: Fixed testsuite with sebastian/comparator release (by @nicosomb)
  - Refactoring:
    - #32510: Functional tests - Add some tests in 'Design > Theme & logo > Pages configuration' (by @nesrineabdmouleh)
    - #32555: Functional tests - Add some tests in 'BO > Merchandise return' page (by @nesrineabdmouleh)
    - #32545: Functional tests - Fix 'BO > Redisplay cart at login' test (by @nesrineabdmouleh)
    - #32557: Functional tests - Add new test 'Advanced parameters > Enable disable debug mode' (by @nesrineabdmouleh)
    - #32498: Functional tests - Add some tests in module manager page (by @nesrineabdmouleh)
    - #32402: Functional tests - Fix random error in 'FO > User account > Get GDPR data in PDF' (by @nesrineabdmouleh)
    - #32314: Functional tests - Add some tests in module manager page (by @nesrineabdmouleh)
    - #32153: Functional tests - Add new test 'BO > Logs > Log by email' (by @nesrineabdmouleh)
    - #32082: Functional tests - Add new test 'CRUD cart rule > Actions >  Apply to specific product' (by @nesrineabdmouleh)
    - #32018: Functional tests - Add some tests in 'BO > Cart rules > Create cart rule > Condition tab' (by @nesrineabdmouleh)
    - #31895: Functional tests - Refacto 'BO > Customer service' (by @nesrineabdmouleh)
    - #31964: Functional tests - Add new test 'Catalog > CRUD cart rule > Product selection' (by @nesrineabdmouleh)
    - #31911: Functional tests - Fix nightly  'FO > Menu and navigation > Sort products' (by @nesrineabdmouleh)
    - #31845: Functional tests - Add some new tests on 'FO > Navigation and display' (by @nesrineabdmouleh)
    - #31762: Functional tests - Add 2 tests 'BO > Cart rule >  Check priority and disabled status' (by @nesrineabdmouleh)
    - #31701: Functional tests - Add new test 'BO > CRUD cart rules > Enable/disable partial use' (by @nesrineabdmouleh)
    - #31718: Fix nightly 8.0.x - 'BO > Orders > Check invoice' (by @nesrineabdmouleh)
    - #31710: Fix nightly 10-03 - 'BO > Orders > View invoice' (by @nesrineabdmouleh)
    - #31702: Fix AfterEach to not fail trying to take a screenshot (ui-test) (by @boubkerbribri)
    - #31671: Functional tests - Delete the test of best sellers block in home page (by @nesrineabdmouleh)
    - #31608: Functional tests - Refacto 'BO > Catalog > CRUD cart rule with & without code' (by @nesrineabdmouleh)
    - #31590: Functional tests - Add new test 'BO > Orders > Shopping carts > Export shopping carts' (by @nesrineabdmouleh)
    - #31573: Functional  tests - Add new test 'BO > CRUD features and values' (by @nesrineabdmouleh)
    - #31555: Functional tests - Refacto 'BO >International > CRUD country' (by @nesrineabdmouleh)
    - #31552: Functional tests - Add new test 'FO > Checkout > Show details' (by @nesrineabdmouleh)
    - #31509: Functional tests - Add new test 'FO > Checkout > Password reminder' (by @nesrineabdmouleh)
    - #31483: Functional Tests : Refactored Feature Flag (by @Progi1984)
    - #31407: Functional tests - Add new test 'Sign in in checkout page' (by @nesrineabdmouleh)
    - #31426: Functional tests - Add new test 'Add to cart by quick view modal' (by @nesrineabdmouleh)
    - #31492: Functional tests - Fix random errors (by @nesrineabdmouleh)
    - #31479: Functional tests - Fix typo error in addOrder page (by @nesrineabdmouleh)
    - #31477: Functional tests - Fix random errors in Nightly (by @nesrineabdmouleh)
    - #31389: Functional tests - Add scripts to run each test less than 30 minutes (by @nesrineabdmouleh)
    - #31357: Functional tests - Add new test 'FO > checkout page > Select carrier' (by @nesrineabdmouleh)

####################################
#   v8.0.5 - (2023-07-19)
####################################

- Core:
  - Improvement:
    - GHSA-xw2r-f8xv-c8xp add missing html attributes (by @matthieu-rolland)
- Back Office:
  - Improvement:
    - #33276: Add file headers and bump some dependencies (by @mflasquin)
    - GHSA-gf46-prm4-56pc protect from writing files on server through SQL form (by @matthieu-rolland)
  - Bug fix:
    - #33234: Update module's information cache and add clear cache for doctrine (by @M0rgan01)
    - #33008: Fix 'New' Translation domain (by @mflasquin)
    - #33124: Fix issue when disable tax, do not delete tax rules (by @mflasquin)
    - #33048: Add string casting for boolean fields (by @nicosomb)
    - #31379: Fix disabling a module for a specific shop applied to all shops (by @matthieu-rolland)
    - #32790: Fix PDF translations in backoffice (by @mflasquin)
    - #32715: Fix: [BO] : Error notification displayed in Multistore page (by @Codencode)
- Front Office:
  - Bug fix:
    - #32596: Fix availability display logic (by @mflasquin)
    - #32345: Hide vouchers with no available quantities (by @tleon)
- Tests:
  - Bug fix:
    - #33279: Nightly : 8.0.x : Unskip test for the issue 32914 (by @Progi1984)
    - #33131: Nightly : 8.0.x : Fixed error in filterTaxes (by @Progi1984)
    - #33033: Nightly : Fixed install Node 14 (by @Progi1984)
    - #33012: Nightly : Fixed mocha loader (8.0.x) (by @Progi1984)
    - #32834: Nightly : 8.0.x : Fixed error in package.json (by @Progi1984)
    - #32829: Nightly : Fixed functional/BO/02*/01*/viewAndEditOrder/11* (by @Progi1984)
  - Refactoring:
    - #33230: Nightly : 8.0.x - Skip test for the issue 32914 (by @Progi1984)
    - #33174: Sanity Tests - Fix bug in product V2 tests (by @nesrineabdmouleh)

####################################
#   v8.0.4 - (2023-04-13)
####################################

- Back Office:
  - Bug fix:
    - #32028: Fix module active flag with group & shop contexts (by @boherm)
    - #32028: Fix module active flag with group & shop contexts (by @boherm)
    - #31411: Display error message when language file is missing (by @Prestaworks)
    - #31390: Ignore attribute_quantity if stock management disabled (by @bibips)
    - GHSA-8r4m-5p6p-52rp Fix arbitrary file ready through sql manager
- Core:
  - Improvement:
    - #31285: Allow JS action after module import (by @sowbiba)
  - Bug fix:
    - GHSA-fh7r-996q-gvcp Fix possible XSS injection through Validate::isCleanHTML method
    - GHSA-p379-cxqh-q822 Fix executeS method making sure it does selection only (found by truff@projet7.org / Sébastien Cantos)
- Installer:
  - Bug fix:
    - #32112: Handle fallback in Tools::clearSf2Cache when container is not available (by @jolelievre)
- Web Services:
  - Bug fix:
    - #32044: Fix WS error: add product with empty unit-price (by @boherm)

####################################
#   v8.0.3 - (2023-03-01)
####################################

- Back Office:
  - Improvement:
    - #31902: Remove cache clear lock file after it is not needed (by @jolelievre)
    - #31647: Prevent email enumeration (by @MathiasReker)
  - Bug fix:
    - #31820: Handle custom lock file during the cache clear and force module actions one by one (by @jolelievre)
    - #31772: Fix wordings in BO for keys WS (by @boherm)
- Core:
  - Improvement:
    - #31912: Upgrade prestashop modules (by @matthieu-rolland)
    - #31913: Bump symfony version  (by @matthieu-rolland)
    - #31907: Bump module ps_distributionapiclient (by @matthieu-rolland)
    - #31909: Bump prestashop to 8.0.3 patch version (by @matthieu-rolland)
- Installer:
  - Improvement:
    - #31697: Link to the "data transparency" page inside installer (by @lartist)
  - Bug fix:
    - #31787: Installer : Fixed link to docs in Installer (by @Progi1984)

####################################
#   v8.0.2 - (2023-03-01)
####################################

- Back Office:
  - Bug fix:
    - #30957: Redirect to product list with warning message instead of raising an exception when we try to access a product which doesn't exist (by @lartist)
    - #31514: Fix sorting attribute do not works (by @mflasquin)
    - #31667: Catch PrestaShopException to validate sql-requests properly in PHP 8.X (by @boherm)
    - #31654: Fix addslashes not working (by @mflasquin)
    - #31603: Fix generating of preload.tpl (by @kpodemski)
    - #30962: Module from theme with tab using SF routing fails after enabling the theme (by @jolelievre)
    - #29358: Fix price formatting in MoneyType (by @zuk3975)
    - #29647: BO - Import files - Do not show generated csv files from import/csvfromexcel folder in history of uploaded files (by @mflasquin)
    - #30415: Fix applying special char on translations (by @mflasquin)
    - #29488: Module translations no longer take translations from another lang if its default one. (by @margud)
    - #29837: Avoid possibility to create product with combinations when combinations feature is disabled (by @mflasquin)
    - #30818: Fix access for read only permissions (by @dingedi)
    - #30745: Load default language if employee id lang does not exist (by @mflasquin)
- Front Office:
  - Bug fix:
    - #31152: Always use id_country from request if provided (by @atomiix)
    - #31148: Change domain to fix translation issue (by @atomiix)
    - #30992: Fix customer isLogged property in FO (by @Hlavtox)
- Core:
  - Improvement:
    - #31707: Update composer.lock for modules contactform and ps_contactinfo (by @matthieu-rolland)
    - #31574: Lock theme classic version to 2.0.8 (by @matthieu-rolland)
    - #31575: Add missing licence  (by @matthieu-rolland)
    - #30676: Upgraded classic theme and ps_contactinfo module (by @nicosomb)
  - Bug fix:
    - #31503: Filter empty values for modulesFromHooks (by @sowbiba)
    - #31137: Disable module's hook before upgrading it (by @atomiix)
    - #31241: Improved session availability test (by @Hlavtox)
    - #31006: Fix conversion of hex color codes (by @lmeyer1)
    - #30834: Fix SQL error introduced by da10f001 (by @lmeyer1)
- Web Services:
  - Bug fix:
    - #31023: Backport #30309 : Fix broken result in webservices for 8.0.x (by @boubkerbribri)
    - #30993: Fix issue #26568 about customer blank schema (by @ceer)
- Tests:
  - Bug fix:
    - #29751: Fixed testsuite with sebastian/comparator release (by @nicosomb)
  - Refactoring:
    - #31389: Functional tests - Add scripts to run each test less than 30 minutes (by @nesrineabdmouleh)

####################################
#   v8.1.0 Beta 1 - (2023-01-09)
####################################

- Back Office:
  - New feature:
    - #31130: Unify stabilize and enable product feature flag (by @jolelievre)
    - #31095: Handle last actions for product list multi shop (by @jolelievre)
    - #30169: Skip admin IP check when maintenance mode is enabled  (by @unlocomqx)
    - #30045: Added new image formats generation (by @nicosomb)
    - #30781: Handle product list multishop row actions (by @jolelievre)
    - #30497: APIS08 - Display list of authorized apps (by @mflasquin)
    - #30584: Manage cover in multishop context (by @lartist)
    - #30677: Product shop previews (by @jolelievre)
    - #30624: Manage multi shop images association (by @jolelievre)
    - #30337: Add “Authorization server” in the side menu of the BO (by @mflasquin)
    - #30662: Product edit modal shop selection (by @jolelievre)
    - #30603: Allow controlling profiler from backoffice (by @Hlavtox)
    - #30495: Product multishop list and shared group stock (by @jolelievre)
    - #30455: Fetching every image details for a product in every shop (by @lartist)
    - #29927: [BC Break] Add visibility checkbox description (by @FabienPapet)
    - #30315: Customization field multishop (by @jolelievre)
    - #30380: BO > Shopping Carts : Force Bulk Column (by @Progi1984)
    - #30054: Add a modal window when the user clicks on 'Regenerate thumbnails' button (by @Progi1984)
    - #28640: [BC Break] Add movements history grouping in product page (by @jolelievre)
    - #27712: [BC Break] Create product for shop, shop selection modal (by @jolelievre)
    - #30106: Manage image by multi shop matrix (by @lartist)
    - #30035: Allow legacy link feature flag (by @FabienPapet)
    - #30132: [BC Break] Upgrade AddProductImageCommand and GetProductImageCommand to fit with multishop (by @lartist)
    - #28820: Add employee info on the Payments tab when payment is registered (by @Progi1984)
    - #27608: Make Shop Parameters > Customer Settings > Customers form multistore compatible (by @micka-fdz)
  - Improvement:
    - #29524: Disable product type button when new changes are not saved (by @margud)
    - #31142: Add feature flags for rest of migrated pages (by @JevgenijVisockij)
    - #31136: Handle route not found in new api (by @mflasquin)
    - #31135: Forced jpg format for images generation (by @nicosomb)
    - #28812: [BC Break] Tax Rules Group : Migrate Add & Edit Forms (by @Progi1984)
    - #30863: Add delete action to module manager (by @Hlavtox)
    - #29314: Collect unregistered hooks in debug toolbar (by @jolelievre)
    - #31061: Fix debug bar partially covering some elements (by @JBLach)
    - #31047: [BC Break] Add shop constraint on SetAssociatedProductCategoriesCommand and RemoveAllAssociatedProductCategoriesCommand (by @jolelievre)
    - #31048: [BC Break] Duplicate product multishop (part 1) (by @jolelievre)
    - #30918: Change icon of module with missing logo (by @Hlavtox)
    - #30846: Refactor module manager (by @Hlavtox)
    - #30853: Added cache:clear after composer commands (by @nicosomb)
    - #30900: Adding feature flag for catalog price rules and cart rules (by @JevgenijVisockij)
    - #30665: Allow override.css to be used in the new back office theme (by @jeckyl)
    - #30772: Allow unselecting default category in category tree (by @zuk3975)
    - #29421: Remove empty category blocks in module manager (by @eternoendless)
    - #30510: Added the deletion of images linked to the image settings (by @nicosomb)
    - #29475: Eco tax fixed for combination price (by @margud)
    - #30467: Remove the configuration "Automatically check for module updates" (by @Progi1984)
    - #29569: Don't get info about email exists when reset admin password (by @PululuK)
    - #29753: Allow to configure if order should switch to backorder (by @Hlavtox)
    - #29793: Add a button to delete logo image on Manufacturer/Supplier form (by @Progi1984)
    - #28141: Add breadcrumbs for categories with identical names (by @zuk3975)
    - #29377: Make new-theme npm 8 compatible (by @NeOMakinG)
    - #29934: Center icon into sidebar (by @PrestaEdit)
    - #29490: Notice in Back Office where you edit image settings (by @AlexTechDev)
    - #28439: Migrate the Customers > Title (Only Delete & Bulk Delete) (by @Progi1984)
    - #28634: Notification Dropdown : Migrate links to Symfony routes (by @Progi1984)
    - #29173: Limit min date and max date of the movements page (by @NeOMakinG)
    - #28872: Allow controller to set class name in select render list column (by @Amit-Kumar-Tiwari-Webkul)
    - #27987: States : Migrate Add & Edit Forms (by @Progi1984)
    - #28441: IP white list should not be preconfigured (by @lmeyer1)
    - #28799: Sort product table (in email, invoices and order view) by reference id (by @Progi1984)
    - #28736: Confirmation modal before disabling non native module (by @Progi1984)
    - #28683: Improve datepicker design in dashboard (by @mparvazi)
  - Bug fix:
    - #31255: PPV2 catch ProductNotFound exception and flash error (by @zuk3975)
    - #31250: PPV2 fix updating name for all shops while enabling status for single shop (by @zuk3975)
    - #31247: Feature flag multistore (by @jolelievre)
    - #30592: [BC Break] Combination delta quantity fix (by @margud)
    - #31171: Fallback to first found combination when fetching combination by all shops constraint (by @zuk3975)
    - #31235: Do not show combination id in history tab (by @zuk3975)
    - #31199: Fix prestashop:linter:security-annotation find-missing failed because of non existant methods (by @mflasquin)
    - #30985: Consider attribute_shop association when generating combinations (by @zuk3975)
    - #30881: Load combination choices depending on shop selection in SpecificPrice form (by @zuk3975)
    - #30996: Fix sql request when fetching all products of a shop group (by @lartist)
    - #30473: Customer/Customer Preferences : Display an alert message for partner offers (by @Progi1984)
    - #30808: Remove images from shop when deleting product from shop (by @zuk3975)
    - #30959: Fix typo in getCombinationIdsAction annotation and simplify js selector (by @zuk3975)
    - #30962: Module from theme with tab using SF routing fails after enabling the theme (by @jolelievre)
    - #28070: Add new order - Cart rule description is not correct (by @buggyzap)
    - #30730: Changing wording and adding text helper for product name error input (by @lartist)
    - #30948: Restore original module action order (by @Hlavtox)
    - #28720: Avoid clear ranges when click on "Free shipping" (by @marsaldev)
    - #29944: Use relative urls for Quick Access menu (by @lmeyer1)
    - #29358: Fix price formatting in MoneyType (by @zuk3975)
    - #29647: BO - Import files - Do not show generated csv files from import/csvfromexcel folder in history of uploaded files (by @mflasquin)
    - #30831: Fix text-preview widget to show combination names in list (by @zuk3975)
    - #30158: Disable access to the customer groups page when this feature is disabled (by @ks129)
    - #30415: Fix applying special char on translations (by @mflasquin)
    - #29488: Module translations no longer take translations from another lang if its default one. (by @margud)
    - #29837: Avoid possibility to create product with combinations when combinations feature is disabled (by @mflasquin)
    - #30818: Fix access for read only permissions (by @dingedi)
    - #29381: Allow blank value for mobile phone (by @tom-combet)
    - #30352: Remove 1 million cap limit in the max field for the product ID (by @marsaldev)
    - #30776: Allow searching brands in choices list of product v2 (by @zuk3975)
    - #30745: Load default language if employee id lang does not exist (by @mflasquin)
    - #30742: Remove wholesale price suppliers synchronicity (by @jolelievre)
    - #30737: Fix error message when enabling product without name in monitoring page (by @lartist)
    - #30683: Combination multishop fix (by @jolelievre)
    - #30613: Handle multishop builders interfaces in bulk form data handler (by @jolelievre)
    - #30567: Fix stock availability labels update when product is combination type (by @zuk3975)
    - #30503: Add class to password field (by @JevgenijVisockij)
    - #30231: Update product.id_category_default after deleting categories (by @zuk3975)
    - #29900: Handle multishop for packed products in product page V2 (by @mflasquin)
    - #30387: HelperList callback is not called when column data is null (by @PululuK)
    - #28568: Fix form_help block shown twice in text fields (by @elboletaire)
    - #29722: Disable "Features" section in Product Page when Features are disabled (by @Progi1984)
    - #29646: Call parent stylesheets were missing (by @zuk3975)
    - #29630: Fix display issues on BO employee page when cancel the modification of the password (by @mflasquin)
    - #29624: Use INTL_IDNA_VARIANT_2003 when INTL_IDNA_VARIANT_UTS46 is not defined (servers whith ICU < 4.6) (by @javdome)
    - #30258: Fix recording last connection of a user (by @mflasquin)
    - #29232: Uncheck truncate input if its hidden (by @korbi551)
    - #29571: Fixed the duplication of Alias when update (by @Progi1984)
    - #30178: Fixed Stats dashboard when AdminStats module is not enabled (by @nicosomb)
    - #30146: Fix #29436 - The override directory is deleted when a module is uninstalled (by @idnovate)
    - #29739: Remove short_description field from the Suppliers importer (by @kpodemski)
    - #30065: Fix quick access new product (by @margud)
    - #30135: Fix child theme download (by @Hlavtox)
    - #29977: Updating default combination is now take into account when submitting the form (by @lartist)
    - #30052: Added required attribute on text input for admin controller (by @nicosomb)
    - #28917: Display an error message if editing by zero on quantity field (by @Progi1984)
    - #29515: Fix tag relation with product in Tag form (by @zuk3975)
    - #29909: Fix join on product lang to retrieve correctly the product's name (by @0x346e3730)
    - #29740: Remove not needed help text when you add new tax rule (by @kpodemski)
    - #29861: Fix subtitle default position on module configure page (by @NeOMakinG)
    - #29731: Fix a problem with invalid filtering on the Modules -> Positions page (by @kpodemski)
    - #29762: Remove french helptext (by @Hlavtox)
    - #29505: Respect configuration of product summary max length (by @zuk3975)
    - #28716: Match the right carrier in the select with the price shown when creating a new order from BO (by @marsaldev)
    - #29548: Remove related products from search index when removing tag (by @zuk3975)
    - #29590: Replaces non-existent route by the correct one in geolocation controller (by @nicosomb)
    - #29363: Fix typo in module controller messages (by @laurentrousseau918)
    - #28762: Target the table on the reload of the page after a sort (by @Progi1984)
    - #29114: BO > Customers > Addresses - Required fields are not used in back office (by @okom3pom)
    - #29161: Fix update order status settings with readonly user (by @FabienPapet)
    - #29052: Fix the core JS files npm 8 compatibility (by @NeOMakinG)
    - #28510: Prevent using period, comma keys inside quantity input (by @kpodemski)
    - #28992: Fix material icons for legacy BO search form (by @mparvazi)
    - #28827: Fix default theme compatibility with npm 8 (by @NeOMakinG)
    - #28843: Remove Addons reference in the Improve > Theme page (by @Progi1984)
    - #28824: Fix the download link of the invoice search (by @okom3pom)
    - #28842: Remove Addons reference in the Carriers Listing (by @Progi1984)
    - #28718: Fix carriers with same names don't show in Shipping > Preferences (by @jf-viguier)
    - #28343: Fix confusion about how is translated "Reorder" (by @SLRkingRing)
    - #28763: Fixed redirect after canceling the edition of an address from the customer detail page (by @Progi1984)
    - #28613: Fix inability to delete csv-converted files from import (by @gennaris)
    - #28722: Cart with wrong id_shop_group when order is made in BO (by @cquintini)
  - Refactoring:
    - #30936: Simplify stock_threshold_alert field in UpdateProductCommand and UpdateCombinationCommand (by @zuk3975)
    - #30800: Move grid column type classes (by @mflasquin)
    - #30793: Combination actions dropdown list and delete from all shops action (by @zuk3975)
    - #30947: Fix doubled message on module upload (by @Hlavtox)
    - #30946: Delete old module manager JS files (by @Hlavtox)
    - #30806: Rename SpecificationType to Details type and whole namespace (by @zuk3975)
    - #30847: Use FQCN service definitions style for product services (by @jolelievre)
    - #30797: Unify combination repositories into one (by @zuk3975)
    - #30689: Use Symfony HttpClient inside WebserviceController instead of Guzzle (by @Worst45)
    - #28642: Feature/migrate merchandise return view 1 (by @JevgenijVisockij)
    - #30590: All shops checkboxes for combination edit/bulk-edit forms (by @zuk3975)
    - #30585: Implement shopConstraint in getCombinationIds() (by @zuk3975)
    - #30598: Improve syntax of information page (by @Hlavtox)
    - #28542: Add catalog price rule list to product form (by @JevgenijVisockij)
    - #30564: Implement delete combinations for all shops button (by @zuk3975)
    - #30559: Add a checkbox to generate combinations for all shops (by @zuk3975)
    - #30557: Only show current and all shops for specific price type (by @zuk3975)
    - #30538: Use shop constraint in UpdateCombinationCommand (by @zuk3975)
    - #28463: Update vue 2 to vue 3 and every linked dependencies (by @NeOMakinG)
    - #30504: Remove combination handlers in favour of unified UpdateCombinationCommand (by @zuk3975)
    - #30463: Remove unused product handlers in favour of unified UpdateProductCommand (by @zuk3975)
    - #30434: Enable unified UpdateCombinationCommand in product page v2 (by @jolelievre)
    - #30421: Add behat scenarios for combination generation and deletion in all shops (by @zuk3975)
    - #30359: Simplify Profile form (by @Progi1984)
    - #30378: Enable unified UpdateProductCommand in product page v2 (by @zuk3975)
    - #30381: Unified combination command - isDefault, prices and stock (by @jolelievre)
    - #30369: Unification combination command details (by @jolelievre)
    - #30372: Handle product status update in UpdateProductCommand (by @zuk3975)
    - #30360: UpdateProductCommand unification - handle stock properties (by @zuk3975)
    - #30297: Introduce Dimension value object (by @zuk3975)
    - #29985: Simplify Employee Options Form (by @Progi1984)
    - #30228: UpdateProductCommand unification - Shipping related properties handling (by @zuk3975)
    - #28395: Combination generation & deletion multishop handling (by @zuk3975)
    - #30248: Create independent SetCarriersCommand (by @jolelievre)
    - #30160: Fix exception throwing in CategoryRepository (by @zuk3975)
    - #30197: UpdateProductCommand unification - Details related properties handling (by @zuk3975)
    - #29732: Customer service controller migration (grid part) (by @margud)
    - #30143: UpdateProductCommand unification - SEO related properties handling (by @zuk3975)
    - #30122: UpdateProductCommand unification - prices related properties handling (by @zuk3975)
    - #30031: Introduce single unified UpdateProductCommand (by @zuk3975)
    - #30069: Fix phpstan error "Right side of && is always true" (by @zuk3975)
    - #28465: Simplify Employee Form (by @Progi1984)
    - #28551: Migrate country create action (by @margud)
    - #29376: Horizontal migration HelperListConfiguration refacto (by @zuk3975)
    - #28794: Deprecate AdminPdf calls and use Sf routes (by @Progi1984)
    - #28825: Order invoices configuration form: add multistore compatibility and some refactoring (by @MeKeyCool)
    - #28246: Fix DisabledProductGridDefinitionFactory (by @zuk3975)
    - #28699: Tax Rules Groups > Grid : Confirm Modal & Common Search (by @Progi1984)
- Front Office:
  - New feature:
    - #29995: Allow themes to disable loading of core scripts (by @Hlavtox)
    - #30667: Add a display hook in the address step just like other checkout step (by @Amit-Kumar-Tiwari-Webkul)
    - #29922: InkExtension added to Twig (by @Oksydan)
    - #29720: Add more options for discontinued products (by @Hlavtox)
  - Improvement:
    - #29570: Fix availability structured data (by @Hlavtox)
    - #30075: Improve cart recovery and show proper errors. (by @Hlavtox)
    - #29016: Improve quantity check for Product and Cart (by @mparvazi)
    - #30789: Add `new-products` page in global urls smarty (by @hendaghanmi)
    - #30602: Get stores ordered by names (by @jf-viguier)
    - #28582: Stronger https detection in Tools::getShopProtocol() (by @jf-viguier)
    - #30449: Optimize getting meta title of the product (by @idnovate)
    - #30416: Add `id_feature_value` in `Product::getFrontFeaturesStatic` (by @PululuK)
    - #30383: Add `theme_dir` smarty global var in front contoller (by @hendaghanmi)
    - #30347: Pass variable by reference to reuse it in modules (by @idnovate)
    - #30277: Mail: add PS_MAIL_SUBJECT_PREFIX to control [Foo] subject prefix (by @rmilecki)
    - #29516: Add contact page hooks (by @NeOMakinG)
    - #29953: Deprecate Customer::validateController (by @jf-viguier)
    - #28942: Remove default meta description (by @jf-viguier)
    - #29264: Add manufacturer and supplier body classes (by @Hlavtox)
    - #28943: Throw exception when ImageType doesn't return anything on FO (by @eternoendless)
    - #28784: Allow to translate placeholder (by @okom3pom)
    - #28814: Call initContent of the parent at the beginning (by @PrestaEdit)
    - #28541: New method Tools::getCurrentUrl() (by @jf-viguier)
    - #28469: [BC Break] Make `Shop::getBaseURL` use secure mode by default (by @jf-viguier)
  - Bug fix:
    - #30992: Fix customer isLogged property in FO (by @Hlavtox)
    - #27947: Use inherited layout for categories (by @jf-viguier)
    - #28502: Fix showing price of customized products in Order Confirmation page (by @artemevsin)
    - #30727: Delete all combinations when removing product from shop (by @zuk3975)
    - #30181: Changed the terminology `Best sales` to `Best sellers` (by @Progi1984)
    - #30342: Add supplier to {url} helper (by @PrestaSafe)
    - #30314: Add manufacturer url to {url} helper (by @PrestaSafe)
    - #29294: Fix body classes for content_only and module front controllers (by @Hlavtox)
    - #27758: Fix images for objects without name or rewrite (by @Hlavtox)
    - #29104: Fix missing id_guest in cookie (by @Seb33300)
    - #29821: Fix category access when group feature is disabled (by @Hlavtox)
    - #29801: Fix group when converting customer through front office form (by @Hlavtox)
    - #29552: Only show active CMS categories in breadcrumb (by @lmeyer1)
    - #28947: Fix missing translations on meta pages (by @micka-fdz)
    - #28811: Add random to Validate Class and Test (by @okom3pom)
    - #27643: Improve mail order message (by @Prestaplugins)
    - #28639: Do not allow blank message from customer end on the order detail page (by @Amit-Kumar-Tiwari-Webkul)
    - #27890: Add check if the gift wrapping is disabled (by @marsaldev)
  - Refactoring:
    - #30408: Add getters for controller objects (by @Hlavtox)
    - #30522: Fix : Allow front product controller breadcrumb function override (by @Dreimus)
    - #30234: Optimize product assembler (by @Hlavtox)
    - #29462: Clean-up the base object presenter (by @Hlavtox)
    - #29797: Refacto frontend sitemap and add hook to modify it (by @Hlavtox)
    - #29822: Fix accessing disabled product, further refacto of controller (by @Hlavtox)
    - #29435: Refacto product front controller (by @Hlavtox)
- Core:
  - New feature:
    - #31027: Multiple format generation at product creation  (by @matthieu-rolland)
    - #28999: Add actionLoggerLogMessage hook (by @PrestaEdit)
    - #30363: Add ShopConstraintEventListener (by @FabienPapet)
    - #29411: Add availability labels to combinations (by @Hlavtox)
    - #30310: Add default config value for backorder status (by @Hlavtox)
  - Improvement:
    - #31260: Update PrestaShop module version (by @lartist)
    - #31226: Update dependency classic theme (by @lartist)
    - #31249: Update licenses (by @lartist)
    - #31236: Bump patch symfony (by @lartist)
    - #31237: Update hook list (by @lartist)
    - #31131: DI improvements 2/2 (follow up f56456cf902c0cbe19b4df3c234354c284bc52de) (by @FabienPapet)
    - #31070: Dependency injection cleanup 1/X (by @FabienPapet)
    - #31073: Deprecate FrameworkBundleAdminController::configuration (by @FabienPapet)
    - #31078: Deprecate Tools::getBytes() (by @FabienPapet)
    - #31060: Deprecate `Tools::getDescriptionClean()` (by @FabienPapet)
    - #31045: [BC Break] Fix deprecated function usage in test function (by @FabienPapet)
    - #31044: Deprecate some useless classes related to legacy upload system (by @matthieu-rolland)
    - #31043: Fix deprecated function usage (by @FabienPapet)
    - #31031: Deprecate renderForm methods (by @FabienPapet)
    - #30971: Use PrestaShop's jwt repository (by @atomiix)
    - #30999: Add stub file for IDE exploration (by @matthieu-rolland)
    - #30956: Bump phpstan/phpstan from 1.9.6 to 1.9.14 (by @Progi1984)
    - #30964: Updated PrestaShop Packages (by @github-actions[bot])
    - #30941: Updated PrestaShop Packages (by @github-actions[bot])
    - #30923: Updated PrestaShop Packages (by @github-actions[bot])
    - #30541: Speed up product deletion (by @davidglezz)
    - #30588: Load module autoloaders and service configurations before the core Symfony compiler passes are executed (by @dr-woland)
    - #28521: Remove final class from attachment uploader (by @integritty)
    - #30801: Use packagist to download prestashop/autoload (by @matks)
    - #29842: Update UIKit, switch to sass-embedded and make new-theme compatible with node 16, 18 and 19 (by @NeOMakinG)
    - #30728: Bump `phpstan/phpstan` from 1.9.3 to 1.9.6 (by @Progi1984)
    - #30676: Upgraded classic theme and ps_contactinfo module (by @nicosomb)
    - #30607: Improve comment wording in src/PrestaShopBundle/Controller/Admin/ProductController.php (by @marsaldev)
    - #30540: Improve Product::getAttributesResume (by @StoreCommanderDev)
    - #30472: Bump dependencies for 8.1 (by @FabienPapet)
    - #30357: Migrate Tools::str2url to new code (by @FabienPapet)
    - #30496: [BC Break] Replace Symfony/Component/Translation by Symfony/Contracts/Translation in every file (by @FabienPapet)
    - #30339: Updated JS Routing file (by @github-actions[bot])
    - #25984: Provide modules with information how much a quantity changed (by @Hlavtox)
    - #30087: Bump version to 8.1.0 & Github Actions : Removed Skip Conditions (by @Progi1984)
    - #30194: Add an isset test on id_manufacturer while getting product properties (by @PrestaEdit)
    - #30034: Add comment to explicit range_behavior attribute on Carrier class (by @thomasnares)
    - #29087: Update `phpstan/phpstan` from 1.7.4 to 1.8.11 (by @Progi1984)
    - #27927: Add Hook actionProductPriceCalculation (by @carmas123)
    - #29981: Rotate Symfony log file (by @jf-viguier)
    - #29993: Allow to use own value to submit button (by @PrestaEdit)
    - #29423: Prevent *.twig, config.xml & config_{lang}.xml files from direct access in modules folder (by @clotairer)
    - #30133: Use array short tag in translations files (by @PrestaEdit)
    - #29382: Do not authorize PHP direct call on themes directory (by @clotairer)
    - #30047: Remove unused "override" property in class index (by @eternoendless)
    - #29470: Don't register `module` on `hook` if already registered (by @PululuK)
    - #29304: Add support for other file extensions in rewrite rules (by @eternoendless)
    - #29707: Add template country global vars (by @PululuK)
    - #29499: Add entity param to displayOverrideTemplate hook (by @PrestaEdit)
    - #29645: Fix typo into phpDoc (by @PrestaEdit)
    - #29781: Add possibility for modules to return custom order number (by @Hlavtox)
    - #29841: Add info about fixing multiple issues into template (by @Hlavtox)
    - #29419: Ignore `.htpasswd` file (by @PululuK)
    - #29403: Add index.php into directory (by @PrestaEdit)
    - #29367: Update the theme argument description (by @PrestaEdit)
    - #29325: Fix exception message while removing configuration (by @PrestaEdit)
    - #29113: More data available for the productoutofstock email (by @kpodemski)
    - #29094: Add Smarty blocks to variables and styles definition (by @PrestaEdit)
    - #29092: Remove commented code (by @PrestaEdit)
    - #28949: Change PrestaShop URL in footer of emails (by @micka-fdz)
  - Bug fix:
    - #31032: Fix LOGO_MAIL in multistore (by @jweillinfo)
    - #31006: Fix conversion of hex color codes (by @lmeyer1)
    - #29340: Duplicated join in query. (by @lmeyer1)
    - #30906: Fix a typo in the profiler (by @kpodemski)
    - #30834: Fix SQL error introduced by da10f001 (by @lmeyer1)
    - #30118: Fix potential warning on getPosition method of Module class (by @hugofintecture)
    - #30456: Unify brightness checks (by @FabienPapet)
    - #30549: Fix typo (by @staabm)
    - #28618: Fix `PrestashopLogger`  attr `object_type` validate (by @PululuK)
    - #29904: Add support multiple attribute in `HelpOptions` select type (by @PululuK)
    - #29664: Removed `US/Pacific New` from timezone list (by @Progi1984)
    - #29741: Handle KPI configuration properly for the dashgoals module (by @kpodemski)
    - #26788: Cart: replace this->getAssociatedLanguage()->getId() by equivalent th… (by @lmeyer1)
    - #29141: Fix typo inside Reference's comment (by @abramofranchetti)
    - #28865: PrestashopCollection needs a shop restriction (by @lmeyer1)
    - #29036: Deprecate URL generation on category with id 0 and remove preview in category creation (by @FabienPapet)
    - #28921: Wrong behavior in FO when there is only one currency after deleted an other one (by @okom3pom)
    - #28743: Remove dependency to the missing news.yml (by @sowbiba)
    - #28724: Add new default password for docker image (by @boubkerbribri)
  - Refactoring:
    - #31004: Migrate security function hash / hashIV / generatePassword (by @FabienPapet)
    - #30966: Avoid potencial fatal error in `Link::getCategoryLink` (by @PululuK)
    - #30225: Add modern and active Sortable library (by @leemyongpakvn)
    - #30576: Remove getConfiguration usage in CommonAbstractType.php (by @FabienPapet)
    - #30725: Optimize `Product::hasCombinations` (by @PululuK)
    - #30558: Removal of unnecessary comparison (by @dingedi)
    - #30518: Define  `_PS_DO_NOT_LOAD_CONFIGURATION_` default state (by @PululuK)
    - #30398: Simplify default currency fetching for easier code understanding (by @FabienPapet)
    - #29832: Wrong datas in order return with multiple products (by @PululuK)
    - #30418: Deprecate prestashop.core.string.character_cleaner (by @FabienPapet)
    - #30406: Refacto `StoresController::getTemplateVarStores` (by @PululuK)
    - #30384: Simplify configuration class methods (by @davidglezz)
    - #29295: Move `copyImg` to `ImageManager` and make reusable (by @PululuK)
    - #30269: Add comments to customer logic (by @Hlavtox)
    - #29609: Fix `AdminProductsController` minor code issue (by @PululuK)
    - #29957: Add comments to customer class (by @jf-viguier)
    - #29958: Add comments to hook class (by @jf-viguier)
- Installer:
  - New feature:
    - #29765: Changed message when PHP version is not correct (by @nicosomb)
  - Improvement:
    - #30799: Fix GetResponseEvent deprecations (by @FabienPapet)
    - #29923: Refactor PrestashopAutoload system (by @FabienPapet)
    - #30163: Deprecate `Validate::isAnything` (by @FabienPapet)
    - #29965: Minor Module performance fixes (by @FabienPapet)
    - #30156: Replace `Tools::link_rewrite` usages by `Tools::str2url`, deprecate `Tools::link_rewrite` (by @FabienPapet)
    - #29750: Replace AppKernel version constants by prestashop versions (by @FabienPapet)
    - #28500: Add a lock file during the install (and it's removed only if the install is well finished) (by @Progi1984)
  - Bug fix:
    - #28946: Show errors when installing a module fails (by @eternoendless)
    - #30594: Fix total total_price_tax_excl (by @maniT4c)
    - #30571: Revert inky extension (by @jolelievre)
    - #30284: Fix generation of nightlies on develop branch (by @Quetzacoalt91)
    - #29938: Fix issue 29937 - Array to string conversion in information of cli installation command (by @thomasnares)
    - #28481: Handle no themes issue at install (by @matks)
- Web Services:
  - New feature:
    - #30293: Aaa/apis01 implement cqrs based api endpoint (by @mflasquin)
    - #29931: [BC Break] Introduce OAuth2 Authorization server (by @atomiix)
  - Improvement:
    - #28806: Allows to set id_customization for cart row via webservices (by @webeshop)
  - Bug fix:
    - #30993: Fix issue #26568 about customer blank schema (by @ceer)
    - #28711: Fixed WebP Management in WebService (by @Progi1984)
    - #30309: Fix broken result in webservices (by @matthieu-rolland)
    - #28540: Fix WebserviceOutputBuilder - handle api categories blank schema (by @angelo983)
    - #29135: [BC Break] Webservice: honor maximum image upload size (by @balejk)
    - #28537: Fix bug with all shops context in WebService (by @Prestaworks)
- Tests:
  - Improvement:
    - #31238: Functional Tests : Migration TS (Type Hint on forEach & Remove all casts) (by @Progi1984)
    - #31217: Functional Tests : Migration TS (`@data/import/*`) (by @Progi1984)
    - #31179: Functional Tests : Migration TS (`@pages\BO` : Part 6) (by @Progi1984)
    - #31108: Functional Tests : Migration TS (`@pages\BO` : Part 5) (by @Progi1984)
    - #31049: Functional Tests : Migration TS (`@pages\BO` : Part 4) (by @Progi1984)
    - #31030: Functional Tests : Migration TS (`@pages\BO` : Part 3) (by @Progi1984)
    - #31010: Functional Tests : Migration TS (`@pages\BO` : Part 2) (by @Progi1984)
    - #30951: Functional Tests : Migration TS (`@data/demo/*`) (by @Progi1984)
    - #30914: Functional Tests : Migration TS (`@data/faker/*`) (by @Progi1984)
    - #30861: Functional Tests : Migration TS (`@commonTests/BO/*`) (by @Progi1984)
    - #30865: Functional Tests : Migration TS (`@data/faker/{file,employee,country,carrier,cmsPage`)  (by @Progi1984)
    - #30838: Functional Tests : Migration TS (`@data/faker/{orderStatus,orderReturnStatus,orderMessage,language,invoice,imageType,group}`) (by @Progi1984)
    - #30826: Functional Tests : Migration TS (`@commonTests/FO/*`) (by @Progi1984)
    - #30809: Functional Tests : Migration TS (`@pages\BO` : Part 1) (by @Progi1984)
    - #30777: Functional Tests : Migration TS (`@data/faker/product`) (by @Progi1984)
    - #30790: Functional Tests : Migration TS (`@pages/BO/shopParameters/*`) (by @Progi1984)
    - #30752: Functional Tests : Migration TS (`@data/faker/{state,sqlQuery,shopGroup,shop,seoPage, searchEngine,search,profile}`) (by @Progi1984)
    - #30749: Functional Tests : Migration TS (BO - 02) (by @Progi1984)
    - #30739: Functional Tests : Migration TS (BO - 00) (by @Progi1984)
    - #30738: Functional Tests : Migration TS (BO - 03) (by @Progi1984)
    - #30726: Functional Tests : Migration TS (`@data/faker/tag`, `@data/faker/supplier`, `@data/faker/store`) (by @Progi1984)
    - #30724: Functional Tests : Migration TS (BO - 04) (by @Progi1984)
    - #30681: Functional Tests : Migration TS (BO - 05/07) (by @Progi1984)
    - #30679: Functional Tests : Migration TS (`regression/**/*`) (by @Progi1984)
    - #30695: Functional Tests : Migration TS (`@data/faker/tax` / `@data/faker/taxRule` / `@data/faker/taxRulesGroup`) (by @Progi1984)
    - #30682: Functional Tests : Migration TS (Sanity) (by @Progi1984)
    - #30660: Functional Tests : Migration TS (BO - 08) (by @Progi1984)
    - #30693: Functional Tests : Migration TS (`@data/faker/title` / `@data/faker/webservice` / `@data/faker/zone`) (by @Progi1984)
    - #30661: Functional Tests : Migration TS (`commonTests/FO/login` & `commonTests/FO/createShoppingCart`) (by @Progi1984)
    - #30657: Functional Tests : FO - 01 (by @Progi1984)
    - #30646: Functional tests : Migration TS (Migrate `@utils/basicHelper`) (by @Progi1984)
    - #30640: Functional Tests : Migration TS (Install) (by @boubkerbribri)
    - #30638: Functional Tests : Migration TS (FO - 02) (by @Progi1984)
    - #30639: Functional Tests : Migration TS (BO - 09) (by @Progi1984)
    - #30627: Functional Tests : Migration TS (FO - 03) (by @Progi1984)
    - #30621: Functional Tests : Migration TS (BO - 10) (by @Progi1984)
    - #30615: Functional tests : Migration TS (Migrate `@utils/files`) (by @Progi1984)
    - #30611: Functional Tests : Migration TS (FO - 04/05/06) (by @Progi1984)
    - #30593: Functional Tests : Migration TS (BO - 11) (by @Progi1984)
    - #30583: Functional tests : Migration TS (FO - 07 & 08) (by @Progi1984)
    - #30575: Functional Tests : Migration TS (BO > 13) (by @Progi1984)
    - #30419: Add better logging in the create-test-db script (by @jolelievre)
    - #30466: Functional Tests : Migration TS (BO > Advanced Parameters 04 => 07) (by @Progi1984)
    - #30513: Add PHPStan rule to disallow calling of deprecated Symfony Translation (by @FabienPapet)
    - #30505: Add phpstan disallowed calls extension (by @FabienPapet)
    - #30329: Functional Tests : Migration TS (BO > Advanced Parameters 08 => 10) (by @Progi1984)
    - #30403: Functional Tests : Split scripts for reducing time (by @Progi1984)
    - #30299: Functional Tests : `check:step-identifiers` : Improved error message & Added check for baseContext (by @Progi1984)
    - #30298: Functional Tests : Migration TS (BO > Header & utils/mailHelper) (by @Progi1984)
    - #30125: Add typescript, eslint dependencies, types to tests folders (by @NeOMakinG)
    - #30209: Functional Tests : BO - Left Menu (by @Progi1984)
    - #30030: Functional Tests : Remove `eslint-config-prestashop` & Bump `eslint` - `eslint-config-airbnb-base` (by @Progi1984)
    - #30039: Removed `faker.company.companyName()` deprecated since faker v7.4 (by @Progi1984)
    - #29907: Functional Tests : Add dependabot for UI Tests (by @Progi1984)
    - #28926: Set permissions for GitHub actions (by @naveensrinivasan)
  - Bug fix:
    - #31178: Functional Tests : Fixed Import Tests (by @Progi1984)
    - #31051: GA Workflows : Make the same name and Matrix for skipped required workflows (by @boubkerbribri)
    - #31014: Functional Tests : Fixed UI Test 'Enable/Disable Shop' (by @Progi1984)
    - #30736: Add GITHUB_TOKEN to the github action env (by @atomiix)
    - #30616: Functional Tests : Fixed the selector in deletion modal (by @Progi1984)
    - #30459: Functional Tests : Fixed Column used (by @Progi1984)
    - #30460: Fix use statement for ProductResetter (by @jolelievre)
    - #30396: Fix CI for ubuntu-22.04 (cherry-pick of #30395) (by @atomiix)
    - #30175: Edited file for suppliers import file (by @florine2623)
    - #30033: Fix cron modules update Github action (by @atomiix)
    - #29976: Functional Tests : Fixes Dependabot (Remove assignees team / Fixes reviewers team) (by @Progi1984)
  - Refactoring:
    - #31220: Rename behats multishop features for easier to follow convention (by @zuk3975)
    - #31283: Functional tests - Add new test 'FO > Checkout page > Add order message' (by @nesrineabdmouleh)
    - #31243: Functional tests - Add new tests 'FO > CRUD address in checkout page' (by @nesrineabdmouleh)
    - #31112: Functional tests - Add new test 'Enable/disable demo mode' (by @nesrineabdmouleh)
    - #31174: Functional tests - Fix nightly 01-02-2023 (by @nesrineabdmouleh)
    - #31096: Functional tests - Fix random error on 'BO> Orders > Create order > Choose shipping' test (by @nesrineabdmouleh)
    - #31063: Functional tests - Delete commented tests & fix failed tests (by @nesrineabdmouleh)
    - #30891: Functional tests - Refacto 'Sort, pagination and bulk delete features test' (by @nesrineabdmouleh)
    - #30817: Functional tests - Add new test 'FO > User account > Order history > Order details > Request merchandise return' (by @nesrineabdmouleh)
    - #30845: Functional tests - Add new test 'FO > Home page > Display some products' (by @nesrineabdmouleh)
    - #31054: Fix behat tests (by @jolelievre)
    - #31011: Functional tests - Add new test 'Check notifications in BO' (by @nesrineabdmouleh)
    - #30933: Functional tests - Refacto 'Change position of attributes & values' (by @nesrineabdmouleh)
    - #30889: Functional tests - Add new test 'enable/disable new product page' (by @nesrineabdmouleh)
    - #30961: Adapt automated tests to the fix of #28070 (by @nesrineabdmouleh)
    - #30926: Adapt automated tests to the fix of #30846 (by @nesrineabdmouleh)
    - #30886: Functional tests - Fix CRUDCarrier test (by @nesrineabdmouleh)
    - #30755: Functional tests - Add new test 'Duplicate product V2' (by @nesrineabdmouleh)
    - #30832: Fix nightly 12 - 01 - Fix error in  FO > Download invoice test (by @nesrineabdmouleh)
    - #30810: Adapt automated tests to the fix of  #29421 (by @nesrineabdmouleh)
    - #30795: Functional tests - Add new test 'FO > User account > Order history > Order details > Download invoice' (by @nesrineabdmouleh)
    - #30791: Functional test - Add new test 'FO > User account > Order history > Download invoice' (by @nesrineabdmouleh)
    - #30774: Functional tests - Refacto 'FO > User account > Order history > Consult order list' test (by @nesrineabdmouleh)
    - #30651: Functional tests - Add new test 'Bulk enable, disable, duplicate and delete' in product page V2' (by @nesrineabdmouleh)
    - #30743: Migrate all FO pages to TS (by @nesrineabdmouleh)
    - #30718: Functional-Sanity tests -  Migration TS all tests of products v2 page (by @nesrineabdmouleh)
    - #30636: Functional test - Add new test 'CRUD virtual product' in product page V2 (by @nesrineabdmouleh)
    - #30587: Functional tests - Add new test 'CRUD pack of products' in product page V2 (by @nesrineabdmouleh)
    - #30432: Functional tests - Add new test 'BO > Catalog > Filter products table v2' (by @nesrineabdmouleh)
    - #30524: Functional Tests : Migration TS (tools/stepIdentifiersChecker) (by @Progi1984)
    - #30548: Functional Tests : Migration TS (FO > 09) (by @Progi1984)
    - #30544: Functional tests - Add new test 'Crud product with combination' in the page product V2 (by @nesrineabdmouleh)
    - #30458: Functional Tests : Migration TS (FO > 11) (by @Progi1984)
    - #30371: Functional Tests : Migration TS (FO > 12) (by @Progi1984)
    - #30433: Update playwright to 1.28.1 (by @nesrineabdmouleh)
    - #30368: Functional Tests : Migration TS (tools/linkchecker) (by @Progi1984)
    - #30417: Functional tests - Add new test 'CRUD standard product V2' (by @nesrineabdmouleh)
    - #30283: Functional tests - Add new test 'logOut from BO' (by @cfarhani06)
    - #30294: Functional tests : Shopping Carts - delete abandoned carts in BO (by @cfarhani06)
    - #30402: Add behat tests for customer service (by @margud)
    - #30303: Functional tests - Refacto BO - Edit Home category (by @khouloudbelguith)
    - #30311: Functional tests - Fix 'FO > My account > Get gdpr data in pdf' test (by @nesrineabdmouleh)
    - #30256: Functional tests - Refacto BO - Sort pagination and bulk delete values of attributes (by @khouloudbelguith)
    - #30257: Functional tests - Fix random errors in nightly (by @nesrineabdmouleh)
    - #30255: Functional tests - Fix nightly errors 09-11 (by @nesrineabdmouleh)
    - #30233: Functional tests - Fix 'FO - Account : Check order return PDF' (by @nesrineabdmouleh)
    - #30216: Functional tests - Fix 'BO - Customer Service : Change status' test (by @nesrineabdmouleh)
    - #30166: Functional tests - Fix 'Orders>View and edit order> Check invoice' test (by @nesrineabdmouleh)
    - #30127: Functional tests - Fix errors in nightly develop  (by @nesrineabdmouleh)
    - #29926: Remove permissions from workflow (by @boubkerbribri)
    - #29899: Functional tests - Fix 'FO > Contact US > Add attachment' test (by @nesrineabdmouleh)
    - #29794: Functional tests - Fix nightly (28/09/2022) customer service tests (by @nesrineabdmouleh)
    - #29356: Fix nightly develop 16/08/2022 after a new behaviour on view order page (by @nesrineabdmouleh)
    - #28902: Fix nightly develop 21-06-2022 -  Update default carrier and check it in FO  (by @nesrineabdmouleh)

####################################
#   v8.0.1 - (2022-12-27)
####################################

- Back Office:
  - New feature:
    - #31130: Unify stabilize and enable product feature flag (by @jolelievre)
    - #31095: Handle last actions for product list multi shop (by @jolelievre)
    - #30169: Skip admin IP check when maintenance mode is enabled  (by @unlocomqx)
    - #30045: Added new image formats generation (by @nicosomb)
    - #30781: Handle product list multishop row actions (by @jolelievre)
    - #30497: APIS08 - Display list of authorized apps (by @mflasquin)
    - #30584: Manage cover in multishop context (by @lartist)
    - #30677: Product shop previews (by @jolelievre)
    - #30624: Manage multi shop images association (by @jolelievre)
    - #30337: Add “Authorization server” in the side menu of the BO (by @mflasquin)
    - #30662: Product edit modal shop selection (by @jolelievre)
    - #30603: Allow controlling profiler from backoffice (by @Hlavtox)
    - #30495: Product multishop list and shared group stock (by @jolelievre)
    - #30455: Fetching every image details for a product in every shop (by @lartist)
    - #29927: [BC Break] Add visibility checkbox description (by @FabienPapet)
    - #30315: Customization field multishop (by @jolelievre)
    - #30380: BO > Shopping Carts : Force Bulk Column (by @Progi1984)
    - #30054: Add a modal window when the user clicks on 'Regenerate thumbnails' button (by @Progi1984)
    - #28640: [BC Break] Add movements history grouping in product page (by @jolelievre)
    - #27712: [BC Break] Create product for shop, shop selection modal (by @jolelievre)
    - #30106: Manage image by multi shop matrix (by @lartist)
    - #30035: Allow legacy link feature flag (by @FabienPapet)
    - #30132: [BC Break] Upgrade AddProductImageCommand and GetProductImageCommand to fit with multishop (by @lartist)
    - #28820: Add employee info on the Payments tab when payment is registered (by @Progi1984)
    - #27608: Make Shop Parameters > Customer Settings > Customers form multistore compatible (by @micka-fdz)
  - Improvement:
    - #29524: Disable product type button when new changes are not saved (by @margud)
    - #31142: Add feature flags for rest of migrated pages (by @JevgenijVisockij)
    - #31136: Handle route not found in new api (by @mflasquin)
    - #31135: Forced jpg format for images generation (by @nicosomb)
    - #28812: [BC Break] Tax Rules Group : Migrate Add & Edit Forms (by @Progi1984)
    - #30863: Add delete action to module manager (by @Hlavtox)
    - #29314: Collect unregistered hooks in debug toolbar (by @jolelievre)
    - #31061: Fix debug bar partially covering some elements (by @JBLach)
    - #31047: [BC Break] Add shop constraint on SetAssociatedProductCategoriesCommand and RemoveAllAssociatedProductCategoriesCommand (by @jolelievre)
    - #31048: [BC Break] Duplicate product multishop (part 1) (by @jolelievre)
    - #30918: Change icon of module with missing logo (by @Hlavtox)
    - #30846: Refactor module manager (by @Hlavtox)
    - #30853: Added cache:clear after composer commands (by @nicosomb)
    - #30900: Adding feature flag for catalog price rules and cart rules (by @JevgenijVisockij)
    - #30665: Allow override.css to be used in the new back office theme (by @jeckyl)
    - #30772: Allow unselecting default category in category tree (by @zuk3975)
    - #29421: Remove empty category blocks in module manager (by @eternoendless)
    - #30510: Added the deletion of images linked to the image settings (by @nicosomb)
    - #29475: Eco tax fixed for combination price (by @margud)
    - #30467: Remove the configuration "Automatically check for module updates" (by @Progi1984)
    - #29569: Don't get info about email exists when reset admin password (by @PululuK)
    - #29753: Allow to configure if order should switch to backorder (by @Hlavtox)
    - #29793: Add a button to delete logo image on Manufacturer/Supplier form (by @Progi1984)
    - #28141: Add breadcrumbs for categories with identical names (by @zuk3975)
    - #29377: Make new-theme npm 8 compatible (by @NeOMakinG)
    - #29934: Center icon into sidebar (by @PrestaEdit)
    - #29490: Notice in Back Office where you edit image settings (by @AlexTechDev)
    - #28439: Migrate the Customers > Title (Only Delete & Bulk Delete) (by @Progi1984)
    - #28634: Notification Dropdown : Migrate links to Symfony routes (by @Progi1984)
    - #29173: Limit min date and max date of the movements page (by @NeOMakinG)
    - #28872: Allow controller to set class name in select render list column (by @Amit-Kumar-Tiwari-Webkul)
    - #27987: States : Migrate Add & Edit Forms (by @Progi1984)
    - #28441: IP white list should not be preconfigured (by @lmeyer1)
    - #28799: Sort product table (in email, invoices and order view) by reference id (by @Progi1984)
    - #28736: Confirmation modal before disabling non native module (by @Progi1984)
    - #28683: Improve datepicker design in dashboard (by @mparvazi)
  - Bug fix:
    - #31255: PPV2 catch ProductNotFound exception and flash error (by @zuk3975)
    - #31250: PPV2 fix updating name for all shops while enabling status for single shop (by @zuk3975)
    - #31247: Feature flag multistore (by @jolelievre)
    - #30592: [BC Break] Combination delta quantity fix (by @margud)
    - #31171: Fallback to first found combination when fetching combination by all shops constraint (by @zuk3975)
    - #31235: Do not show combination id in history tab (by @zuk3975)
    - #31199: Fix prestashop:linter:security-annotation find-missing failed because of non existant methods (by @mflasquin)
    - #30985: Consider attribute_shop association when generating combinations (by @zuk3975)
    - #30881: Load combination choices depending on shop selection in SpecificPrice form (by @zuk3975)
    - #30996: Fix sql request when fetching all products of a shop group (by @lartist)
    - #30473: Customer/Customer Preferences : Display an alert message for partner offers (by @Progi1984)
    - #30808: Remove images from shop when deleting product from shop (by @zuk3975)
    - #30959: Fix typo in getCombinationIdsAction annotation and simplify js selector (by @zuk3975)
    - #30962: Module from theme with tab using SF routing fails after enabling the theme (by @jolelievre)
    - #28070: Add new order - Cart rule description is not correct (by @buggyzap)
    - #30730: Changing wording and adding text helper for product name error input (by @lartist)
    - #30948: Restore original module action order (by @Hlavtox)
    - #28720: Avoid clear ranges when click on "Free shipping" (by @marsaldev)
    - #29944: Use relative urls for Quick Access menu (by @lmeyer1)
    - #29358: Fix price formatting in MoneyType (by @zuk3975)
    - #29647: BO - Import files - Do not show generated csv files from import/csvfromexcel folder in history of uploaded files (by @mflasquin)
    - #30831: Fix text-preview widget to show combination names in list (by @zuk3975)
    - #30158: Disable access to the customer groups page when this feature is disabled (by @ks129)
    - #30415: Fix applying special char on translations (by @mflasquin)
    - #29488: Module translations no longer take translations from another lang if its default one. (by @margud)
    - #29837: Avoid possibility to create product with combinations when combinations feature is disabled (by @mflasquin)
    - #30818: Fix access for read only permissions (by @dingedi)
    - #29381: Allow blank value for mobile phone (by @tom-combet)
    - #30352: Remove 1 million cap limit in the max field for the product ID (by @marsaldev)
    - #30776: Allow searching brands in choices list of product v2 (by @zuk3975)
    - #30745: Load default language if employee id lang does not exist (by @mflasquin)
    - #30742: Remove wholesale price suppliers synchronicity (by @jolelievre)
    - #30737: Fix error message when enabling product without name in monitoring page (by @lartist)
    - #30683: Combination multishop fix (by @jolelievre)
    - #30613: Handle multishop builders interfaces in bulk form data handler (by @jolelievre)
    - #30567: Fix stock availability labels update when product is combination type (by @zuk3975)
    - #30503: Add class to password field (by @JevgenijVisockij)
    - #30231: Update product.id_category_default after deleting categories (by @zuk3975)
    - #29900: Handle multishop for packed products in product page V2 (by @mflasquin)
    - #30387: HelperList callback is not called when column data is null (by @PululuK)
    - #28568: Fix form_help block shown twice in text fields (by @elboletaire)
    - #29722: Disable "Features" section in Product Page when Features are disabled (by @Progi1984)
    - #29646: Call parent stylesheets were missing (by @zuk3975)
    - #29630: Fix display issues on BO employee page when cancel the modification of the password (by @mflasquin)
    - #29624: Use INTL_IDNA_VARIANT_2003 when INTL_IDNA_VARIANT_UTS46 is not defined (servers whith ICU < 4.6) (by @javdome)
    - #30258: Fix recording last connection of a user (by @mflasquin)
    - #29232: Uncheck truncate input if its hidden (by @korbi551)
    - #29571: Fixed the duplication of Alias when update (by @Progi1984)
    - #30178: Fixed Stats dashboard when AdminStats module is not enabled (by @nicosomb)
    - #30146: Fix #29436 - The override directory is deleted when a module is uninstalled (by @idnovate)
    - #29739: Remove short_description field from the Suppliers importer (by @kpodemski)
    - #30065: Fix quick access new product (by @margud)
    - #30135: Fix child theme download (by @Hlavtox)
    - #29977: Updating default combination is now take into account when submitting the form (by @lartist)
    - #30052: Added required attribute on text input for admin controller (by @nicosomb)
    - #28917: Display an error message if editing by zero on quantity field (by @Progi1984)
    - #29515: Fix tag relation with product in Tag form (by @zuk3975)
    - #29909: Fix join on product lang to retrieve correctly the product's name (by @0x346e3730)
    - #29740: Remove not needed help text when you add new tax rule (by @kpodemski)
    - #29861: Fix subtitle default position on module configure page (by @NeOMakinG)
    - #29731: Fix a problem with invalid filtering on the Modules -> Positions page (by @kpodemski)
    - #29762: Remove french helptext (by @Hlavtox)
    - #29505: Respect configuration of product summary max length (by @zuk3975)
    - #28716: Match the right carrier in the select with the price shown when creating a new order from BO (by @marsaldev)
    - #29548: Remove related products from search index when removing tag (by @zuk3975)
    - #29590: Replaces non-existent route by the correct one in geolocation controller (by @nicosomb)
    - #29363: Fix typo in module controller messages (by @laurentrousseau918)
    - #28762: Target the table on the reload of the page after a sort (by @Progi1984)
    - #29114: BO > Customers > Addresses - Required fields are not used in back office (by @okom3pom)
    - #29161: Fix update order status settings with readonly user (by @FabienPapet)
    - #29052: Fix the core JS files npm 8 compatibility (by @NeOMakinG)
    - #28510: Prevent using period, comma keys inside quantity input (by @kpodemski)
    - #28992: Fix material icons for legacy BO search form (by @mparvazi)
    - #28827: Fix default theme compatibility with npm 8 (by @NeOMakinG)
    - #28843: Remove Addons reference in the Improve > Theme page (by @Progi1984)
    - #28824: Fix the download link of the invoice search (by @okom3pom)
    - #28842: Remove Addons reference in the Carriers Listing (by @Progi1984)
    - #28718: Fix carriers with same names don't show in Shipping > Preferences (by @jf-viguier)
    - #28343: Fix confusion about how is translated "Reorder" (by @SLRkingRing)
    - #28763: Fixed redirect after canceling the edition of an address from the customer detail page (by @Progi1984)
    - #28613: Fix inability to delete csv-converted files from import (by @gennaris)
    - #28722: Cart with wrong id_shop_group when order is made in BO (by @cquintini)
  - Refactoring:
    - #30936: Simplify stock_threshold_alert field in UpdateProductCommand and UpdateCombinationCommand (by @zuk3975)
    - #30800: Move grid column type classes (by @mflasquin)
    - #30793: Combination actions dropdown list and delete from all shops action (by @zuk3975)
    - #30947: Fix doubled message on module upload (by @Hlavtox)
    - #30946: Delete old module manager JS files (by @Hlavtox)
    - #30806: Rename SpecificationType to Details type and whole namespace (by @zuk3975)
    - #30847: Use FQCN service definitions style for product services (by @jolelievre)
    - #30797: Unify combination repositories into one (by @zuk3975)
    - #30689: Use Symfony HttpClient inside WebserviceController instead of Guzzle (by @Worst45)
    - #28642: Feature/migrate merchandise return view 1 (by @JevgenijVisockij)
    - #30590: All shops checkboxes for combination edit/bulk-edit forms (by @zuk3975)
    - #30585: Implement shopConstraint in getCombinationIds() (by @zuk3975)
    - #30598: Improve syntax of information page (by @Hlavtox)
    - #28542: Add catalog price rule list to product form (by @JevgenijVisockij)
    - #30564: Implement delete combinations for all shops button (by @zuk3975)
    - #30559: Add a checkbox to generate combinations for all shops (by @zuk3975)
    - #30557: Only show current and all shops for specific price type (by @zuk3975)
    - #30538: Use shop constraint in UpdateCombinationCommand (by @zuk3975)
    - #28463: Update vue 2 to vue 3 and every linked dependencies (by @NeOMakinG)
    - #30504: Remove combination handlers in favour of unified UpdateCombinationCommand (by @zuk3975)
    - #30463: Remove unused product handlers in favour of unified UpdateProductCommand (by @zuk3975)
    - #30434: Enable unified UpdateCombinationCommand in product page v2 (by @jolelievre)
    - #30421: Add behat scenarios for combination generation and deletion in all shops (by @zuk3975)
    - #30359: Simplify Profile form (by @Progi1984)
    - #30378: Enable unified UpdateProductCommand in product page v2 (by @zuk3975)
    - #30381: Unified combination command - isDefault, prices and stock (by @jolelievre)
    - #30369: Unification combination command details (by @jolelievre)
    - #30372: Handle product status update in UpdateProductCommand (by @zuk3975)
    - #30360: UpdateProductCommand unification - handle stock properties (by @zuk3975)
    - #30297: Introduce Dimension value object (by @zuk3975)
    - #29985: Simplify Employee Options Form (by @Progi1984)
    - #30228: UpdateProductCommand unification - Shipping related properties handling (by @zuk3975)
    - #28395: Combination generation & deletion multishop handling (by @zuk3975)
    - #30248: Create independent SetCarriersCommand (by @jolelievre)
    - #30160: Fix exception throwing in CategoryRepository (by @zuk3975)
    - #30197: UpdateProductCommand unification - Details related properties handling (by @zuk3975)
    - #29732: Customer service controller migration (grid part) (by @margud)
    - #30143: UpdateProductCommand unification - SEO related properties handling (by @zuk3975)
    - #30122: UpdateProductCommand unification - prices related properties handling (by @zuk3975)
    - #30031: Introduce single unified UpdateProductCommand (by @zuk3975)
    - #30069: Fix phpstan error "Right side of && is always true" (by @zuk3975)
    - #28465: Simplify Employee Form (by @Progi1984)
    - #28551: Migrate country create action (by @margud)
    - #29376: Horizontal migration HelperListConfiguration refacto (by @zuk3975)
    - #28794: Deprecate AdminPdf calls and use Sf routes (by @Progi1984)
    - #28825: Order invoices configuration form: add multistore compatibility and some refactoring (by @MeKeyCool)
    - #28246: Fix DisabledProductGridDefinitionFactory (by @zuk3975)
    - #28699: Tax Rules Groups > Grid : Confirm Modal & Common Search (by @Progi1984)
- Front Office:
  - New feature:
    - #29995: Allow themes to disable loading of core scripts (by @Hlavtox)
    - #30667: Add a display hook in the address step just like other checkout step (by @Amit-Kumar-Tiwari-Webkul)
    - #29922: InkExtension added to Twig (by @Oksydan)
    - #29720: Add more options for discontinued products (by @Hlavtox)
  - Improvement:
    - #29570: Fix availability structured data (by @Hlavtox)
    - #30075: Improve cart recovery and show proper errors. (by @Hlavtox)
    - #29016: Improve quantity check for Product and Cart (by @mparvazi)
    - #30789: Add `new-products` page in global urls smarty (by @hendaghanmi)
    - #30602: Get stores ordered by names (by @jf-viguier)
    - #28582: Stronger https detection in Tools::getShopProtocol() (by @jf-viguier)
    - #30449: Optimize getting meta title of the product (by @idnovate)
    - #30416: Add `id_feature_value` in `Product::getFrontFeaturesStatic` (by @PululuK)
    - #30383: Add `theme_dir` smarty global var in front contoller (by @hendaghanmi)
    - #30347: Pass variable by reference to reuse it in modules (by @idnovate)
    - #30277: Mail: add PS_MAIL_SUBJECT_PREFIX to control [Foo] subject prefix (by @rmilecki)
    - #29516: Add contact page hooks (by @NeOMakinG)
    - #29953: Deprecate Customer::validateController (by @jf-viguier)
    - #28942: Remove default meta description (by @jf-viguier)
    - #29264: Add manufacturer and supplier body classes (by @Hlavtox)
    - #28943: Throw exception when ImageType doesn't return anything on FO (by @eternoendless)
    - #28784: Allow to translate placeholder (by @okom3pom)
    - #28814: Call initContent of the parent at the beginning (by @PrestaEdit)
    - #28541: New method Tools::getCurrentUrl() (by @jf-viguier)
    - #28469: [BC Break] Make `Shop::getBaseURL` use secure mode by default (by @jf-viguier)
  - Bug fix:
    - #30992: Fix customer isLogged property in FO (by @Hlavtox)
    - #27947: Use inherited layout for categories (by @jf-viguier)
    - #28502: Fix showing price of customized products in Order Confirmation page (by @artemevsin)
    - #30727: Delete all combinations when removing product from shop (by @zuk3975)
    - #30181: Changed the terminology `Best sales` to `Best sellers` (by @Progi1984)
    - #30342: Add supplier to {url} helper (by @PrestaSafe)
    - #30314: Add manufacturer url to {url} helper (by @PrestaSafe)
    - #29294: Fix body classes for content_only and module front controllers (by @Hlavtox)
    - #27758: Fix images for objects without name or rewrite (by @Hlavtox)
    - #29104: Fix missing id_guest in cookie (by @Seb33300)
    - #29821: Fix category access when group feature is disabled (by @Hlavtox)
    - #29801: Fix group when converting customer through front office form (by @Hlavtox)
    - #29552: Only show active CMS categories in breadcrumb (by @lmeyer1)
    - #28947: Fix missing translations on meta pages (by @micka-fdz)
    - #28811: Add random to Validate Class and Test (by @okom3pom)
    - #27643: Improve mail order message (by @Prestaplugins)
    - #28639: Do not allow blank message from customer end on the order detail page (by @Amit-Kumar-Tiwari-Webkul)
    - #27890: Add check if the gift wrapping is disabled (by @marsaldev)
  - Refactoring:
    - #30408: Add getters for controller objects (by @Hlavtox)
    - #30522: Fix : Allow front product controller breadcrumb function override (by @Dreimus)
    - #30234: Optimize product assembler (by @Hlavtox)
    - #29462: Clean-up the base object presenter (by @Hlavtox)
    - #29797: Refacto frontend sitemap and add hook to modify it (by @Hlavtox)
    - #29822: Fix accessing disabled product, further refacto of controller (by @Hlavtox)
    - #29435: Refacto product front controller (by @Hlavtox)
- Core:
  - New feature:
    - #31027: Multiple format generation at product creation  (by @matthieu-rolland)
    - #28999: Add actionLoggerLogMessage hook (by @PrestaEdit)
    - #30363: Add ShopConstraintEventListener (by @FabienPapet)
    - #29411: Add availability labels to combinations (by @Hlavtox)
    - #30310: Add default config value for backorder status (by @Hlavtox)
  - Improvement:
    - #31260: Update PrestaShop module version (by @lartist)
    - #31226: Update dependency classic theme (by @lartist)
    - #31249: Update licenses (by @lartist)
    - #31236: Bump patch symfony (by @lartist)
    - #31237: Update hook list (by @lartist)
    - #31131: DI improvements 2/2 (follow up f56456cf902c0cbe19b4df3c234354c284bc52de) (by @FabienPapet)
    - #31070: Dependency injection cleanup 1/X (by @FabienPapet)
    - #31073: Deprecate FrameworkBundleAdminController::configuration (by @FabienPapet)
    - #31078: Deprecate Tools::getBytes() (by @FabienPapet)
    - #31060: Deprecate `Tools::getDescriptionClean()` (by @FabienPapet)
    - #31045: [BC Break] Fix deprecated function usage in test function (by @FabienPapet)
    - #31044: Deprecate some useless classes related to legacy upload system (by @matthieu-rolland)
    - #31043: Fix deprecated function usage (by @FabienPapet)
    - #31031: Deprecate renderForm methods (by @FabienPapet)
    - #30971: Use PrestaShop's jwt repository (by @atomiix)
    - #30999: Add stub file for IDE exploration (by @matthieu-rolland)
    - #30956: Bump phpstan/phpstan from 1.9.6 to 1.9.14 (by @Progi1984)
    - #30964: Updated PrestaShop Packages (by @github-actions[bot])
    - #30941: Updated PrestaShop Packages (by @github-actions[bot])
    - #30923: Updated PrestaShop Packages (by @github-actions[bot])
    - #30541: Speed up product deletion (by @davidglezz)
    - #30588: Load module autoloaders and service configurations before the core Symfony compiler passes are executed (by @dr-woland)
    - #28521: Remove final class from attachment uploader (by @integritty)
    - #30801: Use packagist to download prestashop/autoload (by @matks)
    - #29842: Update UIKit, switch to sass-embedded and make new-theme compatible with node 16, 18 and 19 (by @NeOMakinG)
    - #30728: Bump `phpstan/phpstan` from 1.9.3 to 1.9.6 (by @Progi1984)
    - #30676: Upgraded classic theme and ps_contactinfo module (by @nicosomb)
    - #30607: Improve comment wording in src/PrestaShopBundle/Controller/Admin/ProductController.php (by @marsaldev)
    - #30540: Improve Product::getAttributesResume (by @StoreCommanderDev)
    - #30472: Bump dependencies for 8.1 (by @FabienPapet)
    - #30357: Migrate Tools::str2url to new code (by @FabienPapet)
    - #30496: [BC Break] Replace Symfony/Component/Translation by Symfony/Contracts/Translation in every file (by @FabienPapet)
    - #30339: Updated JS Routing file (by @github-actions[bot])
    - #25984: Provide modules with information how much a quantity changed (by @Hlavtox)
    - #30087: Bump version to 8.1.0 & Github Actions : Removed Skip Conditions (by @Progi1984)
    - #30194: Add an isset test on id_manufacturer while getting product properties (by @PrestaEdit)
    - #30034: Add comment to explicit range_behavior attribute on Carrier class (by @thomasnares)
    - #29087: Update `phpstan/phpstan` from 1.7.4 to 1.8.11 (by @Progi1984)
    - #27927: Add Hook actionProductPriceCalculation (by @carmas123)
    - #29981: Rotate Symfony log file (by @jf-viguier)
    - #29993: Allow to use own value to submit button (by @PrestaEdit)
    - #29423: Prevent *.twig, config.xml & config_{lang}.xml files from direct access in modules folder (by @clotairer)
    - #30133: Use array short tag in translations files (by @PrestaEdit)
    - #29382: Do not authorize PHP direct call on themes directory (by @clotairer)
    - #30047: Remove unused "override" property in class index (by @eternoendless)
    - #29470: Don't register `module` on `hook` if already registered (by @PululuK)
    - #29304: Add support for other file extensions in rewrite rules (by @eternoendless)
    - #29707: Add template country global vars (by @PululuK)
    - #29499: Add entity param to displayOverrideTemplate hook (by @PrestaEdit)
    - #29645: Fix typo into phpDoc (by @PrestaEdit)
    - #29781: Add possibility for modules to return custom order number (by @Hlavtox)
    - #29841: Add info about fixing multiple issues into template (by @Hlavtox)
    - #29419: Ignore `.htpasswd` file (by @PululuK)
    - #29403: Add index.php into directory (by @PrestaEdit)
    - #29367: Update the theme argument description (by @PrestaEdit)
    - #29325: Fix exception message while removing configuration (by @PrestaEdit)
    - #29113: More data available for the productoutofstock email (by @kpodemski)
    - #29094: Add Smarty blocks to variables and styles definition (by @PrestaEdit)
    - #29092: Remove commented code (by @PrestaEdit)
    - #28949: Change PrestaShop URL in footer of emails (by @micka-fdz)
  - Bug fix:
    - #31032: Fix LOGO_MAIL in multistore (by @jweillinfo)
    - #31006: Fix conversion of hex color codes (by @lmeyer1)
    - #29340: Duplicated join in query. (by @lmeyer1)
    - #30906: Fix a typo in the profiler (by @kpodemski)
    - #30834: Fix SQL error introduced by da10f001 (by @lmeyer1)
    - #30118: Fix potential warning on getPosition method of Module class (by @hugofintecture)
    - #30456: Unify brightness checks (by @FabienPapet)
    - #30549: Fix typo (by @staabm)
    - #28618: Fix `PrestashopLogger`  attr `object_type` validate (by @PululuK)
    - #29904: Add support multiple attribute in `HelpOptions` select type (by @PululuK)
    - #29664: Removed `US/Pacific New` from timezone list (by @Progi1984)
    - #29741: Handle KPI configuration properly for the dashgoals module (by @kpodemski)
    - #26788: Cart: replace this->getAssociatedLanguage()->getId() by equivalent th… (by @lmeyer1)
    - #29141: Fix typo inside Reference's comment (by @abramofranchetti)
    - #28865: PrestashopCollection needs a shop restriction (by @lmeyer1)
    - #29036: Deprecate URL generation on category with id 0 and remove preview in category creation (by @FabienPapet)
    - #28921: Wrong behavior in FO when there is only one currency after deleted an other one (by @okom3pom)
    - #28743: Remove dependency to the missing news.yml (by @sowbiba)
    - #28724: Add new default password for docker image (by @boubkerbribri)
  - Refactoring:
    - #31004: Migrate security function hash / hashIV / generatePassword (by @FabienPapet)
    - #30966: Avoid potencial fatal error in `Link::getCategoryLink` (by @PululuK)
    - #30225: Add modern and active Sortable library (by @leemyongpakvn)
    - #30576: Remove getConfiguration usage in CommonAbstractType.php (by @FabienPapet)
    - #30725: Optimize `Product::hasCombinations` (by @PululuK)
    - #30558: Removal of unnecessary comparison (by @dingedi)
    - #30518: Define  `_PS_DO_NOT_LOAD_CONFIGURATION_` default state (by @PululuK)
    - #30398: Simplify default currency fetching for easier code understanding (by @FabienPapet)
    - #29832: Wrong datas in order return with multiple products (by @PululuK)
    - #30418: Deprecate prestashop.core.string.character_cleaner (by @FabienPapet)
    - #30406: Refacto `StoresController::getTemplateVarStores` (by @PululuK)
    - #30384: Simplify configuration class methods (by @davidglezz)
    - #29295: Move `copyImg` to `ImageManager` and make reusable (by @PululuK)
    - #30269: Add comments to customer logic (by @Hlavtox)
    - #29609: Fix `AdminProductsController` minor code issue (by @PululuK)
    - #29957: Add comments to customer class (by @jf-viguier)
    - #29958: Add comments to hook class (by @jf-viguier)
- Installer:
  - New feature:
    - #29765: Changed message when PHP version is not correct (by @nicosomb)
  - Improvement:
    - #30799: Fix GetResponseEvent deprecations (by @FabienPapet)
    - #29923: Refactor PrestashopAutoload system (by @FabienPapet)
    - #30163: Deprecate `Validate::isAnything` (by @FabienPapet)
    - #29965: Minor Module performance fixes (by @FabienPapet)
    - #30156: Replace `Tools::link_rewrite` usages by `Tools::str2url`, deprecate `Tools::link_rewrite` (by @FabienPapet)
    - #29750: Replace AppKernel version constants by prestashop versions (by @FabienPapet)
    - #28500: Add a lock file during the install (and it's removed only if the install is well finished) (by @Progi1984)
  - Bug fix:
    - #28946: Show errors when installing a module fails (by @eternoendless)
    - #30594: Fix total total_price_tax_excl (by @maniT4c)
    - #30571: Revert inky extension (by @jolelievre)
    - #30284: Fix generation of nightlies on develop branch (by @Quetzacoalt91)
    - #29938: Fix issue 29937 - Array to string conversion in information of cli installation command (by @thomasnares)
    - #28481: Handle no themes issue at install (by @matks)
- Web Services:
  - New feature:
    - #30293: Aaa/apis01 implement cqrs based api endpoint (by @mflasquin)
    - #29931: [BC Break] Introduce OAuth2 Authorization server (by @atomiix)
  - Improvement:
    - #28806: Allows to set id_customization for cart row via webservices (by @webeshop)
  - Bug fix:
    - #30993: Fix issue #26568 about customer blank schema (by @ceer)
    - #28711: Fixed WebP Management in WebService (by @Progi1984)
    - #30309: Fix broken result in webservices (by @matthieu-rolland)
    - #28540: Fix WebserviceOutputBuilder - handle api categories blank schema (by @angelo983)
    - #29135: [BC Break] Webservice: honor maximum image upload size (by @balejk)
    - #28537: Fix bug with all shops context in WebService (by @Prestaworks)
- Tests:
  - Improvement:
    - #31238: Functional Tests : Migration TS (Type Hint on forEach & Remove all casts) (by @Progi1984)
    - #31217: Functional Tests : Migration TS (`@data/import/*`) (by @Progi1984)
    - #31179: Functional Tests : Migration TS (`@pages\BO` : Part 6) (by @Progi1984)
    - #31108: Functional Tests : Migration TS (`@pages\BO` : Part 5) (by @Progi1984)
    - #31049: Functional Tests : Migration TS (`@pages\BO` : Part 4) (by @Progi1984)
    - #31030: Functional Tests : Migration TS (`@pages\BO` : Part 3) (by @Progi1984)
    - #31010: Functional Tests : Migration TS (`@pages\BO` : Part 2) (by @Progi1984)
    - #30951: Functional Tests : Migration TS (`@data/demo/*`) (by @Progi1984)
    - #30914: Functional Tests : Migration TS (`@data/faker/*`) (by @Progi1984)
    - #30861: Functional Tests : Migration TS (`@commonTests/BO/*`) (by @Progi1984)
    - #30865: Functional Tests : Migration TS (`@data/faker/{file,employee,country,carrier,cmsPage`)  (by @Progi1984)
    - #30838: Functional Tests : Migration TS (`@data/faker/{orderStatus,orderReturnStatus,orderMessage,language,invoice,imageType,group}`) (by @Progi1984)
    - #30826: Functional Tests : Migration TS (`@commonTests/FO/*`) (by @Progi1984)
    - #30809: Functional Tests : Migration TS (`@pages\BO` : Part 1) (by @Progi1984)
    - #30777: Functional Tests : Migration TS (`@data/faker/product`) (by @Progi1984)
    - #30790: Functional Tests : Migration TS (`@pages/BO/shopParameters/*`) (by @Progi1984)
    - #30752: Functional Tests : Migration TS (`@data/faker/{state,sqlQuery,shopGroup,shop,seoPage, searchEngine,search,profile}`) (by @Progi1984)
    - #30749: Functional Tests : Migration TS (BO - 02) (by @Progi1984)
    - #30739: Functional Tests : Migration TS (BO - 00) (by @Progi1984)
    - #30738: Functional Tests : Migration TS (BO - 03) (by @Progi1984)
    - #30726: Functional Tests : Migration TS (`@data/faker/tag`, `@data/faker/supplier`, `@data/faker/store`) (by @Progi1984)
    - #30724: Functional Tests : Migration TS (BO - 04) (by @Progi1984)
    - #30681: Functional Tests : Migration TS (BO - 05/07) (by @Progi1984)
    - #30679: Functional Tests : Migration TS (`regression/**/*`) (by @Progi1984)
    - #30695: Functional Tests : Migration TS (`@data/faker/tax` / `@data/faker/taxRule` / `@data/faker/taxRulesGroup`) (by @Progi1984)
    - #30682: Functional Tests : Migration TS (Sanity) (by @Progi1984)
    - #30660: Functional Tests : Migration TS (BO - 08) (by @Progi1984)
    - #30693: Functional Tests : Migration TS (`@data/faker/title` / `@data/faker/webservice` / `@data/faker/zone`) (by @Progi1984)
    - #30661: Functional Tests : Migration TS (`commonTests/FO/login` & `commonTests/FO/createShoppingCart`) (by @Progi1984)
    - #30657: Functional Tests : FO - 01 (by @Progi1984)
    - #30646: Functional tests : Migration TS (Migrate `@utils/basicHelper`) (by @Progi1984)
    - #30640: Functional Tests : Migration TS (Install) (by @boubkerbribri)
    - #30638: Functional Tests : Migration TS (FO - 02) (by @Progi1984)
    - #30639: Functional Tests : Migration TS (BO - 09) (by @Progi1984)
    - #30627: Functional Tests : Migration TS (FO - 03) (by @Progi1984)
    - #30621: Functional Tests : Migration TS (BO - 10) (by @Progi1984)
    - #30615: Functional tests : Migration TS (Migrate `@utils/files`) (by @Progi1984)
    - #30611: Functional Tests : Migration TS (FO - 04/05/06) (by @Progi1984)
    - #30593: Functional Tests : Migration TS (BO - 11) (by @Progi1984)
    - #30583: Functional tests : Migration TS (FO - 07 & 08) (by @Progi1984)
    - #30575: Functional Tests : Migration TS (BO > 13) (by @Progi1984)
    - #30419: Add better logging in the create-test-db script (by @jolelievre)
    - #30466: Functional Tests : Migration TS (BO > Advanced Parameters 04 => 07) (by @Progi1984)
    - #30513: Add PHPStan rule to disallow calling of deprecated Symfony Translation (by @FabienPapet)
    - #30505: Add phpstan disallowed calls extension (by @FabienPapet)
    - #30329: Functional Tests : Migration TS (BO > Advanced Parameters 08 => 10) (by @Progi1984)
    - #30403: Functional Tests : Split scripts for reducing time (by @Progi1984)
    - #30299: Functional Tests : `check:step-identifiers` : Improved error message & Added check for baseContext (by @Progi1984)
    - #30298: Functional Tests : Migration TS (BO > Header & utils/mailHelper) (by @Progi1984)
    - #30125: Add typescript, eslint dependencies, types to tests folders (by @NeOMakinG)
    - #30209: Functional Tests : BO - Left Menu (by @Progi1984)
    - #30030: Functional Tests : Remove `eslint-config-prestashop` & Bump `eslint` - `eslint-config-airbnb-base` (by @Progi1984)
    - #30039: Removed `faker.company.companyName()` deprecated since faker v7.4 (by @Progi1984)
    - #29907: Functional Tests : Add dependabot for UI Tests (by @Progi1984)
    - #28926: Set permissions for GitHub actions (by @naveensrinivasan)
  - Bug fix:
    - #31178: Functional Tests : Fixed Import Tests (by @Progi1984)
    - #31051: GA Workflows : Make the same name and Matrix for skipped required workflows (by @boubkerbribri)
    - #31014: Functional Tests : Fixed UI Test 'Enable/Disable Shop' (by @Progi1984)
    - #30736: Add GITHUB_TOKEN to the github action env (by @atomiix)
    - #30616: Functional Tests : Fixed the selector in deletion modal (by @Progi1984)
    - #30459: Functional Tests : Fixed Column used (by @Progi1984)
    - #30460: Fix use statement for ProductResetter (by @jolelievre)
    - #30396: Fix CI for ubuntu-22.04 (cherry-pick of #30395) (by @atomiix)
    - #30175: Edited file for suppliers import file (by @florine2623)
    - #30033: Fix cron modules update Github action (by @atomiix)
    - #29976: Functional Tests : Fixes Dependabot (Remove assignees team / Fixes reviewers team) (by @Progi1984)
  - Refactoring:
    - #31220: Rename behats multishop features for easier to follow convention (by @zuk3975)
    - #31283: Functional tests - Add new test 'FO > Checkout page > Add order message' (by @nesrineabdmouleh)
    - #31243: Functional tests - Add new tests 'FO > CRUD address in checkout page' (by @nesrineabdmouleh)
    - #31112: Functional tests - Add new test 'Enable/disable demo mode' (by @nesrineabdmouleh)
    - #31174: Functional tests - Fix nightly 01-02-2023 (by @nesrineabdmouleh)
    - #31096: Functional tests - Fix random error on 'BO> Orders > Create order > Choose shipping' test (by @nesrineabdmouleh)
    - #31063: Functional tests - Delete commented tests & fix failed tests (by @nesrineabdmouleh)
    - #30891: Functional tests - Refacto 'Sort, pagination and bulk delete features test' (by @nesrineabdmouleh)
    - #30817: Functional tests - Add new test 'FO > User account > Order history > Order details > Request merchandise return' (by @nesrineabdmouleh)
    - #30845: Functional tests - Add new test 'FO > Home page > Display some products' (by @nesrineabdmouleh)
    - #31054: Fix behat tests (by @jolelievre)
    - #31011: Functional tests - Add new test 'Check notifications in BO' (by @nesrineabdmouleh)
    - #30933: Functional tests - Refacto 'Change position of attributes & values' (by @nesrineabdmouleh)
    - #30889: Functional tests - Add new test 'enable/disable new product page' (by @nesrineabdmouleh)
    - #30961: Adapt automated tests to the fix of #28070 (by @nesrineabdmouleh)
    - #30926: Adapt automated tests to the fix of #30846 (by @nesrineabdmouleh)
    - #30886: Functional tests - Fix CRUDCarrier test (by @nesrineabdmouleh)
    - #30755: Functional tests - Add new test 'Duplicate product V2' (by @nesrineabdmouleh)
    - #30832: Fix nightly 12 - 01 - Fix error in  FO > Download invoice test (by @nesrineabdmouleh)
    - #30810: Adapt automated tests to the fix of  #29421 (by @nesrineabdmouleh)
    - #30795: Functional tests - Add new test 'FO > User account > Order history > Order details > Download invoice' (by @nesrineabdmouleh)
    - #30791: Functional test - Add new test 'FO > User account > Order history > Download invoice' (by @nesrineabdmouleh)
    - #30774: Functional tests - Refacto 'FO > User account > Order history > Consult order list' test (by @nesrineabdmouleh)
    - #30651: Functional tests - Add new test 'Bulk enable, disable, duplicate and delete' in product page V2' (by @nesrineabdmouleh)
    - #30743: Migrate all FO pages to TS (by @nesrineabdmouleh)
    - #30718: Functional-Sanity tests -  Migration TS all tests of products v2 page (by @nesrineabdmouleh)
    - #30636: Functional test - Add new test 'CRUD virtual product' in product page V2 (by @nesrineabdmouleh)
    - #30587: Functional tests - Add new test 'CRUD pack of products' in product page V2 (by @nesrineabdmouleh)
    - #30432: Functional tests - Add new test 'BO > Catalog > Filter products table v2' (by @nesrineabdmouleh)
    - #30524: Functional Tests : Migration TS (tools/stepIdentifiersChecker) (by @Progi1984)
    - #30548: Functional Tests : Migration TS (FO > 09) (by @Progi1984)
    - #30544: Functional tests - Add new test 'Crud product with combination' in the page product V2 (by @nesrineabdmouleh)
    - #30458: Functional Tests : Migration TS (FO > 11) (by @Progi1984)
    - #30371: Functional Tests : Migration TS (FO > 12) (by @Progi1984)
    - #30433: Update playwright to 1.28.1 (by @nesrineabdmouleh)
    - #30368: Functional Tests : Migration TS (tools/linkchecker) (by @Progi1984)
    - #30417: Functional tests - Add new test 'CRUD standard product V2' (by @nesrineabdmouleh)
    - #30283: Functional tests - Add new test 'logOut from BO' (by @cfarhani06)
    - #30294: Functional tests : Shopping Carts - delete abandoned carts in BO (by @cfarhani06)
    - #30402: Add behat tests for customer service (by @margud)
    - #30303: Functional tests - Refacto BO - Edit Home category (by @khouloudbelguith)
    - #30311: Functional tests - Fix 'FO > My account > Get gdpr data in pdf' test (by @nesrineabdmouleh)
    - #30256: Functional tests - Refacto BO - Sort pagination and bulk delete values of attributes (by @khouloudbelguith)
    - #30257: Functional tests - Fix random errors in nightly (by @nesrineabdmouleh)
    - #30255: Functional tests - Fix nightly errors 09-11 (by @nesrineabdmouleh)
    - #30233: Functional tests - Fix 'FO - Account : Check order return PDF' (by @nesrineabdmouleh)
    - #30216: Functional tests - Fix 'BO - Customer Service : Change status' test (by @nesrineabdmouleh)
    - #30166: Functional tests - Fix 'Orders>View and edit order> Check invoice' test (by @nesrineabdmouleh)
    - #30127: Functional tests - Fix errors in nightly develop  (by @nesrineabdmouleh)
    - #29926: Remove permissions from workflow (by @boubkerbribri)
    - #29899: Functional tests - Fix 'FO > Contact US > Add attachment' test (by @nesrineabdmouleh)
    - #29794: Functional tests - Fix nightly (28/09/2022) customer service tests (by @nesrineabdmouleh)
    - #29356: Fix nightly develop 16/08/2022 after a new behaviour on view order page (by @nesrineabdmouleh)
    - #28902: Fix nightly develop 21-06-2022 -  Update default carrier and check it in FO  (by @nesrineabdmouleh)

####################################
#   v8.0.0 - (2022-10-26)
####################################

- Back Office:
  - Bug fix:
    - #29996: Fix saving status code 410 on the product page v1 (by @kpodemski)
- Front Office:
  - Improvement:
    - #30104: Dynamic import for zxcvbn library (by @Oksydan)
  - Bug fix:
    - #30113: Update classic theme (by @jolelievre)
    - #30064: Remove infinite loop on actionObjectUpdateAfter hook (backport #29619) (by @jolelievre)
- Core:
  - Improvement:
    - #30005: Update Classic to v2.0.5 (by @kpodemski)
  - Bug fix:
    - #30116: Update twig dependency (by @jolelievre)
    - #30080: Do not force new translation system when no domain is provided (by @atomiix)

####################################
#   v8.0-rc.1 - (2022-09-28)
####################################

- Back Office:
  - New feature:
    - #28752: [BC Break] Improve extendability of the new product page form (by @jolelievre)
  - Improvement:
    - #29101: Remove useless controller permission suffix (by @FabienPapet)
  - Bug fix:
    - #29530: Fixed exception when downloading credit slip on an order with a deleted product (by @nicosomb)
    - #29406: Assign product suppliers to combination during combination csv import (by @zuk3975)
    - #29503: Fix prefilling non-default lang product name (by @zuk3975)
    - #29660: Fix ModuleManager exception when ps_distributionapiclient is not installed (by @atomiix)
    - #29635: Do not reset customization in FO when changing combination (178x) (by @zuk3975)
    - #29322: Fix decorating controllers from module (by @zuk3975)
    - #29392: Fix menu items not showing on mobile (by @NeOMakinG)
    - #29551: Text troncated on combine several attribute input (by @lartist)
    - #29589: Wrong error message display on NumberType symfony input (by @lartist)
    - #29281: Fix overflow of combination history (by @zuk3975)
    - #29549: Fix validateSql method not accepting EXISTS after WHERE (by @atomiix)
    - #29280: Fix updating empty combination reference from list (by @zuk3975)
    - #29545: Fix php 8.1 Filemanager (by @FabienPapet)
    - #29512: Fix module upgrade button menu (by @MeKeyCool)
    - #29060: Order page in BO > partial refund block, bad displaying of products “Quantity” field (by @okom3pom)
    - #29246: Fix Stock page style with RTL (by @MeKeyCool)
    - #29426: Put product v2 feature flag in the beta form instead of stable (by @atomiix)
    - #29441: Fix module translations (by @MeKeyCool)
    - #29497: Extract missing modules translations (by @jolelievre)
    - #28923: Fix product import for Product page v2. (by @MeKeyCool)
    - #29534: Fix broken icon-font on RTL after upgrade (by @matthieu-rolland)
    - #29523: Combination fields list updated for partial update in Product::updateAttribute (by @jolelievre)
    - #29195: Fix product state multishop (by @FabienPapet)
    - #29375: Fix SVG Upload, do not check dimensions if file is svg. (by @FabienPapet)
    - #29481: Fix BO - The images are not well displayed after adding it in file manager with php8.1 (by @FabienPapet)
    - #29417: Fix delivery time for multishop (by @MeKeyCool)
    - #29324: Fix click event not sent in addPaymentButton (by @FabienPapet)
    - #29416: Fix customer form validation from module (by @zuk3975)
    - #29388: Fix customer voucher "active" column in customer view page (by @zuk3975)
    - #29307: Remove module_card.js from the product page v1 (by @NeOMakinG)
    - #29306: Fix specific price creation for dedicated customer (by @zuk3975)
    - #29214: Fix logo on pdf for RTL (by @MeKeyCool)
    - #29180: Fix order payment currency unit (by @FabienPapet)
    - #29272: Making PHP8.1 implicit conversion explicit (by @FabienPapet)
    - #29278: Fix undefined quantity index in light product list (by @zuk3975)
    - #29256: When there no module upgrade script to run, make module upgrade succeed (by @Quetzacoalt91)
    - #29096: BO - Bad display on Your Profile button on all of pages when hover and click on it (by @okom3pom)
  - Refactoring:
    - #29714: Functional tests - Refacto the BO - Delivery Slip - Enable Disable Product Image (by @khouloudbelguith)
    - #29567: Functional tests - Refacto the BO - Invoices -  generate invoice by status test (by @khouloudbelguith)
    - #29575: Functional tests - Refacto test BO - Invoices - Enable Disable Invoices (by @khouloudbelguith)
    - #29566: Functional tests -  refacto the BO - Header - quick access test  (by @khouloudbelguith)
    - #29288: Restructurize horizontal migration Bridge directories (by @zuk3975)
    - #28886: Refacto bridge controller initiation and resolve feedback (by @zuk3975)
- Front Office:
  - Improvement:
    - #29752: Lock classic-theme version to 2.0.0 (by @matks)
  - Bug fix:
    - #29400: Fix "undefined" error when modifying product quantity in FO product quick view  (by @yanmakouf)
    - #29471: Fix ps_facetedsearch - bad display after clearing a filter of no result (by @leemyongpakvn)
    - #29413: Fix displayPackPrice compare price value instead of formatted price (by @jolelievre)
    - #29122: Fix FO address forms reload when switching address's country (by @yanmakouf)
    - #29373: Fix checkout when one module and no cgv validation (by @okom3pom)
- Core:
  - Improvement:
    - #29172: Save Smarty caching type setting in file instead of DB (by @atomiix)
    - #29537: Update productcomments v5.0.2 (by @kpodemski)
    - #29535: Update ps_linklist to 5.0.5 (by @matks)
    - #29410: [BC Break] Update hooks for dynamic hooks (by @jolelievre)
    - #29319: Upgrade symfony version (by @kpodemski)
    - #29227: Bump wishlist to 2.1.2 (by @NeOMakinG)
  - Bug fix:
    - #29595: Add source parameter to actionBeforeInstallModule & actionBeforeUpgradeModule hooks (by @atomiix)
    - #29484: Fix doctrine cache configuration (by @atomiix)
    - #29469: Fix hook registration and module enabling/disabling processes (by @matthieu-rolland)
    - #29502: Do not add theme translation resources if theme is null (by @atomiix)
    - #29504: Cherry-pick #29502 (by @atomiix)
    - #27422: [BC Break] Use core translations sources for themes in addition to the translations of the theme itself (by @atomiix)
    - #GHSA-hrgx-p36p-89q4: Chain: SQL Injection (CWE-89) and Eval Injection (CWE-95) (by @atomiix)
- Installer:
  - Improvement:
    - #29244: Update PHP-CS-Fixer to make it compatible with PHP 8.1 (by @FabienPapet)
  - Bug fix:
    - #29670: Restore install sprintf JS lib integrity (by @matks)
    - #29420: Clear translations cache before translating fixtures (by @atomiix)
- Web Services:
  - Bug fix:
    - #29638: WS : Handle PATCH requests for attachments (by @matks)
    - #29320: Update class name used by product_option_values ressource (by @PrestaEdit)
- Localization:
  - Improvement:
    - #29279: Fix wrong translation domain (by @jolelievre)
  - Bug fix:
    - #29582: Fix wording typos (by @jolelievre)
- Tests:
  - Improvement:
    - #29683: Functional tests : FO - Search no result / Search product bar, consult autocomplete list / Search a product and validate (by @Progi1984)
    - #29576: Functional tests - Add test "FO - Send message while logged out" (by @Progi1984)
  - Bug fix:
    - #29773: Bump `prestashop/classic` to 2.0.1 (by @Progi1984)
    - #29690: Disable apache mpm_event module in the CI (by @atomiix)
    - #29643: Lock sebastian/comparator to 4.0.6 (by @atomiix)
  - Refactoring:
    - #29492: Sanity tests - Add new test "Bulk delete products" V2 (by @nesrineabdmouleh)
    - #29772: Add events types and fix path on UI tests code checks workflow (by @boubkerbribri)
    - #29713: Functional tests - Add new test 'FO > Contact us on GDPR page' (by @nesrineabdmouleh)
    - #29737: Functional tests - Refacto BO - Catalog -  preview product from the list (by @khouloudbelguith)
    - #29735: Fix Trigger ESLint on UI tests (by @boubkerbribri)
    - #29725: Functional Tests - Add New test 'BO - Cart rules - Case 9 - Check Total available'  (by @cfarhani06)
    - #29718: Functional tests : Refacto BO - Customers - CRUD (by @Progi1984)
    - #29640: Functional tests - Refacto test BO - Invoices - Other Options (by @khouloudbelguith)
    - #29697: Add dotenv dependency and create .env.ci file for tests/UI (by @boubkerbribri)
    - #29691: Functional tests - Add new test FO > User account > 'Check gdpr data in pdf'  (by @nesrineabdmouleh)
    - #29706: Run code checks only for tests/UI repository (by @boubkerbribri)
    - #29662: Add functional Tests - User account log out (by @cfarhani06)
    - #29444: Add workflow for product V2 sanity tests (by @boubkerbribri)
    - #29687: Functional tests - Fix 'Customer service tests' in FO and BO (by @nesrineabdmouleh)
    - #29479: Sanity tests - Add new test 'Delete product' V2 (by @nesrineabdmouleh)
    - #29639: Functional Tests - Add new tests to display all products on FO Page (by @cfarhani06)
    - #29378: Functional tests - Add new test "Customers > Outstanding page" Pagination - Sort - Filter (by @khouloudbelguith)
    - #29620: Sanity tests - Fix enable/disable new product page method (by @nesrineabdmouleh)
    - #29578: Functional tests - Refacto test BO - Invoices - Enable Disable Tax Breakdown (by @khouloudbelguith)
    - #29555: Fix 'FO > Create and check footer link widget' test (by @nesrineabdmouleh)
    - #29528: Fix errors in nightly 8.0.x (by @nesrineabdmouleh)
    - #29514: Sanity tests - Fix random error in 'Create product' V2 test (by @nesrineabdmouleh)
    - #29511: Fix nightly 8.0.x 01/09/2022 - Fix 'FO > Edit information' , 'FO > CRUD address' and 'BO > Payment block' tests (by @nesrineabdmouleh)
    - #29468: Sanity tests - Refacto and add new test 'CRUD virtual product' (by @nesrineabdmouleh)
    - #29438: Sanity tests - Add new test 'CRUD product with combinations' V2 (by @nesrineabdmouleh)
    - #29443: Functional tests - Fix errors on nightly 8.0.x (by @nesrineabdmouleh)
    - #29452: Functional tests - Fix 'FO > User account> Edit information' test (by @nesrineabdmouleh)
    - #29430: Sanity tests - Add new test 'CRUD standard product' V2 (by @nesrineabdmouleh)
    - #29387: Sanity tests - Add new test 'Filter products table' V2 (by @nesrineabdmouleh)
    - #28906: Functional tests - Fix CRUD address test on FO (by @nesrineabdmouleh)
    - #29311: Functional tests - Skip some steps on 'FO > Edit information' test after the new behavior (by @nesrineabdmouleh)
    - #29290: Fix nightly 8.0.x - 09/08/2022 - 'Enable/Disable guest checkout' and 'Check links in footer page' (by @nesrineabdmouleh)
    - #28846: Functional tests - Add new test 'Change Currency' in FO (by @sallemiines)

####################################
#   v8.0-beta.1 - (2022-08-08)
####################################

- Back Office:
  - New feature:
    - #27304: [BC Break] Add packed product type (by @Amoifr)
    - #27246: [BC Break] Introducing Horizontal Migration code for listings (by @tegbessou)
    - #28482: Handle product ecotax in product v2 (for both standard and combination form) (by @jolelievre)
    - #28504: Add hook to allow additional search panels (by @sowbiba)
    - #28597: Combination tab out of stock (by @jolelievre)
    - #28577: Combination list form inside product form, and combinations available labels (by @jolelievre)
    - #28451: New product price display and product summary (by @jolelievre)
    - #28407: Combination list edit mode (by @jolelievre)
    - #28380: Add module ps_distributionapiclient (by @atomiix)
    - #26716: [BC Break] Make Shop Parameters > Traffic & SEO > SEO & URLs forms multistore compatible (by @micka-fdz)
    - #27469: Add hook to allow adding content after themes list in the BO (by @sowbiba)
    - #25872: [BC Break] Make Shop Parameters > Order Settings forms multistore compatible (by @micka-fdz)
    - #27233: [BC Break] Integrate new header design for product page (by @jolelievre)
    - #27673: Remove ecotax field when the product is virtual (by @Progi1984)
    - #27663: Fixed wording on Security page (by @Progi1984)
    - #27461: Add hook to allow adding extra buttons in module configure toolbar (by @sowbiba)
    - #27442: [BC Break] Multistore - Shipping > Preferences - Add checkboxes (by @okom3pom)
    - #25914: [BC Break] Multistore - Advanced Parameters > Webservice - Add checkboxes  (by @okom3pom)
    - #25464: [BC Break] Product multishop prices (by @jolelievre)
    - #26506: [BC Break] Introduce CQRS query to search combinations for association (by @jolelievre)
    - #26086: Create CommandAccessor component which will be used by the command builders services (by @jolelievre)
    - #25726: Added API status block in WebService page (by @Progi1984)
    - #22731: Migrate product list - part 1 - Base (by @JevgenijVisockij)
    - #24398: Partially restore feature search in Back Office (by @eternoendless)
  - Improvement:
    - #29230: [BC Break] Add help.prestashop-project.org documentation links & fix popup opening (by @FabienPapet)
    - #29022: Display an error while the file format does not match the allowed formats (by @PrestaEdit)
    - #28959: Combination form ux improvement (by @jolelievre)
    - #28668: Add recommended length counters to SEO fields in CMS Pages Add/Edit and SEO Add/Edit URLs (by @Progi1984)
    - #28594: [BC Break] Feature flags improvements (by @matthieu-rolland)
    - #28330: Extra message on module description (by @sowbiba)
    - #28277: [BC Break] Fix bugs for RTL languages by SCSS in BO (by @mparvazi)
    - #28375: Add reset button to reset category filter in products list (by @marsaldev)
    - #28328: Catalog rules: don't display the shop column if there is only one shop (by @kpodemski)
    - #28318: Extra message to display for an empty modules category (by @sowbiba)
    - #28066: Add select2 in large select options (by @PululuK)
    - #28161: Add shop name in customer search result. (by @lmeyer1)
    - #28183: Add default group to customer listing (by @Hlavtox)
    - #28143: Migration - Adds commands for Store delete and bulk delete (by @LouisAUTHIE)
    - #25156: Add validator method select on admin controller (by @ytilotti)
    - #27328: [BC Break] Handle product tags in v2 page (by @jolelievre)
    - #28166: Set Tax included as default value for amounts in cart rule form. (by @lmeyer1)
    - #27606: Show confirmation modal before deleting order status and order return status (by @Progi1984)
    - #28243: Updated wording about the error when upload a module bigger than post_max_size or upload_max_filesize (by @marsaldev)
    - #27917: [BC Break] Remove deprecated admin endpoints (by @eternoendless)
    - #28177: [BC Break] Remove live exchange rate toggle in Currencies (by @lmeyer1)
    - #28146: Update wording of a tooltip in products settings page (by @marsaldev)
    - #27440: Update BO architecture in product settings page (by @PierreRambaud)
    - #27611: Use Vazir font with a node module instead of CDN (by @NeOMakinG)
    - #26377: Allow to print order messages (by @PululuK)
    - #27632: [BC Break] New extensible module manager API (by @atomiix)
    - #27404: Simplify multistore service call in controllers (by @PululuK)
    - #27853: BO Migration Contact > Stores - Add command, command handler and behat tests for bulk status toggle (by @LouisAUTHIE)
    - #27969: Add the possibility to load PHP / XML files for modules services (by @intraordinaire)
    - #28010: [BC Break] Remove OrderSlip::createOrderSlip deprecated function (by @nenes25)
    - #28001: In Stock Movement page, localize date & time (by @Progi1984)
    - #27925: [BC Break] Remove all deprecated templates in /admin-dev/themes/default/template/controllers/modules_positions/ (by @eternoendless)
    - #28009: [BC Break] Remove OrderHistory getLastOrderState deprecated function (by @nenes25)
    - #27895: Handle seo data for multishop (by @saulaski)
    - #27825: Migrate 'International > Locations > States' Listing (by @Progi1984)
    - #27851: [BC Break] Simply Delivery Slip Form (by @Progi1984)
    - #27275: [BC Break] Move condition field from options to specifications tab (by @jolelievre)
    - #27373: BO Migration Contact > Stores - Add command, command handler and behat tests for status toggle (by @LouisAUTHIE)
    - #27510: Improve wording tooltip Traffic & SEO > Schema of URLs (by @okom3pom)
    - #27719: [BC Break] Product multi shop stock (by @jolelievre)
    - #27751: Removed dead code about Aviary in FileManager (by @Progi1984)
    - #27525: [BC Break] Multistore - International > Taxes > Taxes - Add checkboxes (by @okom3pom)
    - #27481: Product page v2 accessible in menu (by @jolelievre)
    - #27443: Minor cleanup and styling (by @Hlavtox)
    - #27584: [BC Break] Multishop product basic (by @jolelievre)
    - #21120: Create Back-Office page(s) to manage customer and employee sessions SQL tables (by @PierreRambaud)
    - #27563: Multistore - Shop parameters > Order settings > Statuses : Add information message (by @Progi1984)
    - #27514: Use new url quick access for orders list (by @okom3pom)
    - #27408: Hide Merchandise return tab when  Merchandise return is disabled (by @okom3pom)
    - #27271: Redesign sidebar menu UI (by @mparvazi)
    - #27421: Improve products return controller (by @okom3pom)
    - #27346: Redesign SEO preview (by @mparvazi)
    - #27268: [BC Break] Add product link in order preview (by @PululuK)
    - #27358: Add Value Object and Exceptions to migrate Contact>Store in BO (by @LouisAUTHIE)
    - #25080: Display customer groups in order detail (by @Hlavtox)
    - #27108: Add the required length to create a webservice key into form (by @PrestaEdit)
    - #27106: Update webservice doc URL to reach 8 version (by @PrestaEdit)
    - #26024: [BC Break] New add product modal (by @jolelievre)
    - #26022: Add some more precises TypeScript interfaces (by @NeOMakinG)
    - #24403: [BC Break] When creating category, select all groups by default (by @jf-viguier)
    - #25236: Migrate translations page to TypeScript (by @NeOMakinG)
    - #26958: Remove dead code. JS is trigger, but DOM elements are already deleted. (by @intraordinaire)
    - #26689: Optimize cart list in customer detail (a bit) (by @Hlavtox)
    - #25595: Refacto some sensible selectors and add some missing selectors to classic selector map (by @NeOMakinG)
    - #26669: Refactor and simplify rendering of KPI row (by @Hlavtox)
    - #25917: [BC Break] Update new-theme bootstrap and remove unused dependencies (by @NeOMakinG)
    - #26910: [BC Break] Remove hard coded ads (by @okom3pom)
    - #26917: Remove the card "Visit the theme catalog" from Theme config page (by @intraordinaire)
    - #26909: Remove calls to addons API when searching in BO (by @intraordinaire)
    - #26665: Stack min-max inputs to get more space (by @Hlavtox)
    - #25207: Remove id_tax_rules_group in carrier table (by @jf-viguier)
    - #24357: Add order_reference to PaymentModule::validateOrder (by @viglu)
    - #25091: Display customer group when searching for a customer (by @Hlavtox)
    - #26063: Clean Back-office templates, part 4 - catalog (by @Hlavtox)
    - #26064: Clean Back-office templates, part 5 - orders (by @Hlavtox)
    - #26616: [BC Break] In BackOffice, removes unused RTL files and its calls (by @mparvazi)
    - #26601: Do not use hook alias - follow-up (by @SharakPL)
    - #25920: [BC Break] Handle related products in new product page (by @jolelievre)
    - #26239: Move dashboard right column elements into a hook (by @intraordinaire)
    - #26062: Clean Back-office templates, part 3 - improve (by @Hlavtox)
    - #26061: Clean Back-office templates, part 2 - configure (by @Hlavtox)
    - #23889: [BC Break] Display customer company when creating an order in the BO (by @tom-combet)
    - #26494: Changed colorPicker width in BackOffice (by @hibatallahAouadni)
    - #26464: Use latest npm version on JS routing GA (by @NeOMakinG)
    - #26021: Update every package-lock with npm 7 (by @NeOMakinG)
    - #26060: Clean Back-office templates, part 1 - common (by @Hlavtox)
    - #25869: [BC Break] Product quantity is now handled by delta modification (by @jolelievre)
    - #26055: Add placeholders in product settings page (by @okom3pom)
    - #26081: Switch new-theme to esbuild-loader from babel-loader and add webpack-dev-server (by @NeOMakinG)
    - #25686: Use editable customer and avoid loading unnecessary data (by @Hlavtox)
    - #25066: [BC Break] Removed links in employee menu & Added hook for adding links (by @Progi1984)
    - #25976: Update webpack dependencies of classic theme (by @NeOMakinG)
    - #25936: Update webpack, babel and others webpack dependencies of new-theme (by @NeOMakinG)
    - #25964: Make admin directory folder name longer (by @matks)
    - #25935: Search products association query (by @jolelievre)
    - #25899: Correct some typescript ignore and external libraries (by @NeOMakinG)
    - #25184: [BC Break] Attachment iframe modal (by @jolelievre)
    - #25745: Do not use Math.random for cart rule code generation (by @matks)
    - #25744: Fix wrong word in docker_run_git.sh (by @nenes25)
    - #24401: [BC Break] Remove support for legacy Core translation dictionaries in Back Office (by @eternoendless)
    - #24790: Migrate modern admin theme JS components to TypeScript (by @NeOMakinG)
    - #25054: Order feature by position then id_feature_value in productForm V2 (by @e-gaulue)
    - #25314: Don't set UPGRADE as a main button in module list (by @Hlavtox)
    - #25440: Localized dates on BackOffice pages (by @Progi1984)
    - #22401: Allow extending order-create form summary (by @zuk3975)
    - #25186: Refacto stock page using TypeScript (by @NeOMakinG)
    - #25419: [BC Break] Introduce new product form structure for BO Experimental Product page (by @jolelievre)
    - #25169: Cart rule category selection : display categories in a hierarchical way (by @jf-viguier)
    - #24932: Fix unexpected condition in country-state-selection-toggler (by @davidglezz)
    - #25153: Make color picker global in back office (by @matthieu-rolland)
    - #25089: Fixed replaced image in product page (by @NoZTurn)
    - #24808: Remove white-space : nowrap to the category tree. (by @Socrapop)
    - #23515: Add category products number in BO list (by @PululuK)
    - #24803: Add "chosen" to filter available fields on Import page (by @kpodemski)
    - #24785: Fix mispelled word in AdminController (by @prestaforum)
    - #23221: [BC Break] Add typescript on BO migrated pages and refacto grid system (by @NeOMakinG)
    - #23863: Enable to extends module `card_list.html.twig` and use custom actions (by @PululuK)
    - #24345: No alert displayed when we click on "Save then add another value" button (by @okom3pom)
    - #24127: Add missing param phpdoc in LayoutExtension::getLegacyLayout (by @matks)
  - Bug fix:
    - #29024: Fixes BO Dashdoard Button wrong display (by @LouisAUTHIE)
    - #29174: Toggle condition availability based on show_condition (by @zuk3975)
    - #29199: Fix 29165 BO input unit display (by @FabienPapet)
    - #29158: Fix product type error when enabling experimental product page (by @zuk3975)
    - #29190: Fix menu display for legacy pages (by @MeKeyCool)
    - #29186: Fix supplier / product v1 association (by @MeKeyCool)
    - #29073: Remove select2 for categories in product v1 (by @atomiix)
    - #29162: [BC Break] Remove smarty caching_type (by @FabienPapet)
    - #29054: [BC Break] Fix BO Units on inputs (by @FabienPapet)
    - #28416: Do not throw an exception if a module is invalid (by @atomiix)
    - #29086: Fix filtering by date in Movements page (stock section) (by @marsaldev)
    - #29069: Fix install theme without hooks (by @FabienPapet)
    - #29025: Fix module link in adminsearch (by @okom3pom)
    - #29067: Fix permissions for read-only user (by @FabienPapet)
    - #28660: Fix exception during profil edition if invalid field given with avatar (by @MeKeyCool)
    - #29019: BO - Brands & Suppliers - the red alert "Image format not recognized" is missing the webp (by @okom3pom)
    - #29020: Use LegacyModule instance instead of ModuleAdaptater (by @PrestaEdit)
    - #28706: Fix orders export limit (by @Seb33300)
    - #29003: BO - Trivial display in Geolocation (by @okom3pom)
    - #28987: Fix associated categories in product page v1 (by @atomiix)
    - #28930: Fix features and attributes list for multishop (by @MeKeyCool)
    - #28984: Fix customer edit/add select all group access (by @atomiix)
    - #28936: Fix configure warning when module is disabled or uninstalled (by @okom3pom)
    - #28898: BO - Customer view page - The status of the voucher is always disabled (by @okom3pom)
    - #28973: Do not allow 0 as number of products per page (by @atomiix)
    - #28829: Fix performances links spaces and URLs (by @NeOMakinG)
    - #28477: Adjust footer on V2 product page (by @Amoifr)
    - #28392: Fix back-office translations when multishop and multiple languages (by @MeKeyCool)
    - #28821: Handle fallback when currency has empty display names (by @jolelievre)
    - #28802: Fix notice admin search controller (by @okom3pom)
    - #28817: Fix notices in email translation (by @okom3pom)
    - #28788: Fix carrier Exeption with free shipping (by @okom3pom)
    - #28592: Remove id from entity search input templates (by @jolelievre)
    - #28654: Add default fallback if no customer name (by @atomiix)
    - #28535: Removes old images and their hight DPI (by @w-jerome)
    - #28266: Add regex constraint to the webservice key (by @marsaldev)
    - #28458: HelperList: remove notice if specificConfirmDelete is set to false #27718 (by @jf-viguier)
    - #27308: Restore needed removed row in customer view (by @NeOMakinG)
    - #28140: Fix the sorting mechanism on the Stock page (by @marsaldev)
    - #28447: Use toolbar buttons array index as class when missing (by @sowbiba)
    - #28332: Module manager : Restore modules actions order (by @sowbiba)
    - #28307: Fixed the position of the selection card (by @Progi1984)
    - #28068: [BC Break] Specific Price Form : Changing currency change the symbol (by @Progi1984)
    - #28153: Fix cart rule shop association (by @lmeyer1)
    - #28226: Fix notifications color contrast on module manager page (by @NeOMakinG)
    - #28019: Fixed display of Vouchers id in Customer View (by @Progi1984)
    - #28319: BO: Fix overlapping checkoxes on configure buttons (by @hibatallahAouadni)
    - #28235: Fix back button style on login page (by @NeOMakinG)
    - #28314: Fix the stock supplier filter on the Stock page (by @kpodemski)
    - #28281: Fix non closing modal after module install (by @sowbiba)
    - #28223: Fix the load of CSS file to be able to load them with version (by @intraordinaire)
    - #28094: Fix displayHeader is not available when transplanting modules/hooks (by @Prestaworks)
    - #28225: Fix dropdown id on translatable group (by @NeOMakinG)
    - #28086: [BC Break] Remove already migrated code in AdminModulesPositionsController (by @eternoendless)
    - #28173: Upgrade module when already installed (by @atomiix)
    - #28178: Update prestakit to 1.2.5 (by @jolelievre)
    - #28172: Remove unwanted pnpm-lock.yml file (by @NeOMakinG)
    - #28050: Fix iframe modal scrollbars (by @jolelievre)
    - #28118: Fix contextual notification in Product Page v2 Edit Page (by @Progi1984)
    - #27839: Wrong error message in logs (by @tlgsoledis)
    - #27795: Fixed notice 'Undefined index: reduction_applies' (by @Progi1984)
    - #28104: Removed duplicate in SpecificPriceRule::getAffectedProducts (by @Progi1984)
    - #27439: [BC Break] Don't use 0 value for carrier name (by @okom3pom)
    - #28023: Fixed the wording translation for Enable/Disable Mobile in Modules page (by @Progi1984)
    - #26774: Fix missing canonicals (by @Prestaworks)
    - #27781: Fixes error which occurred when you try to modify any customer information after the import (by @kgleizes)
    - #27667: Multistore - Payment > Payment methods - Do not display content and update message in all shops or in a group context (by @Progi1984)
    - #27669: Multistore - Design > Position - Do not display content and update message in all shops or in a group context (by @Progi1984)
    - #28003: Fixed wording and color button on exit button for the bulk delete (by @Progi1984)
    - #28022: Fixed the exception when we disable the tax in the BO > International > Taxes page (by @Progi1984)
    - #27626: [BC Break] Fix stock movement creation from new order (by @saulaski)
    - #24797: Force disabled discounts (CartRules) to show if needed (by @kpodemski)
    - #27850: Move notifications divs to the vuejs app (by @atomiix)
    - #27889: Fixed the display of the dropdown 'No voucher was found' (by @Progi1984)
    - #27860: Added hooks for blockwishlist in classic theme (by @Progi1984)
    - #27793: BO - Customer Page - Allow only positive number for Maximum number of payment days (by @Progi1984)
    - #27848: Check href exists before replacing it in multistore header (by @atomiix)
    - #27813: Fix css specificity issue in mobile menu (by @amaury-hanser)
    - #27394: Improve Cart Rule Form Responsive footer (by @Progi1984)
    - #27720: MultiStore - Sell > Customer Service > Merchandise Return - Add Checkbox & Simplify Form (by @Progi1984)
    - #27620: Multistore - Catalog > Stocks > Stocks & Movements - Update message in all shops or in a group context (by @Progi1984)
    - #27815: Display Ecotax select when ecotax is enabled, without saving (by @Progi1984)
    - #27808: Fixes Security controller help frame opening CORS Problem (by @LouisAUTHIE)
    - #27762: Add help field when integer type is used to a form (by @okom3pom)
    - #27767: Add autocomplete="off" to date picker inputs in helpers (by @jf-viguier)
    - #27697: In Import Page, allow all languages (active and inactive) (by @Progi1984)
    - #27698: Fixed Help Link in Merchandise Returns page (by @Progi1984)
    - #27228: Fix FormSubmitButton selector (by @atomiix)
    - #27175: Avoid exception and display appropriate message in database backup (by @Amoifr)
    - #27381: Removed double escape for Tree Node template (by @Progi1984)
    - #25805: Override : Create directory if not exists (by @Progi1984)
    - #27441: Don't search all word for customer search when we create an order (by @okom3pom)
    - #27564: Correct namespace for MaintenanceConfigurationTest (by @okom3pom)
    - #27560: Fixes Experimental page combination table row border styling issue (by @Progi1984)
    - #26056: [BC Break] No tracking Number for return product tab (by @okom3pom)
    - #27457: Remove NotBlank constraint on CreditSlipOptionsType (by @matks)
    - #25992: Fix mail templates (by @lmeyer1)
    - #27285: Fix bad display of the notifications dropdown in medium screen (by @mparvazi)
    - #27012: Removed AdminParent controllers from search in BackOffice (by @Progi1984)
    - #26883: Preload fonts in the BO (by @NeOMakinG)
    - #27329: Fix filters reset in BO stock movements (by @saulaski)
    - #27283: Fix bad display of header toolbar in Product page and Stock page (by @mparvazi)
    - #27317: Fix form mapper to handle mapping with only one selector (by @jolelievre)
    - #26700: In BackOffice, fixed problems for RTL languages (by @mparvazi)
    - #27052: Fix unclosed foreach (by @okom3pom)
    - #27250: Fixes edit of cart rule of a country (by @Progi1984)
    - #26609: [BC Break] Fix combination supplier changes not taking effect (by @zuk3975)
    - #27091: [BC Break] Return integer instead of bool into checkModulesNames() (by @PrestaEdit)
    - #27066: Allow null for ip maintenance and maintenance message fields (by @matthieu-rolland)
    - #22520: Update HookRepository.php (by @Prestaworks)
    - #26994: Multistore: fix configuration value not saved for current context (by @matthieu-rolland)
    - #26475: Fix Combination::getIdByReference returns wrong id (by @alexandrebrubeyonds)
    - #27006: Update node-sass in order to be compatible with Node 16 (by @NeOMakinG)
    - #27014: Remove addons call (by @NeOMakinG)
    - #24120: Fix wrong multishop detection in AdminInvoiceController (by @gennaris)
    - #26488: Disable 'Apply new Quantity' Button before request is sent (by @beattie282)
    - #26546: Fix display for invalid characters in tax name (by @okom3pom)
    - #26561: Don't encode quotes in column name filter value (by @yo7hli)
    - #26805: Fixed the error "The message body is empty" in AdminCustomerThreadsController.php (by @okom3pom)
    - #26522: Fixed display of errors in Carrier Wizard (by @Progi1984)
    - #25327: [BC Break] Improve layout of datetime columns when there's not enough space (by @eternoendless)
    - #26430: Fix legacy tinymce layout is too small (by @NeOMakinG)
    - #26509: Fix module manager wrong behaviors (by @NeOMakinG)
    - #26425: Fix duplication of specific prices that apply to a single combination (by @samaij)
    - #26560: In BackOffice, fixed the missing link of CSS bundles for RTL languages (by @mparvazi)
    - #26538: Fixed filemanager new folder (by @alexandrebrubeyonds)
    - #26220: Repair sorting on block address in customer view (by @tegbessou)
    - #24780: Fix to keep the main product category after importing a product update (by @SergioQuinonez)
    - #26512: Fixed search on Profile Grid in BackOffice (by @Progi1984)
    - #26051: [BC Break] Improve sync between wholesale price and default supplier price in both CQRS and page v2 (by @jolelievre)
    - #26188: Add a float parser for the wholesale price of attributes (by @andromaque)
    - #25265: Add employee in mobile menu and quickaccess on search bar on mobile migrated pages (by @NeOMakinG)
    - #26068: Footer from next invoice shown on invoice when exporting multiple invoices (i.e. invoices by date range) (by @Ashley-Butcher)
    - #21420: [BC Break] Filters : Set Placeholder for Yes/NO & Fix bug when filters are emptied (by @Progi1984)
    - #26372: Dashboard - Correct display of the titles with panel-heading when the screen is reduced (by @khouloudbelguith)
    - #26215: Checked select all checkboxes if all options are checked (by @tegbessou)
    - #26241: Disable sorting on customer discount vouchers (by @tegbessou)
    - #26353: Fix display edit country (by @okom3pom)
    - #26210: [BC Break] Disable override button in performance page (by @okom3pom)
    - #25787: Fix when duplicating product, out of stock ordering behavior is not copied (by @gennaris)
    - #25775: Fixed import of macros for infotip use in multistore mode (by @Progi1984)
    - #26042: Allow # ° ... for credit slip prefix (by @okom3pom)
    - #26118: Change material-icons library causing a too long install (by @NeOMakinG)
    - #26043: Remove bad deprecated comment (by @okom3pom)
    - #25995: Remove duplicate actionCategoryUpdate call on toggling category display status (by @yo7hli)
    - #25776: Removed use of service parameter in controller (by @Progi1984)
    - #25115: [BC Break] Use AsyncToggleColumnExtension for Customers list (by @matks)
    - #25900: Fix broken multistore config forms's javascript (by @matthieu-rolland)
    - #25858: Fix warning on the Customer Threads page (by @kpodemski)
    - #25692: In BO > Orders: Fix disabled add voucher button (by @Progi1984)
    - #25302: Fixed sort for naming in Admin > Carriers list (by @Progi1984)
    - #25559: [BC Break] Removed Addons Connect button in Edit Employee Form in BO (by @Progi1984)
    - #24491: BO SpecificPriceRule - Fix Multi Shop filter on conditions (by @Seb33300)
    - #25558: Fixed save in Symfony Form Merchandise Return Options (by @Progi1984)
    - #25491: Fix actionAdminOrdersTrackingNumberUpdate call location (by @ytilotti)
    - #25548: Set template for customization in div (by @Progi1984)
    - #25442: Fix module uninstallation from the Module Manager (by @kpodemski)
    - #25465: Fix option selection issue in order creation page (by @matthieu-rolland)
    - #25056: Fix BO order create responsivity (by @Hlavtox)
    - #25157: Improve admin product list header (by @Hlavtox)
    - #25439: BO - Customer View page - Added alert when removing a voucher (by @Progi1984)
    - #25305: States : Added add button only on listing pages (by @Progi1984)
    - #25139: Fix the path of the "form_warehouse_combination" (by @tups)
    - #25301: Display validation when Enable/Disable webservice keys by bulk actions (by @Progi1984)
    - #25295: Allow enable/disable selection for customers in Customer Groups (by @Progi1984)
    - #25152: Fix selectors map not being set in experimental product combinations page (by @zuk3975)
    - #24982: Fix getting products count on category list (by @kpodemski)
    - #25087: Fix form label alignment, switch precision and alignment (by @Hlavtox)
    - #25085: Kick border radius of the middle button of search bar (by @NeOMakinG)
    - #25072: BO: Product Form V2 : Show inactive categories in the category tree (by @e-gaulue)
    - #25012: Fix color picker bug (by @unlocomqx)
    - #25048: Fix mobile boostrap column spacing and forgotten class (by @Hlavtox)
    - #24933: Old products.js fixes (by @davidglezz)
    - #24895: Fix empty data by < in invoice note (by @okom3pom)
    - #24952: Limit id min-max width on product list (by @NeOMakinG)
    - #24958: Allow HOOK_DISPLAY_PDF to fill the whole page area (by @tswfi)
    - #24909: Fix steps height on carrier page on mobile (by @NeOMakinG)
    - #24919: Update node sass (by @NeOMakinG)
    - #24823: [BC Break] Validate image if needed first when adding new brand (by @kpodemski)
    - #24897: Fix translations escaping for BO header (by @kpodemski)
    - #24796: Checking for url existence in possible new default shop (by @kpodemski)
    - #24595: Wrong mimetype for svg file (by @Shagshag)
    - #24835: Fix customers delete bulk selector map  (by @NeOMakinG)
    - #24805: Fix customer delete regression and tests (by @NeOMakinG)
    - #24688: Correctly displayed precise product weight (by @kpodemski)
    - #24555: Fix for product combination quantity change in RTL panel  (by @samberrry)
    - #24352: Search Conf Incorrect successful alert message (by @okom3pom)
    - #24359: Email Preview - wrong value in {total_products} (by @okom3pom)
    - #24328: Email "Fwd: Customer" message ; link is not correct (by @okom3pom)
    - #24183: Handle info flash messages in Twig layout (by @matks)
    - #24184: Make color required for order state forms (by @matks)
    - #21174: Fix color picker template (by @bpato)
  - Refactoring:
    - #28598: [BC Break] Improve FormFieldDisabler into FormFieldToggler and use it for "show prices" and "delivery times" in product page (by @jolelievre)
    - #28553: [BC Break] Autofill empty link_rewrite in product update handlers (by @zuk3975)
    - #28751: Combination bulk actions progress modal (by @zuk3975)
    - #28352: Light product list (by @zuk3975)
    - #28749: Add Pagination for specific price list in product page (by @zuk3975)
    - #28438: Migrate Country list to symfony (by @margud)
    - #28619: [BC Break] Replace unit type with a form type extension (by @tom-combet)
    - #28584: Product list bulk delete and duplicate actions (by @zuk3975)
    - #28561: Toggle "show price" and "delivery times" inputs visibility (by @zuk3975)
    - #28533: Introduce SetDefaultCombinationCommand (by @zuk3975)
    - #28558: Add fixed quantity update to bulk combination edition (by @zuk3975)
    - #26004: [BC Break] Migrating product list part 2 (by @JevgenijVisockij)
    - #28390: Improve / refactor specific price form on page V2 (by @matthieu-rolland)
    - #28526: Fix wording (by @marsaldev)
    - #28506: Empty state for combinations list (by @zuk3975)
    - #28459: Combination bulk action. Handle new bulk choices: select all | select all in page (by @zuk3975)
    - #27353: [BC Break] Refacto combination suppliers (by @jolelievre)
    - #27892: [BC Break] Simplify Product Preferences Form (by @Progi1984)
    - #28359: Bulk delete combinations (by @zuk3975)
    - #28075: Migrate the Customers > Title pages (Only the list) (by @Progi1984)
    - #28282: Add images selector to bulk combination form (by @zuk3975)
    - #27216: Combination bulk form (by @zuk3975)
    - #27670: Handle multishop for product shipping form (by @zuk3975)
    - #12428: [BC Break] Migration of Permissions configuration (by @sarjon)
    - #27783: Handle multishop for product options tab (by @zuk3975)
    - #26938: SpecificPrice priority form (by @zuk3975)
    - #27098: [BC Break] Remove the page `Referrers` (by @Progi1984)
    - #27710: [BC Break] Removed dead code relative to Addons (by @Progi1984)
    - #27288: [BC Break] Remove AdminAttributeGeneratorController & Use about (unused) table attribute_impact (by @Progi1984)
    - #27700: Refactor gelocation configuration form before it can be migrated as multistore compatible (by @matthieu-rolland)
    - #27444: [BC Break] Remove code relative to the (removed) news block on dashboard (by @Progi1984)
    - #25879: Refacto improper card markup on migrated pages (by @NeOMakinG)
    - #25806: Migrate Product page v2 to TypeScript (by @NeOMakinG)
    - #26617: Update combination using delta quantity (by @zuk3975)
    - #27273: [BC Break] Clean shortcuts code from product form (by @jolelievre)
    - #25742: Add specific price modal in experimental product page (by @zuk3975)
    - #26762: [BC Break] Refactor product unit price (by @jolelievre)
    - #27015: Remove dead code about Dashboard Push (by @Progi1984)
    - #24077: Adding html column (by @JevgenijVisockij)
    - #25956: [BC Break] Refactor on AbstractMultistoreConfiguration class + unit tests + integration tests (by @matthieu-rolland)
    - #26836: [BC Break] Move StockController into Admin/Sell/Catalog/ (by @eternoendless)
    - #25750: Migrate router, store and mixin files of stock page to TypeScript (by @NeOMakinG)
    - #25562: [BC Break] Move TranslationsController into Admin/Improve/International (by @eternoendless)
    - #26449: [BC Break] Refactor product status command (by @jolelievre)
    - #24667: Implement EditProductSpecificPriceCommand (by @zuk3975)
    - #25342: Introduce a first v1 for Category modal (new product page) (by @zuk3975)
    - #25689: [BC Break] Rename Form to FormTheme in experimental product templates (by @zuk3975)
    - #25573: Remove unused-var in AdminImportController (by @nenes25)
    - #25175: Introduce BulkDeleteCombinationCommand (by @zuk3975)
    - #24786: [BC Break] Remove unused backoffice footer (by @Progi1984)
    - #24878: [BC Break] Refactor entity search element to make more generic and reusable (by @jolelievre)
    - #24658: Deprecate Domain\SpecificPrice namespace (by @zuk3975)
    - #24791: [BC Break] Migrate pages files to typescript (by @NeOMakinG)
    - #23441: Migrate "Shop parameters > Traffic & SEO > Search Engines" and create/edit of search engines (by @ks129)
    - #24649: Remove irrelevant "todo" reminder (by @zuk3975)
    - #24628: Add router to defined javascript components (by @zuk3975)
- Front Office:
  - New feature:
    - #27292: Add category additional description (by @Hlavtox)
    - #27347: Added contextual information messages in multistore context (by @Progi1984)
    - #24656: Introduce ability to version Media (by @samberrry)
    - #24738: Add a hook 'actionValidateOrderAfter', This hook is called after the complete creation of an order (by @olecorre)
  - Improvement:
    - #28232: Optimizing queries for checking address existence (by @Progi1984)
    - #27755: Move registration logic to new controller (by @Hlavtox)
    - #28297: FO: Add page number in meta titles for new-products, best-sales, prices-drop (by @Amazzing)
    - #27397: Add the minimum required to the error message, when trying to apply a cart rule with a minimum (by @Prestaplugins)
    - #27941: [BC Break] Hook displayOverrideTemplate not executed on checkout page due to naming issue. (by @Amit-Kumar-Tiwari-Webkul)
    - #27756: [BC Break] FO:  Remove Front controller deprecated properties (by @nenes25)
    - #27467: Support 410 gone http code (by @jf-viguier)
    - #27437: Add hook to display custom content before checkout confirmation (by @ShaiMagal)
    - #26898: Display fixed index in profiling for easier navigation (by @unlocomqx)
    - #27022: Do not autohook ps_featuredproducts on displayCrossSellingShoppingCart (by @Hlavtox)
    - #25866: Get unique product ids at specific prices (by @kusflo)
    - #26890: Automatic update of rewrite url only on creation (by @jf-viguier)
    - #25668: [BC Break] Global smarty $urls variable changes when child theme is being used (by @Oksydan)
    - #23959: Support shop logo in svg (by @jf-viguier)
    - #25064: Link improvements, mainly for customers not logged in (by @Hlavtox)
    - #25204: Fix return for virtual product  (by @okom3pom)
    - #26285: Unify reporting of query types (by @Hlavtox)
    - #26393: Show breadcrumbs on mobile (by @alexandrebrubeyonds)
    - #23803: Fix static vars not using scss vars on new-theme and classic (by @NeOMakinG)
    - #25543: Add `supplier` and `manufacturer` image link in `smarty url helper` (by @PululuK)
    - #24684: Option to override CMS category template (by @kpodemski)
    - #25067: Added clickable phone number on navbar and footer (by @henri9813)
    - #24437: Add "recycled packaging" in order_conf and new_order mail and on order summary page and order confirmation page (by @okom3pom)
    - #25026: Clean some Classic outdated files (by @matks)
    - #24730: Add product page link and move download in order details (by @marekjedrzejewski)
    - #24348: Use right link and add redirect (by @okom3pom)
    - #13585: Query optimization in CartRule (by @Rolige)
  - Bug fix:
    - #29055: Fix anchor links in product list (by @jolelievre)
    - #28904: Fix responsive for product quick view. (by @MeKeyCool)
    - #28524: Fix select2 style in order view (by @MeKeyCool)
    - #27841: Multistore - Product on category page display out of stock flag instead of availlable on order (by @Rizzen59)
    - #27187: Set country from browser language if option is set in customer address (by @Amoifr)
    - #28231: Fix totals excluding tax in confirmation email (by @Seb33300)
    - #28426: Fix product images size consistency (by @MeKeyCool)
    - #27738: FO : Fix offset for "NEW" products listing (by @idnovate)
    - #27803: No more auto created carts on login (by @Prestaworks)
    - #26048: Check quantities at any point of checkout process (by @Hlavtox)
    - #27830: Fixes php notice because $result maybe false value (by @buggyzap)
    - #26854: Prevent customization modal open if qty changed in cart on classic (by @NeOMakinG)
    - #27475: Fix: prestashop event functions are overwritten in the "classic" theme (by @tups)
    - #27446: Display Line Breaks in Order messages (by @Progi1984)
    - #27159: [BC Break] Fix check by delivery price/weight in case of hook usage (by @jf-viguier)
    - #26806: [BC Break] Move informational message in my account sections to template (by @Hlavtox)
    - #27095: Fix forbidden access page in Front Office (by @eternoendless)
    - #26954: Customer is able to see order detail page via link even order share is disabled in multishop (by @Amit-Kumar-Tiwari-Webkul)
    - #27079: Fix the checkout button for the longer text (by @kpodemski)
    - #26791: Add redirect with notifications (by @Lionel-dev)
    - #26663: Fix position of cart crosselling hook (by @Hlavtox)
    - #25883: Fix update qty of cart when qty is set to 0 on front-office (by @NeOMakinG)
    - #26673: Fix button alignment inside input-group (by @SharakPL)
    - #25069: [BC Break] In case multiple payment options are available (by @moncef-essid)
    - #24798: Get quantity_wanted for product only when it is needed (by @kpodemski)
    - #25818: [BC Break] Change jQuery-ui position before theme.js to avoid overriding bootstrap ones (by @NeOMakinG)
    - #26586: Added modules to hook DisplayHome in classic theme (by @Progi1984)
    - #25501: Smarty Modifier Classname - compatibility with CSS BEM method (by @tups)
    - #26477: Fix error while compiling theme assets (by @templatin)
    - #25972: Do not reject cart creation if no cookie, only exclude bots (by @psyray)
    - #26347: Fix for issue with customizable products returns (by @Prestaworks)
    - #26242: Respect display_taxes_label in ps_shoppingcart classic theme template (by @tswfi)
    - #26392: Fix Gift message bug if clicking fast (by @alexandrebrubeyonds)
    - #26414: Use proper variable for checking category active (by @Hlavtox)
    - #26394: Customization product text fix display (by @marwachelly)
    - #26380: Fix Simple anchors do not work (by @alexandrebrubeyonds)
    - #26363: Do not display unnecessary li tag ( ps_categorytree ) (by @okom3pom)
    - #26201: Order addresses by alias on checkout (by @tegbessou)
    - #25882: Respect country setting "Display tax label (e.g. "Tax incl.")" in cart and order confirmation page (by @tswfi)
    - #26194: Fix product brand in microdata (by @Hlavtox)
    - #25395: Fix revisiting order confirmation and guest to customer conversion in FO (by @Hlavtox)
    - #25834: Fix the StoreController and add missing data (by @kpodemski)
    - #25987: Fixed URL encoding when Friendly URL is disabled (by @Progi1984)
    - #25835: Add missing brands/manufacturer URL to the $urls (by @kpodemski)
    - #22389: Fixed case where the "Place Order" button is disabled when the order is free and "Terms of service" is disabled (by @tswfi)
    - #25396: Fixes Search that would return no result if semicolon is used (by @venditdevs)
    - #25564: In checkout, shipping method is not displayed if cart is only virtual (by @Progi1984)
    - #25460: Fix missing row element and additional padding (by @Hlavtox)
    - #25567: Use _DB_PREFIX_ constant instead of ps_ in SQL queries (by @idnovate)
    - #25433: Fix `ObjectModel::add()` force_id usage for multilang model (by @jf-viguier)
    - #25210: Add download link when an order have 2 product type virtual and normal (by @okom3pom)
    - #23698: Can't show module on the Left Column (by @nenes25)
    - #25151: Remove useless 50x.html pages in classic (by @jf-viguier)
    - #24509: Remove old selected_filters route  (by @jf-viguier)
    - #24920: Fixed duplicate address in checkout (by @jf-viguier)
    - #24792: If the product has no combinations then the `specific_references` must be filled in (by @levyn)
    - #24846: Remove extracted comments from webpack config of core js (by @NeOMakinG)
    - #16138: Fixed the bad discount amount for specific prices (by @levyn)
    - #24426: Fix error on favicon when maintenance mode is enabled (by @okom3pom)
    - #24155: Making the inline tag working for js and css (by @Prestaworks)
  - Refactoring:
    - #26931: [BC Break] Remove empty methods in FrontController (by @matks)
    - #25856: Subcategories template refacto (by @Oksydan)
    - #24080: Improve complexity of `CategoryController::getCanonicalURL` and Add doc to the parent function (by @Sinepel)
    - #24940: Refactor cartPresenter to reflect the real business need (by @arouiadib)
    - #24019: Improve complexity of assignCase var in CMS Controller (by @Sinepel)
- Core:
  - New feature:
    - #27485: Add hook to allow adding buttons to modules catalogue toolbar (by @sowbiba)
    - #27683: Add a warning log when a module registers to a hook but implements no hook listener (by @Progi1984)
    - #27223: Add new hook `actionFilterDeliveryOptionList` (by @PululuK)
    - #26183: Console command for config (by @tswfi)
    - #26264: Add new cli command for getting and setting debug mode (by @tswfi)
    - #24394: Added support for WebP (by @Progi1984)
    - #25611: Introduce new Symfony ArrayFinder to replace Shudrum ArrayFinder (by @matks)
    - #25714: [BC Break] Remove unused parameters from Tools::addonsRequest() (by @eternoendless)
    - #23886: Add composer.json CS normalizer to CI (by @mvorisek)
    - #23413: Allow DKIM signing emails (by @Hlavtox)
    - #24124: Allow .webp image format in /img/.htaccess. (by @lmeyer1)
  - Improvement:
    - #29261: Bump distribution API module to 1.0.1 (by @matks)
    - #29239: Update composer deps and lock classic to beta-2.0.0 (by @matks)
    - #28658: Bump `prestashop/ps_cashondelivery` to 2.0.1 (by @Progi1984)
    - #28127: [BC Break] Implement a new password policy based on zxcvbn (by @PierreRambaud)
    - #28624: Bump phpstan/phpstan from 1.5.4 to 1.7.4 (by @Progi1984)
    - #28615: Add Db::ON_DUPLICATE_KEY into available possibilities (by @PrestaEdit)
    - #28402: [BC Break] PHP 8.1 compatibility (by @atomiix)
    - #28559: Micro performance optimizations in Order class (by @kpodemski)
    - #28545: [BC Break] Remove deprecated in Cart model (by @PrestaEdit)
    - #28544: [BC Break] Removed deprecated in Carrier class (by @jf-viguier)
    - #28072: Be able to skip CSV Header in CSV export (by @Shoprunners)
    - #28461: Bump guzzle version to 7.4 (PHP 8.1 compatibility) (by @intraordinaire)
    - #28198: [BC Break] Remove deprecated method inside AbstractProvider (by @PrestaEdit)
    - #27575: [BC Break] CountryId and CustomerId VO not allow zero (by @Amoifr)
    - #28290: Add product property `manufacturer_name` (by @PululuK)
    - #28339: Bump version to 2.1.0 for `blockwishlist` (by @Progi1984)
    - #28274: Update guzzle psr7 to 2.2.1 (by @matks)
    - #28273: Update Symfony to 4.4.40 (by @matks)
    - #28175: Add module name parameter to displayModuleConfigureExtraButtons hook (by @sowbiba)
    - #28197: [BC Break] Remove deprecated method inside SearchProvider (by @PrestaEdit)
    - #26587: Use filename property instead of generating a new filename + remove duplicate code for PDF invoice formatting (by @JoryHogeveen)
    - #28244: Change internationalization API urls to i18n.prestashop-project.org (by @eternoendless)
    - #28194: [BC Break] Remove deprecated method inside OrderPayment class (by @PrestaEdit)
    - #28191: [BC Break] Remove deprecated methods inside Cart class (by @PrestaEdit)
    - #28193: [BC Break] Remove deprecated OrderDiscount model (by @PrestaEdit)
    - #28192: [BC Break] Remove deprecated methods inside Product class (by @PrestaEdit)
    - #28195: [BC Break] Remove deprecated HookDispatcher adapter (by @PrestaEdit)
    - #28196: [BC Break] Remove deprecated method inside ThemeProvider (by @PrestaEdit)
    - #28020: [BC Break] Remove deprecated methods in CacheClearer class (by @PierreRambaud)
    - #27957: [BC Break] Remove getSafeModeStatus method (by @PierreRambaud)
    - #27960: [BC Break] Remove Adapter\Tools::link_rewrite (by @PierreRambaud)
    - #28119: Bump phpstan/phpstan to 1.5.4 (by @Progi1984)
    - #26743: Provide modules information about old order status (by @Hlavtox)
    - #27983: Fix PHPDoc on Address class (by @comxd)
    - #28060: Removed phpstan-ignore with use of `dynamicConstantNames` (by @Progi1984)
    - #27723: [BC Break] Bump PHPStan from 0.12.88 to 1.5 (by @Progi1984)
    - #28021: [BC Break] Remove HookExtension::hookCount method (by @PierreRambaud)
    - #27958: [BC Break] Remove Tools::display404Error (by @PierreRambaud)
    - #27959: [BC Break] Remove AdminController deprecated (by @PierreRambaud)
    - #27955: [BC Break] Remove getCldr and array_replace (by @PierreRambaud)
    - #27956: [BC Break] Remove useless parameters in displayDate method (by @PierreRambaud)
    - #27914: [BC Break] Remove deprecated include "images.inc.php" (by @eternoendless)
    - #27913: [BC Break] Remove deprecated date picker functions (by @eternoendless)
    - #27527: [BC Break] Remove deprecated enable_mobile|disable_mobile (by @PrestaEdit)
    - #27859: Update decimal to make it work without bcmath (by @PierreRambaud)
    - #27641: Added CQRS Commands & Queries for State domain (by @Progi1984)
    - #27797: [BC Break] Removed old constants (for removed directories) (by @Progi1984)
    - #27754: Removed dead code about `vatnumber` Module (by @Progi1984)
    - #27546: Use CSSO Webpack plugin everywhere (by @NeOMakinG)
    - #26913: [BC Break] PHPStan (Level 5) on classes/ (by @Progi1984)
    - #27417: PHPStan (Level 5) on controllers/ (by @Progi1984)
    - #27425: Add hooks in the form process for dataProvider (by @Progi1984)
    - #27562: Use remove instead of delete (by @PrestaEdit)
    - #27102: PHPStan (Level 4) on controllers/ (by @Progi1984)
    - #27360: Simplify CmpPrice functions (by @davidglezz)
    - #27359: Use mbstring functions without checking, in Tools class (by @davidglezz)
    - #27337: Upgrade Smarty to 3.4.43 (by @matks)
    - #27127: Allow overriding _PS_DISPLAY_COMPATIBILITY_WARNING_ in defines_custom.inc.php (by @PrestaEdit)
    - #27166: Updated state.xml MX Aguascalientes ISO 3166 code, and reorderded CMX… (by @rickygzz)
    - #27126: Bump modules (by @Progi1984)
    - #27107: PHPStan (Level 2) on tests/ (by @Progi1984)
    - #27044: Add new Twig namespace PrestaShopCore (by @atomiix)
    - #26946: Use github actions for nightly tests (by @boubkerbribri)
    - #27070: Improve license headers (by @matks)
    - #27092: Deprecate stripslashes (by @kpodemski)
    - #27082: Fix wording about footer display in Controller class (by @PrestaEdit)
    - #26682: [BC Break] Remove Combination::location and quantity (by @PierreRambaud)
    - #27004: [BC Break] PHPStan (Level 3) on controllers/ (by @Progi1984)
    - #26952: Remove duplicate call hook actionAdminProductsListingFieldsModifier (by @Amit-Kumar-Tiwari-Webkul)
    - #26914: [BC Break] Remove deprecated methods into Helper models  (by @PrestaEdit)
    - #26864: [BC Break] PHPStan (Level 2) on controllers/ (by @Progi1984)
    - #26923: [BC Break] Remove shudrum/array-finder from composer deps (by @matks)
    - #26294: [BC Break] Remove deprecated admin/ajax-tab.php (by @eternoendless)
    - #26727: PHPStan (Level 4) on classes/ (by @Progi1984)
    - #26746: Improvements to profiling: display order of query execution, (by @lmeyer1)
    - #26770: PHPStan (Level 1) on controllers/ (by @Progi1984)
    - #26685: [BC Break] Remove Order::$shipping_number (by @PierreRambaud)
    - #26681: [BC Break] Remove Tools::jsonEncode and Tools::jsonDecode (by @PierreRambaud)
    - #26744: PHPStan (Level 5) on js/ (by @Progi1984)
    - #26683: Order::$total_paid_real is not deprecated and used in the new Order page (by @PierreRambaud)
    - #26518: PHPStan (Level 0) on controllers/ (by @Progi1984)
    - #26478: [BC Break] PHPStan (Level 3) on classes/ (by @Progi1984)
    - #26637: Delete ACKNOWLEDGEMENTS.md (by @le-melon)
    - #24172: Bump version to 8.0.0 (by @PululuK)
    - #26324: [BC Break] Remove deprecated methods into taxes related classes (by @PrestaEdit)
    - #26571: [BC Break] Use the ModuleInterface interface instead of class Module (by @PierreRambaud)
    - #26479: PHPStan (Level 5) on config/ (by @Progi1984)
    - #26164: [BC Break] PHPStan (Level 2) on classes/ (by @Progi1984)
    - #26292: Remove deprecated admin/ajax.php and js/admin-categories-tree.js (by @eternoendless)
    - #25794: [BC Break] Remove upgrade scripts in favor of autoupgrade process (by @PierreRambaud)
    - #26312: [BC Break] Remove _isPresent() in PrestaShopLogger (by @PrestaEdit)
    - #26310: [BC Break] Remove getJqueryPath() method (by @PrestaEdit)
    - #26259: Add actionPresentPaymentOptions hook (by @PrestaEdit)
    - #26311: [BC Break] Remove formatProductAndVoucherForEmail() in PaymentModule (by @PrestaEdit)
    - #26314: [BC Break] Remove deprecated methods into Uploader (by @PrestaEdit)
    - #26318: [BC Break] Remove getExentedMessage() (by @PrestaEdit)
    - #26316: [BC Break] Remove Windows class (by @PrestaEdit)
    - #26313: [BC Break] Remove deprecated PS_SEARCH_MAX_WORD_LENGTH define (by @PrestaEdit)
    - #26309: [BC Break] Remove deprecated methods in Language (by @PrestaEdit)
    - #26304: [BC Break] Remove deprecated in Category and update code related to it (by @PrestaEdit)
    - #26300: [BC Break] Remove deprecated in AddressFormat (by @PrestaEdit)
    - #26301: [BC Break] Remove deprecated param into Alias constructor (by @PrestaEdit)
    - #26303: [BC Break] Remove deprecated into CartRule (by @PrestaEdit)
    - #26306: [BC Break] Remove deprecated in Configuration (by @PrestaEdit)
    - #26308: [BC Break] Remove deprecated into ImageType (by @PrestaEdit)
    - #26315: [BC Break] Remove isPasswd() method (by @PrestaEdit)
    - #26317: [BC Break] Remove _getPDO() (by @PrestaEdit)
    - #26322: [BC Break] Remove deprecated getTheme() in Shop (by @PrestaEdit)
    - #26323: [BC Break] Remove deprecated in Stock (by @PrestaEdit)
    - #26305: [BC Break] Remove deprecated code in CmsCategory (by @PrestaEdit)
    - #26307: [BC Break] Remove deprecated into GroupReduction (by @PrestaEdit)
    - #26189: Remove useless mod php5 check (by @PierreRambaud)
    - #25245: [BC Break] Remove Theme & Modules Catalog and PrestaTrust calls (by @PierreRambaud)
    - #25916: PHPStan (Level 1) on classes/ (by @Progi1984)
    - #26057: Update 1.8 into 8.0 version (by @PrestaEdit)
    - #26041: Introduce Nullable DateTime (by @jolelievre)
    - #26049: Update Symfony v4.4.32 (by @matks)
    - #25949: Easily override default value for primary user on docker (by @boubkerbribri)
    - #26015: Fix wording of prestashop:update:sql-upgrade-file-hooks-listing (by @PrestaEdit)
    - #25954: Update modules list in composer.json (by @PierreRambaud)
    - #25908: Fix wrong PrestaShopBundle templates directory (by @atomiix)
    - #25847: [BC Break] Update cssjanus 1.2 to 2.1, stop relying on PrestaShop fork (by @matks)
    - #25844: Deprecate fields.php usage (by @matks)
    - #25842: [BC Break] Update egulias/email-validator to latest version (by @PierreRambaud)
    - #25839: [BC Break] Removed mcrypt dependencies (by @Progi1984)
    - #25781: Upgrade to Symfony 4.4.30 (by @matks)
    - #25702: Create "modules" directory inside "var" for data (by @PierreRambaud)
    - #25563: Deprecate FrameworkBundleAdminController::overviewAction (by @eternoendless)
    - #24581: Assign ID prop to null instead of unset (by @mvorisek)
    - #25435: [BC Break] Update twig to v3 (by @atomiix)
    - #25391: Fixed PHPDoc (by @Progi1984)
    - #25296: Make PrestaShop compatible with PHP 8.0 (by @atomiix)
    - #25287: Removed code related to Gamification module (by @Progi1984)
    - #25052: [BC Break] Remove Symfony 4.4 deprecations (by @atomiix)
    - #24985: In dev mode, hooks must not swallow exceptions (by @lmeyer1)
    - #25037: Be able to use subquery when using DbQuery class (by @PierreRambaud)
    - #24609: [BC Break] Upgrade to symfony 4.4 (by @atomiix)
    - #24799: Improved performance for watermarking on import (by @kpodemski)
    - #24927: Add unit tests for javascript (by @PierreRambaud)
    - #24854: Fix typo in comments of class Mail (by @comxd)
    - #24701: [BC Break] Deprecate Tools::safePostVars method (by @mvorisek)
    - #24382: Add alignment option to GridColumn  (by @PululuK)
    - #24022: Register feature flag page hooks (by @matks)
    - #24113: Improve `OrderSlip::create` code readability  (by @PululuK)
  - Bug fix:
    - #29068: Regenerate modern mail theme (by @atomiix)
    - #28780: Add cache to AddressFactory::addressExists() (by @eternoendless)
    - #29064: Move email alerts module default translations (by @atomiix)
    - #28608: Set $registeredHookName as renderWidget when no hook given (by @PrestaEdit)
    - #28725: Add new default password for docker image for 8.0.x (by @boubkerbribri)
    - #28445: [BC Break] Allow clearing modules cache for all shops (by @sowbiba)
    - #26572: Add a button for disabling all non native-in modules in Performance page (by @Progi1984)
    - #28315: Fix delivery information for the product (by @kpodemski)
    - #28358: Avoid ` ConnectException` check Webservice Endpoint (by @PululuK)
    - #28310: Validate by github action if phpunit tests don't change repos state (by @MeKeyCool)
    - #28103: Fixed profiler in PHP8.0 in migrated page (by @Progi1984)
    - #28237: Wrap PDOException in PrestaShopException to cast the string error code to an int (by @atomiix)
    - #28267: Prevent yaml cache folders creation in wrong filesystem path (by @gennaris)
    - #27176: Fix replaceAccentedChars function (by @davidglezz)
    - #28132: [BC Break] Remove ModuleZipManager service as class is missing (by @sowbiba)
    - #28205: Added module blockreassurance (by @Progi1984)
    - #27962: Added module psgdpr (by @Progi1984)
    - #27662: Allow X at the end of ISBN (by @okom3pom)
    - #27933: Allow longer product names in the order detail (by @kpodemski)
    - #28015: Added module ps_googleanalytics (by @Progi1984)
    - #27364: Deprecate Tools::redirectLink (by @davidglezz)
    - #27923: Added module ps_emailalerts (by @Progi1984)
    - #27868: The delivery slip date in the template must be the delivery date and not the invoice creation date (by @thalassa-web)
    - #27822: Don't allow emails without TLD in the Email Validator (by @Progi1984)
    - #27646: Added module productcomments (now compatible with PS 8.0) (by @Progi1984)
    - #27811: Removed execute bit set on PHP files (by @Progi1984)
    - #24584: Database update command - Wrong SQL Query generated (by @RomsC)
    - #27276: [BC Break] Remove useless legacyContextLoader (by @atomiix)
    - #26246: Fix robots.txt and generate new one when action on languages (by @okom3pom)
    - #27240: Fix uploader types validation (by @atomiix)
    - #27587: Update Twig to 3.3.8 (by @kpodemski)
    - #27355: Do not pad ps_versions_compliancy for PrestaShop >= 8 (by @atomiix)
    - #27234: Fix regexp of "id_product_attribute" keyword in product route (by @saulaski)
    - #27367: Fix LocalizationWarmer condition (by @davidglezz)
    - #27339: Set disabled class for label if the input is disabled (by @Progi1984)
    - #26267: [BC Break] Trigger a deprecated when using a hook alias and correctly handle errors (by @PierreRambaud)
    - #27057: Add missing smarty variable (by @atomiix)
    - #26934: Use getSemVersion instead of getVersion to have the correct version (by @sowbiba)
    - #26731: Fix display bugs in profiling (by @lmeyer1)
    - #26867: Repair nightly build (by @PierreRambaud)
    - #26799: Remove duplicate files and remove line-length for yamllint (by @PierreRambaud)
    - #26769: Fix docker setup for shared volumes (by @SharakPL)
    - #26075: Do not use virtual cart for saving quantity in stock (by @Hlavtox)
    - #26415: Fix old deleted customization fields copied after duplicating a product (by @Matt75)
    - #24707: PrestashopLogger should save object type, even if object id is not set. (by @lmeyer1)
    - #25913: Fix object model partial update (by @jolelievre)
    - #25940: Update to node 14 and correctly use mounted directories in docker-compose (by @PierreRambaud)
    - #17101: Fixed in mutishop weight for attributes in cart (by @Progi1984)
    - #23969: Fix glob result when path is outside open_basedir (by @mvorisek)
    - #25572: Do not upgrade module on module installation process (by @PierreRambaud)
    - #25445: Fix wrong service for TranslationExtension (by @kpodemski)
    - #25410: Make sure order variable exists and also return the order_list variable in actionValidateOrderAfter hook (by @PierreRambaud)
    - #25147: Do not strict type for compatibility reason (by @PierreRambaud)
    - #25003: Use defined() with quotes, they're not optional. (by @lmeyer1)
    - #24910: CO allow merchant and customer to add < } in a message (by @okom3pom)
    - #24634: [BC Break] Remove _PS_SMARTY_DIR_ pointing to no longer existing directory (by @mvorisek)
    - #24760: Drop leftover code, /tools/http_build_url/ was removed (by @mvorisek)
    - #24782: Check that $session is set before using it (by @tswfi)
    - #24757: Make getValue more strict to avoid false negative (by @RomainMazB)
    - #23692: A lot of HTML errors are breaking DOM parsing (by @PierreRambaud)
    - #24116: Fix thumbnail regeneration for files other than jpg (by @lmeyer1)
    - #24119: When saving an image as a square png, add always a transparent border (by @lmeyer1)
  - Refactoring:
    - #28644: Use `is_int` instead of `is_numeric` for ID Value Objects (by @Progi1984)
    - #28578: [BC Break] Remove deprecated in Core namespace (by @Progi1984)
    - #28547: Remove use of Tools::stripslashes (by @kpodemski)
    - #28460: Use config vars in `GetOrderForViewingHandler` (by @PululuK)
    - #27227: Don't reassign global vars in front controller (by @PululuK)
    - #28348: Minor code refato `ModuleManager` (by @PululuK)
    - #28190: [BC Break] Remove deprecated $bo_show_screencast property (by @PrestaEdit)
    - #28088: Simplify `LoadServicesFromModulesPass::process` (by @PululuK)
    - #27657: [BC Break] Deprecate cleanNonUnicodeSupport function (by @davidglezz)
    - #27961: [BC Break] Remove Adapter\Tools::bcadd (by @PierreRambaud)
    - #27644: Remove unused FrontController properties (by @davidglezz)
    - #27592: Remove classic theme from project and include it through composer (by @eternoendless)
    - #27416: Remove unused variables in Cart::applyProductCalculations() (by @eternoendless)
    - #27401: Use mbstring functions without check if exist (by @davidglezz)
    - #27566: [BC Break] Removed dead code relative to PrestaShop Addons (by @Progi1984)
    - #27354: [BC Break] Removed dead code about Marketplace (by @Progi1984)
    - #26773: Get specific prices: let mysql optimize the query. (by @lmeyer1)
    - #27361: Deprecate Tools::arrayReplaceRecursive() (by @davidglezz)
    - #27111: [BC Break] Remove Tools::addonsRequest('module') calls (by @Progi1984)
    - #27242: Remove code about AdminSupplyOrders, AdminStockCover, AdminStockInstantState, AdminStockConfiguration & AdminStockMvt (by @Progi1984)
    - #27291: [BC Break] Removed deprecated in class Cookie (by @Progi1984)
    - #27112: [BC Break] Remove Tools::addonsRequest('service') calls (Part 2) (by @Progi1984)
    - #27113: [BC Break] Remove Tools::addonsRequest('customer_themes') calls (Part 2) (by @Progi1984)
    - #27116: Replace a die() by PrestaShopException (by @clotairer)
    - #26947: [BC Break] Removed PrestaShop API Calls (install-modules & check-customer) (by @Progi1984)
    - #26662: Remove code linked to `trackingfront` & `watermark` Modules (by @Progi1984)
    - #26874: Simplify huge IF-ELSE blocks in validateOrder (by @pnucci)
    - #26981: [BC Break] Remove deprecated constant `_PS_HOST_MODE_` (by @Progi1984)
    - #26664: [BC Break] Removed PrestaShop API Call (check_module & module_download) (by @Progi1984)
    - #25937: Replace Shudrum ArrayFinder by Symfony ArrayFinder in Theme (by @matks)
    - #25919: Replace Shudrum ArrayFinder usage by Symfony ArrayFinder in PhpParameters (by @matks)
    - #26650: Remove code linked to `gapi` Module (by @Progi1984)
    - #25713: [BC Break] Remove PrestaShop API Calls (native, native_all, customer, must-have) (by @Progi1984)
    - #26489: Removing some duplicated code lines (by @beattie282)
    - #26268: Deleting extra parameter (by @christophe-rouille)
    - #25406: Add doc block + improve readability of HistoryController::getUrlToInvoice & HistoryController::getUrlToReorder (by @Sinepel)
    - #26408: Use `_PS_PRODUCT_IMG_DIR_`  instead of  `_PS_PROD_IMG_DIR_` to avoid confusion with `prod` and `dev` env. (by @PululuK)
    - #26395: PaymentModule: an array is only updated, but never queried (by @Matt75)
    - #26382: Changed 1.7.9.0 in 8.0.0 in deprecated messages (by @Progi1984)
    - #26251: Fixed call to Order::getCurrentState() method (by @Progi1984)
    - #25843: Rework create-test-db command from tests-legacy to tests folder (by @Progi1984)
    - #25673: Remove the old `deprecated` comment to avoid confusion with new hook (by @PululuK)
    - #21227: Refacto ObjectModel::existsInDatabase (by @PululuK)
    - #25636: Restore Carrier class history (by @eternoendless)
    - #25520: Fixed the use of deprecated functions in Uploader.php (by @WebHelpersPau)
    - #25212: Fixed typo `Country.php` (by @Arnaud104)
    - #23798: Replace ProductInterface occurences by RedirectType (by @Sinepel)
    - #25242: Minor code refacto `Order.php` (by @PululuK)
    - #25268: Fix isCatalogMode condition and Remove the price-drop link from the the best seller display condition (by @Sinepel)
    - #25267: Replace getsupplierlink with getSupplierLink (by @Sinepel)
    - #25187: Replace getmanufacturerLink with getManufacturerLink (by @Sinepel)
    - #24834: Check if regeneration is wanted before checking filesystem (by @RomainMazB)
    - #23546: CategoryDataFactory : Avoid code duplicate (by @PululuK)
    - #24289: Fix visibility of constants (by @matks)
    - #24222: Fix comment (by @arouiadib)
    - #24027: Improve `Tools::passwdGen` method (by @PululuK)
    - #24125: Some fixes of English mispells (by @matks)
- Installer:
  - New feature:
    - #25596: Provide full stack trace when install fails (by @eternoendless)
  - Improvement:
    - #27099: Add capability to select modules and theme to install during the installation process (by @PierreRambaud)
    - #26819: PHPStan (Level 5) on install-dev/ (by @Progi1984)
    - #26166: Update INSTALL.txt for PS 8 (by @matks)
    - #26126: Do not use md5 password for fixtures (by @PierreRambaud)
    - #25771: Remove marketplace calls and links into the installer (by @PierreRambaud)
    - #24676: [BC Break] Remove addons modules on install and add postinstall execution (by @PierreRambaud)
  - Bug fix:
    - #28845: Update to latest blockwishlist module version 2.1.1 (by @jolelievre)
    - #28647: Update min & max php version of the installer (by @atomiix)
    - #28258: Install theme before modules (by @atomiix)
    - #27931: Check if the directory name match the module file name (by @kpodemski)
    - #26588: Make sure `checkSelectPrivilege` check privileges for both InnoDB and MyISAM (by @onlime)
    - #26893: Fix post install error when fixture installation is disabled (by @unlocomqx)
    - #26591: Fix wording in the installer (by @kpodemski)
    - #26132: Add missing hooks actionCustomerLogout & displayCheckoutSummaryTop (by @okom3pom)
    - #24970: Remove useless static cache and make sure CI exit in status 1 when installation failed (by @PierreRambaud)
    - #24588: Fix fixtures when addons modules are not installed (by @PierreRambaud)
  - Refactoring:
    - #26848: Installer : Remove dead code in installer (Upload Logo) (by @Progi1984)
- Web Services:
  - Improvement:
    - #27952: Adding the PATCH method to the REST API (webservices) + API cache management FIX (by @nsorosac)
  - Bug fix:
    - #28280: Fix PHP7.4 bug webservice blank schemas for resources (by @preoteasa)
    - #27770: Webservice symfony less for multilang entities and category creation (by @jolelievre)
    - #27741: Remove PSWS-Version header as it's added after and only if we are authenticated (by @PrestaEdit)
    - #27554: Fixed JSON Output when fetching a specific resource (by @Progi1984)
    - #22969: Fixed API inconsistent return format of JSON (by @Kyaary)
- Localization:
  - Improvement:
    - #27021: Update Mexico unit settings (by @rickygzz)
    - #22811: Add VAT for Monaco (by @micka-fdz)
    - #24921: Reset Germany tax rates (by @micka-fdz)
    - #24936: In PDF, Use "freeserif" for Armenian language (hy) (by @mrAKAR)
- Tests:
  - Improvement:
    - #29099: Add docker-compose.override.yml to ignored files (by @FabienPapet)
    - #28412: Remove useless PrestaShop install (by @atomiix)
    - #27055: Split integration workflows into two, get rid of processIsolation (by @jolelievre)
    - #27974: Pin setup-gcloud to v0 instead of master (by @sethvargo)
    - #27649: Added survival test for Outstanding page (by @Progi1984)
    - #27494: Clean combinations behat step (by @jolelievre)
    - #27287: PHPStan (Level 5) on tests/ (by @Progi1984)
    - #27247: PHPStan (Level 5) on tests-legacy/ (by @Progi1984)
    - #27141: PHPStan (Level 4) on tests/ (by @Progi1984)
    - #27125: PHPStan (Level 3) on tests/ (by @Progi1984)
    - #26592: PHPStan (Level 1) on tests/ (by @Progi1984)
    - #26473: Fix PHPStan because of GDImage (by @jolelievre)
    - #26362: Added Behat Tests for Language Domain (by @Progi1984)
    - #24162: Added Behat Tests for WebService (by @Progi1984)
    - #26185: Add unit test for B2BFeature (by @matks)
    - #25846: Add unit test for SwiftMailerValidation (by @PierreRambaud)
    - #25411: Use only one file for sanity, remove sanity-80.yml (by @PierreRambaud)
    - #25325: Allow GitHub UI tests to run on branch push (by @matks)
    - #24629: Test adapter `Validate::isUnsignedInt`  (by @PululuK)
    - #23954: Reduce number of GH jobs, run one PHPUnit job per PHP version (by @mvorisek)
    - #22547: [BC Break] PHPStan (Level 5) (by @Progi1984)
    - #24212: Add an unit test for refreshCaCertFile (by @jf-viguier)
    - #24146: Nightly : Added branch 1.7.8.x (by @Progi1984)
  - Bug fix:
    - #28690: Fix YAML lint on GH workflow files (by @matks)
    - #28381: Fix error in title controller test, and fix a warning in module tests (by @jolelievre)
    - #28163: [BC Break] Fix PHPstan error (by @jolelievre)
    - #28095: Fix phpstan test with different php versions (by @atomiix)
    - #27996: Fix indent on state.yml (by @matks)
    - #27685: Add 410 gone redirect type test (by @okom3pom)
    - #27067: Do not trust the new composer binary mode for CI (by @PierreRambaud)
    - #27046: Fix behat configuration (by @matks)
    - #26765: Freeze php-cs-fixer version (by @matks)
    - #26697: Upgrade pcre2 in Github Actions (by @atomiix)
    - #26265: Use nodejs 14 for JS routing update cron GitHub Action (by @PierreRambaud)
    - #26209: Fix yamllint warnings and errors (by @PierreRambaud)
    - #26138: Properly copy property content instead of the whole directory when copying it into gcloud (by @PierreRambaud)
    - #26047: Fix bugs that occur in CI because of non-resilient code (by @jolelievre)
    - #25708: Wrong hook path for nightly reports (by @PierreRambaud)
    - #25676: Use node_14.x instead of node_10.x (by @PierreRambaud)
    - #25403: Fixed Unit Tests (by @Progi1984)
    - #24997: Cancel previous build when it's possible (by @PierreRambaud)
    - #25266: Fix develop tests crashing because of outdated translation wordings (by @atomiix)
  - Refactoring:
    - #28922: Functional tests - Refactoring of 'Check footer links on FO' test (by @nesrineabdmouleh)
    - #28991: Update faker dependency for UI tests (by @boubkerbribri)
    - #28948: Functional tests - Add new test 'Change language in FO' (by @nesrineabdmouleh)
    - #29010: Fix number of groups to check on customer view page (by @boubkerbribri)
    - #29032: Fix nightly 11-07-2022 - Fix some random errors (by @nesrineabdmouleh)
    - #28975: Functional tests - Add new test 'View vouchers in FO' (by @nesrineabdmouleh)
    - #28962: Fix nightly 8.0.x - Fix 'CRUD customer' test (by @nesrineabdmouleh)
    - #28918: Functional tests - Refactoring of 'Check header links on FO' test (by @nesrineabdmouleh)
    - #28884: Fix errors on nightly 8.0.x  (by @nesrineabdmouleh)
    - #28809: Functional tests - Add new test 'Logout from FO' (by @nesrineabdmouleh)
    - #28866: Fix nightly 8.0.x - Add pre-condition to clear cache in 'Check footer links FO' test (by @nesrineabdmouleh)
    - #28717: Functional tests - Add new test "Customers > Outstanding page"  Help card - View order - View Invoice (by @khouloudbelguith)
    - #28828: Functional tests - Add new test 'Edit personal information' in FO (by @nesrineabdmouleh)
    - #28815: Functional tests - Add new test 'Create account on FO' (by @nesrineabdmouleh)
    - #28800: Functional tests - Add some fixes to 'FO > Password reminder' test (by @nesrineabdmouleh)
    - #28768: Functional tests - Fix 'Gift option' test (by @nesrineabdmouleh)
    - #28769: Functional test - Add new test to check login in FO (by @nesrineabdmouleh)
    - #28756: Fix nightly 15-06-2022 : Fix check help side bar test of features page (by @nesrineabdmouleh)
    - #28741: Add node and npm versions for UI tests (by @nesrineabdmouleh)
    - #28641: Functional tests - Add new test 'Preview order' (by @nesrineabdmouleh)
    - #28694: Functional tests - Fix customer faker password (by @nesrineabdmouleh)
    - #28691: Functional tests - Add test to Import csv file to Brand pagination test  (by @nesrineabdmouleh)
    - #28682: Functional tests - Fix some random errors on nightly 178x (by @nesrineabdmouleh)
    - #28356: Functional tests - Add new test "Design > Theme & Logo > Advanced customization page" (by @khouloudbelguith)
    - #28665: Fix nightly 02/06/2022 - Fix random error on 'Choose address' test (by @nesrineabdmouleh)
    - #28554: UI tests - Fix step double identifer and remove doubles (by @boubkerbribri)
    - #28536: Functional tests - Add new test 'Check summary' on create order page (by @nesrineabdmouleh)
    - #28527: Functional Tests - Add test 'Choose address' in create order page (by @nesrineabdmouleh)
    - #28575: Fix UI tests by selecting country on FO (by @boubkerbribri)
    - #28507: Fix nightly 16/05/2022 - Fix help card test on attributes page (by @nesrineabdmouleh)
    - #28493: Fix nightly 13/05/2022 - Fix failed Orders tests (by @nesrineabdmouleh)
    - #28456: Functional tests - Add 'data-role' attribute to 'header-desc' selectors (by @nesrineabdmouleh)
    - #28309: Functional tests - Refacto 'Update order status' (by @nesrineabdmouleh)
    - #28464: Fix nightly 11/05/2022 - Fix tests in 'Catalog > Stock' page (by @nesrineabdmouleh)
    - #28437: Functional tests - Delete close onboarding method (by @nesrineabdmouleh)
    - #28423: Functional tests - Add test to create and import csv file of addresses (by @nesrineabdmouleh)
    - #28414: Fix nightly 04/05/2022 (by @nesrineabdmouleh)
    - #28370: Functional tests - Add test 'Pagination of orders table' (by @nesrineabdmouleh)
    - #28399: Fix Nightly 03/05/2022 - Fix export customer test (by @nesrineabdmouleh)
    - #28340: Functional tests - Add new test 'Bulk open in new tab' (by @nesrineabdmouleh)
    - #28298: Functional tests - Fix nightly 20-04-2022 and 19-04-2022 (by @nesrineabdmouleh)
    - #28252: Functional tests - Refacto 'Pagination and sort categories' (by @nesrineabdmouleh)
    - #28262: Functional tests - Refacto 'Sort orders table' test (by @nesrineabdmouleh)
    - #28268: Fix nightly 15-04-2022 (by @nesrineabdmouleh)
    - #28261: Functional tests - Refacto 'Pagination and sort customers table' (by @nesrineabdmouleh)
    - #28251: Functional tests - Add a post condition for 'View guest ' test on Orders page (by @nesrineabdmouleh)
    - #28248: Functional tests - Add new test 'Choose shipping' from add order page (by @nesrineabdmouleh)
    - #28234: Fix nightly 12/04/2022 - Fix sort and pagination employees test (by @nesrineabdmouleh)
    - #28219: Fix nightly 11-04-2022 - Fix CRUD employee test (by @nesrineabdmouleh)
    - #28159: Functional tests - Add new test 'Search, add and remove voucher from new order page' (by @nesrineabdmouleh)
    - #28181: Fix nightly 08/04/2022 - Fix default customer and address IDs (by @nesrineabdmouleh)
    - #28170: Functional tests - Fix log tests (by @nesrineabdmouleh)
    - #28168: Functional tests - Fix product settings tests (by @nesrineabdmouleh)
    - #28138: Fix nightly 05/04/2022 and fix some random errors (by @nesrineabdmouleh)
    - #27945: Functional tests - Add new test 'Add product to cart' in BO (by @nesrineabdmouleh)
    - #27454: Functional tests - Add new test "Select previous carts from BO > Add new order page" (by @khouloudbelguith)
    - #27828: Functional tests - Fix monitoring tests (by @nesrineabdmouleh)
    - #27820: Functional tests - Add new test 'Select previous order' (by @nesrineabdmouleh)
    - #27826: Functional tests -  Fix import test (by @nesrineabdmouleh)
    - #27804: Fix nightly 27-02-2022 and 26-02-2022 (by @nesrineabdmouleh)
    - #27792: Functional Tests - Refacto search customer test (by @nesrineabdmouleh)
    - #27636: Add more pre-conditions and post-conditions on separatly tests (by @nesrineabdmouleh)
    - #27729: Fix nightly 18-02-2022  (by @nesrineabdmouleh)
    - #27687: Functional tests - Add some refacto to 'Search customer' test from new order page (by @nesrineabdmouleh)
    - #27682: Functional tests - Add some refacto to 'Create customer' test from new order page (by @nesrineabdmouleh)
    - #27668: Functional tests - Fix quick access link test and unskip fixed tests (by @nesrineabdmouleh)
    - #27664: Fix nightly 14-02-2022 (by @nesrineabdmouleh)
    - #27612: Fix nightly 07-02-2022 (by @nesrineabdmouleh)
    - #27583: Functional tests - Separate view order page on blocks (by @nesrineabdmouleh)
    - #27544: Fix preview email themes test (by @boubkerbribri)
    - #27426: Fix js doc generation for for faker and utils (by @boubkerbribri)
    - #27424: Delete unused files for UI tests (by @boubkerbribri)
    - #27460: Functional tests - Fix nightly 25/01/2022 (by @nesrineabdmouleh)
    - #27059: Functional tests - Add new test 'Check invoice' (by @nesrineabdmouleh)
    - #27260: Functional tests - Add new test 'Check multi invoice' (by @nesrineabdmouleh)
    - #27368: Fix nightly - Change credit slip row value on table (by @nesrineabdmouleh)
    - #27349: Fix nightly 12/01/2022 - Fix Credit slip options test (by @nesrineabdmouleh)
    - #27269: Create basic helper file (by @nesrineabdmouleh)
    - #27241: Separate steps and navigation for FO products tests (by @boubkerbribri)
    - #27224: Functional tests - Fix multistore test (by @nesrineabdmouleh)
    - #27174: Increase navigation timeout on add shop tests (by @nesrineabdmouleh)
    - #27076: Functional tests - Move PRE-conditions and POST-conditions tests from test to common tests (by @nesrineabdmouleh)
    - #26551: Functional tests - Add new test 'Check messages block from view order page' (by @nesrineabdmouleh)
    - #26801: Functional tests - Add new test 'Change order status' (by @nesrineabdmouleh)
    - #27152: Fix Nightly - Add test to delete cart rule from create simple order from BO (by @nesrineabdmouleh)
    - #27151: Increase navigation timeout on multistore tests and fix ecotax test (by @boubkerbribri)
    - #27138: Support disabling DEV_MODE on Docker (by @boubkerbribri)
    - #27105: Fix nightly workflow by adding branch to push job (by @boubkerbribri)
    - #27100: Functional test - Fix 'Add discount' test (by @nesrineabdmouleh)
    - #27053: Fix script to run tests (by @nesrineabdmouleh)
    - #27002: Improve exception checking in Behat tests (by @jolelievre)
    - #26959: Upgrade nodemailer tests/UI folder (by @boubkerbribri)
    - #26815: Functional tests - Separate create date from test to Utils (by @nesrineabdmouleh)
    - #26851: POC optimize behat tests DB restoring (by @jolelievre)
    - #26894: Functional tests - Add new test  'Add discount' from view order page (by @nesrineabdmouleh)
    - #26822: Fix orders payment and status tests (by @boubkerbribri)
    - #26790: Fix nightly 25-11-21 - Delete check the footer link 'Vouchers' from check links in footer test (by @nesrineabdmouleh)
    - #26359: Functional tests - Add new test 'Check status tab from view order page' (by @nesrineabdmouleh)
    - #26757: Fix nightly 25/11 - Fix footer links test (by @nesrineabdmouleh)
    - #26688: Improve some selectors on FO and view suppliers page (by @boubkerbribri)
    - #26615: Functional tests - Add new test to check 'Payment block in view order page' (by @nesrineabdmouleh)
    - #26652: Add config SMTP and reset SMTP to common tests (by @nesrineabdmouleh)
    - #26505: Functional tests - Add new test 'Check merchandise returns tab from view order page' (by @nesrineabdmouleh)
    - #26649: Move (data, commonTests, tools, utils) from campaigns to UI directory  (by @nesrineabdmouleh)
    - #26533: Moved ContextMocker from tests-legacy/ to tests/ (by @Progi1984)
    - #26520: Fix select hidden checkboxes on customers and localization pages (by @boubkerbribri)
    - #26214: Functional tests - Refacto Advanced Parameters tests (by @nesrineabdmouleh)
    - #26496: Upgrade playwright to v1.16.2 (by @boubkerbribri)
    - #25693: Update test scripts on package.json (by @boubkerbribri)
    - #26495: Fix name of screenshot on sanity workflow (by @boubkerbribri)
    - #26445: Functional  tests - Add new test to check 'Carriers tab from view order page' (by @nesrineabdmouleh)
    - #26423: Functional tests - Add new test 'Check documents tab on view order page' (by @nesrineabdmouleh)
    - #26443: Fix categories and cart rules tests (by @boubkerbribri)
    - #26437: Refactor controller tests (by @jolelievre)
    - #26416: Not using href as a selector on order history page (by @boubkerbribri)
    - #26295: Functional tests - Fix and add some steps to ' Customer block & Product block' on create order page BO (by @nesrineabdmouleh)
    - #26367: Fix FO addresses tests (by @boubkerbribri)
    - #26217: Sanity Tests - Refacto all sanity tests (by @nesrineabdmouleh)
    - #25979: Add script to generate .md files with jsdoc (by @boubkerbribri)
    - #26228: Fix message displayed when enabling fuzzy search (by @boubkerbribri)
    - #26124: Functional tests - Refacto Shop Parameters > Product Settings tests (by @nesrineabdmouleh)
    - #26165: Functional Tests - Refacto Shop Parameters > Contact tests (by @nesrineabdmouleh)
    - #26163: Functional Tests - Refacto  Shop Parameters > Customer Settings tests (by @nesrineabdmouleh)
    - #26190: Functional tests - Refacto Shop Parameters > Traffic & SEO - Search tests (by @nesrineabdmouleh)
    - #26148: Delete module catalog page, and add test checking its access (by @boubkerbribri)
    - #26122: Revert changes on the smtp server to fix nightly tests (by @boubkerbribri)
    - #26116: Functional tests - Refacto Shop Parameters > Order Settings tests (by @nesrineabdmouleh)
    - #26120: Fix selectors for Sql manager page (by @boubkerbribri)
    - #26112: Functional tests - Refacto shop parameters general (by @nesrineabdmouleh)
    - #26110: Fix selectors for db backup page (by @boubkerbribri)
    - #26079: Fixing titles, steps and comments on FO tests (by @boubkerbribri)
    - #25988: Removed phake/phake as dev dependency (by @Progi1984)
    - #25953: Use playwright@1.13.1 for UI tests (by @boubkerbribri)
    - #25993: Add jsDoc on tests helpers (by @boubkerbribri)
    - #25965: Update test to get growl message after quick editing customer (by @boubkerbribri)
    - #25830: Install "Products comments" module when its not to fix test (by @boubkerbribri)
    - #25767: Fix date to filter with on cutomers and logs tests (by @boubkerbribri)
    - #25721: Removed Gamification module in tests (by @Progi1984)
    - #25017: Upgrade mochawesome version and fix merge reports (by @boubkerbribri)
    - #25580: Add class to identify pagination block on product page (by @boubkerbribri)
    - #25285: Add search for newsletter module before going to module configuration on tests (by @boubkerbribri)
    - #25238: Migrated some Legacy Tests to Integration/Unit Tests (by @Progi1984)
    - #25146: Separate functional tests to BO and FO and Add regression campaign to the actual run (by @boubkerbribri)
    - #25196: Removed phpunit-controllers tests (by @Progi1984)
    - #25127: Migrated some Legacy Tests to Integration/Unit Tests (by @Progi1984)
    - #24188: Migrated some Legacy Tests to Integration/Unit Tests (by @Progi1984)
    - #24981: Fix order status test after deleting status added by addons modules (by @boubkerbribri)
    - #24879: Update JS documentation for international pages (by @nesrineabdmouleh)
    - #24623: Refacto `TinyMceMaxLengthValidator` (by @PululuK)
    - #24618: Improve `Tools` protocol check (by @PululuK)
    - #24592: Add `DbQueryCore` phpunit test  (by @PululuK)
    - #24396: Fix nightly tests on develop for 07-05-2021 (by @boubkerbribri)
    - #24121: Migrated some Legacy Tests to Unit Tests (by @Progi1984)
