flipper 1.0.0.pre → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/ci.yml +7 -3
  4. data/.github/workflows/examples.yml +29 -7
  5. data/Changelog.md +211 -167
  6. data/Gemfile +4 -4
  7. data/README.md +13 -11
  8. data/benchmark/typecast_ips.rb +8 -0
  9. data/docs/images/flipper_cloud.png +0 -0
  10. data/examples/cloud/backoff_policy.rb +13 -0
  11. data/examples/cloud/cloud_setup.rb +16 -0
  12. data/examples/cloud/forked.rb +7 -2
  13. data/examples/cloud/threaded.rb +15 -18
  14. data/examples/expressions.rb +213 -0
  15. data/examples/strict.rb +18 -0
  16. data/flipper.gemspec +1 -2
  17. data/lib/flipper/actor.rb +6 -3
  18. data/lib/flipper/adapter.rb +10 -0
  19. data/lib/flipper/adapter_builder.rb +44 -0
  20. data/lib/flipper/adapters/dual_write.rb +1 -3
  21. data/lib/flipper/adapters/failover.rb +0 -4
  22. data/lib/flipper/adapters/failsafe.rb +0 -4
  23. data/lib/flipper/adapters/http/client.rb +26 -7
  24. data/lib/flipper/adapters/http/error.rb +1 -1
  25. data/lib/flipper/adapters/http.rb +18 -13
  26. data/lib/flipper/adapters/instrumented.rb +0 -4
  27. data/lib/flipper/adapters/memoizable.rb +14 -19
  28. data/lib/flipper/adapters/memory.rb +4 -6
  29. data/lib/flipper/adapters/operation_logger.rb +0 -4
  30. data/lib/flipper/adapters/poll.rb +1 -3
  31. data/lib/flipper/adapters/pstore.rb +17 -11
  32. data/lib/flipper/adapters/read_only.rb +4 -4
  33. data/lib/flipper/adapters/strict.rb +47 -0
  34. data/lib/flipper/adapters/sync/feature_synchronizer.rb +10 -1
  35. data/lib/flipper/adapters/sync.rb +0 -4
  36. data/lib/flipper/cloud/configuration.rb +121 -52
  37. data/lib/flipper/cloud/telemetry/backoff_policy.rb +93 -0
  38. data/lib/flipper/cloud/telemetry/instrumenter.rb +26 -0
  39. data/lib/flipper/cloud/telemetry/metric.rb +39 -0
  40. data/lib/flipper/cloud/telemetry/metric_storage.rb +30 -0
  41. data/lib/flipper/cloud/telemetry/submitter.rb +98 -0
  42. data/lib/flipper/cloud/telemetry.rb +183 -0
  43. data/lib/flipper/configuration.rb +25 -4
  44. data/lib/flipper/dsl.rb +51 -0
  45. data/lib/flipper/engine.rb +28 -3
  46. data/lib/flipper/exporters/json/export.rb +1 -1
  47. data/lib/flipper/exporters/json/v1.rb +1 -1
  48. data/lib/flipper/expression/builder.rb +73 -0
  49. data/lib/flipper/expression/constant.rb +25 -0
  50. data/lib/flipper/expression.rb +71 -0
  51. data/lib/flipper/expressions/all.rb +11 -0
  52. data/lib/flipper/expressions/any.rb +9 -0
  53. data/lib/flipper/expressions/boolean.rb +9 -0
  54. data/lib/flipper/expressions/comparable.rb +13 -0
  55. data/lib/flipper/expressions/duration.rb +28 -0
  56. data/lib/flipper/expressions/equal.rb +9 -0
  57. data/lib/flipper/expressions/greater_than.rb +9 -0
  58. data/lib/flipper/expressions/greater_than_or_equal_to.rb +9 -0
  59. data/lib/flipper/expressions/less_than.rb +9 -0
  60. data/lib/flipper/expressions/less_than_or_equal_to.rb +9 -0
  61. data/lib/flipper/expressions/not_equal.rb +9 -0
  62. data/lib/flipper/expressions/now.rb +9 -0
  63. data/lib/flipper/expressions/number.rb +9 -0
  64. data/lib/flipper/expressions/percentage.rb +9 -0
  65. data/lib/flipper/expressions/percentage_of_actors.rb +12 -0
  66. data/lib/flipper/expressions/property.rb +9 -0
  67. data/lib/flipper/expressions/random.rb +9 -0
  68. data/lib/flipper/expressions/string.rb +9 -0
  69. data/lib/flipper/expressions/time.rb +9 -0
  70. data/lib/flipper/feature.rb +55 -0
  71. data/lib/flipper/gate.rb +1 -0
  72. data/lib/flipper/gate_values.rb +5 -2
  73. data/lib/flipper/gates/expression.rb +75 -0
  74. data/lib/flipper/instrumentation/statsd_subscriber.rb +2 -4
  75. data/lib/flipper/metadata.rb +3 -3
  76. data/lib/flipper/middleware/memoizer.rb +30 -14
  77. data/lib/flipper/poller.rb +1 -1
  78. data/lib/flipper/serializers/gzip.rb +24 -0
  79. data/lib/flipper/serializers/json.rb +19 -0
  80. data/lib/flipper/spec/shared_adapter_specs.rb +29 -11
  81. data/lib/flipper/test/shared_adapter_test.rb +24 -5
  82. data/lib/flipper/typecast.rb +34 -6
  83. data/lib/flipper/types/percentage.rb +1 -1
  84. data/lib/flipper/version.rb +1 -1
  85. data/lib/flipper.rb +38 -1
  86. data/spec/flipper/adapter_builder_spec.rb +73 -0
  87. data/spec/flipper/adapter_spec.rb +1 -0
  88. data/spec/flipper/adapters/http_spec.rb +39 -5
  89. data/spec/flipper/adapters/memoizable_spec.rb +15 -15
  90. data/spec/flipper/adapters/read_only_spec.rb +26 -11
  91. data/spec/flipper/adapters/strict_spec.rb +62 -0
  92. data/spec/flipper/adapters/sync/feature_synchronizer_spec.rb +27 -0
  93. data/spec/flipper/cloud/configuration_spec.rb +6 -23
  94. data/spec/flipper/cloud/telemetry/backoff_policy_spec.rb +108 -0
  95. data/spec/flipper/cloud/telemetry/metric_spec.rb +87 -0
  96. data/spec/flipper/cloud/telemetry/metric_storage_spec.rb +58 -0
  97. data/spec/flipper/cloud/telemetry/submitter_spec.rb +145 -0
  98. data/spec/flipper/cloud/telemetry_spec.rb +156 -0
  99. data/spec/flipper/cloud_spec.rb +12 -12
  100. data/spec/flipper/configuration_spec.rb +17 -0
  101. data/spec/flipper/dsl_spec.rb +39 -0
  102. data/spec/flipper/engine_spec.rb +108 -7
  103. data/spec/flipper/exporters/json/v1_spec.rb +3 -3
  104. data/spec/flipper/expression/builder_spec.rb +248 -0
  105. data/spec/flipper/expression_spec.rb +188 -0
  106. data/spec/flipper/expressions/all_spec.rb +15 -0
  107. data/spec/flipper/expressions/any_spec.rb +15 -0
  108. data/spec/flipper/expressions/boolean_spec.rb +15 -0
  109. data/spec/flipper/expressions/duration_spec.rb +43 -0
  110. data/spec/flipper/expressions/equal_spec.rb +24 -0
  111. data/spec/flipper/expressions/greater_than_or_equal_to_spec.rb +28 -0
  112. data/spec/flipper/expressions/greater_than_spec.rb +28 -0
  113. data/spec/flipper/expressions/less_than_or_equal_to_spec.rb +28 -0
  114. data/spec/flipper/expressions/less_than_spec.rb +32 -0
  115. data/spec/flipper/expressions/not_equal_spec.rb +15 -0
  116. data/spec/flipper/expressions/now_spec.rb +11 -0
  117. data/spec/flipper/expressions/number_spec.rb +21 -0
  118. data/spec/flipper/expressions/percentage_of_actors_spec.rb +20 -0
  119. data/spec/flipper/expressions/percentage_spec.rb +15 -0
  120. data/spec/flipper/expressions/property_spec.rb +13 -0
  121. data/spec/flipper/expressions/random_spec.rb +9 -0
  122. data/spec/flipper/expressions/string_spec.rb +11 -0
  123. data/spec/flipper/expressions/time_spec.rb +13 -0
  124. data/spec/flipper/feature_spec.rb +360 -1
  125. data/spec/flipper/gate_values_spec.rb +2 -2
  126. data/spec/flipper/gates/expression_spec.rb +108 -0
  127. data/spec/flipper/identifier_spec.rb +4 -5
  128. data/spec/flipper/instrumentation/statsd_subscriber_spec.rb +15 -1
  129. data/spec/flipper/middleware/memoizer_spec.rb +67 -0
  130. data/spec/flipper/serializers/gzip_spec.rb +13 -0
  131. data/spec/flipper/serializers/json_spec.rb +13 -0
  132. data/spec/flipper/typecast_spec.rb +43 -7
  133. data/spec/flipper/types/actor_spec.rb +18 -1
  134. data/spec/flipper_integration_spec.rb +102 -4
  135. data/spec/flipper_spec.rb +89 -1
  136. data/spec/spec_helper.rb +5 -0
  137. data/spec/support/actor_names.yml +1 -0
  138. data/spec/support/fake_backoff_policy.rb +15 -0
  139. data/spec/support/spec_helpers.rb +11 -3
  140. metadata +110 -25
  141. data/.tool-versions +0 -1
  142. data/lib/flipper/cloud/instrumenter.rb +0 -48
data/Changelog.md CHANGED
@@ -6,8 +6,50 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  ### Additions/Changes
8
8
 
9
- * ui, api: Allow Rack 3 (https://github.com/jnunemaker/flipper/pull/670)
10
- * cloud: The `flipper-cloud` gem has been merged into the `flipper` and no longer needs to be added separately. Configure cloud by setting the `FLIPPER_CLOUD_TOKEN` environment variable. (https://github.com/jnunemaker/flipper/pull/743)
9
+ * Better read-only mode for UI (https://github.com/flippercloud/flipper/pull/772).
10
+ * Allow configuring preload via a block similar to memoize (https://github.com/flippercloud/flipper/pull/771).
11
+ ```ruby
12
+ Rails.application.configure do
13
+ # don't preload features for /assets/* but do for everything else
14
+ config.flipper.preload = ->(request) { !request.path.start_with?('/assets') }
15
+ end
16
+ ```
17
+ * Added `strict` configuration to warn when accessing a feature that doesn't exist (https://github.com/flippercloud/flipper/pull/760, https://github.com/flippercloud/flipper/pull/763)
18
+ ```ruby
19
+ Rails.application.configure do
20
+ # Setting to `true` or `:raise` will raise error when a feature doesn't exist.
21
+ # Use `:warn` to log a warning instead.
22
+ config.flipper.strict = !Rails.env.production?
23
+ end
24
+ ```
25
+ * Handle deprecation of Rack::File in Rack 3.1 (https://github.com/flippercloud/flipper/pull/773).
26
+ * Human readable actor names in flipper-ui (https://github.com/flippercloud/flipper/pull/737).
27
+ * Expressions are now available and considered "alpha". They are not yet documented, but you can see examples in [examples/expressions.rb](examples/expressions.rb). (https://github.com/flippercloud/flipper/pull/692)
28
+ * Allow head requests to api (https://github.com/flippercloud/flipper/pull/759)
29
+ * Cloud Telemetry alpha (https://github.com/flippercloud/flipper/pull/775).
30
+ * Easier statsd setup (https://github.com/flippercloud/flipper/pull/779).
31
+ ```ruby
32
+ # You can now just do this in your configure block and it'll require the files and configure the client.
33
+ Flipper.configure do |conf|
34
+ conf.statsd = my_client
35
+ end
36
+ ```
37
+ * Load cloud secrets from Rails credentials (https://github.com/flippercloud/flipper/pull/782)
38
+ ```bash
39
+ $ rails credentials:edit -e development
40
+ ```
41
+ ```yaml
42
+ flipper:
43
+ cloud_token: <your-cloud-token>
44
+ cloud_sync_secret: <your-webhook-secret>
45
+ ```
46
+
47
+ ## 1.0.0
48
+
49
+ ### Additions/Changes
50
+
51
+ * ui, api: Allow Rack 3 (https://github.com/flippercloud/flipper/pull/670)
52
+ * cloud: The `flipper-cloud` gem has been merged into the `flipper` and no longer needs to be added separately. Configure cloud by setting the `FLIPPER_CLOUD_TOKEN` environment variable. (https://github.com/flippercloud/flipper/pull/743)
11
53
  ```diff
12
54
  # Gemfile
13
55
  gem 'flipper'
@@ -27,18 +69,20 @@ All notable changes to this project will be documented in this file.
27
69
 
28
70
  ## 0.28.3
29
71
 
30
- * Updated cloud config to ensure that poll adapter ONLY syncs from cloud to local adapter (and never back to cloud). Shouldn't affect anyone other than making things more safe if an incorrect response is received from the cloud poll endpoint. (https://github.com/jnunemaker/flipper/pull/740)
72
+ * Updated cloud config to ensure that poll adapter ONLY syncs from cloud to local adapter (and never back to cloud). Shouldn't affect anyone other than making things more safe if an incorrect response is received from the cloud poll endpoint. (https://github.com/flippercloud/flipper/pull/740)
31
73
 
32
74
  ## 0.28.2
33
75
 
34
- * UI: fix path to bundled assets when mounted in another Rack app (https://github.com/jnunemaker/flipper/pull/742)
76
+ ### Additions/Changes
77
+
78
+ * UI: fix path to bundled assets when mounted in another Rack app (https://github.com/flippercloud/flipper/pull/742)
35
79
 
36
80
  ## 0.28.1
37
81
 
38
82
  ### Additions/Changes
39
83
 
40
- * Use new method of making logs bold for rails (https://github.com/jnunemaker/flipper/pull/726)
41
- * Bundle bootstrap, jquery and poppler with the library. (https://github.com/jnunemaker/flipper/pull/731)
84
+ * Use new method of making logs bold for rails (https://github.com/flippercloud/flipper/pull/726)
85
+ * Bundle bootstrap, jquery and poppler with the library. (https://github.com/flippercloud/flipper/pull/731)
42
86
 
43
87
  ## 0.28.0
44
88
 
@@ -84,141 +128,141 @@ All notable changes to this project will be documented in this file.
84
128
 
85
129
  ## 0.27.0
86
130
 
87
- * Easy Import/Export (https://github.com/jnunemaker/flipper/pull/709). This has some breaking changes but only if you are using flipper internals. If you are just using Flipper.* methods, you'll be fine.
131
+ * Easy Import/Export (https://github.com/flippercloud/flipper/pull/709). This has some breaking changes but only if you are using flipper internals. If you are just using Flipper.* methods, you'll be fine.
88
132
 
89
133
  ## 0.26.2
90
134
 
91
- * Improve Active Record Adapter get/get_multi/get_all performance by 5-10x when dealing with thousands of gate values (https://github.com/jnunemaker/flipper/pull/707).
135
+ * Improve Active Record Adapter get/get_multi/get_all performance by 5-10x when dealing with thousands of gate values (https://github.com/flippercloud/flipper/pull/707).
92
136
 
93
137
  ## 0.26.1
94
138
 
95
- * Improve `Flipper#enabled?` performance by ~37%-55% (https://github.com/jnunemaker/flipper/pull/706)
96
- * Make Memory adapter threadsafe (https://github.com/jnunemaker/flipper/pull/702 and https://github.com/jnunemaker/flipper/pull/703)
97
- * ActiveRecord adapter: wrap all reads/writes in `with_connection` (https://github.com/jnunemaker/flipper/pull/705)
98
- * Improve performance of background polling (https://github.com/jnunemaker/flipper/pull/699)
99
- * Remove executables directive from gem (https://github.com/jnunemaker/flipper/pull/693)
139
+ * Improve `Flipper#enabled?` performance by ~37%-55% (https://github.com/flippercloud/flipper/pull/706)
140
+ * Make Memory adapter threadsafe (https://github.com/flippercloud/flipper/pull/702 and https://github.com/flippercloud/flipper/pull/703)
141
+ * ActiveRecord adapter: wrap all reads/writes in `with_connection` (https://github.com/flippercloud/flipper/pull/705)
142
+ * Improve performance of background polling (https://github.com/flippercloud/flipper/pull/699)
143
+ * Remove executables directive from gem (https://github.com/flippercloud/flipper/pull/693)
100
144
 
101
145
  ## 0.26.0
102
146
 
103
- * Cloud Background Polling (https://github.com/jnunemaker/flipper/pull/682)
147
+ * Cloud Background Polling (https://github.com/flippercloud/flipper/pull/682)
104
148
  * Changed default branch from master to main
105
- * Allow configuring railtie via ENV vars (https://github.com/jnunemaker/flipper/pull/681)
106
- * flipper-ui: Fix issue preventing feature flags being enabled when confirm_fully_enable is on and feature_removal_enabled is off (https://github.com/jnunemaker/flipper/pull/680)
149
+ * Allow configuring railtie via ENV vars (https://github.com/flippercloud/flipper/pull/681)
150
+ * flipper-ui: Fix issue preventing feature flags being enabled when confirm_fully_enable is on and feature_removal_enabled is off (https://github.com/flippercloud/flipper/pull/680)
107
151
 
108
152
  ## 0.25.4
109
153
 
110
- * Added read_only UI config option (https://github.com/jnunemaker/flipper/pull/679)
154
+ * Added read_only UI config option (https://github.com/flippercloud/flipper/pull/679)
111
155
 
112
156
  ## 0.25.3
113
157
 
114
- * Added configurable confirm warning for fully enabling a feature (https://github.com/jnunemaker/flipper/pull/665)
115
- * Update rack protection to < 4 (https://github.com/jnunemaker/flipper/pull/675)
116
- * Check sadd_returns_boolean on the actual client class rather than ::Redis (https://github.com/jnunemaker/flipper/pull/677)
158
+ * Added configurable confirm warning for fully enabling a feature (https://github.com/flippercloud/flipper/pull/665)
159
+ * Update rack protection to < 4 (https://github.com/flippercloud/flipper/pull/675)
160
+ * Check sadd_returns_boolean on the actual client class rather than ::Redis (https://github.com/flippercloud/flipper/pull/677)
117
161
 
118
162
  ## 0.25.2
119
163
 
120
- * Fix deprecation warnings for Redis >= 4.8.0 (https://github.com/jnunemaker/flipper/pull/660)
164
+ * Fix deprecation warnings for Redis >= 4.8.0 (https://github.com/flippercloud/flipper/pull/660)
121
165
 
122
166
  ## 0.25.1
123
167
 
124
168
  ### Additions/Changes
125
169
 
126
- * ActiveRecord: use provided `gate_class` option when calling `#get_all` (https://github.com/jnunemaker/flipper/pull/647)
127
- * Relaxed the rack-protection version to support latest (https://github.com/jnunemaker/flipper/commit/f4a41c541ccf14c535a61c6bc6fe7eeabbfc7e71).
128
- * Configure ActiveRecord adapter immediately upon require of flipper-active_record (https://github.com/jnunemaker/flipper/pull/652)
170
+ * ActiveRecord: use provided `gate_class` option when calling `#get_all` (https://github.com/flippercloud/flipper/pull/647)
171
+ * Relaxed the rack-protection version to support latest (https://github.com/flippercloud/flipper/commit/f4a41c541ccf14c535a61c6bc6fe7eeabbfc7e71).
172
+ * Configure ActiveRecord adapter immediately upon require of flipper-active_record (https://github.com/flippercloud/flipper/pull/652)
129
173
 
130
174
  ## 0.25.0
131
175
 
132
176
  ### Additions/Changes
133
177
 
134
- * Added a prompt in Flipper UI for the 'Delete' button to prevent accidental delete of features (https://github.com/jnunemaker/flipper/pull/625)
135
- * Added failsafe adapter (https://github.com/jnunemaker/flipper/pull/626)
136
- * Removed previously deprecated options and settings. Those upgrading from `<0.21` should upgrade to `~>0.24` first and fix any deprecation warnings when initializing Flipper. (https://github.com/jnunemaker/flipper/pull/627)
137
- * ActiveRecord: base class for internal models (https://github.com/jnunemaker/flipper/pull/629)
138
- * Remove use of `Rack::BodyProxy` in the memoizer middleware (https://github.com/jnunemaker/flipper/pull/631)
178
+ * Added a prompt in Flipper UI for the 'Delete' button to prevent accidental delete of features (https://github.com/flippercloud/flipper/pull/625)
179
+ * Added failsafe adapter (https://github.com/flippercloud/flipper/pull/626)
180
+ * Removed previously deprecated options and settings. Those upgrading from `<0.21` should upgrade to `~>0.24` first and fix any deprecation warnings when initializing Flipper. (https://github.com/flippercloud/flipper/pull/627)
181
+ * ActiveRecord: base class for internal models (https://github.com/flippercloud/flipper/pull/629)
182
+ * Remove use of `Rack::BodyProxy` in the memoizer middleware (https://github.com/flippercloud/flipper/pull/631)
139
183
 
140
184
  ## 0.24.1
141
185
 
142
186
  ### Additions/Changes
143
187
 
144
- * flipper-api: `exclude_gates` parameter to exclude gate data in GETs (https://github.com/jnunemaker/flipper/pull/572).
145
- * Make it possible to disable internal memoization (https://github.com/jnunemaker/flipper/pull/612).
146
- * Add Flipper::Actor#hash so actors can be hash keys (https://github.com/jnunemaker/flipper/pull/616).
147
- * Pretty Up `rails routes` again and make rack-protection dependency less strict (https://github.com/jnunemaker/flipper/pull/619).
148
- * Add kwargs for method_missing using ruby 3.0 (https://github.com/jnunemaker/flipper/pull/620).
149
- * Relax the rack-protection dependency (https://github.com/jnunemaker/flipper/commit/c1cb9cd78140c2b09123687642558101e6e5d37d).
188
+ * flipper-api: `exclude_gates` parameter to exclude gate data in GETs (https://github.com/flippercloud/flipper/pull/572).
189
+ * Make it possible to disable internal memoization (https://github.com/flippercloud/flipper/pull/612).
190
+ * Add Flipper::Actor#hash so actors can be hash keys (https://github.com/flippercloud/flipper/pull/616).
191
+ * Pretty Up `rails routes` again and make rack-protection dependency less strict (https://github.com/flippercloud/flipper/pull/619).
192
+ * Add kwargs for method_missing using ruby 3.0 (https://github.com/flippercloud/flipper/pull/620).
193
+ * Relax the rack-protection dependency (https://github.com/flippercloud/flipper/commit/c1cb9cd78140c2b09123687642558101e6e5d37d).
150
194
 
151
195
  ## 0.24.0
152
196
 
153
197
  ### Additions/Changes
154
198
 
155
- * Add Ruby 3.0 and 3.1 to the CI matrix and fix groups block arity check for ruby 3 (https://github.com/jnunemaker/flipper/pull/601)
199
+ * Add Ruby 3.0 and 3.1 to the CI matrix and fix groups block arity check for ruby 3 (https://github.com/flippercloud/flipper/pull/601)
156
200
  * Removed support for Ruby 2.5 (which was end of line 9 months ago)
157
- * Add (alpha) client side instrumentation of events to cloud (https://github.com/jnunemaker/flipper/pull/602)
158
- * Fix deprecated uses of Redis#pipelined (https://github.com/jnunemaker/flipper/pull/603). redis-rb >= 3 now required.
159
- * Fix Flipper UI Rack application when `Rack::Session::Pool` is used to build it (https://github.com/jnunemaker/flipper/pull/606).
201
+ * Add (alpha) client side instrumentation of events to cloud (https://github.com/flippercloud/flipper/pull/602)
202
+ * Fix deprecated uses of Redis#pipelined (https://github.com/flippercloud/flipper/pull/603). redis-rb >= 3 now required.
203
+ * Fix Flipper UI Rack application when `Rack::Session::Pool` is used to build it (https://github.com/flippercloud/flipper/pull/606).
160
204
 
161
205
  ## 0.23.1
162
206
 
163
207
  ### Additions/Changes
164
208
 
165
- * Relax dalli version constraint (https://github.com/jnunemaker/flipper/pull/596)
209
+ * Relax dalli version constraint (https://github.com/flippercloud/flipper/pull/596)
166
210
 
167
211
  ### Bug Fixes
168
212
 
169
- * Fix railtie initialization to mount middleware after config/intializers/* (https://github.com/jnunemaker/flipper/pull/586)
213
+ * Fix railtie initialization to mount middleware after config/intializers/* (https://github.com/flippercloud/flipper/pull/586)
170
214
 
171
215
  ## 0.23.0
172
216
 
173
217
  ### Additions/Changes
174
218
 
175
- * Allow some HTML in banner and descriptions (https://github.com/jnunemaker/flipper/pull/570).
176
- * Moved some cloud headers to http client (https://github.com/jnunemaker/flipper/pull/567).
177
- * Update flipper-ui jquery and bootstrap versions (https://github.com/jnunemaker/flipper/issues/565 and https://github.com/jnunemaker/flipper/pull/566).
178
- * Moved docs to www.flippercloud.io/docs (https://github.com/jnunemaker/flipper/pull/574).
179
- * PStore adapter now defaults to thread safe and no longer supports `.thread_safe` (https://github.com/jnunemaker/flipper/commit/4048704fefe41b716015294a19a0b94546637630).
180
- * Add failover adapter (https://github.com/jnunemaker/flipper/pull/584).
181
- * Improve http adapter error message (https://github.com/jnunemaker/flipper/pull/587).
182
- * Rails 7 support (mostly in https://github.com/jnunemaker/flipper/pull/592).
219
+ * Allow some HTML in banner and descriptions (https://github.com/flippercloud/flipper/pull/570).
220
+ * Moved some cloud headers to http client (https://github.com/flippercloud/flipper/pull/567).
221
+ * Update flipper-ui jquery and bootstrap versions (https://github.com/flippercloud/flipper/issues/565 and https://github.com/flippercloud/flipper/pull/566).
222
+ * Moved docs to www.flippercloud.io/docs (https://github.com/flippercloud/flipper/pull/574).
223
+ * PStore adapter now defaults to thread safe and no longer supports `.thread_safe` (https://github.com/flippercloud/flipper/commit/4048704fefe41b716015294a19a0b94546637630).
224
+ * Add failover adapter (https://github.com/flippercloud/flipper/pull/584).
225
+ * Improve http adapter error message (https://github.com/flippercloud/flipper/pull/587).
226
+ * Rails 7 support (mostly in https://github.com/flippercloud/flipper/pull/592).
183
227
 
184
228
  ## 0.22.2
185
229
 
186
230
  ### Additions/Changes
187
231
 
188
- * Allow adding multiple actors at once in flipper-ui via comma separation (configurable via `Flipper::UI.configuration.actors_separator`) (https://github.com/jnunemaker/flipper/pull/556)
232
+ * Allow adding multiple actors at once in flipper-ui via comma separation (configurable via `Flipper::UI.configuration.actors_separator`) (https://github.com/flippercloud/flipper/pull/556)
189
233
 
190
234
  ### Bug Fixes
191
235
 
192
- * Fix railtie initialization to avoid altering middleware order (https://github.com/jnunemaker/flipper/pull/563)
236
+ * Fix railtie initialization to avoid altering middleware order (https://github.com/flippercloud/flipper/pull/563)
193
237
 
194
238
  ## 0.22.1
195
239
 
196
240
  ### Additions/Changes
197
241
 
198
- * Remove Octicons and replace with a pure CSS status circle (https://github.com/jnunemaker/flipper/pull/547)
199
- * Rescue unique errors in AR and Sequel when setting value (https://github.com/jnunemaker/flipper/commit/87f5a98bce7baad7a27b75b5bce3256967769f27)
200
- * Add a Content-Security-Policy to flipper-ui (https://github.com/jnunemaker/flipper/pull/552)
201
- * Fix Synchronizer issue that occurs for ActiveRecord adapter (https://github.com/jnunemaker/flipper/pull/554)
242
+ * Remove Octicons and replace with a pure CSS status circle (https://github.com/flippercloud/flipper/pull/547)
243
+ * Rescue unique errors in AR and Sequel when setting value (https://github.com/flippercloud/flipper/commit/87f5a98bce7baad7a27b75b5bce3256967769f27)
244
+ * Add a Content-Security-Policy to flipper-ui (https://github.com/flippercloud/flipper/pull/552)
245
+ * Fix Synchronizer issue that occurs for ActiveRecord adapter (https://github.com/flippercloud/flipper/pull/554)
202
246
 
203
247
  ## 0.22.0
204
248
 
205
249
  ### Additions/Changes
206
250
 
207
- * Enable log subscriber by default in Rails (https://github.com/jnunemaker/flipper/pull/525)
208
- * Remove memoizer from API and UI (https://github.com/jnunemaker/flipper/pull/527). If you are using the UI or API without configuring the default instance of Flipper, you'll need to enable memoization if you want it. For examples, see the examples/ui and examples/api directories.
209
- * Fix SQL reserved word use in get_all for ActiveRecord and Sequel (https://github.com/jnunemaker/flipper/pull/536).
210
- * Handle spaces in names gracefully in UI (https://github.com/jnunemaker/flipper/pull/541).
251
+ * Enable log subscriber by default in Rails (https://github.com/flippercloud/flipper/pull/525)
252
+ * Remove memoizer from API and UI (https://github.com/flippercloud/flipper/pull/527). If you are using the UI or API without configuring the default instance of Flipper, you'll need to enable memoization if you want it. For examples, see the examples/ui and examples/api directories.
253
+ * Fix SQL reserved word use in get_all for ActiveRecord and Sequel (https://github.com/flippercloud/flipper/pull/536).
254
+ * Handle spaces in names gracefully in UI (https://github.com/flippercloud/flipper/pull/541).
211
255
 
212
256
  ## 0.21.0
213
257
 
214
258
  ### Additions/Changes
215
259
 
216
- * Default to using memory adapter (https://github.com/jnunemaker/flipper/pull/501)
217
- * Adapters now configured on require when possible (https://github.com/jnunemaker/flipper/pull/502)
218
- * Added cloud recommendation to flipper-ui. Can be disabled with `Flipper::UI.configure { |config| config.cloud_recommendation = false }`. Just want to raise awareness that more is available if people want it (https://github.com/jnunemaker/flipper/pull/504)
219
- * Added default `flipper_id` implementation via `Flipper::Identifier` and automatically included it in ActiveRecord and Sequel models (https://github.com/jnunemaker/flipper/pull/505)
220
- * Deprecate superflous sync_method setting (https://github.com/jnunemaker/flipper/pull/511)
221
- * Flipper is now pre-configured when used with Rails. By default, it will [memoize and preload all features for each request](https://flippercloud.io/docs/optimization#memoization). (https://github.com/jnunemaker/flipper/pull/506)
260
+ * Default to using memory adapter (https://github.com/flippercloud/flipper/pull/501)
261
+ * Adapters now configured on require when possible (https://github.com/flippercloud/flipper/pull/502)
262
+ * Added cloud recommendation to flipper-ui. Can be disabled with `Flipper::UI.configure { |config| config.cloud_recommendation = false }`. Just want to raise awareness that more is available if people want it (https://github.com/flippercloud/flipper/pull/504)
263
+ * Added default `flipper_id` implementation via `Flipper::Identifier` and automatically included it in ActiveRecord and Sequel models (https://github.com/flippercloud/flipper/pull/505)
264
+ * Deprecate superflous sync_method setting (https://github.com/flippercloud/flipper/pull/511)
265
+ * Flipper is now pre-configured when used with Rails. By default, it will [memoize and preload all features for each request](https://flippercloud.io/docs/optimization#memoization). (https://github.com/flippercloud/flipper/pull/506)
222
266
 
223
267
  ### Upgrading
224
268
 
@@ -261,9 +305,9 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
261
305
 
262
306
  ### Additions/Changes
263
307
 
264
- * Allow actors and time gates to deal with decimal percentages (https://github.com/jnunemaker/flipper/pull/492)
308
+ * Allow actors and time gates to deal with decimal percentages (https://github.com/flippercloud/flipper/pull/492)
265
309
  * Change Flipper::Cloud::Middleware to receive webhooks at / in addition to /webhooks.
266
- * Add `write_through` option to ActiveSupportCacheStore adapter to support write-through caching (https://github.com/jnunemaker/flipper/pull/512)
310
+ * Add `write_through` option to ActiveSupportCacheStore adapter to support write-through caching (https://github.com/flippercloud/flipper/pull/512)
267
311
 
268
312
  ## 0.20.3
269
313
 
@@ -288,29 +332,29 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
288
332
 
289
333
  ### Additions/Changes
290
334
 
291
- * Add support for webhooks to `Flipper::Cloud` (https://github.com/jnunemaker/flipper/pull/489).
335
+ * Add support for webhooks to `Flipper::Cloud` (https://github.com/flippercloud/flipper/pull/489).
292
336
 
293
337
  ## 0.19.1
294
338
 
295
339
  ### Additions/Changes
296
340
 
297
- * Bump rack-protection version to < 2.2 (https://github.com/jnunemaker/flipper/pull/487)
298
- * Add memoizer_options to Flipper::Api.app (https://github.com/jnunemaker/flipper/commit/174ad4bb94046a25c432d3c53fe1ff9f5a76d838)
341
+ * Bump rack-protection version to < 2.2 (https://github.com/flippercloud/flipper/pull/487)
342
+ * Add memoizer_options to Flipper::Api.app (https://github.com/flippercloud/flipper/commit/174ad4bb94046a25c432d3c53fe1ff9f5a76d838)
299
343
 
300
344
  ## 0.19.0
301
345
 
302
346
  ### Additions/Changes
303
347
 
304
- * 100% of actors is now considered conditional. Feature#on?, Feature#conditional?, Feature#state would all be affected. See https://github.com/jnunemaker/flipper/issues/463 for more.
348
+ * 100% of actors is now considered conditional. Feature#on?, Feature#conditional?, Feature#state would all be affected. See https://github.com/flippercloud/flipper/issues/463 for more.
305
349
  * Several doc updates.
306
350
 
307
351
  ## 0.18.0
308
352
 
309
353
  ### Additions/Changes
310
354
 
311
- * Add support for feature descriptions to flipper-ui (https://github.com/jnunemaker/flipper/pull/461).
312
- * Remove rubocop (https://github.com/jnunemaker/flipper/pull/469).
313
- * flipper-ui redesign (https://github.com/jnunemaker/flipper/pull/470).
355
+ * Add support for feature descriptions to flipper-ui (https://github.com/flippercloud/flipper/pull/461).
356
+ * Remove rubocop (https://github.com/flippercloud/flipper/pull/469).
357
+ * flipper-ui redesign (https://github.com/flippercloud/flipper/pull/470).
314
358
  * Removed support for ruby 2.4.
315
359
  * Added support for ruby 2.7.
316
360
  * Removed support for Rails 4.x.x.
@@ -320,69 +364,69 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
320
364
 
321
365
  ### Additions/Changes
322
366
 
323
- * Avoid errors on import when there are no features and shared specs/tests for get all with no features (https://github.com/jnunemaker/flipper/pull/441 and https://github.com/jnunemaker/flipper/pull/442)
324
- * ::ActiveRecord::RecordNotUnique > ActiveRecord::RecordNotUnique (https://github.com/jnunemaker/flipper/pull/444)
325
- * Clear gate values on enable (https://github.com/jnunemaker/flipper/pull/454)
326
- * Remove use of multi from redis adapter (https://github.com/jnunemaker/flipper/pull/451)
367
+ * Avoid errors on import when there are no features and shared specs/tests for get all with no features (https://github.com/flippercloud/flipper/pull/441 and https://github.com/flippercloud/flipper/pull/442)
368
+ * ::ActiveRecord::RecordNotUnique > ActiveRecord::RecordNotUnique (https://github.com/flippercloud/flipper/pull/444)
369
+ * Clear gate values on enable (https://github.com/flippercloud/flipper/pull/454)
370
+ * Remove use of multi from redis adapter (https://github.com/flippercloud/flipper/pull/451)
327
371
 
328
372
  ## 0.17.1
329
373
 
330
- * Fix require in flipper-active_record (https://github.com/jnunemaker/flipper/pull/437)
374
+ * Fix require in flipper-active_record (https://github.com/flippercloud/flipper/pull/437)
331
375
 
332
376
  ## 0.17.0
333
377
 
334
378
  ### Additions/Changes
335
379
 
336
- * Allow shorthand block notation on group types (https://github.com/jnunemaker/flipper/pull/406)
337
- * Relax active record/support constraints to support Rails 6 (https://github.com/jnunemaker/flipper/pull/409)
338
- * Allow disabling fun (https://github.com/jnunemaker/flipper/pull/413)
339
- * Include thing_value in payload of Instrumented#enable and #disable (https://github.com/jnunemaker/flipper/pull/417)
340
- * Replace Erubis with Erubi (https://github.com/jnunemaker/flipper/pull/407)
341
- * Allow customizing Rack::Protection middleware list (https://github.com/jnunemaker/flipper/pull/385)
342
- * Allow setting write_timeout for ruby 2.6+ (https://github.com/jnunemaker/flipper/pull/433)
343
- * Drop support for Ruby 2.1, 2.2, and 2.3 (https://github.com/jnunemaker/flipper/commit/cf58982e70de5e6963b018ceced4f36a275f5b5d)
344
- * Add support for Ruby 2.6 (https://github.com/jnunemaker/flipper/commit/57888311449ec81184d3d47ba9ae5cb1ad4a2f45)
345
- * Remove support for Rails 3.2 (https://github.com/jnunemaker/flipper/commit/177c48c4edf51d4e411e7c673e30e06d1c66fb40)
346
- * Add write_timeout for flipper http adapter for ruby 2.6+ (https://github.com/jnunemaker/flipper/pull/433)
347
- * Relax moneta version to allow for < 1.2 (https://github.com/jnunemaker/flipper/pull/434).
348
- * Improve active record idempotency (https://github.com/jnunemaker/flipper/pull/436).
349
- * Allow customizing add actor placeholder text (https://github.com/jnunemaker/flipper/commit/5faa1e9cf66b68f8227d2f8408fb448a14676c45)
380
+ * Allow shorthand block notation on group types (https://github.com/flippercloud/flipper/pull/406)
381
+ * Relax active record/support constraints to support Rails 6 (https://github.com/flippercloud/flipper/pull/409)
382
+ * Allow disabling fun (https://github.com/flippercloud/flipper/pull/413)
383
+ * Include thing_value in payload of Instrumented#enable and #disable (https://github.com/flippercloud/flipper/pull/417)
384
+ * Replace Erubis with Erubi (https://github.com/flippercloud/flipper/pull/407)
385
+ * Allow customizing Rack::Protection middleware list (https://github.com/flippercloud/flipper/pull/385)
386
+ * Allow setting write_timeout for ruby 2.6+ (https://github.com/flippercloud/flipper/pull/433)
387
+ * Drop support for Ruby 2.1, 2.2, and 2.3 (https://github.com/flippercloud/flipper/commit/cf58982e70de5e6963b018ceced4f36a275f5b5d)
388
+ * Add support for Ruby 2.6 (https://github.com/flippercloud/flipper/commit/57888311449ec81184d3d47ba9ae5cb1ad4a2f45)
389
+ * Remove support for Rails 3.2 (https://github.com/flippercloud/flipper/commit/177c48c4edf51d4e411e7c673e30e06d1c66fb40)
390
+ * Add write_timeout for flipper http adapter for ruby 2.6+ (https://github.com/flippercloud/flipper/pull/433)
391
+ * Relax moneta version to allow for < 1.2 (https://github.com/flippercloud/flipper/pull/434).
392
+ * Improve active record idempotency (https://github.com/flippercloud/flipper/pull/436).
393
+ * Allow customizing add actor placeholder text (https://github.com/flippercloud/flipper/commit/5faa1e9cf66b68f8227d2f8408fb448a14676c45)
350
394
 
351
395
  ## 0.16.2
352
396
 
353
397
  ### Additions/Changes
354
398
 
355
- * Bump rollout redis dependency to < 5 (https://github.com/jnunemaker/flipper/pull/403)
356
- * Bump redis dependency to < 5 (https://github.com/jnunemaker/flipper/pull/401)
357
- * Bump sequel dependency to < 6 (https://github.com/jnunemaker/flipper/pull/399 and https://github.com/jnunemaker/flipper/commit/edc767e69b4ce8daead9801f38e0e8bf6b238765)
399
+ * Bump rollout redis dependency to < 5 (https://github.com/flippercloud/flipper/pull/403)
400
+ * Bump redis dependency to < 5 (https://github.com/flippercloud/flipper/pull/401)
401
+ * Bump sequel dependency to < 6 (https://github.com/flippercloud/flipper/pull/399 and https://github.com/flippercloud/flipper/commit/edc767e69b4ce8daead9801f38e0e8bf6b238765)
358
402
 
359
403
  ## 0.16.1
360
404
 
361
405
  ### Additions/Changes
362
406
 
363
- * Add actors API endpoint (https://github.com/jnunemaker/flipper/pull/372).
364
- * Fix rack body proxy require for those using flipper without rack (https://github.com/jnunemaker/flipper/pull/376).
365
- * Unescapes feature_name in FeatureNameFromRoute (https://github.com/jnunemaker/flipper/pull/377).
366
- * Replace delete_all with destroy_all in ActiveRecord adapter (https://github.com/jnunemaker/flipper/pull/395)
367
- * Target correct bootstrap breakpoints in flipper UI (https://github.com/jnunemaker/flipper/pull/396)
407
+ * Add actors API endpoint (https://github.com/flippercloud/flipper/pull/372).
408
+ * Fix rack body proxy require for those using flipper without rack (https://github.com/flippercloud/flipper/pull/376).
409
+ * Unescapes feature_name in FeatureNameFromRoute (https://github.com/flippercloud/flipper/pull/377).
410
+ * Replace delete_all with destroy_all in ActiveRecord adapter (https://github.com/flippercloud/flipper/pull/395)
411
+ * Target correct bootstrap breakpoints in flipper UI (https://github.com/flippercloud/flipper/pull/396)
368
412
 
369
413
  ## 0.16.0
370
414
 
371
415
  ### Bug Fixes
372
416
 
373
- * Support slashes in feature names (https://github.com/jnunemaker/flipper/pull/362).
417
+ * Support slashes in feature names (https://github.com/flippercloud/flipper/pull/362).
374
418
 
375
419
  ### Additions/Changes
376
420
 
377
- * Re-order gates for improved performance in some cases (https://github.com/jnunemaker/flipper/pull/370).
378
- * Add Feature#exist?, DSL#exist? and Flipper#exist? (https://github.com/jnunemaker/flipper/pull/371).
421
+ * Re-order gates for improved performance in some cases (https://github.com/flippercloud/flipper/pull/370).
422
+ * Add Feature#exist?, DSL#exist? and Flipper#exist? (https://github.com/flippercloud/flipper/pull/371).
379
423
 
380
424
  ## 0.15.0
381
425
 
382
- * Move Flipper::UI configuration options to Flipper::UI::Configuration (https://github.com/jnunemaker/flipper/pull/345).
383
- * Bug fix in adapter synchronizing and switched DSL#import to use Synchronizer (https://github.com/jnunemaker/flipper/pull/347).
384
- * Fix AR adapter table name prefix/suffix bug (https://github.com/jnunemaker/flipper/pull/350).
385
- * Allow feature names to end with "features" in UI (https://github.com/jnunemaker/flipper/pull/353).
426
+ * Move Flipper::UI configuration options to Flipper::UI::Configuration (https://github.com/flippercloud/flipper/pull/345).
427
+ * Bug fix in adapter synchronizing and switched DSL#import to use Synchronizer (https://github.com/flippercloud/flipper/pull/347).
428
+ * Fix AR adapter table name prefix/suffix bug (https://github.com/flippercloud/flipper/pull/350).
429
+ * Allow feature names to end with "features" in UI (https://github.com/flippercloud/flipper/pull/353).
386
430
 
387
431
  ## 0.14.0
388
432
 
@@ -392,79 +436,79 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
392
436
 
393
437
  ### Additions/Changes
394
438
 
395
- * Update PStore adapter to allow setting thread_safe option (https://github.com/jnunemaker/flipper/pull/334).
396
- * Update Flipper::UI to Bootstrap 4 (https://github.com/jnunemaker/flipper/pull/336).
397
- * Add Flipper::UI configuration to add a banner with customizeable text and background color (https://github.com/jnunemaker/flipper/pull/337).
398
- * Add sync adapter (https://github.com/jnunemaker/flipper/pull/341).
399
- * Make cloud use sync adapter (https://github.com/jnunemaker/flipper/pull/342). This makes local flipper operations resilient to cloud failures.
439
+ * Update PStore adapter to allow setting thread_safe option (https://github.com/flippercloud/flipper/pull/334).
440
+ * Update Flipper::UI to Bootstrap 4 (https://github.com/flippercloud/flipper/pull/336).
441
+ * Add Flipper::UI configuration to add a banner with customizeable text and background color (https://github.com/flippercloud/flipper/pull/337).
442
+ * Add sync adapter (https://github.com/flippercloud/flipper/pull/341).
443
+ * Make cloud use sync adapter (https://github.com/flippercloud/flipper/pull/342). This makes local flipper operations resilient to cloud failures.
400
444
 
401
445
  ## 0.12.2
402
446
 
403
447
  ### Additions/Changes
404
448
 
405
- * Improvements/fixes/examples for rollout adapter (https://github.com/jnunemaker/flipper/pull/332).
449
+ * Improvements/fixes/examples for rollout adapter (https://github.com/flippercloud/flipper/pull/332).
406
450
 
407
451
  ## 0.12.1
408
452
 
409
453
  ### Additions/Changes
410
454
 
411
- * Added rollout adapter documentation (https://github.com/jnunemaker/flipper/pull/328).
455
+ * Added rollout adapter documentation (https://github.com/flippercloud/flipper/pull/328).
412
456
 
413
457
  ### Bug Fixes
414
458
 
415
- * Fixed ActiveRecord and Sequel adapters to include disabled features for `get_all` (https://github.com/jnunemaker/flipper/pull/327).
459
+ * Fixed ActiveRecord and Sequel adapters to include disabled features for `get_all` (https://github.com/flippercloud/flipper/pull/327).
416
460
 
417
461
  ## 0.12
418
462
 
419
463
  ### Additions/Changes
420
464
 
421
- * Added Flipper.instance= writer method for explicitly setting the default instance (https://github.com/jnunemaker/flipper/pull/309).
422
- * Added Flipper::UI configuration instance for changing text and things (https://github.com/jnunemaker/flipper/pull/306).
423
- * Delegate memoize= and memoizing? for Flipper and Flipper::DSL (https://github.com/jnunemaker/flipper/pull/310).
424
- * Fixed error when enabling the same group or actor more than once (https://github.com/jnunemaker/flipper/pull/313).
425
- * Fixed redis cache adapter key (and thus cache misses) (https://github.com/jnunemaker/flipper/pull/325).
426
- * Added Rollout adapter to make it easy to import rollout data into Flipper (https://github.com/jnunemaker/flipper/pull/319).
427
- * Relaxed redis gem dependency constraint to allow redis-rb 4 (https://github.com/jnunemaker/flipper/pull/317).
428
- * Added configuration option for Flipper::UI to disable feature removal (https://github.com/jnunemaker/flipper/pull/322).
465
+ * Added Flipper.instance= writer method for explicitly setting the default instance (https://github.com/flippercloud/flipper/pull/309).
466
+ * Added Flipper::UI configuration instance for changing text and things (https://github.com/flippercloud/flipper/pull/306).
467
+ * Delegate memoize= and memoizing? for Flipper and Flipper::DSL (https://github.com/flippercloud/flipper/pull/310).
468
+ * Fixed error when enabling the same group or actor more than once (https://github.com/flippercloud/flipper/pull/313).
469
+ * Fixed redis cache adapter key (and thus cache misses) (https://github.com/flippercloud/flipper/pull/325).
470
+ * Added Rollout adapter to make it easy to import rollout data into Flipper (https://github.com/flippercloud/flipper/pull/319).
471
+ * Relaxed redis gem dependency constraint to allow redis-rb 4 (https://github.com/flippercloud/flipper/pull/317).
472
+ * Added configuration option for Flipper::UI to disable feature removal (https://github.com/flippercloud/flipper/pull/322).
429
473
 
430
474
  ## 0.11
431
475
 
432
476
  ### Backwards Compatibility Breaks
433
477
 
434
- * Set flipper from env for API and UI (https://github.com/jnunemaker/flipper/pull/223 and https://github.com/jnunemaker/flipper/pull/229). It is documented, but now the memoizing middleware requires that the SetupEnv middleware is used first, unless you are configuring a Flipper default instance.
435
- * Drop support for Ruby 2.0 as it is end of lined (https://github.com/jnunemaker/flipper/commit/c2c81ed89938155ce91acb5173ac38580f630e3d).
436
- * Allow unregistered groups (https://github.com/jnunemaker/flipper/pull/244). Only break in compatibility is that previously unregistered groups could not be enabled and now they can be.
437
- * Removed support for metriks (https://github.com/jnunemaker/flipper/pull/291).
478
+ * Set flipper from env for API and UI (https://github.com/flippercloud/flipper/pull/223 and https://github.com/flippercloud/flipper/pull/229). It is documented, but now the memoizing middleware requires that the SetupEnv middleware is used first, unless you are configuring a Flipper default instance.
479
+ * Drop support for Ruby 2.0 as it is end of lined (https://github.com/flippercloud/flipper/commit/c2c81ed89938155ce91acb5173ac38580f630e3d).
480
+ * Allow unregistered groups (https://github.com/flippercloud/flipper/pull/244). Only break in compatibility is that previously unregistered groups could not be enabled and now they can be.
481
+ * Removed support for metriks (https://github.com/flippercloud/flipper/pull/291).
438
482
 
439
483
  ### Additions/Changes
440
484
 
441
- * Use primary keys with sequel adapter (https://github.com/jnunemaker/flipper/pull/210). Should be backwards compatible, but if you want it to work this way you will need to migrate your database to the new schema.
442
- * Add redis cache adapter (https://github.com/jnunemaker/flipper/pull/211).
485
+ * Use primary keys with sequel adapter (https://github.com/flippercloud/flipper/pull/210). Should be backwards compatible, but if you want it to work this way you will need to migrate your database to the new schema.
486
+ * Add redis cache adapter (https://github.com/flippercloud/flipper/pull/211).
443
487
  * Finish API and HTTP adapter that speaks to API.
444
- * Add flipper cloud adapter (https://github.com/jnunemaker/flipper/pull/249). Nothing to see here yet, but good stuff soon. ;)
445
- * Add importing (https://github.com/jnunemaker/flipper/pull/251).
446
- * Added Adapter#get_all to allow for more efficient preload_all (https://github.com/jnunemaker/flipper/pull/255).
488
+ * Add flipper cloud adapter (https://github.com/flippercloud/flipper/pull/249). Nothing to see here yet, but good stuff soon. ;)
489
+ * Add importing (https://github.com/flippercloud/flipper/pull/251).
490
+ * Added Adapter#get_all to allow for more efficient preload_all (https://github.com/flippercloud/flipper/pull/255).
447
491
  * Added :unless option to Flipper::Middleware::Memoizer to allow skipping memoization and preloading for certain requests.
448
- * Made it possible to instrument Flipper::Cloud (https://github.com/jnunemaker/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
449
- * Made it possible to wrap Http adapter when using Flipper::Cloud (https://github.com/jnunemaker/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
450
- * Instrument get_multi in instrumented adapter (https://github.com/jnunemaker/flipper/commit/951d25c5ce07d3b56b0b2337adf5f6bcbe4050e7).
451
- * Allow instrumenting Flipper::Cloud http adapter (https://github.com/jnunemaker/flipper/pull/253).
452
- * Add DSL#preload_all and Adapter#get_all to allow for making even more efficient loading of features (https://github.com/jnunemaker/flipper/pull/255).
453
- * Allow setting debug output of http adapter (https://github.com/jnunemaker/flipper/pull/256 and https://github.com/jnunemaker/flipper/pull/258).
454
- * Allow setting env key for middleware (https://github.com/jnunemaker/flipper/pull/259).
455
- * Added ActiveSupport cache store adapter for use with Rails.cache (https://github.com/jnunemaker/flipper/pull/265 and https://github.com/jnunemaker/flipper/pull/297).
456
- * Added support for up to 3 decimal places in percentage based rollouts (https://github.com/jnunemaker/flipper/pull/274).
457
- * Removed Flipper::GroupNotRegistered error as it is now unused (https://github.com/jnunemaker/flipper/pull/270).
458
- * Added get_all to all adapters (https://github.com/jnunemaker/flipper/pull/298).
459
- * Added support for Rails 5.1 (https://github.com/jnunemaker/flipper/pull/299).
460
- * Added Flipper default instance generation (https://github.com/jnunemaker/flipper/pull/279).
492
+ * Made it possible to instrument Flipper::Cloud (https://github.com/flippercloud/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
493
+ * Made it possible to wrap Http adapter when using Flipper::Cloud (https://github.com/flippercloud/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
494
+ * Instrument get_multi in instrumented adapter (https://github.com/flippercloud/flipper/commit/951d25c5ce07d3b56b0b2337adf5f6bcbe4050e7).
495
+ * Allow instrumenting Flipper::Cloud http adapter (https://github.com/flippercloud/flipper/pull/253).
496
+ * Add DSL#preload_all and Adapter#get_all to allow for making even more efficient loading of features (https://github.com/flippercloud/flipper/pull/255).
497
+ * Allow setting debug output of http adapter (https://github.com/flippercloud/flipper/pull/256 and https://github.com/flippercloud/flipper/pull/258).
498
+ * Allow setting env key for middleware (https://github.com/flippercloud/flipper/pull/259).
499
+ * Added ActiveSupport cache store adapter for use with Rails.cache (https://github.com/flippercloud/flipper/pull/265 and https://github.com/flippercloud/flipper/pull/297).
500
+ * Added support for up to 3 decimal places in percentage based rollouts (https://github.com/flippercloud/flipper/pull/274).
501
+ * Removed Flipper::GroupNotRegistered error as it is now unused (https://github.com/flippercloud/flipper/pull/270).
502
+ * Added get_all to all adapters (https://github.com/flippercloud/flipper/pull/298).
503
+ * Added support for Rails 5.1 (https://github.com/flippercloud/flipper/pull/299).
504
+ * Added Flipper default instance generation (https://github.com/flippercloud/flipper/pull/279).
461
505
 
462
506
  ## 0.10.2
463
507
 
464
- * Add Adapter#get_multi to allow for efficient loading of more than one feature at a time (https://github.com/jnunemaker/flipper/pull/198)
465
- * Add DSL#preload for efficiently loading several features at once using get_mutli (https://github.com/jnunemaker/flipper/pull/198)
466
- * Add :preload and :preload_all options to memoizer as a way of efficiently loading several features for a request in one network call instead of N where N is the number of features checked (https://github.com/jnunemaker/flipper/pull/198)
467
- * Strip whitespace out of feature/actor/group values posted by UI (https://github.com/jnunemaker/flipper/pull/205)
508
+ * Add Adapter#get_multi to allow for efficient loading of more than one feature at a time (https://github.com/flippercloud/flipper/pull/198)
509
+ * Add DSL#preload for efficiently loading several features at once using get_mutli (https://github.com/flippercloud/flipper/pull/198)
510
+ * Add :preload and :preload_all options to memoizer as a way of efficiently loading several features for a request in one network call instead of N where N is the number of features checked (https://github.com/flippercloud/flipper/pull/198)
511
+ * Strip whitespace out of feature/actor/group values posted by UI (https://github.com/flippercloud/flipper/pull/205)
468
512
  * Fix bug with dalli adapter where deleting a feature using the UI or API was not clearing the cache in the dalli adapter which meant the feature would continue to use whatever cached enabled state was present until the TTL was hit (1cd96f6)
469
513
  * Change cache keys for dalli adapter. Backwards compatible in that it will just repopulate new keys on first check with this version, but old keys are not expired, so if you used the default ttl of 0, you'll have to expire them on your own. The primary reason for the change was safer namespacing of the cache keys to avoid collisions.
470
514
 
@@ -476,15 +520,15 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
476
520
 
477
521
  ## 0.10.0
478
522
 
479
- * Added feature check context (https://github.com/jnunemaker/flipper/pull/158)
480
- * Do not use mass assignment for active record adapter (https://github.com/jnunemaker/flipper/pull/171)
523
+ * Added feature check context (https://github.com/flippercloud/flipper/pull/158)
524
+ * Do not use mass assignment for active record adapter (https://github.com/flippercloud/flipper/pull/171)
481
525
  * Several documentation improvements
482
- * Make Flipper::UI.app.inspect return a String (https://github.com/jnunemaker/flipper/pull/176)
483
- * changes boolean gate route to api/v1/features/boolean (https://github.com/jnunemaker/flipper/pull/175)
484
- * add api v1 percentage_of_actors endpoint (https://github.com/jnunemaker/flipper/pull/179)
485
- * add api v1 percentage_of_time endpoint (https://github.com/jnunemaker/flipper/pull/180)
486
- * add api v1 actors gate endpoint (https://github.com/jnunemaker/flipper/pull/181)
487
- * wait for activesupport to tell us when active record is loaded for active record adapter (https://github.com/jnunemaker/flipper/pull/192)
526
+ * Make Flipper::UI.app.inspect return a String (https://github.com/flippercloud/flipper/pull/176)
527
+ * changes boolean gate route to api/v1/features/boolean (https://github.com/flippercloud/flipper/pull/175)
528
+ * add api v1 percentage_of_actors endpoint (https://github.com/flippercloud/flipper/pull/179)
529
+ * add api v1 percentage_of_time endpoint (https://github.com/flippercloud/flipper/pull/180)
530
+ * add api v1 actors gate endpoint (https://github.com/flippercloud/flipper/pull/181)
531
+ * wait for activesupport to tell us when active record is loaded for active record adapter (https://github.com/flippercloud/flipper/pull/192)
488
532
 
489
533
  ## 0.9.2
490
534
 
@@ -502,19 +546,19 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
502
546
  * Moves SharedAdapterTests module to Flipper::Test::SharedAdapterTests to avoid clobbering anything top level in apps that use Flipper
503
547
  * Memoizable, Instrumented and OperationLogger now delegate any missing methods to the original adapter. This was lost with the removal of the official decorator in 0.8, but is actually useful functionality for these "wrapping" adapters.
504
548
  * Instrumenting adapters is now off by default. Use Flipper::Adapters::Instrumented.new(adapter) to instrument adapters and maintain the old functionality.
505
- * Added dalli cache adapter (https://github.com/jnunemaker/flipper/pull/132)
549
+ * Added dalli cache adapter (https://github.com/flippercloud/flipper/pull/132)
506
550
 
507
551
  ## 0.8
508
552
 
509
553
  * removed Flipper::Decorator and Flipper::Adapters::Decorator in favor of just calling methods on wrapped adapter
510
- * fix bug where certain versions of AR left off quotes for key column which caused issues with MySQL https://github.com/jnunemaker/flipper/issues/120
511
- * fix bug where AR would store multiple gate values for percentage gates for each enable/disable and then nondeterministically pick one on read (https://github.com/jnunemaker/flipper/pull/122 and https://github.com/jnunemaker/flipper/pull/124)
512
- * added readonly adapter (https://github.com/jnunemaker/flipper/pull/111)
513
- * flipper groups now match for truthy values rather than explicitly only true (https://github.com/jnunemaker/flipper/issues/110)
514
- * removed gate operation instrumentation (https://github.com/jnunemaker/flipper/commit/32f14ed1fb25c64961b23c6be3dc6773143a06c8); I don't think it was useful and never found myself instrumenting it in reality
554
+ * fix bug where certain versions of AR left off quotes for key column which caused issues with MySQL https://github.com/flippercloud/flipper/issues/120
555
+ * fix bug where AR would store multiple gate values for percentage gates for each enable/disable and then nondeterministically pick one on read (https://github.com/flippercloud/flipper/pull/122 and https://github.com/flippercloud/flipper/pull/124)
556
+ * added readonly adapter (https://github.com/flippercloud/flipper/pull/111)
557
+ * flipper groups now match for truthy values rather than explicitly only true (https://github.com/flippercloud/flipper/issues/110)
558
+ * removed gate operation instrumentation (https://github.com/flippercloud/flipper/commit/32f14ed1fb25c64961b23c6be3dc6773143a06c8); I don't think it was useful and never found myself instrumenting it in reality
515
559
  * initial implementation of flipper api - very limited functionality right now (get/delete feature, boolean gate for feature) but more is on the way
516
- * made it easy to remove a feature (https://github.com/jnunemaker/flipper/pull/126)
517
- * add minitest shared tests for adapters that work the same as the shared specs for rspec (https://github.com/jnunemaker/flipper/pull/127)
560
+ * made it easy to remove a feature (https://github.com/flippercloud/flipper/pull/126)
561
+ * add minitest shared tests for adapters that work the same as the shared specs for rspec (https://github.com/flippercloud/flipper/pull/127)
518
562
 
519
563
  ## 0.7.5
520
564
 
@@ -536,7 +580,7 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
536
580
 
537
581
  ## 0.7.1
538
582
 
539
- * Fix bug where features with names that match static file routes were incorrectly routing to the file action (https://github.com/jnunemaker/flipper/issues/80)
583
+ * Fix bug where features with names that match static file routes were incorrectly routing to the file action (https://github.com/flippercloud/flipper/issues/80)
540
584
 
541
585
  ## 0.7
542
586