Skip to content

v2.84.0

Latest

Choose a tag to compare

@dhilditch dhilditch released this 05 Aug 20:52

Release 2.84.0

Storage engine and reliability

  • Fixed imports failing at setup with "specified key was too long; max key length is 1000 bytes" on hosts whose default storage engine is MyISAM
  • Every table the plugin creates now specifies ENGINE=InnoDB ROW_FORMAT=DYNAMIC, and an import stops with a clear message if the server hands back anything else
  • Preview and Run now tells you when your WordPress tables are still MyISAM, and gives you the SQL to convert every table in the database to InnoDB
  • Imports on MyISAM tables now use a single worker, because MyISAM locks a whole table while writing and extra workers only queue behind each other
  • The plugin now refuses to activate on a MySQL server with no InnoDB support, explaining why, instead of activating and then reporting missing tables
  • Fixed "Failed to insert or find term" during load-csv on category paths longer than 500 characters, which also left the affected branch of the tree built twice

Products are complete without the optional save-posts job

  • Fixed simple products being left without a product type, which made them invisible to wc_get_products() and anything built on it until save-posts was run
  • Imported products now carry WooCommerce's own default settings (tax status, virtual, downloadable, sold individually, backorders and the rest), so a product created by an import is complete without running the optional save-posts job
  • Fixed an update run overwriting total sales, average rating and review count with zero, and clearing the virtual and downloadable flags, on products the CSV said nothing about
  • A product whose feed supplies a download URL is now correctly marked downloadable
  • Stock quantity and low-stock amount are now cleared on products that do not manage stock, matching WooCommerce, instead of leaving a quantity that reads as "zero in stock"

After Import tasks and attribute filters (2.83.0)

  • New: After Import options group, listing the rebuild tasks that other plugins on your site need once an import has written to the database directly
  • New: WooCommerce's attribute filter table is now rebuilt in bulk during the import instead of by its own background process, which took over a day on a million products and left layered-nav filtering degraded until it finished
  • Choose per import whether that table is rebuilt in bulk, left to WooCommerce's own rebuild, or left alone
  • Third-party rebuild tools are never run inside the import process; they start as separate background tasks where the host allows it, and are otherwise reported with the exact command to run
  • An unfinished third-party rebuild no longer affects whether your import succeeded, and the completion output names each outstanding task with its command
  • Fixed wp ssi save-posts leaving WooCommerce's attribute filter table empty
  • Fixed save-posts and the post-save triggers passing the wrong arguments to WooCommerce's woocommerce_update_product hook, which could fatal with plugins that listen to it
  • Add-ons can add their own after-import tasks with the superspeedyimports_after_import_tasks filter
  • Tested up to WordPress 7.0

Back In Stock Notifier integration (2.82.0, 2.83.0)

  • New: Back In Stock Notifier for WooCommerce compatibility, on by default when that plugin is active, so products an import genuinely restores to stock notify their subscribers through the notifier's own checks and mail queue
  • New: a Follow-up tasks panel on the import complete screen shows how many products came back in stock, live progress as notifications hand over, a Run now button, and links to the notifier queue and background jobs
  • New: Import History shows the same follow-up counts for past runs
  • New: wp ssi changes and wp ssi retry-events show and drain the integration queue for a history or import
  • New wp ssi deliver-events command finishes any outstanding notification delivery, and is safe to run repeatedly or alongside itself
  • Restock notifications are now delivered by the import itself rather than relying on WP-Cron, so a site with cron disabled still sends them
  • Stock notifications are now sent in bounded batches by up to four parallel workers, so an import with a very large number of restocks no longer loads every pending notification into memory at once
  • Only genuine out-of-stock to in-stock transitions notify, so blank or missing stock values in a CSV never count as a restock
  • A restock reversed by a later import or edit before its notification goes out is superseded and never mailed
  • The integration waits with an explanation while the notifier's own periodic third-party scanner or keep-subscribed setting is enabled
  • Stock notification delivery can be switched back to running in the background with the superspeedyimports_change_event_deliver_inline filter, if you would rather imports finished without waiting for it

Shared settings module (2.82.1)

  • AI agents can check your licence and install other Super Speedy plugins over MCP, now also exposed on AI Engine's MCP endpoint when AI Engine is active
  • New Check frequency setting - cap licence, update and changelog checks to once a day or once a week, and see when the licence was last checked
  • Licence and changelog checks fail fast when superspeedyplugins.com cannot be reached, instead of hanging the settings page
  • The newest installed copy of the shared Super Speedy settings code now runs site-wide, whichever plugin loads first - previously the alphabetically-first plugin's often-older copy won

Also fixed in 2.82.0

  • Fixed simple-product imports not assigning the product_type taxonomy term, which wc_get_products() based tools and WooCommerce's attribute-lookup regeneration rely on; existing catalogues are backfilled automatically on their next import

Built from super-speedy-imports@4769b41