1
1
In general, new feature development should be done on master.
2
2
3
- Bugfixes should not introduce new APIs or break existing APIs, and do
3
+ Bug fixes should not introduce new APIs or break existing APIs, and do
4
4
not need feature flags.
5
5
6
6
Features can introduce new APIs, and need feature flags. They should not
@@ -15,13 +15,13 @@ possible.
15
15
16
16
#### Urgent Bug Fixes
17
17
18
- Urgent bugfixes are bugfixes that need to be applied to the existing
18
+ Urgent bug fixes are bug fixes that need to be applied to the existing
19
19
release branch. If possible, they should be made on master and prefixed
20
20
with ` [BUGFIX release] ` .
21
21
22
22
#### Beta Bug Fixes
23
23
24
- Beta bugfixes are bugfixes that need to be applied to the beta branch.
24
+ Beta bug fixes are bug fixes that need to be applied to the beta branch.
25
25
If possible, they should be made on master and tagged with `[ BUGFIX
26
26
beta] `.
27
27
@@ -37,7 +37,7 @@ Features must always be wrapped in a feature flag. Tests for the feature
37
37
must also be wrapped in a feature flag.
38
38
39
39
Because the build-tools will process feature-flags, flags must use
40
- precisely this format. We are choosing conditionals rather than a block
40
+ this exact format. We are choosing conditionals rather than a block
41
41
form because functions change the surrounding scope and may introduce
42
42
problems with early return.
43
43
@@ -52,14 +52,15 @@ for the feature are passing against the current state of the feature.
52
52
53
53
#### Commits
54
54
55
- Commits related to a specific feature should include a prefix like
55
+ Commits related to a specific feature should include a prefix like
56
56
` [FEATURE htmlbars] ` . This will allow us to quickly identify all commits
57
- for a specific feature in the future. Features will never be applied to
58
- beta or release branches. Once a beta or release branch has been cut, it
59
- contains all of the new features it will ever have.
57
+ for a specific feature in the future.
58
+
59
+ Features will never be applied to beta or release branches. Once a beta or
60
+ release branch has been cut, no new features may be added.
60
61
61
62
If a feature has made it into beta or release, and you make a commit to
62
- master that fixes a bug in the feature, treat it like a bugfix as
63
+ master that fixes a bug in the feature, treat it like a bug fix as
63
64
described above.
64
65
65
66
#### Feature Naming Conventions
@@ -72,7 +73,7 @@ Ember.FEATURES['htmlbars']
72
73
73
74
### Builds
74
75
75
- The Canary build, which is based off master, will include all features,
76
+ The Canary build, which is based off master, will include all features
76
77
guarded by the conditionals in the original source. This means that
77
78
users of the canary build can enable whatever features they want by
78
79
enabling them before creating their Ember.Application.
@@ -91,8 +92,8 @@ module.exports = function(environment) {
91
92
92
93
### ` features.json `
93
94
94
- The root of the repository will contain a ` features.json ` file, which will
95
- contain a list of features that should be enabled for beta or release
95
+ The root of the repository will contain a ` features.json ` file, which
96
+ contains a list of features that should be enabled for beta or release
96
97
builds.
97
98
98
99
This file is populated when branching, and may not gain additional
@@ -104,8 +105,8 @@ features after the original branch. It may remove features.
104
105
}
105
106
```
106
107
107
- The build process will remove any features not included in the list, and
108
- remove the conditionals for features in the list.
108
+ The build process will remove any features not included in the list as well as
109
+ conditionals for features in the list.
109
110
110
111
### Travis Testing
111
112
@@ -137,7 +138,7 @@ Every six weeks, the core team goes through the following process.
137
138
#### Beta Branch
138
139
139
140
All remaining features on the beta branch are vetted for readiness. If
140
- any feature isn't ready, it is removed from ` features.json ` .
141
+ a feature isn't ready, it is removed from ` features.json ` .
141
142
142
143
Once this is done, the beta branch is tagged and merged into release.
143
144
@@ -160,4 +161,4 @@ Every week, we repeat the Go/No-Go process for the features that remain
160
161
on the beta branch. Any feature that has become unready is removed from
161
162
the ` features.json ` .
162
163
163
- Once this is done, a Beta release is tagged and pushed.
164
+ Once this is done, a Beta release is tagged and pushed.
0 commit comments