Skip to main content

v11 Upgrade Guidance

The v11 release of CLI for Microsoft 365 introduces several breaking changes. To assist you in upgrading to the latest version, we've outlined the changes and the actions you may need to take.

SharePoint

spo homesite set no longer adds new home sites

The spo homesite set command has been updated to only modify existing home sites. It will no longer add a new site as home site if you don't have any configured yet.

What action do I need to take?

  • For adding new home sites: Use the new spo homesite add command instead
  • For updating existing home sites: Continue using spo homesite set as before with required option siteUrl.

spo list view add default paged option changed

The spo list view add command has been updated to change the default value of the paged option from false to true. This change reflects the common usage pattern where most views allow paging and fetch new items while scrolling down.

What action do I need to take?

  • If you want paged views (most common): No action required as this is now the default behavior.
  • If you want static views: Explicitly specify --paged false when creating views that should not fetch new items while scrolling.

Updated homesite commands and options

In the beginning when SharePoint home sites were introduced, you could only setup one single home site per tenant. Nowadays, you can have multiple home sites in your tenant. To reflect this change, we had to update our spo homesite commands to always require a URL to identify the home site to work with.

For the following commands, the url option is now required.

Additionally, the spo homesite remove command will not return a command output anymore. Since the command output was more informative in the past, we decided to just drop it.

Due to a change in the underlying API, the command output of spo homesite get has also been changed. Check the documentation for the latest output format.

What action do I need to take?

Update your scripts to use the required url option in spo homesite get and spo homesite remove commands. Additionally, update your scripts to handle the changed output of the spo homesite get command and the lack of output of the spo homesite remove command.

spo serviceprincipal grant list command output updated

In order to align our commands with the latest updates done by Microsoft we had to update the API endpoint used by the spo serviceprincipal grant list command. As a result, the output of this command has changed.

What action do I need to take?

  • If you parse the output of this command: Update your scripts to handle the new output format.

SharePoint Framework

Updated spfx project upgrade commands default behavior

The spfx project upgrade command has been updated to use PowerShell as the default shell instead of bash. This change reflects the current usage patterns where PowerShell is more commonly used than bash.

What action do I need to take?

  • If you prefer bash: Explicitly specify the --shell option with bash value when running the command
  • If you use PowerShell: No action required as this is now the default behavior

Teams

Ensure list output for teams report commands

We noticed that some of the list commands were not returning an array, but an object with a value property. We've updated those commands to return an array of items.

Click here to compare the different command outputs of an affected command
{
"@odata.count": 1,
"value": [
{
"id": "9e8bba57-dc14-533a-a7dd-f0da6575eed1",
"correlationId": "c98e1515-a937-4b81-b8a8-3992afde64e0",
"userId": "db03c14b-06eb-4189-939b-7cbf3a20ba27",
"userPrincipalName": "richard.malk@contoso.com",
"userDisplayName": "Richard Malk",
"startDateTime": "2019-11-01T00:00:25.105Z",
"inviteDateTime": "2019-11-01T00:00:21.949Z",
"failureDateTime": "0001-01-01T00:00:00Z",
"endDateTime": "2019-11-01T00:00:30.105Z",
"duration": 5,
"callType": "ByotIn",
"successfulCall": true,
"callerNumber": "+12345678***",
"calleeNumber": "+01234567***",
"mediaPathLocation": "USWE",
"signalingLocation": "EUNO",
"finalSipCode": 0,
"callEndSubReason": 540000,
"finalSipCodePhrase": "BYE",
"trunkFullyQualifiedDomainName": "tll-audiocodes01.adatum.biz",
"mediaBypassEnabled": false
}
]
}

The commands impacted by this change are:

What action do I need to take?

Update your scripts to expect an array of items.

General

Changed the way to retrieve default environments

We've changed how Power Platform commands retrieve default environments for consistency across our commands. Previously, some commands would return the default environment when you didn't specify any options. Now, you need to explicitly specify the --default option to get the default environment.

Affected commands:

What action do I need to take?

Update your scripts to include the --default option when you want to retrieve the default environment.

Ensured output for list commands

We noticed that some of the list commands were not returning any output when no items were found. We've updated all list commands to return an empty array when no items are found.

The commands impacted by this change are:

What action do I need to take?

Update your scripts to expect an empty array when no items are found.

Removed aliasses

We've removed some aliasses to streamline the command set and avoid confusion. The following aliasses have been removed:

What action do I need to take?

Update any pp chatbot and spo tenant homesite references in your scripts to pp copilot and spo homesite for compatibility.

Removed commands

Some commands were removed because their API endpoint became deprecated or the product began an end-of-life phase.

Read the documentation for alternative commands to find out how to use them and what permissions are required.

CommandAlternative
pp card cloneNone
pp card getNone
pp card listNone
pp card removeNone
spo mail sendoutlook mail send
skype report activitycountsNone
skype report activityusercountsNone
skype report activityuserdetailNone
viva engage group listviva engage community list
viva engage group user addviva engage community user add
viva engage group user removeviva engage community user remove

Aligned command names

Some command names have been updated to reflect the latest Microsoft 365 terminology. Additionally, command improvements sometimes lead to renaming for better functionality alignment.

v10 commandv11 command
spo tenant site archivespo site archive
spo tenant site listspo site list
spo tenant site membership listspo site membership list
spo tenant site renamespo site rename
spo tenant site unarchivespo site unarchive

What action do I need to take?

Update your scripts to use the new command names listed.

Aligned naming options

Just like with command names, we also have to rename options to reflect the changes in the product. We also try to make the options more descriptive and clearer to make it easier for you to use the CLI. These changes aim to make it easier for you to use the CLI.

We've updated the following options:

CommandOld optionNew option
entra group member addgroupDisplayNamegroupName
entra group member addidsuserIds
entra group member setgroupDisplayNamegroupName
entra group member setidsuserIds
entra m365group getincludeSiteUrlwithSiteUrl
entra m365group listincludeSiteUrlwithSiteUrl
entra pim role assignment eligibility listincludePrincipalDetailswithPrincipalDetails
entra pim role assignment listincludePrincipalDetailswithPrincipalDetails
entra pim role request listincludePrincipalDetailswithPrincipalDetails
flow listincludeSolutionswithSolutions
flow run listincludeTriggerInformationwithTrigger
graph subscription addincludeResourceDatawithResourceData
pp solution publisher listincludeMicrosoftPublisherswithMicrosoftPublishers
purview threatassessment getincludeResultswithResults
spo file moveincludeItemPermissionswithItemPermissions
spo homesite setsiteUrl url
spo hubsite getincludeAssociatedSiteswithAssociatedSites
spo hubsite listincludeAssociatedSiteswithAssociatedSites
spo site listincludeOneDriveSiteswithOneDriveSites
spo term listincludeChildTermswithChildTerms
teams chat member addincludeAllHistorywithAllHistory
viva engage network listincludeSuspendedwithSuspended

What action do I need to take?

If you use any of the commands listed above, ensure that you use the new option names.