From f582259b3e3281736b30fa6ed2f6a1ad8857bdc7 Mon Sep 17 00:00:00 2001 From: Peter Wagenet Date: Fri, 13 Jun 2025 13:08:28 -0700 Subject: [PATCH 1/2] Deprecate Ember Array --- text/1114-deprecate-ember-array.md | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 text/1114-deprecate-ember-array.md diff --git a/text/1114-deprecate-ember-array.md b/text/1114-deprecate-ember-array.md new file mode 100644 index 0000000000..943db191e2 --- /dev/null +++ b/text/1114-deprecate-ember-array.md @@ -0,0 +1,63 @@ +--- +stage: accepted +start-date: 2025-06-13T00:00:00.000Z +release-date: +release-versions: +teams: # delete teams that aren't relevant + - cli + - data + - framework + - learning + - steering + - typescript +prs: + accepted: https://github.com/emberjs/rfcs/pull/1114 +project-link: +--- + +# Deprecating Ember Array + +## Summary + +Deprecate `Ember.Array`, `Ember.MutableArray`, `Ember.ArrayProxy`, `Ember.NativeArray`, `Ember.A`, +`Ember.Enumerable` and Array computed macros. + +## Motivation + +Now that Ember has a proper tracking system and the availability of `tracked-built-ins` we no longer +need our own custom arrays. In addition, much of the internal implementation relies upon Mixins which +we also hope to deprecate in the future. + +## Transition Path + +All uses of custom Arrays should be replaced with native Arrays and `tracked-built-ins`. +Additionally, computed macros should be updated to use tracked getters. + +Given how estabished these patterns are, we probably want to provide an addon that brings +back at least some of the functionality to aid migration. + +## Exploration + +To validate this deprecation, I've tried removing EmberArray in this PR: +https://github.com/emberjs/ember.js/pull/20921 + +## How We Teach This + +We should replace any references in the guides with native arrays or `TrackedArray`. + +## Drawbacks + +This functionality is old and very well established, removing it will not be without pain +to many users. + +## Alternatives + +Deprecate just `Ember.A`: #864 + +## Unresolved questions + +None + +## Notes + +This overlaps with #1112 which also seeks to deprecate `Ember.ArrayProxy`. From bf6c1335659f64d8e2520266ae608092f79b58c9 Mon Sep 17 00:00:00 2001 From: Katie Gengler Date: Fri, 22 Aug 2025 14:44:18 -0400 Subject: [PATCH 2/2] Update text/1114-deprecate-ember-array.md --- text/1114-deprecate-ember-array.md | 1 - 1 file changed, 1 deletion(-) diff --git a/text/1114-deprecate-ember-array.md b/text/1114-deprecate-ember-array.md index 943db191e2..f88f7ce8e0 100644 --- a/text/1114-deprecate-ember-array.md +++ b/text/1114-deprecate-ember-array.md @@ -8,7 +8,6 @@ teams: # delete teams that aren't relevant - data - framework - learning - - steering - typescript prs: accepted: https://github.com/emberjs/rfcs/pull/1114