Proposals for stability and support without stagnation for large ambitious enterprise apps

Copied from https://github.com/emberjs/rfcs/pull/56#issuecomment-114339423

  1. A public or widely used private API should be deprecated for at least one year before being removed in a new major version. This will give time for large ambitious apps of the type that is Ember’s mission time to refactor.

  2. An API which has been exposed in official documentation shall be considered public, regardless of whether this was unintentional. Such an API is likely to be widely used, especially by newcomers.

  3. No minor Ember version shall deprecate more than one public or widely used private API. Again, this will allow large, ambitious apps of the type that are Ember’s mission the ability to refactor one issue.

  4. Each deprecation shall be separately labelled and a public API will be provided to turn them off and on individually. This will allow large ambitious apps of the type that is Ember’s mission to deal with each deprecation one at a time instead of all at once.

  5. No version shall be released until guides and versioned API documentation is ready. This will allow newcomers the ability to understand the latest release.

This is not meant to be stagnation. Ember may add as many new features in as short a timeframe as can actually be supported. This is meant to allow for real stability and support.