Today we are announcing the third Release Candidate of Ember 1.0.
As we said when we released RC1, all releases until 1.0 is final
will be about bugfixes and improvements, and should not have any
breaking changes.
Performance
Since RC2, a series of performance improvements have landed.
- When adjacent child views are scheduled for insertion they are
are now batched together, and inserted together rather then one at
a time. - Object deletion is now async, this prevents un-needed churn when destroying
large interconnected object graphs. - The number of objects allocated during view rendering has been cut down.
The ongoing performance effort is being championed
by Erik Bryn and Kris Selden.
Testing
There have been many fixes and improvements to App#reset, which should now
correctly clear application state when invoked. Typically this is only used
for integration tests.
// before each integration test
App.reset();
Please Note: App.reset()
now brings its own run loop, and no longer
needs to be wrapped in one.
Initial work on a new ember-testing package
has begun. The goal of this project is to make testing Ember applications easier,
especially when it comes to testing asynchrony. As this effort matures, expect full
documentation, examples and guides.
Props to Erik Bryn for researching integration testing approaches by many community
members, including Jo Liss and Katie Gengler, and spearheading initial work on what
will be our official library.
Ember Builds
Each successful CI run now publishes its build results to
http://emberjs.com/builds. This should make
it much simpler to reference and use the the latest ember build.
Thanks to Stanley Stuart, Luke Melia, Erik Bryn and others for getting this set up.
New Input and TextArea helpers
TextField
, TextArea
and Checkbox
views now have corresponding handlebars helpers.
{{view Ember.TextField valueBinding="name"}}
{{view Ember.Checkbox checkedBinding="isActive"}}
{{view Ember.TextArea valueBinding="name"}}
can now be expressed as:
{{input value=name}}
{{input type=checkbox checked=isActive}}
{{textarea value=name}}
We recommend using the "dynamic tag" forms rather than the {{view}}
forms because
they are equivalent to the static tags that we all know and love.
Note that when using dynamic tags, you do not need to use a Binding
suffix and
must leave out the quotation marks around the values. Ember will interpret quoted
strings as static strings in this context.
Documentation
The API docs have been refined and filled in by more community members
than we can mention here. Thank you everyone for helping out!
Changelog
The full CHANGELOG is available on Github, as always.