I wrote a couple of weeks ago I wrote about the GlobalPicklist changes in Winter ‘17. This past week I learned that there was another change in the release notes that I overlooked.
After updating the Case object to API 38.0 I didn’t notice that the Case.Type field had changed. In API 37.0 this is what the Case Type field looks like
<fields>
<fullName>Type</fullName>
<inlineHelpText>The case type</inlineHelpText>
<picklist>
<picklistValues>
<fullName>Value 1</fullName>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Value 2</fullName>
<default>false</default>
</picklistValues>
<sorted>false</sorted>
</picklist>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>false</trackHistory>
<trackTrending>false</trackTrending>
<type>Picklist</type>
</fields>
And this is what it looks like in API 38.0
<fields>
<fullName>Type</fullName>
<inlineHelpText>The case type</inlineHelpText>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>false</trackHistory>
<trackTrending>false</trackTrending>
<type>Picklist</type>
</fields>
In the turmoil of all the other changes to the object file, I completely missed the change. And when the deployment failed I was at a loss to figure out why. The failure wasn’t about the picklist in particular, it was about the picklist value in a record type.