was May, 2013, just weeks before Ember 1.0 shipped ➔ Ember 1.0 took 2 years to ship. Ember 2.0 isn't far off 2 years since 1.0 ➔ We now have scheduled releases of Ember every 6 weeks. ➔ Coordinated versioning of all Core supported libraries ➔ Ember Data 1.13 finally shipped, after 3 years of work
and passed attrs are guaranteed to be present. didReceiveAttrs runs after didInitAttrs, and it also runs on subsequent re-renders. didUpdateAttrs runs when the attributes of a component have changed. http://emberjs.com/blog/2015/06/12/ember-1-13-0-released.html#toc_component-lifecycle-hooks Component Lifecycle Hooks
its attributes change - component.set() is called - component.rerender() is called - a property on a model or service used by the template has changed (including through computed properties).
or control flow - Can recompute themselves, similar to how a component can rerender - Can optionally access services - Do not require a dash in the name Ember helpers:
This service name is only an example nameBuilder: Ember.service.inject(), compute(params, hash) { return this.get('nameBuilder').build(params, hash.title); }, rebuildName: Ember.observer('nameBuilder.isAnonymized', function() { this.recompute(); }) });
For example var result = this.attrs.submit(); - Can curry. For example submit=(action 'setName' “Tom”) would pass "Tom" as the first argument to setName when submit is called. Actions:
Ember.deprecate(“This API will be removed in 2.0, please do otherThing(arg) instead”, this.isUsingSomePublicAPI, { id: “some_public_api”, until: “2.0” }); somePublicAPI()
Ember._Metamorph, Ember._MetamorphView ➔ The {{view "some-view"}} helper ➔ The {{view}} keyword ➔ {{each itemView=, {{each itemViewClass=, {{each tagName=, {{each emptyView=, {{each emptyViewClass ➔ Ember.Select and {{view "select"}} ➔ Ember.Checkbox is not removed, but will become a component instead of a view ➔ Ember.reduceComputed and Ember.arrayComputed in favor of plain normal array manipulations. ➔ Non-block param {{with ➔ Ember.ObjectController, Ember.ArrayController, The {{controller}} keyword, needs: on controllers The most commonly used parts of the view API will be supported into the foreseeable future via a core-supported add-on. http://emberjs.com/blog/2015/06/12/ember-1-13-0-released.html#toc_notable-deprecations-in-1-13