PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.25
ووسلام – همگام سازی ووکامرس و باسلام v1.10.25
1.10.24 1.10.25 1.10.23 1.10.22 1.10.21 1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 All 58 releases
sync-basalam / CHANGELOG.md

CHANGELOG.md in ووسلام – همگام سازی ووکامرس و باسلام 1.10.25, at CHANGELOG.md

824 lines 25.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 # Changelog
2
3 <details>
4
5 <summary>1.10.25 - 2026-09-30</summary>
6
7 ### Changed / Improved
8 - Revoke the stored Basalam vendor authorization on upgrade so every store reconnects and grants the currently required scopes
9
10 ### Note
11 - Existing connections must reauthenticate after updating to this version
12
13 </details>
14
15 <details>
16
17 <summary>1.10.24 - 2026-09-30</summary>
18
19 ### Added
20 - Request the `vendor.product.read` scope when connecting to Basalam
21
22 ### Note
23 - Existing connections must reauthenticate to grant the new product read scope
24
25 </details>
26
27 <details>
28
29 <summary>1.10.23 - 2026-09-28</summary>
30
31 ### Added
32 - Request the `vendor.financial.read` and `vendor.financial.write` scopes when connecting to Basalam
33
34 ### Changed / Improved
35 - Blur and lock the financial management page when a financial API request returns HTTP 403, with a direct button to reconnect to Basalam
36
37 ### Note
38 - Existing connections must reauthenticate to grant the new financial scopes
39
40 </details>
41
42 <details>
43
44 <summary>1.10.22 - 2026-09-27</summary>
45
46 ### Added
47 - Added an optional recurring full product update every 24 or 48 hours, configured beside the product sync control; new and existing stores default to 48 hours and can turn the schedule off
48
49 ### Changed / Improved
50 - Automatic product connection now searches for safe title matches among Basalam products after scanning the vendor catalog
51 - Aligned the dashboard controls and advanced settings on narrow screens, and centered the add and update product dialogs at matching mobile sizes
52
53 ### Fixed
54 - The product update dialog now reads live queue status when opened and while visible, clearing completed-job messages without a page reload
55 - Empty-queue probes no longer hold the async dispatch lease, so newly created jobs can start promptly while shutdown dispatch continues to repair the database connection
56
57 </details>
58
59 <details>
60
61 <summary>1.10.21 - 2026-09-17</summary>
62
63 ### Fixed
64 - "All fields" and "price & stock" update modes always send one complete product request with the variants array (without Basalam variation ids), matching earlier major versions; the dedicated variation endpoint is only used in "custom" mode with the variation price/stock fields enabled
65 - Product updates now recover automatically when WooCommerce contains stale Basalam variation IDs, rebuilding and saving the current variation mapping instead of repeatedly failing with HTTP 404
66 - Commission lookup now uses Basalam's product-specific commission API for products already connected to Basalam; new or unconnected products continue to use category-based commission lookup, with product commission responses cached during the sync request
67
68 </details>
69
70 <details>
71
72 <summary>1.10.20 - 2026-09-17</summary>
73
74 ### Fixed
75 - Basalam authorization callbacks no longer fail when Redis or Memcached drops the temporary OAuth marker; the single-use authorization proof is now carried in a signed, time-limited HttpOnly cookie
76
77 </details>
78
79 <details>
80
81 <summary>1.10.19 - 2026-09-17</summary>
82
83 ### Changed / Improved
84 - Single-product update jobs now run before bulk and full-update coordinator jobs
85
86 </details>
87
88 <details>
89
90 <summary>1.10.18 - 2026-09-12</summary>
91
92 ### Fixed
93 - Public plugin metadata, help, terms, and privacy links now use the live canonical Hamsalam and Basalam URLs instead of the retired `wp.hamsalam.ir` host
94 - Product create and update requests now retry once without product or variation SKUs when Basalam rejects a duplicate SKU
95
96 </details>
97
98 <details>
99
100 <summary>1.10.17 - 2026-09-09</summary>
101
102 ### Fixed
103 - Async job dispatch runs during shutdown again, keeping queue probes and loopback requests out of the storefront response path
104 - The dispatch lease is reserved before checking the queue, preventing concurrent requests from launching duplicate async runners
105
106 </details>
107
108 <details>
109
110 <summary>1.10.16 - 2026-09-08</summary>
111
112 ### Fixed
113 - Installing a newer plugin package now clears the previous version's force-update gate, allowing migrations, hooks, and the background jobs runner to start normally
114 - Hotfix builds newer than the latest published package are no longer disabled when the version API has not registered them yet
115
116 </details>
117
118 <details>
119
120 <summary>1.10.15 - 2026-09-08</summary>
121
122 ### Fixed
123 - Large product queues no longer spawn overlapping AJAX runners from normal site traffic; one runner now owns the entire processing batch and duplicate workers exit immediately
124 - Async runner dispatches are leased for 25 seconds instead of one second, preventing PHP worker exhaustion and storefront 503/504 errors during full or quick product updates
125 - Installing a newer plugin package now clears the previous version's force-update gate, allowing migrations, hooks, and the background jobs runner to start normally
126 - Hotfix builds newer than the latest published package are no longer disabled when the version API has not registered them yet
127
128 </details>
129
130 <details>
131
132 <summary>1.10.14 - 2026-09-08</summary>
133
134 ### Added
135 - Product SKUs are now sent to Basalam when creating or updating products, and variation SKUs are sent with variant payloads and per-variation updates; a new "کد �
136 حصول (SKU)" option controls the field in custom update mode (enabled by default)
137
138 ### Fixed
139 - The async job runner now dispatches from init instead of shutdown, avoiding database "commands out of sync" errors caused by unread result sets left by other shutdown callbacks
140
141 </details>
142
143 <details>
144
145 <summary>1.10.13 - 2026-09-01</summary>
146
147 ### Added
148 - Added a manual vendor-status recheck button to inactive-vendor notices so store owners can immediately restore synchronization after reactivating their Basalam booth
149
150 ### Changed / Improved
151 - Local environments now bypass vendor-status checks and inactive-vendor restrictions; the daily vendor-status cron is also unscheduled locally
152 - The category detection endpoint now uses API v2.0 while preserving the existing response consumer contract
153
154 </details>
155
156 <details>
157
158 <summary>1.10.12 - 2026-08-29</summary>
159
160 ### Fixed
161 - Restored the AJAX click handlers for product update, archive, restore, and disconnect actions on the WooCommerce product editor
162
163 ### Changed / Improved
164 - The authenticated Woosalam chat widget now loads on every WordPress admin screen while other Woosalam assets remain scoped to their relevant pages
165
166 </details>
167
168 <details>
169
170 <summary>1.10.11 - 2026-08-26</summary>
171
172 ### Fixed
173 - Product media MIME types are now detected from the actual file contents before checking the filename extension
174 - Non-standard image MIME aliases such as `image/jpg`, `image/pjpeg`, and vendor-specific PNG/BMP values are normalized to the canonical values accepted by Basalam Uploadio
175 - The media upload request and multipart file transfer now use the same canonical MIME type, preventing valid JPEG images from failing with a `422` unsupported-MIME response
176
177 </details>
178
179 <details>
180
181 <summary>1.10.10 - 2026-08-25</summary>
182
183 ### Added
184 - Added a daily vendor-status check with persistent inactive-duration tracking and automatic recovery when the vendor becomes active again
185 - Added state-specific admin notices, dashboard badges, disabled controls, and explanatory UI for limited and suspended synchronization modes
186
187 ### Changed / Improved
188 - Vendors inactive for less than 21 days can no longer create products; manual, bulk, queued, and automatic updates are restricted to price and stock
189 - Vendors inactive for 21 days or longer can no longer create, update, archive, restore, or discount products until the vendor becomes active again
190 - Product jobs revalidate the vendor policy at execution time so queued work cannot bypass a later status change
191 - Improved background job dispatch and limited admin assets and notices to relevant Woosalam, product, and order screens
192 - Aligned the connection-status header, card, and inner synchronization panel across active and inactive states
193
194 </details>
195
196 <details>
197
198 <summary>1.10.9 - 2026-08-16</summary>
199
200 ### Fixed
201 - The ticket reply access form is now shown only after site access is rejected; it stays hidden while access is pending, after approval, and when the status is missing or unknown
202
203 </details>
204
205 <details>
206
207 <summary>1.10.8 - 2026-08-15</summary>
208
209 ### Added
210 - Added independent settings for updating variation prices and variation stock
211
212 ### Changed / Improved
213 - Connected variations are now updated individually through Core v4
214 - Price-only variation updates send only `primary_price`, while stock-only updates send only `stock`
215 - Variation price updates work independently from the product price setting
216 - Custom update mode now requires at least one selected field and shows the plugin error toast without refreshing the page when none is selected
217 - Full, quick, selected, and automatic updates no longer create jobs or API requests when the custom field selection is empty
218 - Product admin JavaScript now uses a file-aware cache version so the latest validation behavior is loaded immediately after deployment
219
220 </details>
221
222 <details>
223
224 <summary>1.10.7 - 2026-08-11</summary>
225
226 ### Fixed
227 - Ticket validation and API failures are now shown as admin toasts instead of WordPress `admin-post.php` error pages
228 - New-ticket submissions now use AJAX, preserving entered text, credentials, and uploaded-image previews when a request fails; if the ticket was created before access storage failed, retrying updates only the access data and does not create a duplicate ticket
229 - Ticket JavaScript now uses a file-aware cache version so updated validation and submission behavior is loaded immediately after deployment
230
231 </details>
232
233 <details>
234
235 <summary>1.10.6 - 2026-08-11</summary>
236
237 ### Fixed
238 - Product images in AVIF or another image format unsupported by Basalam are now converted to JPEG before the upload request, preventing the `422` unsupported-MIME error
239 - Temporary downloaded and converted product-image files are removed after both successful and failed uploads; when the server cannot decode the source format, the plugin now returns an actionable error instead of sending an invalid MIME type to Basalam
240 - A copied product no longer inherits *any* Woosalam data from the product it was copied from — not the Basalam connection, and not the per-product settings (video, custom price change, gold/mobile fields, product type and value, wholesale, discount flag). Every `sync_basalam_*` / `_sync_basalam_*` meta on the duplicate and its variations is stripped before WooCommerce saves the duplicate (`woocommerce_duplicate_product_exclude_meta`), cleaned again after duplication, and also cleaned for copies made by third-party duplicate plugins (`dp_duplicate_post`, `dp_duplicate_page`, `duplicate_post_post_copy`). Individual keys can be kept via the `sync_basalam_duplicate_purge_meta_keys` filter
241 - Disconnecting a product now removes the connection meta of every vendor id (previously only the currently configured vendor's keys were removed, so a stale, hard to find key could stay in the database) and clears `sync_basalam_variation_id` from all variations, not only from products currently typed as variable
242 - No product data, status change, or discount is sent to Basalam while two or more WooCommerce products share one Basalam product id. The operation is stopped with a clear message instead of overwriting the wrong Basalam product (this is what made old prices and old stock reappear on Basalam)
243 - Products with an empty Basalam product id no longer produce a malformed update request
244
245 ### Added
246 - A one-time repair on update that finds WooCommerce products sharing a Basalam product id, keeps the connection on the oldest (original) product, disconnects the copies, and reports the result in an admin notice and the plugin log
247
248 </details>
249
250 <details>
251
252 <summary>1.10.5 - 2026-08-05</summary>
253
254 ### Changed / Improved
255 - Limited bulk product update API requests to a maximum of five per minute without reducing the execution rate of other background jobs
256
257 </details>
258
259 <details>
260
261 <summary>1.10.4 - 2026-08-04</summary>
262
263 ### Fixed
264 - Preserved complete URLs in new ticket messages, ticket replies, and optional access-information fields, including percent-encoded URL segments that WordPress text sanitization previously removed
265 - Updated ticket media uploads to send `type=ticket_item` and `collection=IMAGE` as multipart form fields to the `/media` endpoint, and fixed the upload service to return the API response
266
267 </details>
268
269 <details>
270
271 <summary>1.10.3 - 2026-07-22</summary>
272
273 ### Changed / Improved
274 - "Price increase" became "price change" everywhere (code, markup, CSS classes): negative values are supported, so e.g. `-10` lowers the final Basalam price by 10% (percentages are capped at 35% increase and 35% decrease; values outside the -100..100 range are fixed Toman amounts)
275 - The global setting key was renamed from `increase_price_value` to `price_change_value`, and the per-product meta from `_sync_basalam_increase_price_value` to `_sync_basalam_price_change_value`. Old values are not migrated — re-enter the price change in the settings
276 - The category-commission mode is now stored as `commission` instead of `-1`, so it no longer collides with a real negative percentage
277
278 ### Added
279 - A "custom price change" field in the Basalam product settings tab and in the products list bulk edit, so a single product or a selection of products can override the global value (or switch to category commission)
280
281 </details>
282
283 <details>
284
285 <summary>1.10.2 - 2026-07-19</summary>
286
287 ### Changed / Improved
288 - Migrated product photo and video uploads from the legacy direct upload endpoint to Uploadio's presigned media flow
289 - Added SHA-256 metadata, direct staging upload, completion handling, and status polling so product payloads receive the final Basalam media ID and URL
290 - Ensured temporary remote media files are removed after both successful and failed uploads
291 - Streamed remote media downloads and multipart uploads with size-aware limits and timeouts to support large product videos without buffering the entire file in PHP memory
292
293 </details>
294
295 <details>
296
297 <summary>1.10.1 - 2026-07-13</summary>
298
299 ### Fixed
300 - When Basalam rejects a product create/update with `422` because the description contains forbidden content (social-network names, page/channel mentions, etc.), the plugin now extracts the flagged phrases — highlighted inside `<em>...</em>` in the response `snippet` — strips them from the description, and automatically retries (up to 3 times). Previously the sanitizer looked for a non-existent `value` field, so nothing was removed and the retry never helped
301
302 </details>
303
304 <details>
305
306 <summary>1.10.0 - 2026-07-11</summary>
307
308 ### Added
309 - Merged the "Woosalam Plus" add-on into the core plugin as a built-in "Financial Management" section: view store balance, active settlement requests, settlement history, and submit settlement requests to wallet or bank account
310 - Added the `customer.identity.read` scope to the Basalam OAuth connection request (required to fetch the user's bank account list in the settlement flow)
311
312 ### Note
313 - Users who connected to Basalam before this release must reconnect ("Connect to Basalam") once so the new scope is granted before the bank-account settlement feature works
314
315 </details>
316
317 <details>
318
319 <summary>1.9.2 - 2026-07-08</summary>
320
321 ### Security
322 - 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
323 - Hardened output escaping across admin pages, templates and exception messages (esc_html/esc_attr)
324 - Switched internal redirects to wp_safe_redirect and documented direct custom-table queries
325
326 ### Changed / Improved
327 - Tested up to WordPress 7.0
328
329 </details>
330
331 <details>
332
333 <summary>1.9.1 - 2026-06-30</summary>
334
335 ### Fixed
336 - show check-orders button and vertically center its content on mobile/tablet
337
338 </details>
339
340 <details>
341
342 <summary>1.9.0 - 2026-06-21</summary>
343
344 ### Added
345 - add gold product type with purity and weight attributes
346 - add preparation days management for product categories
347
348 ### Fixed
349 - decrease min pkg weight
350
351 </details>
352
353 <details>
354
355 <summary>1.8.8 - 2026-05-18</summary>
356
357 ### Fixed
358 - fix City/state mapping with persian shiping woo
359 - increase count of photo limit
360
361
362 </details>
363
364 <details>
365
366 <summary>1.8.7 - 2026-05-16</summary>
367
368 ### Added
369 - Product video upload support (VideoService, VideoField, VideoSourceResolver)
370 - Circuit breaker alert notifications
371 - replace toast with alert()
372 - Limit on increase precent(max 35%)
373 - Migration 1.8.7
374
375 ### Fixed
376 - Improved file upload, lock manager, and API response handling
377
378 </details>
379
380 <details>
381
382 <summary>1.8.5,1.8.6 - 2026-05-10</summary>
383
384 ### Fixed
385 - deduplictaion orders
386 - fix stuck-processing
387
388 </details>
389
390 <details>
391
392
393 <details>
394
395 <summary>1.8.4 - 2026-05-03</summary>
396
397 ### Fixed
398 - Circuit Breaker mechanism
399
400 </details>
401
402 <details>
403
404 <summary>1.8.3 - 2026-05-03</summary>
405
406 ### Added
407 - Added bulk edit support for wholesale settings, product type, and custom price increase
408 - Added per-product custom price increase support
409 - Added an information API endpoint to improve AI agent support in `admin.hamsalam.ir`
410
411 ### Changed / Improved
412 - Added automatic order creation in status change events when the order does not already exist
413 - Clear saved token on `401 Unauthorized` responses from `*.basalam.com` requests
414 - Show an error when required Woosalam domains are blocked
415 - Prevent task execution when required Woosalam domains are blocked
416
417 ### Fixed
418 - Fixed user-reported issues
419
420 </details>
421
422 <details>
423
424 <summary>1.8.2 - 2026-04-04</summary>
425
426 ### Added
427 - Photo and weight validator for products
428 - Filter hook for contact-us section visibility
429 - Prefix and suffix to product title for category detection
430
431 ### Fixed
432 - Fetch current vendor info without cache
433 </details>
434
435 <details>
436
437 <details>
438
439 <summary>1.8.1 - 2026-03-07</summary>
440
441 ### Added
442 - basalam Chat widget
443
444 </details>
445
446 <details>
447
448 <summary>1.8.0 - 2026-03-05</summary>
449
450 ### Changed / Improved
451 - Introduced an internal DI container (`ContainerInterface`, `Container`, `ServiceProviderInterface`) and centralized service provider wiring.
452 - Added `syncBasalamContainer()` and migrated `syncBasalamPlugin()` / `syncBasalamSettings()` to container-backed access.
453 - Migrated core hotspots from direct instantiation to container resolution:
454 - `ApiServiceManager`
455 - `ProductOperations`
456 - `JobManager`
457 - class-level settings access
458 - Refactored job subsystem wiring for constructor-based dependencies (`AbstractJobType`, job types, `JobRegistry`, `JobsRunner`, `DiscountTaskScheduler`).
459 - Updated action and registrar edges to resolve handlers/listeners via container.
460 - Removed legacy singleton-style accessors in core services and standardized on container-first resolution.
461 - add unInstall
462 - Added dashboard data retrieval in tickets
463 - Added `vendor_id` suffix to product `postmeta`
464 - Added selectable stock priority for variable products
465 - Added a Circuit Breaker mechanism
466
467
468
469 ### Added
470 - Container-backed settings access via `SettingsContainer`.
471
472 </details>
473
474 <details>
475
476 <summary>1.7.9 - 2026-02-25</summary>
477
478 ### Changed / Improved
479 - Added plugin version to all admin CSS/JS enqueue calls for proper cache busting
480
481 </details>
482
483
484 <details>
485
486 <summary>1.7.8 - 2026-02-21</summary>
487
488 ### Added
489 - retry system for jobs
490 - Added announcements section
491 - Added file upload capability in tickets
492 - Added discount reduction percentage setting
493 - Added ability to fetch and sync Basalam orders up to the last 30 days
494 - Added customer name prefix/suffix settings for Basalam orders
495 - Added onboarding section to Woosalam
496
497 ### Changed / Improved
498
499 - Remove Product Operation type
500 - change fetch unsync orders structure
501 - Switched product list fetching from paginate-based API to cursor-based API
502 - Skip webhook creation when the site domain is localhost
503 - Made Woosalam addonable/extensible
504 - Categorized plugin settings
505
506 ### Fix
507 - Fixed ticket links issues
508 - Fixed duplicated products issue
509 - Fixed null value being sent to Basalam on duplicated product disconnect/update flow
510
511 </details>
512
513 <details>
514
515 <summary>1.7.7 - 2026-02-07</summary>
516
517 ### Changed / Improved
518
519 - Enhanced Performance and Security in Ticket Logics
520 - Don't send null value in update product at basalam
521
522 </details>
523
524
525 <details>
526
527 <summary>1.7.6 - 2026-02-01</summary>
528
529 ### Fix
530
531 - Remove Unused Migration
532
533 </details>
534
535 <details>
536
537 <summary>1.7.5 - 2026-01-26</summary>
538
539 ### Added
540
541 - Added Ticketing feature
542
543 </details>
544
545 <details>
546
547 <summary>1.7.4 - 2026-01-6</summary>
548
549 ### Fixed
550
551 - Fix Bugs
552
553 </details>
554
555 <details>
556
557 <summary>1.7.3 - 2025-12-27</summary>
558
559 ### Fixed
560
561 - Fix Bugs
562
563 </details>
564
565 <details>
566
567 <summary>1.7.2 - 2025-12-24</summary>
568
569 ### Fixed
570
571 - Compatibity beetwin HPOS and Legay System
572 - Fix webhook handling and authorization in WebhookService
573
574 </details>
575
576 <details>
577
578 <summary>1.7.1 - 2025-12-23</summary>
579
580 ### Fixed
581
582 - Add Missed Files
583
584 </details>
585
586
587 <details>
588
589 <summary>1.7.0 - 2025-12-20</summary>
590
591 ### Added
592
593 - Added PSR-4 autoloading structure for better code organization
594
595 ### Changed / Improved
596
597 - Enhanced plugin code structure and performance optimizations
598 - Added detailed order information display on orders page
599 - Improved category ID retrieval with reverse order output
600
601 ### Fixed
602
603 - Fixed commission calculation issues
604 - Fixed order fetching problems
605 - Fixed Persian WooCommerce Shipping plugin compatibility issues
606
607 </details>
608
609 <details>
610 <summary>1.6.1 - 2025-12-6</summary>
611
612 ### Changed / Improved
613 - Handle cursor for get order lists
614
615 ### Fixed
616 - don't send request to core.basalam.com
617 - add reduce/increase stock action for woosalam order statuses
618
619 </details>
620
621 <details>
622 <summary>1.6.0 - 2025-12-1</summary>
623 ### Changed / Improved
624 - Added automatic shipping method detection and auto-saving of the shipping name and cost in WooCommerce orders
625
626 </details>
627
628 <details>
629 <summary>1.5.9 - 2025-11-27</summary>
630
631 ### Fixed
632
633 - Add missing default settings to database and return default for single missing setting
634 - Handle customer names without spaces
635 - Correct Persian WooCommerce path
636
637 ### Refactored
638
639 - Simplify check if Persian WooCommerce Shipping plugin is active
640
641 </details>
642
643 <details>
644 <summary>1.5.8 - 2025-11-18</summary>
645
646 ### Changed / Improved
647
648 - Improved batch product update functionality
649 - Enhanced complete product update process
650
651 </details>
652
653 <details>
654 <summary>1.5.7 - 2025-11-17</summary>
655
656 ### Added
657
658 - Added compatibility with Tappin
659 - Added support for currency units irht and irhr
660
661 ### Changed / Improved
662
663 - Implemented automatic price rounding for Basalam compatibility
664 - Changed product enqueue structure from offset-based to ID-based
665 - Made WooCommerce order creation process atomic
666
667 ### Fixed
668
669 - Fixed job manager functionality and proper task execution
670
671 </details>
672
673 <details>
674 <summary>1.5.5 - 2025-11-15</summary>
675
676 ### Changed / Improved
677
678 - Optimized fetch creatable products query using direct SQL for better performance
679 - Improved API service manager to properly decode JSON responses
680 - Enhanced update job detection logic to avoid false positive job status checks
681
682 ### Fixed
683
684 - Fixed API response handling by properly decoding JSON data
685 - Removed commented-out legacy code from plugin initialization
686 - Fixed quick update job status detection in admin dashboard
687 - Resolved duplicate job checking that was causing incorrect "in progress" states
688
689 </details>
690
691 <details>
692 <summary>1.5.4 - 2025-11-6</summary>
693
694 ### Added
695
696 - Migration system for version 1.5.4
697
698 ### Changed / Improved
699
700 - Enhanced onboarding styles and UI improvements
701 - Improved category fetching process with better error handling
702 - Enhanced file uploader service functionality
703 - Optimized product update process
704
705 ### Fixed
706
707 - Fixed error handling in product update service
708 - Removed deprecated photo ban status service
709 - Fixed category mapping page display and functionality
710 - Improved product meta box data handling
711 - Fixed issues in get product data service
712
713 </details>
714
715 <details>
716 <summary>1.5.3 - 2025-10-25</summary>
717
718 ### Fixed
719
720 - Fixed some bugs
721
722 </details>
723
724 <details>
725 <summary>1.5.0 - 2025-10-04</summary>
726
727 ### Added
728
729 - Key-value storage system for plugin settings
730 - Option to select sale price display style (strikethrough or sale price only)
731 - Automatic log file cleanup (weekly)
732 - Manual and automatic task execution rate control (tasks per minute)
733
734 ### Changed / Improved
735
736 - Removed WP Cron dependency for better performance
737 - Enhanced task scheduling system
738
739 ### Fixed
740
741 - Removed invalid variations from product data
742 - Fixed category attributes synchronization issue
743 - Fixed sale price validation before applying
744 - Resolved migration 1.4.0 issues
745
746 </details>
747
748 <details>
749 <summary>1.4.0 - 2025-09-12</summary>
750
751 ### Added
752
753 - Manual product category mapping
754 - Strikethrough pricing for products
755 - Add products from Digikala (Pro version)
756 - Create a free store (Pro version)
757
758 ### Changed / Improved
759
760 - Plugin structure optimization
761
762 ### Fixed
763
764 - Fixed reported issues
765
766 </details>
767
768 <details>
769 <summary>1.3.0 - 2025-07-23</summary>
770
771 ### Added
772
773 - Option to choose operation execution method (AJAX and Queue)
774 - Manual order fetching
775 - Cancel orders
776 - Fetch order changes from Basalam and apply them to WooCommerce orders
777
778 ### Fixed
779
780 - Fixed reported issues
781
782 </details>
783
784 <details>
785 <summary>1.2.0 - 2025-06-27</summary>
786
787 ### Added
788
789 - Bulk product addition
790 - Bulk product update
791 - Auto order confirmation
792
793 ### Fixed
794
795 - Fixed issues reported in previous version
796
797 </details>
798
799 <details>
800 <summary>1.1.0 - 2025-02-13</summary>
801
802 ### Added
803
804 - Automatic fetching and creation of Basalam orders in WooCommerce
805 - Manage orders from WooCommerce (confirm order, request delay, ship order)
806 - Advanced settings for easier use
807
808 ### Fixed
809
810 - Fixed some issues from previous versions
811
812 </details>
813
814 <details>
815 <summary>1.0.0 - 2024-12-31</summary>
816
817 ### Added
818
819 - Add and update products individually and in bulk
820 - Automatic product synchronization
821 - Settings and logs page
822
823 </details>
824