Reliable detection/apply of Freemius-powered premium plugin updates from the Dashboard

We manage many sites from a MainWP Dashboard and patch them centrally. Updates for premium plugins that use the Freemius updater are detected and applied only intermittently from the Dashboard: the new version often does not show, or an “update all” leaves the plugin on the old version, until we resync.

We understand the root cause is on the Freemius side (its updater only refreshes the update data in an admin/cron context and requires the plugin to be active), and we have reported it there. On the MainWP side:

  1. Do the mainwp_detect_premium_plugins_update and mainwp_request_update_premium_plugins filters cover Freemius-based updaters, and is there a recommended configuration to make detection and apply reliable for them?
  2. Is there a way to force a child site to do a fresh Freemius update check before the Dashboard reads available updates?

This matters most for security releases, where an unreliable mass update leaves sites exposed. Thanks.

Hey @TheDarkMist

The two filters are not Freemius-specific, but they can help when the premium plugin exposes its update through the normal WordPress update system.

The main thing to check is whether the update appears on the child site under WP Admin > Updates. If it does, the steps in this doc can help:

In that case, add the plugin slug to both filters:

mainwp_detect_premium_plugins_update
mainwp_request_update_premium_plugins

Then save the snippet and resync the site from the Dashboard.

If the update only appears in the plugin’s own Freemius/license/updater screen elsewhere in wp-admin, and not in the regular WordPress Updates page, MainWP cannot reliably detect or apply it through the standard update workflow.

MainWP reads the update data exposed by WordPress on the child site, so the plugin/Freemius updater would need to make that update available there first.

There is not currently a MainWP setting that forces Freemius to run a fresh update check before MainWP syncs.