CDiscount Marketplace Changelog
App updates
Changelog for Prestashop – Cdiscount Marketplace
Latest updates and release history for Prestashop – Cdiscount Marketplace.
v4.5.43
Update
Fixed
Updated
Fixed
Offer Integration Success Reporting
After Octopia accepts the package, the back office no longer reports a hard failure while listing validation details. Success line now counts offers (not products) and matches the package size.
Fixed
Product Integration XML Encoding
Accented or HTML-encoded text in catalogue fields, including variant attributes, no longer generates invalid XML in the Octopia product package.
Fixed
Filters (Manufacturers and Suppliers)
Excluded manufacturers and suppliers now correctly match the Filters tab during product export and offer integration. Supplier exclusions are now saved correctly.
Fixed
Information Tab Environment Checks
Environment checks (memory, shop URL, required customer fields, country setting) in the Information tab now work on PrestaShop 1.7 through 9.
Fixed
Information Tab Configuration Table Check
Configuration table check no longer displays a false database error.
Fixed
SendCloud Pickup Repair (PrestaShop Order ID)
SendCloud pickup repair now works when searching by PrestaShop order ID.
Fixed
Order Import Service Fee Defaults
Service-fee settings now apply correct defaults when the shop has never saved them.
Fixed
Colissimo Shipment Registration Check
Colissimo shipment registration is now skipped when the Colissimo module is not installed.
Fixed
Destination Detection (Overseas and Europe)
Overseas and European destination detection now uses supported country and zone rules on current PrestaShop versions.
Fixed
Order Import Validation Errors from Other Modules
Marketplace orders now continue importing when another module throws an error during order validation.
Fixed
Stock Handling (PrestaShop 9)
Order import stock handling on PrestaShop 9 now uses current stock APIs instead of removed legacy helpers.
Fixed
Categories Refresh Invalid Empty Result
Failed or partial Octopia responses no longer break category synchronization with invalid empty results.
Updated
EAN-13 Policy Wording
EAN-13 policy wording has been clarified in English, French, and Spanish.
Updated
Translation Cleanup
Obsolete long hints for offer package types and profile tooltips have been removed where translation keys were unused.
Updated
PHPUnit 9 Compatibility
PHPUnit 9 is now allowed to resolve to newer supported patch releases.
Updated
Back Office Shop Context Loading
Catalog and order back-office screens on PrestaShop 1.7 through 9 now load using standard shop context.
Updated
Module Package Common Folder
Shared marketplace environment checks are now included in the common folder shipped with the module. Filters tab.
Updated
Warehouse List Visibility
Warehouse list is now displayed only when advanced stock management and warehouses are available on the shop.
Updated
Cronjobs Schedule Values
Scheduled tasks in the PrestaShop Cronjobs module now receive correct numeric schedule values.
v4.5.42
Update
Fixed
New feature
Updated
Added
Default Order State and Carrier (Order Import)
Order import now supports optional default order state and carrier in PrestaShop when Octopia status or delivery mode is not mapped. Includes guidance on the Transport tab, saved settings, log notices, and EN/FR/ES copy.
Added
Order Import Error Details
When an order cannot be imported, the screen now shows a clear reason and, where applicable, a per-line list (reference and cause). The same detail is available in the log.
Added
Product Tab Offer Options (Variant-Level)
Cdiscount product tab now includes an offer options table by variant (price override, disable, stock, comment, delivery cost, lead time, align up/down, C Logistique, value added) with sticky base row, horizontal scroll, bulk clear with confirmation, and delayed autosave with toasts.
Added
Product Management Overrides (Product/Variant)
Cdiscount product tab now supports Product Management overrides (title, short and long text, images, extra attributes) for product or each variant, with bulk clear, autosave, and placeholders from the catalog.
Added
Product Management Image Validation
Product Management image lists are now validated (URLs, count limits), with on-save errors and safe fallback in product integration.
Fixed
Categories Refresh Error Messaging
API retry messages no longer expose raw timeout/debug text in the back-office. Failures are logged cleanly and shown as user-friendly results.
Fixed
Categories Refresh Pagination Defaults
Safer pagination defaults reduce timeout risk on large datasets while maintaining full synchronization behavior.
Fixed
Transport Carrier Reload (Force Reload)
Force reload now fetches fresh Octopia data before rebuilding the local carriers file, resolving issues where loaded carrier count remained zero due to stale/empty cache.
Fixed
Product Integration Special Character Handling
Export file and send step now correctly handle special characters in references and labels, preventing invalid data being sent to Octopia.
Fixed
Product Integration Performance (Large Shops)
Export performance has been improved for large shops (existing-offer check and variant handling).
Fixed
Product Integration Long-Run Handling
Large package sending to Octopia now runs long enough. If file read fails or request errors, the back office shows a clear error instead of hanging.
Fixed
Offer Export (CDaV Profile Settings)
CDaV profile settings (flag and price threshold) now apply correctly in the export package.
Fixed
Profiles Tab Price Rule Editor
Price rules editor no longer mixes data between profile rows.
Fixed
Product Options Stability
Product options now behave reliably across all supported store database setups.
Fixed
Order Import Temporary Address Handling
Invalid temporary address no longer causes hard failure. Tax calculation uses a fallback so order import can be retried.
Fixed
Order Import Column Alignment
Order import list columns (including C Logistique) now remain aligned.
Fixed
Order Import Reference Matching
References with inconsistent spacing now correctly match Octopia seller reference.
Updated
Octopia Carrier Retrieval Compatibility
Transport synchronization now supports both legacy delivery-mode payloads and current carrier-list payload structures.
Updated
Long-Running Job Stability
Long product integration or offer jobs are less likely to be stopped by PHP time limits. Very large actions may still be limited by hosting or reverse proxy.
Updated
Product Options Storage Structure
Product options storage now supports variant lines and Product Management fields. Upgraded shops receive the new layout via upgrade 4.5.42.
Updated
Expert Mode Removal
“Expert mode” setting has been removed as a separate switch. All options remain visible, and existing configurations are migrated.
Updated
Settings Cleanup (Legacy Options)
Unused legacy options (proxy, old fashion toggles) have been removed from the form. Existing saved values are preserved.
Updated
Product Tab UI Behavior
Empty numeric offer fields can remain empty. Base row can mirror empty variant cells. Includes wider columns, title hints, shared textarea style, updated EN/FR/ES strings, and refreshed scripts/styles.
Updated
Product Tab Compatibility (Simple Products)
Offer and Product Management tables now function correctly on simple products without attributes. Product ID detection is reliable on PrestaShop 1.7 product pages.
Updated
Product Tab Terminology
Copy and links now follow Octopia terminology (offer management vs product management).
Updated
Offer Update Structure
Offer update retains same back-office options with simplified internal structure for maintainability.
Updated
Transport Tab Enhancements
Order-side Transport tab now includes default carrier mapping guidance and related controls.
Updated
Categories Label Refresh
Universe labels now refresh when the local category data file is replaced.
Updated
Translations Cleanup
Obsolete translation keys have been removed. Carrier “last updated” string remains aligned across EN/FR/ES.
Updated
Developer Translation Script
Developer option added to remove orphan translation lines when keys match a strict rule.
Updated
Catalog UI Focus
CSV export path has been removed. Screens and wording now focus on product integration and offer integration.
Updated
Tab Label Normalization
Tab labels have been normalized to improve translation key consistency.
v4.5.41
Update
Fixed
New feature
Updated
Added
Variant Grouping Support (Octopia)
Variant grouping support for products integration (Octopia) has been added with configuration keys CDISCOUNT_VARIANT_GROUP_SOURCE (default legacy_reference) and CDISCOUNT_VARIANT_GROUP_FEATURE_ID (default 0 = disabled), including Back Office UI controls in the Settings tab.
Added
Variant Grouping Helper (CdiscountVariantHelper)
Variant grouping helper class (CdiscountVariantHelper) and unit tests have been added for feature-based variant group reference resolution and variation rule building.
Added
Upgrade Script (upgrade-4.5.41.php)
Upgrade script upgrade-4.5.41.php has been added to ensure safe defaults for the new variant grouping configuration keys on upgraded shops.
Added
Transport Carrier Mapping Override
Transport now supports optional per-country override mapping for Octopia parcel carriers (Octopia carrier + destination country → PrestaShop carrier), used during order import when parcels[].carrierName is present.
Added
EU VAT Compliance Setting
(CDISCOUNT_ORDER_IMPORT_COMPLY_EU_VAT_RULES)
Optional setting ‘Comply EU VAT rules’ (CDISCOUNT_ORDER_IMPORT_COMPLY_EU_VAT_RULES) has been added for order import, matching Octopia line VAT to PrestaShop tax rules for the shipping country (nearest rate), using line tax data from the API when present.
Added
SendCloud Pickup Repair (fix_sendcloud_pickup)
Orders configuration tab now includes ‘Fix SendCloud pickup integration’ to retry SendCloud service point import into ps_service_points_v2 by PrestaShop order id or orders API orderId/reference (AJAX action fix_sendcloud_pickup), with EN/FR/ES strings aligned with Octopia orders payload field names.
Added
SendCloud Pickup Notice
Orders configuration tab now includes a merchant notice (EN/FR/ES) indicating that SendCloud writes pickup data to service_points_v2 on new order import when configured, with a pointer to the repair tool for gaps.
Fixed
Service Fees in Order Totals (serviceFees, TotalServiceFees)
Order import (Octopia) now includes order-level service fees (e.g. from serviceFees, TotalServiceFees) in PrestaShop order totals when provided by the API, without requiring the legacy ‘Add extra fees’ option. Legacy orders with INTERETBCA/FRAISTRAITEMENT lines are unchanged to avoid double-counting. Orders tab includes an ‘Order import’ block with checkbox CDISCOUNT_ORDER_IMPORT_INCLUDE_SERVICE_FEES (default on).
Fixed
Service Fees as Product Line (serviceFees)
Optional setting allows importing serviceFees as a dedicated product line on the order/invoice (default off), with merchant-defined product SKU lookup and automatic virtual product creation when missing. Total-level service fee injection is disabled for the same order to avoid double-counting.
Fixed
Hook Execution (actionOrderHistoryAddAfter)
CdiscountOrderHistory now fires actionOrderHistoryAddAfter with truthy cookie/cart placeholders so PrestaShop Hook::exec does not inject Context cookie/cart (circular references). Third-party modules exporting hook payloads no longer throw errors in debug mode.
Fixed
Orders API Retrieval and Pagination
SendCloud repair / orders API now prefers GET /orders/{orderId}. List requests use pageIndex=1 (not 0) to avoid empty results and api_order_not_found. Numeric PrestaShop id and multishop Order load issues have been fixed.
Updated
Orders Tab UX (Order Import)
Orders tab UX has been updated with help text clarifying legacy fee SKU lines (FRAISTRAITEMENT/INTERETBCA) versus serviceFees behavior. Expert-mode restriction has been removed for Bulk Mode / Extra Fees controls. Orders tab interactions have been moved from inline template scripts to views/js/cdiscount.js (SKU field toggle and SendCloud repair action).
Updated
Configuration Tabs Lazy Loading
Back-office configure tabs now use tab-scoped data/view boundaries with AJAX lazy loading (first tab immediate, others on demand), with fallback reload on AJAX error.
Updated
Debug Metrics (Configure Tabs)
Back-office configure tabs now include admin debug-only tab load badge, spinner, sessionStorage-based first-load metrics cache, console timing table, and ‘reset metrics’ link.
Updated
Lazy Tabs i18n
EN/FR/ES translations have been added for debug badge and lazy-load status messages (loading, cache, error, reset).
Updated
Categories Synchronization (Pagination)
Categories synchronization now fetches Octopia categories with dynamic pagination (pageSize=3000) including isVariant, and writes /json/products-integration/categories/categories.json via a safe writer (temp file + replace).
Updated
Categories Synchronization Fallback
If Octopia pagination fails mid-run (e.g. HTTP 504), the existing categories.json is kept instead of being overwritten with a partial dataset.
Updated
Categories Tab Controls
Categories tab now includes category dataset sync status and refresh controls, with details about Octopia fields used (label, level, isActive, parentReference, isTranslated, parentReferences, isBrandMandatory, isVariant).
Updated
Transport Tab Carrier Controls
Transport tab now includes Octopia carrier sync status and a ‘Load carriers from Octopia API’ button, backed by a secure AJAX endpoint to reload carriers.json and display the carrier count.
Updated
Products Integration Variant Handling
Products integration export now follows Octopia category capabilities (isVariant and variation properties), with feature-based grouping fallback (empty parent feature → export as Standard).
Updated
GTIN Normalization
GTIN is normalized for API submission to match SubmitProductsCommand schema (integer when safely representable).
Updated
Product Title Default
Product Title default/fallback now uses ‘Category (Cdiscount), Brand, Name, Attributes’ when no explicit format is stored.
Updated
Product Title UI
Product Title formats in Settings UI have been reordered (recommended first), with clearer examples and documentation links.
Updated
Product Title Documentation Links
Obsolete Octopia URL has been removed, keeping valid Product management and Product feature references.
Updated
Export Transformation Hooks (products_create, products_update)
Generic transformation hooks have been added for third-party modules to adjust data before marketplace exports (products_create, products_update) and before products integration submission.
Updated
Module Build Script
Module build script now excludes the documentation folder from build artifacts.
Updated
Models Tab AJAX Handling
Models tab now correctly wires the saved model AJAX endpoint (load_models hidden input) and displays backend reason when loading fails.
Updated
Carrier Resolution with Country Override
Order import now applies country-specific PrestaShop carrier overrides before falling back to global Tracking mapping when resolving parcel carrierName.
Updated
Carrier Storage Path
Octopia carriers list is now persisted and loaded from /json/delivery-modes/carriers.json, with backward compatibility fallback from xml/carriers.json.
Updated
Carrier No-API Mode
Transport and order flows now read carriers exclusively from /json/delivery-modes/carriers.json. Unused API carrier wrappers (getCarrierList / wapperCarrierList) have been removed while keeping Transport reload controls.
Updated
Carrier File Handling
Carrier loader methods have been renamed to file-based naming. Force reload now normalizes/re-writes carriers.json. Warning logs are generated when the carriers file is missing or invalid, and Transport/order messaging has been updated.
Updated
Carrier-Country Override Deduplication
Duplicate carrier-country override rows are merged automatically at save time (unique by Octopia carrier + country), and existing duplicates are cleaned when loading Transport tab and during module upgrade.
Updated
Carrier-Country Override Warning
Admin now receives a warning message after save when duplicate override rows are auto-merged, with submitted versus kept counts.
Updated
SendCloud Integration (CdiscountSendCloud)
SendCloud (CdiscountSendCloud) now uses Service Points API v3 with v2 fallback, includes HTTP redirect handling, improved pickup code matching, Transportation tab ‘Test connection’, structured failure codes (importPickupPointWithResult), and logging via CdiscountLogger::addLogDetails.
Updated
SendCloud Import Idempotency
If ps_service_points_v2 already contains a valid service point for the cart (details JSON id), import is skipped. getServicePointIdForCart() returns the stored SendCloud service point id when present.
Updated
SendCloud Backfill on Existing Orders
Order import now runs SendCloud pickup integration when the marketplace order already exists in PrestaShop (order_exist) to backfill service point data on re-import.
Updated
SendCloud Configuration (Transportation Tab)
Transportation tab now includes SendCloud API credentials configuration (enable flag, public/secret keys, inline test) with related configuration and JS.
Updated
Orders Tab Visibility (SendCloud)
‘Fix SendCloud pickup integration’ block is now shown only when SendCloud integration is enabled in Transportation settings.
Removed
Imports Tab
Deprecated Imports tab and its template/translation leftovers have been removed after moving category synchronization controls to the Categories tab.
v4.5.40
Update
Fixed
New feature
Updated
Added
Per-Export Category Selection (Offers Update)
A new “Categories for this export” section has been added in the Update tab, allowing merchants to select which mapped categories are included for each manual export. Categories and profiles remain managed in the Categories tab, and cron continues using configured categories.
Added
Category-Aware Descriptions and Translations
Descriptions and translations (EN/FR/ES) are now category-aware across Create, CSV, and Update tabs. Labels for Send All Offers, Active Offers, Available Offers, and per-category product filters have been clarified.
Fixed
PHP 8 Deprecation Warnings (cdiscount.product.class.php)
The getExportProducts() method now preserves its original parameter order while introducing a default shop ID, preventing “optional before required” warnings without breaking backward compatibility.
Fixed
Carrier Shipping Configuration Validation
An issue causing fatal errors when carrier configuration fields (Min/Additional charge) contained non-numeric values has been resolved. products_update.php now validates and casts values before calling Tools::ps_round(), treating invalid values as unset.
Updated
Offers Update Export Summary Reporting
The export summary continues to report the number of offers written into the OfferPackage XML for the current selection, while Cdiscount logs still track per-offer validation results.
Updated
Translation System Normalization
Translations have been consolidated into a single source per language under /translations/ (en.php, fr.php, es.php). Changes include removal of incorrect module keys (e.g., feedbiz), migration to unified $_MODULE = [ ... ] format, synchronization of missing Smarty template translations (EN/FR/ES), and removal of unused template keys.
v4.5.39
Update
Fixed
New feature
Updated
Added
Database Transaction for Order Import
Each order import now runs within a single database transaction. On failure, all related database changes (addresses, customer, cart, order, order_detail, saveOrderInfo, etc.) are rolled back.
Added
SendCloud Pickup Point Integration
When using SendCloud for label generation, Cdiscount orders with Mondial Relay pickup points are now imported with service point data into the ps_service_points_v2 table.
Added
SendCloud Configuration (Transportation Tab)
New configuration fields include API Public Key, API Secret Key, and an enable option for SendCloud pickup point import.
Added
Pickup Point Integrations Section
A new section in the Transportation tab includes integrations for Mondial Relay, Colissimo, and SendCloud (all disabled by default), with descriptions and translations (EN/FR/ES).
Added
CdiscountSendCloud Class
Introduced for integration with the SendCloud Service Points API.
Added
CdiscountMondialRelay Class
Provides integration with the Mondial Relay native module, including methods such as isInstalled, importToTable, getIdCarrierMethod, and getMarketplaceOrdersStatesByIdLang.
Added
CdiscountColissimo Class
Handles integration with Colissimo / La Poste modules, including Colissimo Flexibilité and legacy So Colissimo (deprecated).
Added
Failed Order Import Notification Email
When one or more orders fail to import, a summary email can be sent including marketplace, date, import mode, failure count, and detailed errors using the order_import_fail template.
Added
Failed Order Import Notification Configuration
A new Orders tab section allows enabling notifications and configuring recipients (defaults to PS_SHOP_EMAIL if empty).
Fixed
SendCloud Service Points Update Issue
Resolved an issue where ps_service_points_v2 was not updated during order import. Mondial Relay pickup processing now executes when SendCloud is enabled and configured, regardless of Mondial Relay integration setting. Configuration keys now use CdiscountConstant.
Fixed
SendCloud API Response Parsing
Now supports multiple response formats (direct arrays and wrapped formats like service_points or data) for consistent pickup point resolution.
Updated
SendCloud Pickup Point Handling
All pickup point delivery methods are now sent to SendCloud when enabled. Octopia delivery modes are mapped to SendCloud carriers (Mondial Relay, Relais Colis, Colissimo), including standard, express, and legacy codes.
Updated
SendCloud Logging (PrestaShopLogger)
Each SendCloud import attempt is logged with structured context (order, cart, carrier, pickup details) and outcome (success/failure), improving debugging and traceability.
Updated
SendCloud API Connectivity Guidance
Added documentation and testing guidance for Service Points API keys, including troubleshooting steps and support flow.
Updated
Octopia Orders API Rate Limiting
Implemented in-process rate limiting (max 60 calls/minute per process) in cdiscount.request.class.php to prevent excessive API usage.
Updated
Failed Import Notification Behavior
Notification email field now displays PS_SHOP_EMAIL when empty, supports multiple recipients (comma-separated), and includes descriptive guidance.
Updated
Order Import Pickup Point Priority
SendCloud is prioritized when configured; otherwise falls back to Mondial Relay native module.
Updated
Pickup Point Architecture Refactor
Each carrier integration (Mondial Relay, SendCloud, Colissimo) is handled by its own class, orchestrated by CdiscountPickupPoint.
Updated
Direct Module Calls for Pickup Handling
Order import now directly invokes carrier-specific classes for pickup point processing.
Updated
Colissimo Integration Update
Supports Colissimo Flexibilité and legacy So Colissimo, while maintaining Octopia label naming.
Updated
Conditional Pickup Import Execution
Pickup import runs only when the corresponding integration is enabled (default: false).
Updated
Failed Import Notification Trigger
Notifications are sent for both manual and cron imports when at least one error occurs. Logging added for email failures via CdiscountLogger::addLogDetails().
Updated
Back-Office UI Adjustment
Notification configuration moved from Cron tab to Orders tab.
Updated
Import Default Settings
Default import type falls back to “Import by SKU”, and EAN policy defaults safely to NORMAL when unset.
Updated
Transaction Commit/Rollback Logic
Commit occurs only after successful saveOrderInfo; otherwise rollback is executed and success count adjusted.
Updated
Cart Deletion Logic on Failure
Cart is deleted only if no transaction was active, preventing duplicate deletion after rollback.
v4.5.38
Update
Fixed
New feature
Updated
Added
Order Import Filters (Octopia State)
Order import (manual and cron) now supports filtering by Octopia order states.
Added
Order Import Filter (Reference)
Orders can now be filtered by order reference during import.
Added
Hide Already Imported Orders Filter
Introduced a filter to exclude already imported orders.
Added
Additional Delivery Modes
Support added for delivery modes including Livraison Express and Cdiscount Fulfillment variants.
Added
Enhanced Cron Result Display
Cron execution now returns formatted HTML output with import statistics and summaries.
Added
Transportation Tab Field Descriptions
Descriptions and translations added for “Min Charge” and “Add.Charge” fields.
Added
Select All Order States Option
Checkbox functionality added to select all order states in import configuration.
Added
Cron Parameters for Order Import
New parameters include date range, order states, and page size.
Added
Offers Update Cron Job (CRON_PRODUCTS_UPDATE)
Supports parameters such as option-package, channel-select, and offer selection types.
Added
Request Validation for Product Updates
Validation added for option-package, channel-select, and force in both manual and cron executions.
Added
Full Package Offer Attributes
Expanded attributes including Name, EcoPart, DeaTax, Vat, StrikedPrice, Comment, PreparationTime, ShippingCharges, AdditionalShippingCharges, and DiscountComponentList.
Fixed
Null Check in merge.php
Resolved issue where missing null checks could cause errors when offers are null.
Fixed
Multitenancy JSON Encoding
Corrected character encoding issues for Cdon Norway and Sweden.
Fixed
urlencode() Deprecation Warning
Handled null input to prevent PHP deprecation warnings.
Updated
Octopia Delivery Modes Reference
Updated according to official Octopia delivery modes documentation.
Updated
Build Scripts Configuration
Adjusted included/excluded files for module build process.
Updated
Order Status Cron Job
Improvements applied to order status cron behavior.
Updated
Escape Modifier Settings
Standardized to HTML type with UTF-8 charset.
Updated
.gitignore Configuration
Added .cursor folder exclusion.
Updated
Cron Configuration Simplification
Removed Octopia channels from cron URLs; now uses only Cdiscount sales channel.
Updated
Context Restoration Fallback
Falls back to current context instead of exiting when stored context is invalid.
Updated
Product Update UI Descriptions
Aligned with Octopia API definitions.
Updated
Full Offer Integration Support
Supports multiple package types and dynamic channel selection.
Updated
Fulfillment Order Import Support
Cron import now includes fulfillment (C Logistique) orders with carrier lookup improvements.
Updated
Order State Handling Keys
Introduced new keys with fallback to legacy ones.
Updated
Default Offers Cron Package
Changed from “full” to “cdiscount” (Stock & Price Light).
Updated
Order Import Error Handling
Continues import even if actionValidateOrder hook fails.
Updated
Cron Parameters UI Fixes
Corrected checkbox selector and added radio button handling.
Updated
Products Update UI Logic
Improved enable/disable logic for channel selection across package types.
v4.5.37
Update
Fixed
New feature
Removed
Updated
Added
PHP Version Requirement (composer.json)
The required PHP version has been defined in the composer.json file.
Fixed
Trailing Commas Compatibility (PHP < 7.3)
Trailing commas in function calls have been removed to maintain compatibility with PHP versions below 7.3.
Fixed
Fulfillment Order Import
Resolved an issue preventing Fulfillment orders from being imported into PrestaShop.
Fixed
Seller Picture URL Format
Seller picture URLs are now required to use HTTPS.
Removed
PHP-CS-Fixer Rule (visibility_required)
The visibility_required rule has been removed from PHP-CS-Fixer configuration.
Removed
Unused .htaccess Files
Removed classes/shared/.htaccess and functions/.htaccess files.
Removed
Modern Nullable Type Hints
Removed modern ?string type hints to comply with PrestaShop validator requirements.
Updated
Category Reference Display
Category reference is now displayed alongside the category label in model configuration.
Updated
Debug Output Behavior
Details are now printed regardless of debug mode status.
Updated
Delivery Modes Handling
Updated logic for ImmediateVendorPickup and VendorPickup delivery modes.
Updated
Documentation URLs
Documentation links for Mapping and Filter configuration tabs have been updated.
Updated
.htaccess Compatibility
Updated .htaccess file to ensure compatibility with Apache 2.2 and 2.4.
Updated
Octopia Order States Reference
Updated based on Octopia order states documentation.
Updated
Mail Alerts Module Association
Module is now associated with Mail Alerts module version 3.0.1.
v4.5.36
Update
New feature
Removed
Updated
Added
JSON Content-Type Header (Product Integration)
Added Content-Type: application/json header to product integration requests.
Added
Detailed Logging Context
Logging now includes detailed context such as file, line, function, and variable dumps.
Updated
Product Integration Capacity
Supports integration of up to 10,000 products in a single operation.
Updated
getExportProducts Default Dates
Default “date from” and “date to” values are now set to empty in getExportProducts.
Updated
Category Level Labels
Updated category level labeling for model configuration.
Updated
Attribute/Feature Mapping Values
Mapped attributes/features now accept color and size values from model specifics.
Updated
Product Filter Logic (Active/Available)
Updated filtering logic for active and available products.
Updated
Offer Filter Logic (Active/Available)
Updated filtering logic for active and available offers.
Removed
Inactive Product Update Option
Removed the “Allow updating inactive products” setting.
Removed
Out-of-Stock Product Update Option
Removed the “Allow updating out of stock products” setting.
v4.5.35
Update
Fixed
New feature
Removed
Updated
Added
Accepted Hat Size Attributes
Added JSON file for accepted hat sizes: json\products-integration\attributes\accepted_hat_size.json.
Added
Accepted Shirt Size Attributes
Added JSON file for accepted shirt sizes: json\products-integration\attributes\accepted_shirt_size.json.
Added
OSP Name Translations (EN/FR/ES)
Added translations for OSP names based on language code as displayed in the seller portal.
Added
Delivery Modes JSON Configuration
Added delivery modes configuration via JSON files under json\delivery-modes\.
Fixed
Colissimo Service ID Retrieval
Corrected logic for retrieving Colissimo service ID.
Fixed
Relay Number Format Validation
Relay number must now be a 6-character string.
Fixed
Mondial Relay Order Association
Correctly associates Cdiscount orders with the Mondial Relay module.
Fixed
Cdiscount::$url Visibility
Changed access level of Cdiscount::$url to public (aligned with ModuleCore).
Fixed
Undefined Constant (PS_PROD_IMG_DIR)
Handled missing _PS_PROD_IMG_DIR_ constant in PrestaShop 9.0.0.
Updated
Null Coalescing Syntax Compatibility
Replaced $variable1 ?? $variable2 with $variable1 ? $variable1 : $variable2.
Updated
.gitignore Configuration
Updated .gitignore file.
Updated
Order Address Handling
Second line of order address is optional and no longer modified during import.
Updated
Field Size Property Usage
Replaced deprecated $fieldsSize with $definition['fields']['{column_name}']['size'].
Updated
Folder Naming Convention
Renamed json/products_integration/ to json/products-integration/.
Updated
stripslashes Usage
Replaced Tools::stripslashes() with stripslashes().
Updated
Validation Rules Method
Replaced ObjectModel::getValidationRules() with CommonValidate::getValidationRules().
Updated
Spelling Correction
Corrected “occured” to “occurred”.
Updated
Documentation URLs
Updated module documentation links for EN and FR.
Updated
Transportation Tab
Updated Transportation tab configuration.
Updated
Mapping Tab (Attributes/Features)
Updated attributes and features mapping section.
Removed
Class Constant Visibility Declaration
Removed explicit public visibility declaration for class constants.
Removed
Return Type Declarations
Removed return type declarations for compatibility.
Removed
Optional Carriers Section
Removed optional carriers section from Transportation tab.
Removed
Nullable Type Hints
Removed modern ?string type hints for validator compliance.
v4.5.34
Update
Fixed
New feature
Removed
Updated
Added
config.xml File
Added config.xml file to the module.
Added
Mondial Relay Table Integration (Orders)
Cdiscount orders are now inserted into mondialrelay_selected_relay table if available, enabling label generation visibility.
Added
Carrier Module Association
Cdiscount orders are now associated with both Colissimo and Mondial Relay modules.
Added
Crisp Chat Integration
Crisp chat has been integrated into the module.
Added
Octopia Seller API Documentation
Added reference to Octopia Seller API documentation.
Added
Module Changelog Link
Added direct link to module changelog.
Fixed
trim() Deprecation Warning
Resolved deprecation warning when passing null to trim() in cdiscount.tools.class.php.
Updated
.gitignore Configuration
Updated .gitignore file.
Updated
getUpdateProducts Function
Updated logic within getUpdateProducts.
Removed
Unused Directories and Files
Removed tips/, demo export ZIP files, and logs/product_update/ directory.
Removed
displayAdminOrderMain Hook
Removed displayAdminOrderMain hook.
Removed
Earliest Shipping Datetime Removal
Removed “Instructions” field from order data.
v4.5.33
Update
Fixed
New feature
Removed
Updated
Added
PrestaShop Dev Tools
Added development tooling configuration based on:
https://devdocs.prestashop-project.org/8/modules/testing/advanced-checks/
PHPStan, Fixer, CodeSniffer rules
PrestaShop Dev Tools to improve code qualitycomposer require --dev prestashop/php-dev-tools
PHP CS Fixer
To fix coding stylecomposer require --dev friendsofphp/php-cs-fixer
php vendor/bin/php-cs-fixer fix . --verbose --config=.php-cs-fixer.dist.php
PHPStan
For static analysiscomposer require --dev phpstan/phpstan
php vendor/bin/phpstan analyse -c tests/phpstan/phpstan.neon
php vendor/bin/phpstan analyse .
PHPUnit
To run testscomposer require --dev phpunit/phpunit
php vendor/bin/phpunit
PrestaShop Autoindex
For securitycomposer require --dev prestashop/autoindex
php vendor/bin/autoindex prestashop:add:index .
PrestaShop Header Stamp
For license headerscomposer require --dev prestashop/header-stamp
php vendor/bin/header-stamp --exclude=vendor --exclude=node_modules
PHP CodeSniffer
For optional coding standard fixcomposer require --dev squizlabs/php_codesniffer
php vendor/bin/phpcbf --ignore=vendor/*,node_modules/* .
php vendor/bin/phpcs --ignore=vendor/*,node_modules/* .
Added
Missing index.php in folders
Added missing index.php files in module directories.
Added
Missing License Header
The missing license header has been added in each CSS, JS, PHP, and TPL file.
Added
Module Build Scripts
Module build scripts have been added.
Fixed
Compatibility Issues
Resolved multiple module compatibility errors.
Fixed
Non-Unique HTML IDs
Resolved issues with duplicate element IDs.
Fixed
Invalid Security Key
Corrected invalid security key handling.
Fixed
SQL Injection Risk
Sanitized SQL request variables.
Updated
.gitignore Configuration
Updated .gitignore file.
Updated
PrestaShop Validation Compliance
Adjusted module to comply with PrestaShop validation rules.
Updated
PHP-CS-Fixer Rules
Updated coding standards configuration.
Updated
Order Shipping/Delivery Datetime
Corrected incorrect shipping and delivery datetimes.
Updated
Earliest Shipping Datetime Removal
Removed earliest shipping datetime as not provided by Octopia.
Updated
Credentials Field UI Width
Set width of client ID, client secret, and seller ID fields to 500px.
Updated
Code Formatting
Formatted JS and PHP files.
Removed
Legacy PrestaShop Support
Removed backward compatibility for PrestaShop versions below 1.6.
v4.5.32
Update
Fixed
New feature
Updated
Added
PHP-CS-Fixer Rule (single_blank_line_at_eof)
Added single_blank_line_at_eof rule to coding standards.
Fixed
Undefined Variables (API Wrapper)
Resolved undefined variables in cdiscount.apiwapper.class.php.
Fixed
Order Import (In-Preparation State)
Resolved issue preventing import of “in-preparation” orders.
Fixed
Loose Comparison Issue (0E Strings)
Avoided loose comparison issues for strings starting with 0E in model templates.
Updated
GDPR Compliance
Updated module for GDPR compliance.
Updated
Octopia Connection Documentation
Updated documentation for Octopia connection configuration.
Updated
Smarty Template Formatting
Formatted credentials.tpl template file.
Updated
Product Title Handling
Product title remains unchanged if no format is selected.
Updated
Offer Submission Interval
Increased waiting time to 10 minutes between offer package submissions.
Updated
Mapping Tab Layout
Moved attribute section above feature section.
Updated
Email Handling
Removed encrypted email and used email field from Octopia order response.
Updated
Octopia Webservice Integration
Applied category, carrier, order, product, and seller services from Octopia Webservice.
CDiscount Module – What’s New, First Quarter 2015
Fashion Category – At least one free shipping fee
From 02/17 all the products of the Fashion category will have at least one free shipping fee (normal, followed, recommended, global relay and/or relay box), otherwise the corresponding offer will not appear on CDiscount.
You bought the module by subscribing to the optional updates (Serenity) and your purchase is less than a year, you can get a free upgrade.
The module now allows you to apply this mandatory consideration:

But also to include all or part of the shipping fee normally calculated in the product price with the possibility to set a limit as a percentage of the product price, as shown in the configuration profile sample above.
So you can for example include 20% of the original shipping fee but not exceeding the price of the product, the module will cap the 20% to 10% of the product price in the example shown.
Messaging Tab
From March 2015, you can automatically send invoices as email attachments to the customer.
Will show you an order status since the time when it has been automatically triggered the sending of the PDF invoice to the customer:

You can also attach conditions of sale or return of products, also in PDF format.
PrestaShop Cronjobs
The PrestaShop Module Cronjobs made a discreet appearance in PrestaShop, but it is a revolution for users of PrestaShop;
Managing your scheduled tasks (cron) is now centralized in your PrestaShop backoffice and is a cinch to set up, you specify the URL of the task and the frequency.
In addition to this ease, we have added in the CDiscount module eponymous tab a button that configures your PrestaShop module Cronjobs with the tasks necessary to the marketplace, the frequency we recommend, that way you have nothing to configure.

Then you will see the performance of your stock updates by viewing the module log:

Please note that the screenshot of this post are in french, as the module targets the french market. It is available in english for international sellers for their convenience.