Please read the Feature Flag Guide for a detailed explanation.
-
ember-application-instance-initializers
Splits apart initializers into two phases:
- Boot-time Initializers that receive a registry, and use it to set up code structures
- Instance Initializers that receive an application instance, and use it to set up application state per run of the application.
In FastBoot, each request will have its own run of the application, and will only need to run the instance initializers.
In the future, tests will also be able to use this differentiation to run just the instance initializers per-test.
With this change,
App.initializer
becomes a "boot-time" initializer, and issues a deprecation warning if instances are accessed.Apps should migrate any initializers that require instances to the new
App.instanceInitializer
API. -
ember-application-initializer-context
Sets the context of the initializer function to its object instead of the global object.
Added in #10179.
-
ember-testing-checkbox-helpers
Add
check
anduncheck
test helpers.check
:Checks a checkbox. Ensures the presence of the
checked
attributeExample:
check('#remember-me').then(function() { // assert something });
uncheck
:Unchecks a checkbox. Ensures the absence of the
checked
attributeExample:
uncheck('#remember-me').then(function() { // assert something });
-
ember-routing-named-substates
Add named substates; e.g. when resolving a
loading
orerror
substate to enter, Ember will take into account the name of the immediate child route that theerror
/loading
action originated from, e.g. 'foo' ifFooRoute
, and try and enterfoo_error
orfoo_loading
if it exists. This also adds the ability for a top-levelapplication_loading
orapplication_error
state to be entered forloading
/error
events emitted fromApplicationRoute
.Added in #3655.
-
composable-computed-properties
This feature allows you to combine (compose) different computed properties together. So it gives you a really nice "functional programming" like syntax to deal with complex expressions.
Added in #3696.
-
ember-metal-is-present
Adds
Ember.isPresent
as the inverse ofEmber.isBlank
. This convenience method can lead to more semantic and clearer code.Added in #5136
-
property-brace-expansion-improvement
Property brace expansion now allows multiple sets of braces to be used, as well as not restricting their location in the string.
Added in #4617
-
ember-routing-multi-current-when
Allows the
link-to
helper's currentWhen property to accept multiple routes using aAdded in #3673
-
ember-routing-fire-activate-deactivate-events
Fire
activate
anddeactivate
events, additionally to the correspondingEmber.Route
hooks.Added in #5569
-
ember-testing-pause-test
Helper to pause a test, for use in debugging and TDD.
Added in #9383
-
ember-htmlbars-component-generation
Enables HTMLBars compiler to interpret
<x-foo></x-foo>
as a component invocation (instead of a standard HTML5 style element). -
ember-htmlbars-inline-if-helper
Enables the use of the if helper in inline form. The truthy and falsy values are passed as params, instead of using the block form.
Added in #9718.
-
ember-htmlbars-attribute-syntax
Adds the
class="{{color}}"
syntax to Ember HTMLBars templates. Works with arbitrary attributes and properties.Added in #9721.
-
ember-metal-injected-properties
Enables the injection of properties onto objects coming from a container, and adds the
Ember.Service
class. Use theEmber.inject.service
method to inject services onto any object, orEmber.inject.controller
to inject controllers onto any other controller. The first argument toEmber.inject
methods is optional, and if left blank the key of the property will be used to perform the lookup instead. Replaces the need forneeds
in controllers.Added in #5162.
-
ember-routing-transitioning-classes
Disables eager URL updates during slow transitions in favor of new CSS classes added to
link-to
s (in addition toactive
class):ember-transitioning-in
: link-to is not currently active, but will be when the current underway (slow) transition completes.ember-transitioning-out
: link-to is currently active, but will no longer be active when the current underway (slow) transition completes.
Added in #9919
-
new-computed-syntax
Enables the new computed property syntax. In this new syntax, instead of passing a function that acts both as getter and setter for the property,
Ember.computed
receives an object withget
andset
keys, each one containing a function.For example,
visible: Ember.computed('visibility', { get: function(key) { return this.get('visibility') !== 'hidden'; }, set: function(key, boolValue) { this.set('visibility', boolValue ? 'visible' : 'hidden'); return boolValue; } })
If the object does not contain a
set
key, the property will simply be overridden. Passing just function is still supported, and is equivalent to passing only a getter.Added in #9527.
-
ember-metal-stream
Exposes the basic internal stream implementation as
Ember.Stream
.Added in #9693
-
ember-htmlbars-each-with-index
Adds an optional second parameter to
{{each}}
block parameters that is the index of the item.For example,
Added in #10160