Limited-Time Offer

Get Extra 20% off on FullCharge Yearly Plan — available for first 10 users only. Don’t miss out! 🚀

Action Scheduler · Version history

Action Scheduler changelog and version history

Latest version
4.2.0
Sep 16, 2026 (1 month ago)
Releases
32
since 2021
In the last year
3
about one every 46 days
Tested up to
WordPress 7.1.4
PHP 7.2 or later

Releases each year

  • 20215 releases
  • 20226 releases
  • 20238 releases
  • 20247 releases
  • 20253 releases
  • 20263 releases

20263 releases

  1. Action Scheduler 4.2.0Latest

    • Fix – Enforce unique action inserts atomically and release stale uniqueness keys during scheduled cleanup.
    • Fix – Show the per-page Screen Option on WooCommerce’s Scheduled Actions tab.
    • Fix – Show the number of actions and the link in the past-due actions admin notice, instead of raw placeholders.
    • Fix – Escape the action hook name in the admin notice shown after a row action.
    • Add – Skip runtime scheduling (the WP Cron event, the async request dispatcher and the daily housekeeping action) when Action Scheduler is initialized from a plugin’s uninstall.php, and add as_supports( 'uninstall_bootstrap' ) so host plugins can detect it.
  2. Action Scheduler 4.1.0

    • Fix – Correct an oversight in the lock implementation (used to rate-limit async request runners) that could leave a lock permanently stuck and result in database errors in unusual cases.
    • Fix – Correct the behavior of the wp action-scheduler clean command so that the --before option defaults to 31 days ago.
    • Performance – Reduce the number of SQL queries on the Action Scheduler admin page.
    • Performance – Cache resolved group IDs to reduce the number of SQL queries.
    • Performance – Use the WordPress caching layer for the option lock component.
    • Enhancement – Display action IDs in the admin list and allow searching by action ID.
    • Enhancement – Use wp_admin_notice() to render admin notices, instead of custom HTML.
    • Security – Add protections to guard against the risk of object-injection/deserialization attacks when retrieving stored schedule data.
    • Dev – Include the underlying database error in the exception thrown when the legacy post store fails to claim actions.
    • Dev – Add filters (action_scheduler_allowed_nested_schedule_classes, action_scheduler_enforce_schedule_allowed_classes) and an action (action_scheduler_unexpected_schedule_class) to tune and observe schedule deserialization.
  3. Action Scheduler 4.0.0

    • Breaking change: action args are taken into account when scheduling unique actions.
    • Breaking change: failed actions are now automatically purged after 3 months by default, controlled by the action_scheduler_retention_period_for_failed filter.
    • Add action_scheduler_enable_failed_action_cleanup filter to disable automatic cleanup of failed actions.
    • Performance – Actions with corrupted data are automatically cancelled on detection and their excess logs cleaned up in batches, preventing queue stalls and log table bloat.
    • Performance – Action cleanup now runs as a dedicated daily task at 3 am site time with higher throughput.
    • Update favicon images.
    • Fix number formating for action numbers in list view.
    • Import missing WP_CLI class to prevent fatal error.
    • Fix possible undefined variable in action cancel --all CLI command.
    • Move recurring A-S cache key to transient.
    • Optimize get_claim_count() query for large stores.
    • Update require_once path for Cancel_CommandFix absolute import.
    • Fix esc_html() hook name in admin notice markup.
    • Ensure cleanup action is enqueued via queue runner.
    • Bump WordPress compatibility to version 7.0 and require at least 6.8.
    • Dev – Bump picomatch from 2.3.1 to 2.3.2.
    • Dev – Bump phpunit/phpunit from 8.5.42 to 8.5.52.
    • Dev – Bump lodash, grunt-legacy-log and grunt-legacy-util.

20253 releases

  1. Action Scheduler 3.9.3

    • Add hook ‘action_scheduler_ensure_recurring_actions’ specifically for scheduling recurring actions.
    • Assume an action is valid until proven otherwise.
    • Implement SKIP LOCKED during action claiming.
    • Import get_flag_value() from WP_CLI\Utils before using.
    • Make $unique available to all pre-creation/short-circuit hooks.
    • Make version/source information available via new class.
    • Only release claims on pending actions.
    • Tweak – WP 6.8 compatibility.
    • Update minimum supported php and phpunit versions.
    • Update readme.txt.
    • WP CLI get action command: correct parentheses/nesting of conditional checks.
  2. Action Scheduler 3.9.2

    • Fixed fatal errors by moving version info methods to a new class and deprecating conflicting ones in ActionScheduler_Versions
  3. Action Scheduler 3.9.1

    • A number of new WP CLI commands have been added, making it easier to manage actions in the terminal and from scripts.
    • New wp action-scheduler source command to help determine how Action Scheduler is being loaded.
    • Additional information about the active instance of Action Scheduler is now available in the Help pull-down drawer.
    • Make some other nullable parameters explicitly nullable.
    • Set option value to no rather than deleting.

20247 releases

  1. Action Scheduler 3.9.0

    • Minimum required version of PHP is now 7.1.
    • Performance improvements for the as_pending_actions_due() function.
    • Existing filter hook action_scheduler_claim_actions_order_by enhanced to provide callbacks with additional information.
    • Improved compatibility with PHP 8.4, specifically by making implicitly nullable parameters explicitly nullable.
    • A large number of coding standards-enhancements, to help reduce friction when submitting plugins to marketplaces and plugin directories. Special props @crstauf for this effort.
    • Minor documentation tweaks and improvements.
  2. Action Scheduler 3.8.2

    • Add missing parameter to the pre_as_enqueue_async_action hook.
    • Bump minimum PHP version to 7.0.
    • Bump minimum WordPress version to 6.4.
    • Make the batch size adjustable during processing.
  3. Action Scheduler 3.8.1

    • Fix typos.
    • Improve the messaging in our unidentified action exceptions.
  4. Action Scheduler 3.8.0

    • Documentation – Fixed typos in perf.md.
    • Update – We now require WordPress 6.3 or higher.
    • Update – We now require PHP 7.0 or higher.
  5. Action Scheduler 3.7.4

    • Give a clear description of how the $unique parameter works.
    • Preserve the tab field if set.
    • Tweak – WP 6.5 compatibility.
  6. Action Scheduler 3.7.3

    • Do not iterate over all of GET when building form in list table.
    • Fix a few issues reported by PCP (Plugin Check Plugin).
    • Try to save actions as unique even when the store doesn’t support it.
    • Tweak – WP 6.4 compatibility.
    • Update “Tested up to” tag to WordPress 6.5.
    • update version in package-lock.json.
  7. Action Scheduler 3.7.2

    • No longer user variables in _n() translation function.

20238 releases

  1. Action Scheduler 3.7.1

    • update semver to 5.7.2 because of a security vulnerability in 5.7.1.
  2. Action Scheduler 3.7.0

    • Important: starting with this release, Action Scheduler follows an L-2 version policy (WordPress, and consequently PHP).
    • Add extended indexes for hook_status_scheduled_date_gmt and status_scheduled_date_gmt.
    • Catch and log exceptions thrown when actions can’t be created, e.g. under a corrupt database schema.
    • Tweak – WP 6.4 compatibility.
    • Update unit tests for upcoming dependency version policy.
    • make sure hook action_scheduler_failed_execution can access original exception object.
    • mention dependency version policy in usage.md.
  3. Action Scheduler 3.6.4

    • Performance improvements when bulk cancelling actions.
    • Dev-related fixes.
  4. Action Scheduler 3.6.3

    • Use _doing_it_wrong in initialization check.
  5. Action Scheduler 3.6.2

    • Add guidance about passing arguments.
    • Atomic option locking.
    • Improve bulk delete handling.
    • Include database error in the exception message.
    • Tweak – WP 6.3 compatibility.
  6. Action Scheduler 3.6.1

    • Document new optional $priority arg for various API functions.
    • Document the new --exclude-groups WP CLI option.
    • Document the new action_scheduler_init hook.
    • Ensure actions within each claim are executed in the expected order.
    • Fix incorrect text domain.
    • Remove SHOW TABLES usage when checking if tables exist.
  7. Action Scheduler 3.6.0

    • Add $unique parameter to function signatures.
    • Add a cast-to-int for extra safety before forming new DateTime object.
    • Add a hook allowing exceptions for consistently failing recurring actions.
    • Add action priorities.
    • Add init hook.
    • Always raise the time limit.
    • Bump minimatch from 3.0.4 to 3.0.8.
    • Bump yaml from 2.2.1 to 2.2.2.
    • Defensive coding relating to gaps in declared schedule types.
    • Do not process an action if it cannot be set to in-progress.
    • Filter view labels (status names) should be translatable | #919.
    • Fix WPCLI progress messages.
    • Improve data-store initialization flow.
    • Improve error handling across all supported PHP versions.
    • Improve logic for flushing the runtime cache.
    • Support exclusion of multiple groups.
    • Update lint-staged and Node/NPM requirements.
    • add CLI clean command.
    • add CLI exclude-group filter.
    • exclude past-due from list table all filter count.
    • throwing an exception if as_schedule_recurring_action interval param is not of type integer.
  8. Action Scheduler 3.5.4

    • Add pre filters during action registration.
    • Async scheduling.
    • Calculate timeouts based on total actions.
    • Correctly order the parameters for ActionScheduler_ActionFactory‘s calls to single_unique.
    • Fetch action in memory first before releasing claim to avoid deadlock.
    • PHP 8.2: declare property to fix creation of dynamic property warning.
    • PHP 8.2: fix “Using ${var} in strings is deprecated, use {$var} instead”.
    • Prevent undefined variable warning for $num_pastdue_actions.

20226 releases

  1. Action Scheduler 3.5.3

    • Query actions with partial match.
  2. Action Scheduler 3.5.2

    • Fix – erroneous 3.5.1 release.
  3. Action Scheduler 3.5.1

    • Maintenance on A/S docs.
    • fix: PHP 8.2 deprecated notice.
  4. Action Scheduler 3.5.0

    • Add – The active view link within the “Tools > Scheduled Actions” screen is now clickable.
    • Add – A warning when there are past-due actions.
    • Enhancement – Added the ability to schedule unique actions via an atomic operation.
    • Enhancement – Improvements to cache invalidation when processing batches (when running on WordPress 6.0+).
    • Enhancement – If a recurring action is found to be consistently failing, it will stop being rescheduled.
    • Enhancement – Adds a new “Past Due” view to the scheduled actions list table.
  5. Action Scheduler 3.4.2

  6. Action Scheduler 3.4.1

20215 releases

  1. Action Scheduler 3.4.0

  2. Action Scheduler 3.3.0

  3. Action Scheduler 3.1.6

  4. Action Scheduler 3.2.1

  5. Action Scheduler 3.2.0

Questions about Action Scheduler’s releases

What is the latest version of Action Scheduler?

4.2.0, released on Sep 16, 2026 (1 month ago). It’s tested up to WordPress 7.1.4 and needs PHP 7.2 or later.

How often is Action Scheduler updated?

3 releases in the last year, about one every 46 days. Its first release on WordPress.org dates from June 2021.

Know when your rivals ship

Track your plugin and its rivals: TrackWP sees each new release in the nightly snapshot and alerts you, with what it did to their rank.

Start free

Release dates come from the day each version’s folder was made in Action Scheduler’s WordPress.org SVN repository; the notes from its readme’s changelog, as its authors wrote it.