Property 'componentInstances' not valid in version 49.0 but Package.xml is version 48.0

The sourceApiVersion on the sfdx-project.json is what controls what API certain CLI commands use. You can change this to 48.0 and deploy if you'd like (even to an Org on 49.0 that may have changed the underlying metadata).

enter image description here

I was able to deploy a FlexiPage with componentInstances references to an org with 49.0 by setting the sfdx-project.json file's sourceApiVersion to 48.0.

sfdx force:source:deploy -m FlexiPage:name_of_flexipage

I recommend pulling in the changes with API 49.0 after a successful deploy, however, to retrieve the metadata of the FlexiPage on API 49 to get the latest format and using that going forward.

sfdx force:source:retrieve -m FlexiPage:name_of_flexipage

You'll notice that componentInstances will removed and replaced with itemInstances and componentInstance


This is a change with the v49.0 summer 21 release. Meaning you won't be able to use v48.0 version of the metadata in the v49.0 org unless you push with v48.0 in sfdx-project.

Once all the orgs are updated to v49.0, make sure to retrieve using the v49.0 in the sfdx-project.json and deploy to update the metadata.