Shorten the Dev Life Cycle with Scratch Orgs (Generally Available)

A scratch org is your own personal development environment: a source-driven and disposable runtime for Salesforce code and metadata. A scratch org is fully configurable, so developers can emulate different editions with different features and preferences. Salesforce DX scratch orgs will be generally available in mid-October 2017.
Note

Note

Some Salesforce DX features, specifically Developer Hub and scratch orgs, are not available to Government cloud and public cloud customers in Winter ’18.

Create More Scratch Orgs: Active and Daily Allocations Increase

Edition Daily Scratch Org Allocation Active Scratch Org Allocation
Enterprise Edition 80 40
Unlimited Edition 200 100
Performance Edition 200 100
Dev Hub trial 40 20

Specify Scratch Org Duration

You asked, and we listened! You can specify the scratch org’s duration, which indicates when a scratch org expires. By default, a scratch org expires in 7 days.

Scratch Orgs Still Taste Great but Are Less Filling

By default, a scratch org is empty. It’s not cluttered with extraneous sample data, dashboards, reports, workflows, and other metadata. The features and org preferences you indicate in the scratch org definition file dictate what you see in your scratch org.

However, if you prefer to create a scratch org with the sample data and metadata typically included when you sign up for an org, no problem. Just add the hasSampleData option in the scratch org definition file.

{
  "orgName": "Acme",
  "country": "US",
  "edition": "Enterprise",
  "features": ["MultiCurrency;AuthorApex"],
  "hasSampleData": "true",
  "orgPreferences": {
    "enabled": ["S1DesktopEnabled", "ChatterEnabled"],
     "disabled": ["SelfSetPasswordInApi"]
   }
}

Use the Salesforce CLI to List Scratch Org Allocation Information

Run sfdx force:limits:api:display -u <Dev Hub username or alias> to list how many scratch orgs you have allocated and how many you have remaining.

SControls No Longer Supported in Scratch Orgs

We have removed support for the SControls feature in scratch orgs.