Ember 4.3 Released

Today the Ember project is releasing version 4.3 of Ember.js, Ember Data, and Ember CLI.

This release kicks off the 4.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 4.3

Ember.js 4.3 is an incremental, backwards compatible release of Ember with bug fixes, performance improvements, and minor deprecations.

Bug Fixes

Ember.js 4.3 introduced 3 bug fixes.

  • A memory leak in the Router Service class is fixed (#20025). It was affecting tests and FastBoot apps.
  • Using RouterService#transitionTo no longer adds unspecified default query parameters to the URL (#19971).
  • FactoryManager correctly associate props with factory and owner (#20024).

Features

Ember.js 4.3 introduced 0 features.

Deprecations

Ember.js 4.3 introduced 0 deprecations.

For more details on changes in Ember.js 4.3, please review the Ember.js 4.3.0 release page.


Ember Data

Ember Data is the official data persistence library for Ember.js applications.

Changes in Ember Data 4.3

Bug Fixes

Ember Data 4.3 introduced many bug fixes! Contributors to the project were hard at work to address things that were reported between v3.28 and v4.2.

Many of the bugfixes listed below have been backported to v3.28. That means if you get the latest patch release of v3.28-v4.2, you will get these benefits too.

The list below covers highlights only. See the commit history for a comprehensive list.

  • Pushing records with duplicate identifiers does not cause duplicate records #7801.
  • Fix a bug with encoding space characters when serializing query params #7834.
  • Fix a regression where createRecord crashed when a setter which sets an attribute is involved in the createRecord.
  • Fix a regression to support await for loading relationships #7684.
  • …and more!

Features

Ember Data 4.3 introduced 4 features.

Deprecations

Ember Data 4.3 introduced 0 deprecations.

Support for the toJSON method on Ember Data records has been removed. It was deprecated in 3.x and slated for removal in 4.x. If your app uses this method, follow the deprecation guide.

Some more previously-deprecated APIs were slated for removal in the 4.x series, and have now been removed:

  • Evented.
  • Lifecycle events like didCreate.
  • Default adapter. Adapter type must be specified now.
  • Test registrations.
  • belongs-to-push of record.
  • mismatched-inverse.

For more details on changes in Ember Data 4.3, please review the Ember Data 4.3.0 commits.


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 Ember Data, this is not required. After updating ember-cli, you can keep your current version(s) of Ember or Ember Data by editing package.json to revert the changes to the lines containing ember-source and ember-data.

Changes in Ember CLI 4.3

Bug Fixes

Ember CLI 4.3 introduced 1 bug fix.

  • The broccoli debug folder is added to the gitignore file (#9680).

Features

Ember CLI 4.3 introduced 2 features.

  • Customisation of setupTest* functions (#9803). This adds a tests/helpers/index.js file where setupApplicationTest, setupRenderingTest, and setupTest functions will be wrapped and exported, creating a single place to edit for each type of test setup. Tests generated using ember generate will import the setup functions from that file.
  • Add support for specifying a path for the ember generate command (#9387). This allows you to run ember g ../../../node_modules/ember-source/blueprints/component to generate a component.

Deprecations

Ember CLI 4.3 introduced 1 deprecation.

  • Deprecate Bower support (#9707). This implements the deprecation messages from RFC 772.

For more details on the changes in Ember CLI 4.3 and detailed upgrade instructions, please review the Ember CLI 4.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.