Bug Fixes

ProfileProductTypeConverter TypeError fixed
Resolved “Uncaught TypeError: Illegal offset type in isset or empty” errors in ProfileProductTypeConverter.php that prevented merchants from editing product attributes in converted profiles. The issue occurred when validating country codes and other attribute values during profile configuration. Italian office supplies merchants reported fatal errors when attempting to access the product attributes section – these are now resolved.

Product-level Product Type priority corrected
Product-level Product Type settings now properly override profile-level settings. Previously, when merchants assigned a specific Product Type to an individual product, the system would sometimes ignore this setting and use the profile default instead. This could result in listings being submitted with incorrect Product Types, leading to Amazon rejection.

Variation image fallback restored
Fixed image fallback behavior for product variations in JSON feeds. When a child variation has no dedicated image, the system now correctly falls back to the parent product’s featured image. Previously, the feed would either duplicate a gallery image as both main and sub-image, or send variations without main images. This matches the expected behavior from the legacy feed system.

Properties like variation_theme now included consistently
Fixed an issue where properties such as variation_theme were occasionally omitted from feed submissions. These properties are now consistently included when present in the product configuration, ensuring complete listing data reaches Amazon.

FATAL status feeds skipped
The plugin now skips processing feeds that Amazon has marked with FATAL status. This prevents unnecessary reprocessing attempts on feeds that cannot succeed, reducing wasted API calls and background processing time.

Sale price date cleanup
When a sale price is removed from a product, the associated start and end dates are now properly removed from the feed. Previously, these dates could persist in the feed even after sale price removal, potentially causing Amazon validation errors.

WP_Error namespace resolution
Fixed namespace issue when instantiating the WP_Error class. The class is now called with its full namespace path, preventing “class not found” errors in certain PHP configurations.

is_inventory_available always excluded
The is_inventory_available property is now consistently excluded from all feeds. This property is calculated by Amazon’s system and should not be submitted by sellers. Including it could cause feed validation errors.

Parent listing column filtering improved
Parent listing column filtering now properly removes invalid properties that don’t belong in parent-level listings. This prevents submission of child-only attributes at the parent level, which could cause Amazon to reject the listing.

Boolean string handling fixed
Boolean values passed as strings are now handled as strings rather than being automatically converted to 1 and 0. This preserves the intended data type and prevents type mismatch errors in feed validation.

Profile-based variation handling
When the parent listing isn’t available, the plugin now uses the product’s assigned profile to add missing variations. This ensures variations are created with the correct configuration even when parent listing data is temporarily unavailable.

Variation detection on manual listing
The “List on Amazon” action now checks for existing listing variations before processing. This prevents the creation of duplicate variations when manually triggering listing creation for products that are already partially listed.

Status fallback for unlisted items
When updating a profile for listings that don’t have ASINs yet (unlisted products), the status now properly falls back to “Prepared” instead of remaining in an undefined state. This ensures unlisted products can be properly queued for initial submission.

batteries_required added to parent columns
The batteries_required attribute has been added to the list of properties allowed at the parent listing level. This gives merchants more flexibility in configuring battery information for product families.

gzdecode fallback added
Added a fallback implementation for the gzdecode function on servers where the zlib PHP extension isn’t installed. This improves compatibility across different hosting environments without requiring server configuration changes.

Improvements

Temporary mapping file cleanup
Temporary CSV mapping files are now automatically deleted after processing completes. This prevents accumulation of temporary files on the server and keeps storage usage clean.