Skip to content

Commit 85d866e

Browse files
authored
Merge pull request #1116 from wagenet/deprecate-mixins
Deprecate Mixin Support
2 parents 1668697 + 2d3eafd commit 85d866e

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

text/1116-deprecate-mixins.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
stage: accepted
3+
start-date: 2025-06-20T00:00:00.000Z
4+
release-date:
5+
release-versions:
6+
teams: # delete teams that aren't relevant
7+
- cli
8+
- framework
9+
- learning
10+
- typescript
11+
prs:
12+
accepted: https://github.com/emberjs/rfcs/pull/1116
13+
project-link:
14+
---
15+
16+
# Deprecating Mixin Support
17+
18+
## Summary
19+
20+
Deprecate all Mixin support.
21+
22+
## Motivation
23+
24+
For a while now, Ember has not recommended the use of Mixins. We should actually fully
25+
deprecate this.
26+
27+
## Transition Path
28+
29+
All existing public Ember mixins will be deprecated:
30+
31+
- [Ember.Mixin](https://github.com/emberjs/rfcs/pull/1111) (from `@ember/object/mixin`)
32+
- [Ember.PromiseProxyMixin](https://github.com/emberjs/rfcs/pull/1112) (from `@ember/object/promise-proxy-mixin`)
33+
- [Ember.Comparable](https://github.com/emberjs/rfcs/pull/1113) (from `@ember/object/comparable`)
34+
- [Ember.Enumerable](https://github.com/emberjs/rfcs/pull/1114) (from `@ember/object/enumerable`)
35+
- [Ember.Observable](https://github.com/emberjs/rfcs/pull/1115) (from `@ember/object/observable`)
36+
37+
For users that still want mixin-like functionality, we should recommend class
38+
decorators. If this feels less ergonimic that we would desire, we can consider
39+
providing an addon that adds some sugar around this.
40+
41+
## Exploration
42+
43+
To validate this deprecation, I've tried removing all Mixins in this PR: https://github.com/emberjs/ember.js/pull/20923
44+
45+
## How We Teach This
46+
47+
We should remove all references from the guides and provide a [deprecation guide](https://github.com/ember-learn/deprecation-app/pull/1408).
48+
49+
## Drawbacks
50+
51+
Some users probably rely on this functionality. However, it's almost certainly
52+
something that we don't need to keep in Ember itself.
53+
54+
## Alternatives
55+
56+
None
57+
58+
## Unresolved questions
59+
60+
None

0 commit comments

Comments
 (0)