New Features

  • Re-convert Profile Action: Added bulk action to re-run profile conversion with updated field mappings. Allows merchants to update profiles converted in earlier versions to take advantage of improved mapping logic while preserving original feed template data.
  • CSV Map File Download Tool: Added automatic detection and download capability for the CSV mapping file required for profile conversion. Includes warnings when file is missing and direct download option in Tools page.
  • Lock/Unlock All Tools: Added bulk tools on the Tools page to lock or unlock all listings at once. Lock All prevents automatic updates while still allowing inventory/price changes. Unlock All resumes full automatic updates.

Profile Conversion Improvements

  • Memory Optimization: Implemented caching system to prevent memory errors during Product Type property mapping. Significantly reduces memory usage for large catalogs by caching processed mappings instead of loading entire CSV file.
  • Merchant Shipping Groups: Fixed mapping of old Merchant Shipping Group values to new dropdown IDs. New Merchant Shipping Group values now get found correctly.
  • Country of Origin: Fixed incorrect field mapping that was causing validation failures.
  • Unit Conversion: Expanded unit conversion to handle additional field types including weight and dimensions, not just _unit_of_measure fields.
  • Package Weight Unit: Corrected mapping from package_weight_unit_of_measure to use item_package_weight[0][unit] instead of item_weight[0][unit].
  • Converted Profile List: Fixed issue where successfully converted profiles still appeared in the “available to convert” list.
  • Profile Converter Display: Fixed UI display issues on the profile converter page.
  • Cache Debug Mode: Cache now properly disables when DEBUG mode level 7 is enabled.

JSON Feed Fixes

  • Sale Price in InventoryLoader: Added missing sale price fields to InventoryLoader JSON feeds, including sale price value, start date, and end date.
  • Encoding Issue: Fixed URL encoding bug causing values with special characters to get cut off in JSON feeds. All field values now properly URL-encoded before transmission.
  • Discounted Price Section: Fixed issue where discounted_price section was included in feeds even when no sale price was set. Section now only appears when sale price exists.
  • Sale Price Value Logic: Corrected getSalePriceValue() to not return standard price when “Use Sale Price” is disabled.
  • Sale Price Dates: Fixed sale price start and end dates not getting included in feeds.

Variation Handling

  • Variation Attributes: Fixed variation attributes not getting fetched correctly from product data.
  • Shortcodes in Variations: Fixed shortcodes not getting replaced in variation-specific fields (multiple instances).
  • Nested Composites: Fixed handling of nested composite data structures in items, such as Color Map.
  • Parent Variable Columns: Fixed $parent_var_columns whitelist for variables not getting executed.
  • Variation Properties Visibility: Unhid variation-related properties in the UI to make them accessible.
  • Stock Sorting: Fixed sorting by stock column failing for variable product listings.

Listing Management

  • ASIN Meta Sync: Fixed _wpla_asin synchronization when inserting and matching listings.
  • ASIN Fallback: Added fallback logic to use ASIN from listings table if meta _wpla_asin is empty.
  • Matched Listings Condition: Fixed matched listings not getting condition value, which was causing submission failures.
  • DELETE Feed Status: Fixed DELETE feeds incorrectly changing listing status back to SUBMITTED.
  • SKU Not Found Handler: Added proper SKU Not Found error handler for the Check for Listing Errors action.
  • Listings Check Scope: Modified Listings Check to only fail matched and submitted listings, not all statuses.
  • Product Type Priority: Fixed getListingProductType to prioritize product-level Product Type over profile defaults.

Bug Fixes

  • Profile Cloning: Fixed double serialization bug when cloning profiles. Added recovery logic to handle previously double-serialized data.
  • Order Date Consistency: Fixed inconsistent “Last Order Updated” date/time formatting.
  • Custom Tracking Links: Fixed undefined array key warning for “custom_tracking_link”.

Technical Changes

  • Dev Files Cleanup: Cleaned up development files.
  • Uninstall Script: Updated uninstall script to include removal of new database tables.
  • Scripts Migration: Moved scripts to wplab_scripts directory.
  • .gitignore Update: Updated .gitignore file.
  • Documentation: Updated inline documentation.