function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Ross JamesRoss James 

All components failed Version Compatibility Check

 

All components failed Version Compatibility Check

Every component in this change set requires the "19" or higher platform version. Please select an organization with a platform version of "19" or higher.

  
 

Since the upgrade of the sandbox it seems I can't deploy to my production environment. I am trying only one visualforce page which is API 16.0.

 

Why can't I do this?

Best Answer chosen by Admin (Salesforce Developers) 
altaiojokaltaiojok

The fix for this issue was put in place this evening, so you should now be able to upload an Outbound Change Set with any components matching the target organization's version or lower. Note, it is expected behavior that components with a higher version cannot be uploaded to organizations with a lower version. For example, if you're Sandbox organization is on Summer '09 (API 19.0) and your production organization is on Spring '09 (API 18.0), and you have a Change Set with three Apex Triggers compiled at versions 17.0, 18.0, and 19.0, only the triggers compiled at 17.0 and 18.0 can be uploaded. Before uploading, the 19.0 trigger will need to be re-saved at a lower version (see posting above for instructions).

All Answers

jfentonjfenton

Hi Ross,

 

We're also experiencing the exact same error during deployment (despite a grep of the workspace showing no version 19 or higher components). Even after downgrading the -meta.xml apiVersion's of affected components to match the target org (and confirming that SF is showing the updated version), the error persists. A brand new changeset shows the same issue.

 

Smells like a bug.

 

Jay

 

Matthew.SchutzMatthew.Schutz

We are experiencing the same issue as well. 

 

This has happened before when our Sandbox and Production environments have gotten out of sync, but we have always been able to find a workaround. This time nothing we try is working.

 

Any one have tips from past mistmatched versions of Sandbox/Production migrations that have worked?

 

 

altaiojokaltaiojok

We are currently working on a fix for this issue, but as a workaround, can you please try setting the version of all versionable components in your outbound Change Set (i.e. Apex Classes, Visualforce Pages, Visualforce Components) to the exact version of the target org. For example, if you are uploading a Change Set from your Sandbox on Summer '10 (API 19.0) to your production organization on Spring '10 (API 18.0), please set all versionable components to API 18.0.

 

We hope to have a fix in place as soon as possible. Sorry for the inconvenience.

smrkepwaresmrkepware

I didn't see anyway to set the version information for a trigger, which is what I needed to deploy earlier when I ran into this error message.  I found if you refresh your existing Sandbox or create a new Sandbox the version in the Sandbox will get set to the same version as production.  After I refreshed my Sandbox, I was able to deploy my trigger.

altaiojokaltaiojok

To change the version of an Apex Trigger, when you are on the edit page for the Trigger, there is a "Version Settings" tab, which has a "Salesforce.com API" line item to configure the API version for that Trigger.

 

Yes, refreshing your Sandbox will also correct this, but that will revert your Sandbox organization to Spring '10 and remove any changes you made in your previous Sandbox organization.

will2will2

Both my Sandbox and Production are the same version and still getting the error.

altaiojokaltaiojok

Yes, this can still happen if your Sandbox and Production organizations are the same version if the version of any component in your Change Set does not exactly match the target organization's version. So, if both your orgs are still on Spring '10, please make sure all components are exactly API 18.0, and it should work. Again, sorry for the inconvience and a fix is on its way.

altaiojokaltaiojok

The fix for this issue was put in place this evening, so you should now be able to upload an Outbound Change Set with any components matching the target organization's version or lower. Note, it is expected behavior that components with a higher version cannot be uploaded to organizations with a lower version. For example, if you're Sandbox organization is on Summer '09 (API 19.0) and your production organization is on Spring '09 (API 18.0), and you have a Change Set with three Apex Triggers compiled at versions 17.0, 18.0, and 19.0, only the triggers compiled at 17.0 and 18.0 can be uploaded. Before uploading, the 19.0 trigger will need to be re-saved at a lower version (see posting above for instructions).

This was selected as the best answer
Avi82Avi82

I had similar issue while deploying apex classes and triggers to production. I changed version of Apex classes with maching on production and I was able to deploy change set. 

 

Steps: Go to Sandbox->Find Apex class->Click on Edit -> Go to Version tab->Change version equal to your production version.

 

Hope this helps someone :)