Release notes v11.0

The following information was sent to all existing customers to inform about the new version 11.0 that has been released on 13th September 2020.

3 years ago I started on a mission to connect WordPress and Microsoft 365 / Azure AD. 36 months later there are well over 1.000 WordPress installations worldwide that use the free BASIC edition of the plugin and a further large number of WordPress installations that use one of the premium editions. I think it would have been impossible to foresee the growth and the popularity of the WPO365 plugin and that has energized me and kept me going.

Trying to listen to as many of you as possible, lots of new functions have been added since September 2017. From a simple single sign-on solution, the plugin has evolved into a suite of useful tools that help companies integrate and embed WordPress into the exciting Microsoft 365 Azure cloud with ease. Now it is time to make sure the plugin is ready for another 3 years. For this reason, it was needed to clean up the code and restructure it.

Version 11.0 will be released today (premium editions will follow in the next few days) and it contains a number of breaking changes that you must review before you decide to install it.

However, none of these changes are breaking if you:

  • Have always installed the latest version of the plugin (currently v10.10).
  • Created the App registration in Azure AD using the App Registration Portal v2, which is the case if you followed the setup instructions on the website after may 2019.
  • Opted to store the user profile images / avatars that the (PREMIUM and INTRANET edition of the) plugin may download from Microsoft Graph in the /wp-content folder.
  • Do not use the deprecated Sign in with Microsoft shortcode (of the PREMIUM and INTRANET edition of the plugin) anymore but instead have switched to the new Sign in with Microsoft v2 shortcode.
  • Do not use the deprecated Dual Login feature (of the PROFESSIONAL, PREMIUM and INTRANET edition of the plugin) anymore but instead have switched to the new Dual Login v2 feature.
  • Did not modify or extend the code of the plugin (other than using the provided developer hooks).

Please review the release notes below carefully or read online and don’t hesitate to contact me in case of any questions.

Breaking changes

  • All premium editions of the plugin now require the latest BASIC edition of the plugin to be installed and activated. An notification will be shown to admins when the update the WPO365 premium edition to update, install and / or activate also the BASIC edition.
  • Support for legacy Azure AD App registrations has been removed. The plugin will now always try and connect to Azure AD v2 endpoints for authorization and optionally to obtain access tokens.
  • Support for Avatars stored as WordPress user meta (in the WordPress database) has been removed. Avatars downloaded from Microsoft 365 / Azure AD will now always be stored in the /wp-content folder.
  • Support for the deprecated Dual Login feature has been removed. Admins should instead configure the v2 version: WP Admin > WPO365 > Login / Logout > Dual login V2.
  • Support for the deprecated Sign in with Microsoft shortcode [wpo365-sign-in-with-microsoft-sc] has been removed. Admins should configure the v2 version: [Sign in with Microsoft v2](
  • The source code of the plugin has been completely restructured. Developers that extended the plugin with own functionality must carefully review the new source code.

New Features


  • User synchronization now supports WordPress Multisite (WPMU) installations and always synchronizes users to the subsite from which the synchronization was started.
  •  The plugin now remembers the tenant ID of a user and uses that information when – in case of multi tenancy – it needs to retrieve data e.g. a user’s profile image from Microsoft Graph.


  • The plugin no longer relies on the ID token to contain the (Azure AD / Microsoft 365 / distribution list) groups that a user is member of. Instead the plugin will always try to obtain this information from Microsoft Graph (but only if needed).
  • The plugin no longer replaces stored avatars when it tries to refresh that avatar but it fails e.g. because of insufficient permissions.

And last but not least a great write once wrote What’s in a name. Bearing that in mind I felt that the existing names did not reflect the plugin’s intend. The table below lists for each edition the new name.

  • WPO365 Login (basic) becomes WPO365 | LOGIN
  • WPO365 Login+ becomes WPO365 | PROFILE+
  • WPO365 Login (professional) becomes WPO365 | LOGIN+
  • WPO365 Login (premium) becomes WPO365 | SYNC
  • WPO365 Login (intranet) becomes WPO365 | INTRANET

Please don’t hesitate to contact me in case of any questions and feedback. I am here to help!