Today the Ember project is releasing version 5.3 of Ember.js, EmberData, and Ember CLI.
This release kicks off the 5.4 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
Ember.js is the core framework for building ambitious web applications.
Changes in Ember.js 5.3
Ember.js 5.3 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.
Deprecations
Ember.js 5.3 introduced 1 deprecation.
- Deprecate implicit record loading in Ember Route per RFC #774. Please see the deprecation guide for more information.
Deprecations are added to Ember.js when an API will be removed at a later date. Each deprecation has an entry in the deprecation guide describing the migration path to a more stable API. Deprecated public APIs are not removed until a major release of the framework.
Consider using the ember-cli-deprecation-workflow addon if you would like to upgrade your application without immediately addressing deprecations.
For more details on changes in Ember.js 5.3, please review the Ember.js 5.3.0 release page.
EmberData
EmberData is the official data persistence library for Ember.js applications.
Changes in EmberData 5.3
Bug Fixes
EmberData 5.3 introduced 10 bug fixes. Details are in the
EmberData 5.3.0 release page.
Features
EmberData 5.3 introduced several new features.
This release primarily focused on polish for the RequestManager
story, introducing builder utils, builders for REST
ActiveRecord
and JSON:API
requests as well as serialization utils for JSON:API
requests.
As part of shipping serialization utils, we implemented several long-awaited cache features to support them:
cache.changedRelationships
retrieves a diff of what has been added or removed from each relationship for a resourcecache.hasChangedRelationships
answers whether any relationships have changed for a resourcecache.rollbackRelationships
will reset all relationships for that resource to their "remote" state, removing any local changes.
Deprecations
EmberData 5.3 introduced 5 deprecations.
As part of our ongoing efforts to modernize the library and to support the above changes, we implemented several new deprecations.
- Deprecate legacy import paths (
ember-data/
) except forember-data/store
- Deprecate non-strict-type (e.g. "users" or "myType" instead of "user" and "my-type")
- Deprecate non-strict-id (e.g .
1
instead of"1"
)
And in relationships specifically:
- deprecate fixing non-unique relationship payloads (when the same record is referenced multiple times in a related collection)
- deprecate remote updates clearing local changes (an upcoming blog post will explain the new behavior here in detail)
For more details on changes in EmberData 5.3, please review the
EmberData 5.3.0 release page.
Ember CLI
Ember CLI is the command line interface for managing and packaging Ember.js applications.
Upgrading Ember CLI
You may upgrade Ember CLI using the ember-cli-update
project:
npx ember-cli-update
This utility will help you to update your app or addon 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. For more information on the ember-cli-update
project, see the GitHub README.
While it is recommended to keep Ember CLI versions in sync with Ember and EmberData, this is not required. After updating ember-cli, you can keep your current version(s) of Ember or EmberData by editing package.json
to revert the changes to the lines containing ember-source
and ember-data
.
Changes in Ember CLI 5.3
Features
Ember CLI 5.3 introduced 1 new feature:
- #10337 - the feature flag for pnpm support was removed, officially allowing using of the
--pnpm
flag.
Bug Fixes
Ember CLI 5.3 introduced 3 bug fixes.
Deprecations
Ember CLI 5.3 introduced 1 deprecation.
- Deprecate outputPaths build option, as output paths will no longer be predetermined under Embroider
For more details on the changes in Ember CLI 5.3 and detailed upgrade
instructions, please review the Ember CLI 5.3.0 release page.
Thank You!
As a community-driven open-source project with an ambitious scope, each of these releases serves 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.