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 8

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