You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> I've only _just_ put this into production in my company's product. So far so good, but it's a sample size of 1 and a test duration measured in days. (29 Jul 2021)
16
-
>
17
-
> For what it's worth, we've got good tests and they pass. Use at your own risk. 🤷♂️
18
-
19
13
### Minimalist? What's included?
20
14
21
15
- Rules engine
@@ -138,8 +132,8 @@ This is likely to change, but for now here's what they look like:
138
132
139
133
### Flag Rule Types
140
134
141
-
-`%` "Percentage": A random % of users are in the active segment
142
-
-`filter` "Filter": You specify an attribute from the userAttributes object, and a comparison value and operator, and anyone who passes the comparison is in the active segment (flag is ON for them)
135
+
-`%` "Percentage": X% of users are selected at random to have the feature enabled.
136
+
-`filter` "Filter": You specify an `attribute` from the userAttributes object, the `operator`and a `comparator` (comparison value), and anyone who passes the comparison is in the active segment (flag is ON for them)
143
137
-`nobody`: Flag is OFF for all users
144
138
-`everybody`: Flag is ON for all users
145
139
- More TBD? If you have ideas, [hit me up!](https://github.com/atuttle/semaphore/issues)
@@ -150,13 +144,13 @@ Flags can have multiple rules. At present, Semaphore only supports flag-wide AND
150
144
151
145
The default is `ANY`. If you want to require all rules match, set `matchRules: 'ALL'` on your flag.
152
146
153
-
# Why not just use config settings?
147
+
> **Deprecation warning:** In version 1.x the `matchRules` property will be removed in support of [better and/or support](https://adamtuttle.codes/blog/2022/semaphore-0.3-and-1.0/).
154
148
155
-
You could do that, sure. But the value proposition of feature flags is that they can be toggled independendtly of deploying code changes to your application, and often much more rapidly. They can take effect as quickly as you can update the flag state on your application.
149
+
# Why not just use config settings?
156
150
157
-
(How you do thatis left as an exercise for you. Once I've implemented it in my app I'll probably blog about how I did it and link to that blog post from here.)
151
+
You could do that, sure. But the value proposition of feature flags is that they can be toggled independendtly of deploying code changes to your application, and often much more rapidly. They can take effect as quickly as you can update the flag state on your application. How you do that is left as an exercise for you.
158
152
159
-
ALSO, feature flags allow you to dynamically segment the user population. As seen above, I've already got support for %-based rollouts, as well as specific user-attribute and environment-attribute filtering.
153
+
ALSO, feature flags allow you to dynamically segment the user population. As seen above, I've already got support for %-based rollouts, as well as specific user-attribute and environment-attribute filtering. Those would be _possible_ to implement with config settings, but probably not worth the effort.
0 commit comments