Skip to content

Releases: 3agApp/woo-stock-sync-from-csv

Woo Stock Sync from CSV v1.4.13

Choose a tag to compare

@github-actions github-actions released this 13 Jun 14:02

Woo Stock Sync from CSV v1.4.13

Changes

= 1.4.13 =

  • Fixed: Severe MySQL CPU overload on large stores caused by overlapping stock syncs. The old "is running" guard was a 30-minute transient that expired mid-sync, so every cron tick could launch another full sync on top of one already running, stacking up long-running SKU-lookup queries. Replaced with a real single-run lock (MySQL GET_LOCK, with an atomic wp_options fallback) that spans the entire sync and is shared by the scheduled, manual, and any other entry points. The lock auto-releases if the process dies, so it can never get stuck.
  • Added: Wall-clock runtime cap (default 20 minutes, filterable via wssc_max_runtime) replacing set_time_limit(0), so a single run can no longer execute for hours. A time-capped run logs a warning and finishes the remaining rows on the next run (missing-SKU zero/private actions are skipped on capped runs to avoid acting on an incomplete view).
  • Performance: The per-batch SKU lookup now resolves SKUs through the indexed sku column of the HPOS wc_product_meta_lookup table (falling back to the legacy postmeta query only when that table is absent), eliminating the unindexed wp_postmeta.meta_value IN (...) scan and its triple self-join.
  • Performance: The store-wide wc_delete_product_transients() cache flush now runs once per sync instead of once per 100-row batch, and the wc_product_meta_lookup existence check is detected once per request instead of on every product update.

= 1.4.12 =

  • Fixed: When the same SKU was used by more than one product (e.g. multilingual duplicates from WPML/Polylang), only one product was updated per sync and the others kept their old stock. Sync now updates every product carrying the SKU, in both the CSV-matched batch path and the "Set missing SKUs to 0" path.
  • Changed: Internal — wssc_privatized_products now stores a list of product IDs per SKU. Old single-ID entries are still read for backward compatibility.

= 1.4.11 =

  • Added: Debug page (Stock Sync → Debug) showing per-SKU values across the CSV, postmeta, HPOS lookup table, and the WooCommerce product API. Includes per-product "Clear caches" and "Force update to CSV value" actions.

= 1.4.10 =

  • Fixed: Sync skipped products when _stock postmeta and the HPOS wc_product_meta_lookup table had drifted out of sync, leaving the admin display unchanged. Sync now compares against both sources and repairs drifted rows automatically.

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

Installation

  1. Download woo-stock-sync-from-csv-1.4.13.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.12

Choose a tag to compare

@github-actions github-actions released this 22 May 04:09

Woo Stock Sync from CSV v1.4.12

Changes

= 1.4.12 =

  • Fixed: When the same SKU was used by more than one product (e.g. multilingual duplicates from WPML/Polylang), only one product was updated per sync and the others kept their old stock. Sync now updates every product carrying the SKU, in both the CSV-matched batch path and the "Set missing SKUs to 0" path.
  • Changed: Internal — wssc_privatized_products now stores a list of product IDs per SKU. Old single-ID entries are still read for backward compatibility.

= 1.4.11 =

  • Added: Debug page (Stock Sync → Debug) showing per-SKU values across the CSV, postmeta, HPOS lookup table, and the WooCommerce product API. Includes per-product "Clear caches" and "Force update to CSV value" actions.

= 1.4.10 =

  • Fixed: Sync skipped products when _stock postmeta and the HPOS wc_product_meta_lookup table had drifted out of sync, leaving the admin display unchanged. Sync now compares against both sources and repairs drifted rows automatically.

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

Installation

  1. Download woo-stock-sync-from-csv-1.4.12.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.11

Choose a tag to compare

@github-actions github-actions released this 22 May 04:03

Woo Stock Sync from CSV v1.4.11

Changes

= 1.4.11 =

  • Added: Debug page (Stock Sync → Debug) showing per-SKU values across the CSV, postmeta, HPOS lookup table, and the WooCommerce product API. Includes per-product "Clear caches" and "Force update to CSV value" actions.

= 1.4.10 =

  • Fixed: Sync skipped products when _stock postmeta and the HPOS wc_product_meta_lookup table had drifted out of sync, leaving the admin display unchanged. Sync now compares against both sources and repairs drifted rows automatically.

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

Installation

  1. Download woo-stock-sync-from-csv-1.4.11.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.10

Choose a tag to compare

@github-actions github-actions released this 22 May 03:43

Woo Stock Sync from CSV v1.4.10

Changes

= 1.4.10 =

  • Fixed: Sync skipped products when _stock postmeta and the HPOS wc_product_meta_lookup table had drifted out of sync, leaving the admin display unchanged. Sync now compares against both sources and repairs drifted rows automatically.

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks
  • Fixed: Scheduled sync now has lock to prevent concurrent runs

Installation

  1. Download woo-stock-sync-from-csv-1.4.10.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.9

Choose a tag to compare

@github-actions github-actions released this 22 May 03:07

Woo Stock Sync from CSV v1.4.9

Changes

= 1.4.9 =

  • Fixed: Stock sync now uses WooCommerce stock helpers so quantity, stock status, lookup tables, hooks, and caches stay in sync
  • Fixed: Test Connection and Preview now respect the current SSL verification checkbox value

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks

Installation

  1. Download woo-stock-sync-from-csv-1.4.9.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.8

Choose a tag to compare

@github-actions github-actions released this 01 Mar 08:01

Woo Stock Sync from CSV v1.4.8

Changes

= 1.4.8 =

  • Version bump

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks
  • Fixed: Scheduled sync now has lock to prevent concurrent runs
  • Fixed: SQL injection prevention using $wpdb->prepare for table existence checks
  • Fixed: Privatized products tracking now cleans up orphaned entries
  • Improved: Logs table uses composite index for better query performance

Installation

  1. Download woo-stock-sync-from-csv-1.4.8.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.7

Choose a tag to compare

@github-actions github-actions released this 10 Feb 15:37

Woo Stock Sync from CSV v1.4.7

Changes

= 1.4.7 =

  • Fixed: Cron jobs not rescheduled after plugin auto-update (watchdog and sync stopped)
  • Fixed: after_install not detecting plugin during auto-updates/bulk updates
  • Added: Boot-time cron recovery on every page load as safety net

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks
  • Fixed: Scheduled sync now has lock to prevent concurrent runs
  • Fixed: SQL injection prevention using $wpdb->prepare for table existence checks
  • Fixed: Privatized products tracking now cleans up orphaned entries
  • Improved: Logs table uses composite index for better query performance
  • Security: Enhanced database query safety throughout

= 1.2.5 =

Installation

  1. Download woo-stock-sync-from-csv-1.4.7.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.6

Choose a tag to compare

@github-actions github-actions released this 03 Feb 06:38

Woo Stock Sync from CSV v1.4.6

Changes

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks
  • Fixed: Scheduled sync now has lock to prevent concurrent runs
  • Fixed: SQL injection prevention using $wpdb->prepare for table existence checks
  • Fixed: Privatized products tracking now cleans up orphaned entries
  • Improved: Logs table uses composite index for better query performance
  • Security: Enhanced database query safety throughout

= 1.2.5 =

  • Fixed: Saving settings no longer resets next scheduled run if within current interval
  • Fixed: Next run time now shows "Overdue by X" when scheduled time has passed
  • Improved: Smart scheduling - only reschedules when necessary
  • Added: Visual indicator (red text) for overdue scheduled syncs

Installation

  1. Download woo-stock-sync-from-csv-1.4.6.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.5

Choose a tag to compare

@github-actions github-actions released this 03 Feb 00:09

Woo Stock Sync from CSV v1.4.5

Changes

= 1.1.3 =

  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method
  • Fixed: Deprecated current_time('timestamp') replaced with time()
  • Fixed: Missing wssc_watchdog_last_check option in uninstall cleanup
  • Fixed: sanitize_sql_orderby() now handles false return value safely
  • Fixed: Watchdog docblock now correctly says 'hourly' not '4 hours'
  • Removed: Unused get_products_by_skus() dead code
  • Code quality improvements from senior engineer review

= 1.2.8 =

  • Fixed: Cron intervals now registered during activation (prevents scheduling failure)
  • Fixed: Scheduled sync properly resumes after deactivate/reactivate cycle
  • Fixed: "Next run" now displays correctly after plugin reactivation
  • Root cause: Custom cron schedules weren't available during activation hook

= 1.2.7 =

  • Fixed: Scheduled sync now resumes immediately after plugin reactivation
  • Fixed: "Next run" no longer empty after deactivate/reactivate cycle

= 1.2.6 =

  • Fixed: Uninstall.php now correctly cleans up all plugin options and cron hooks
  • Fixed: Scheduled sync now has lock to prevent concurrent runs
  • Fixed: SQL injection prevention using $wpdb->prepare for table existence checks
  • Fixed: Privatized products tracking now cleans up orphaned entries
  • Improved: Logs table uses composite index for better query performance
  • Security: Enhanced database query safety throughout

= 1.2.5 =

  • Fixed: Saving settings no longer resets next scheduled run if within current interval
  • Fixed: Next run time now shows "Overdue by X" when scheduled time has passed
  • Improved: Smart scheduling - only reschedules when necessary
  • Added: Visual indicator (red text) for overdue scheduled syncs

Installation

  1. Download woo-stock-sync-from-csv-1.4.5.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+

Woo Stock Sync from CSV v1.4.1

Choose a tag to compare

@github-actions github-actions released this 03 Feb 00:05

Woo Stock Sync from CSV v1.4.1

Changes

= 1.4.0 =

  • Major: Industry-standard license management system
  • New: Four distinct license states - Active, Expired, Invalid, Inactive
  • New: 7-day grace period for network errors (prevents temporary outages from disabling sync)
  • New: Dedicated renewal URL with pre-filled license key for expired licenses
  • New: Specific UI and messaging for each license state
  • New: Grace period notification shown when network issues detected
  • Improved: License key never auto-deleted, only cleared on explicit user action
  • Improved: Status-specific admin notices with appropriate severity
  • Improved: More intuitive license page with clear actions per state
  • Changed: Plugin updates always available regardless of license status
    = 1.1.3 =
  • Fixed: JavaScript error when viewing log details (duration.toFixed)

= 1.1.2 =

  • Fixed: License now persists when plugin is deactivated/reactivated
  • Fixed: License now persists when plugin is updated
  • License deactivation only happens when user explicitly clicks "Deactivate License"

= 1.1.1 =

  • Added manual "Check for Updates" button in License page
  • Added one-click "Update" button when new version available
  • Improved update UI with version info display

= 1.3.3 =

  • Improved: License key is preserved when license becomes inactive (expired, suspended, etc.)
  • Improved: New "License Inactive" UI state with Verify button to auto-reactivate when server status is restored
  • Added: Option to use a different license key when current one is inactive
  • Changed: License status auto-restores on next verification if server-side license is valid again

= 1.3.2 =

  • Fixed: Network errors no longer invalidate license (only 401/403 API errors do)
  • Fixed: License activation clears old data first to avoid stale state
  • Fixed: Verify License button now reloads page when license is invalid
  • Added: Admin notice when license is inactive but key exists
  • Improved: Simplified daily license check logic

= 1.3.1 =

  • Fixed: License verification now properly marks license as inactive when API returns 401
  • Improved: License key is preserved when verification fails, allowing easy re-activation

= 1.3.0 =

  • Fixed: License deactivation now always clears local data, even if API fails
  • Improved: Users can now change license even if old license was deleted from server

= 1.2.9 =

  • Refactored: DRY - Cron intervals now defined once and shared across plugin
  • Refactored: DRY - Stats array defined once via get_default_stats() method

Installation

  1. Download woo-stock-sync-from-csv-1.4.1.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Upload the zip file and activate

Requirements

  • WordPress 5.8+
  • WooCommerce 5.0+
  • PHP 7.4+