# Changelog
1.9.2 - 2026-07-08 ### Security - Fixed a CSRF vulnerability in the Basalam OAuth callback (`basalam-save-token`) that could let a forged request overwrite the stored connection credentials; the callback now requires a single-use, time-limited authorization that the admin actively started, and the "connect to Basalam" links go through a nonce-protected request - Hardened output escaping across admin pages, templates and exception messages (esc_html/esc_attr) - Switched internal redirects to wp_safe_redirect and documented direct custom-table queries ### Changed / Improved - Tested up to WordPress 7.0
1.9.1 - 2026-06-30 ### Fixed - show check-orders button and vertically center its content on mobile/tablet
1.9.0 - 2026-06-21 ### Added - add gold product type with purity and weight attributes - add preparation days management for product categories ### Fixed - decrease min pkg weight
1.8.8 - 2026-05-18 ### Fixed - fix City/state mapping with persian shiping woo - increase count of photo limit
1.8.7 - 2026-05-16 ### Added - Product video upload support (VideoService, VideoField, VideoSourceResolver) - Circuit breaker alert notifications - replace toast with alert() - Limit on increase precent(max 35%) - Migration 1.8.7 ### Fixed - Improved file upload, lock manager, and API response handling
1.8.5,1.8.6 - 2026-05-10 ### Fixed - deduplictaion orders - fix stuck-processing
1.8.4 - 2026-05-03 ### Fixed - Circuit Breaker mechanism
1.8.3 - 2026-05-03 ### Added - Added bulk edit support for wholesale settings, product type, and custom price increase - Added per-product custom price increase support - Added an information API endpoint to improve AI agent support in `admin.hamsalam.ir` ### Changed / Improved - Added automatic order creation in status change events when the order does not already exist - Clear saved token on `401 Unauthorized` responses from `*.basalam.com` requests - Show an error when required Woosalam domains are blocked - Prevent task execution when required Woosalam domains are blocked ### Fixed - Fixed user-reported issues
1.8.2 - 2026-04-04 ### Added - Photo and weight validator for products - Filter hook for contact-us section visibility - Prefix and suffix to product title for category detection ### Fixed - Fetch current vendor info without cache
1.8.1 - 2026-03-07 ### Added - basalam Chat widget
1.8.0 - 2026-03-05 ### Changed / Improved - Introduced an internal DI container (`ContainerInterface`, `Container`, `ServiceProviderInterface`) and centralized service provider wiring. - Added `syncBasalamContainer()` and migrated `syncBasalamPlugin()` / `syncBasalamSettings()` to container-backed access. - Migrated core hotspots from direct instantiation to container resolution: - `ApiServiceManager` - `ProductOperations` - `JobManager` - class-level settings access - Refactored job subsystem wiring for constructor-based dependencies (`AbstractJobType`, job types, `JobRegistry`, `JobsRunner`, `DiscountTaskScheduler`). - Updated action and registrar edges to resolve handlers/listeners via container. - Removed legacy singleton-style accessors in core services and standardized on container-first resolution. - add unInstall - Added dashboard data retrieval in tickets - Added `vendor_id` suffix to product `postmeta` - Added selectable stock priority for variable products - Added a Circuit Breaker mechanism ### Added - Container-backed settings access via `SettingsContainer`.
1.7.9 - 2026-02-25 ### Changed / Improved - Added plugin version to all admin CSS/JS enqueue calls for proper cache busting
1.7.8 - 2026-02-21 ### Added - retry system for jobs - Added announcements section - Added file upload capability in tickets - Added discount reduction percentage setting - Added ability to fetch and sync Basalam orders up to the last 30 days - Added customer name prefix/suffix settings for Basalam orders - Added onboarding section to Woosalam ### Changed / Improved - Remove Product Operation type - change fetch unsync orders structure - Switched product list fetching from paginate-based API to cursor-based API - Skip webhook creation when the site domain is localhost - Made Woosalam addonable/extensible - Categorized plugin settings ### Fix - Fixed ticket links issues - Fixed duplicated products issue - Fixed null value being sent to Basalam on duplicated product disconnect/update flow
1.7.7 - 2026-02-07 ### Changed / Improved - Enhanced Performance and Security in Ticket Logics - Don't send null value in update product at basalam
1.7.6 - 2026-02-01 ### Fix - Remove Unused Migration
1.7.5 - 2026-01-26 ### Added - Added Ticketing feature
1.7.4 - 2026-01-6 ### Fixed - Fix Bugs
1.7.3 - 2025-12-27 ### Fixed - Fix Bugs
1.7.2 - 2025-12-24 ### Fixed - Compatibity beetwin HPOS and Legay System - Fix webhook handling and authorization in WebhookService
1.7.1 - 2025-12-23 ### Fixed - Add Missed Files
1.7.0 - 2025-12-20 ### Added - Added PSR-4 autoloading structure for better code organization ### Changed / Improved - Enhanced plugin code structure and performance optimizations - Added detailed order information display on orders page - Improved category ID retrieval with reverse order output ### Fixed - Fixed commission calculation issues - Fixed order fetching problems - Fixed Persian WooCommerce Shipping plugin compatibility issues
1.6.1 - 2025-12-6 ### Changed / Improved - Handle cursor for get order lists ### Fixed - don't send request to core.basalam.com - add reduce/increase stock action for woosalam order statuses
1.6.0 - 2025-12-1 ### Changed / Improved - Added automatic shipping method detection and auto-saving of the shipping name and cost in WooCommerce orders
1.5.9 - 2025-11-27 ### Fixed - Add missing default settings to database and return default for single missing setting - Handle customer names without spaces - Correct Persian WooCommerce path ### Refactored - Simplify check if Persian WooCommerce Shipping plugin is active
1.5.8 - 2025-11-18 ### Changed / Improved - Improved batch product update functionality - Enhanced complete product update process
1.5.7 - 2025-11-17 ### Added - Added compatibility with Tappin - Added support for currency units irht and irhr ### Changed / Improved - Implemented automatic price rounding for Basalam compatibility - Changed product enqueue structure from offset-based to ID-based - Made WooCommerce order creation process atomic ### Fixed - Fixed job manager functionality and proper task execution
1.5.5 - 2025-11-15 ### Changed / Improved - Optimized fetch creatable products query using direct SQL for better performance - Improved API service manager to properly decode JSON responses - Enhanced update job detection logic to avoid false positive job status checks ### Fixed - Fixed API response handling by properly decoding JSON data - Removed commented-out legacy code from plugin initialization - Fixed quick update job status detection in admin dashboard - Resolved duplicate job checking that was causing incorrect "in progress" states
1.5.4 - 2025-11-6 ### Added - Migration system for version 1.5.4 ### Changed / Improved - Enhanced onboarding styles and UI improvements - Improved category fetching process with better error handling - Enhanced file uploader service functionality - Optimized product update process ### Fixed - Fixed error handling in product update service - Removed deprecated photo ban status service - Fixed category mapping page display and functionality - Improved product meta box data handling - Fixed issues in get product data service
1.5.3 - 2025-10-25 ### Fixed - Fixed some bugs
1.5.0 - 2025-10-04 ### Added - Key-value storage system for plugin settings - Option to select sale price display style (strikethrough or sale price only) - Automatic log file cleanup (weekly) - Manual and automatic task execution rate control (tasks per minute) ### Changed / Improved - Removed WP Cron dependency for better performance - Enhanced task scheduling system ### Fixed - Removed invalid variations from product data - Fixed category attributes synchronization issue - Fixed sale price validation before applying - Resolved migration 1.4.0 issues
1.4.0 - 2025-09-12 ### Added - Manual product category mapping - Strikethrough pricing for products - Add products from Digikala (Pro version) - Create a free store (Pro version) ### Changed / Improved - Plugin structure optimization ### Fixed - Fixed reported issues
1.3.0 - 2025-07-23 ### Added - Option to choose operation execution method (AJAX and Queue) - Manual order fetching - Cancel orders - Fetch order changes from Basalam and apply them to WooCommerce orders ### Fixed - Fixed reported issues
1.2.0 - 2025-06-27 ### Added - Bulk product addition - Bulk product update - Auto order confirmation ### Fixed - Fixed issues reported in previous version
1.1.0 - 2025-02-13 ### Added - Automatic fetching and creation of Basalam orders in WooCommerce - Manage orders from WooCommerce (confirm order, request delay, ship order) - Advanced settings for easier use ### Fixed - Fixed some issues from previous versions
1.0.0 - 2024-12-31 ### Added - Add and update products individually and in bulk - Automatic product synchronization - Settings and logs page