WPM User Sync

Changelog

1.5.0 (2026-05-05)

  • Description repositioned: leads with “Optimized for Microsoft Azure and Azure App Service” while explicitly noting compatibility with any WordPress Multisite host (DigitalOcean, AWS, dedicated servers, shared hosting, etc.).
  • Security hardening: every admin save handler now requires manage_network_options (network forms) or manage_options (site form) on top of the existing nonce check. Previously only nonces were enforced.
  • Output escaping: every admin page now escapes all dynamic output via esc_html, esc_attr, esc_url, or wp_kses with explicit allow-lists.
  • Input sanitisation: every $_GET / $_POST access now goes through wp_unslash + the appropriate sanitize_* (with absint() on blog IDs).
  • Re-entrancy guard in the sync engine: when role-sync is on, add_user_to_blog no longer cascades through set_user_role → on_role_changed → add_user_to_blog, which previously could mass-reset roles across the network.
  • Better error messages on requirements failure: the wp_die shown when activated on single-site or below the minimum WP version is now translatable and clearer.
  • Internal: full developer-experience stack: PHPCS+WPCS strict at zero violations, PHPStan level 8 (no baseline), Psalm taint analysis, 46 unit tests, 16 multisite integration tests on wp-env, Plugin Check enforced strict, CI matrix on PHP 7.4–8.3. None of this changes runtime behavior.
  • Internal: procedural code refactored to OOP under the WPMUS namespace with PSR-4 autoloading. Legacy wpmus_* functions retained as @deprecated 1.5.0 thin wrappers for back-compat.

1.4 (2026-04-22)

  • Added “Network: true” header flag (proper multisite-only declaration).
  • Added uninstall.php: plugin options are cleaned up on uninstall. Users and roles are NOT touched.
  • Added internationalization loading via load_plugin_textdomain (ready for translations).
  • Added “Requires PHP” header and “License URI”.
  • Updated compatibility with the latest WordPress versions.
  • Aligned “Requires at least” between plugin header and readme.
  • Minor typo corrections in readme and deduped a repeated entry in the Upgrade Notice.

1.3 (2024-10-28)

  • Bug fixed: “Sync did not happen. You’re must select at least one site!”.

1.2 (2024-10-27)

  • Bug fixed: AJAX responses – function wpmus_maybesync_newuser echo “maybe”.

1.1 (2020-04-11)

  • Bug fixed: user sync when end-user register in the network.
  • Performance improved adding some conditional during triggers.

1.0 (2020-04-05)

  • Initial source code.
  • Bump tested WordPress version to 5.4
  • Check help for all features.

Plugin Website
Visit website

Version:
1.5.0
Last Updated
May 5, 2026
Active Installs
10
Requires
WordPress 6.6
Tested Up To
WordPress 6.9.4
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.