Today the Ember project is releasing version 3.5 of Ember.js, Ember Data, and Ember CLI. Notable features include Ember CLI build performance improvements of up to 32% and new Ember Data powers for addon developers.
Additionally, versions 3.4 of Ember, Ember CLI, and Ember Data are now promoted to LTS, which stands for Long Term Support. An LTS version of Ember continues to receive security updates for 9 release cycles (54 weeks) and bugfixes for 6 cycles (36 weeks). LTS releases typically occur every four minor versions. The previous LTS version for Ember was 2.18. 3.4 is the first LTS for Ember CLI and Ember Data.
This release kicks off the 3.6 beta cycle for all sub-projects. We encourage our community (especially addon authors) to help test these beta builds and report any bugs before they are published as a final release in six weeks' time. The ember-try addon is a great way to continuously test your projects against the latest Ember releases.
You can read more about our general release process here:
Ember.js is the core framework for building ambitious web applications.
Changes in Ember.js 3.5
Ember.js 3.5 is an incremental, backwards compatible release of Ember with bugfixes. It is common for minor releases to provide bugfixes that pave the way for release of new features in future releases. There are zero (0) new features, zero (0) deprecations, and two (2) small bugfixes in this version. Contributors to the Ember.js codebase itself should note that it now uses Typescript 3.0 internally.
For more details on changes in Ember.js 3.5, please review the Ember.js 3.5.0 release page.
Ember Data is the official data persistence library for Ember.js applications.
Changes in Ember Data 3.5
This release cycle marks two major milestones for
an LTS release and the
The first milestone is the release of
3.4 LTS, our very first
LTS release! From here out,
ember-data will follow the same LTS cycle and process as
New Features (1)
The second milestone is the release of
3.5 which marks the first release containing the new RecordData interfaces.
RecordData gives addon developers much-needed API access with more confidence and stability. Many commonly requested features (improved dirty-tracking, fragments, alternative Models) are now possible or easier to implement in addons.
RecordData required significant refactoring of the internals of
ember-data, and is intended to allow us to deprecate and remove use of the private but intimate
Due to the nature of this change, we expect some applications may encounter regressions. This was the primary motivation for waiting to land this until after our first
LTS. If you encounter issues upgrading from pre
3.5 versions to
3.5 or later, we recommend reporting them and making use of
LTS until fixes are available.
We are tracking issues introduced by
RecordData with the label record-data
We will also continue to target bugfixes for
LTS, tracked by the label lts-target.
RecordData use with ModelFragments
While most community addons have been found to work with
RecordData versions of
ember-data, ember-data-model-fragments does not currently. If you use this addon, it is likely you will want to stay on
3.4 LTS until the community has released a version compatible with
If you use
ember-data-model-fragments, helping to refactor it to make use of
RecordData (or supply bugfixes to
ember-data if required) would be greatly appreciated.
No new deprecations introduced in Ember Data 3.5.
For more details on Ember Data 3.5, please review the Ember Data 3.5.0 release page.
Ember CLI is the command line interface for managing and packaging Ember.js applications.
Upgrading Ember CLI
You may upgrade Ember CLI separately from Ember.js and Ember Data! To upgrade your projects using
yarn upgrade ember-cli
To upgrade your projects using
npm install --save-dev ember-cli
After running the upgrade command, make sure to install (if you haven't already) ember-cli-update globally:
npm install -g ember-cli-update
This utility will help you to update your app or add-on to the latest Ember CLI version. You will probably encounter merge conflicts, in which the default behavior is to let you resolve conflicts on your own.
Changes in Ember CLI 3.5
This release cycle marks a major milestone for
ember-cli, an LTS release.
The milestone is the release of
3.4 LTS, our very first
LTS release! From here out,
ember-cli will follow the same LTS cycle and process as
New Features (3)
Upgraded to Broccoli v2.0.0! (1 of 3)
Broccoli is an asset pipeline used by Ember. For quite a long time, tools in the Ember Ecosystem relied on a fork of Broccoli. However, as of this release, Ember CLI now uses Broccoli 2.0 directly! See this Ember.js Times Reader's question to learn more about what makes Broccoli awesome and why it is used instead of Parcel or Webpack. Many thanks to contributors and maintainers of Broccoli who helped with the migration.
Build speed improvements up to 32% (2 of 3)
Thanks to migrating to Broccoli 2, Ember devs should see some speed improvements in their
builds. Broccoli 2 allows Ember CLI to use the default system
rather than a
./tmp directory local to a project folder. Depending on computer hardware,
users may see up to 32% improvements in build time. The system
on your computer has some optimizations in place that your apps now benefit from.
Migration to ember-qunit (3 of 3)
ember-cli-qunit was a very thin shim over
Ember CLI now uses
ember-qunit directly as a dependency.
No new deprecations introduced in Ember CLI 3.5.
For more details on the changes in Ember CLI 3.5 and detailed upgrade instructions, please review the Ember CLI 3.5.0 release page.
As a community-driven open-source project with an ambitious scope, each of these releases serve as a reminder that the Ember project would not have been possible without your continued support. We are extremely grateful to our contributors for their efforts.