Make the Move to Scratch Org Settings

Now’s the time to convert existing org preferences to scratch org settings in your scratch org definition file. We’re replacing org preferences with scratch org settings. Org preferences won’t be supported when Winter ’20 is generally available on October 12, 2019.

Where: This change applies to Lightning Experience, Salesforce Classic, and all versions of the Salesforce app in Developer, Enterprise, Group, and Professional editions.

When: During the preview period, you see a warning. Once Winter ’20 is generally available, scratch org creation fails until you convert org preferences to settings.

Why: Because you can use all Metadata API settings, they are the most comprehensive way to configure a scratch org. If a setting is supported in Metadata API, it’s supported in scratch orgs. Settings provide you with fine-grained control because you can define values for all fields for a setting, rather than just enabling or disabling it.

How: Replace org preferences with settings in your scratch definition file. When you create a scratch org with org preferences, the warning message shows you exactly how to replace your org preferences with the equivalent settings. For details, see Scratch Org Settings in the Salesforce DX Developer Guide. Here’s an example warning message:

WARNING: We're deprecating orgPreferences in Summer ’19. You can continue to use them 
until they are replaced by settings in Winter ’20. But why wait? Here's exactly what you need 
to update in the scratch org definition file.
 
Replace the orgPreferences section:
{
    "orgPreferences" : {
        "enabled": [
          "S1DesktopEnabled"
        ],
        "disabled": [
          "IsActivitiesRemindersEnabled"
        ]
    }
}
With settings:
{
    "settings": {
        "orgPreferenceSettings": {
            "s1DesktopEnabled": true
        },
        "activitySettings": {
            "enableActivitiesReminder": false
        }
    }
}