flipper 0.26.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/ci.yml +19 -13
  4. data/.github/workflows/examples.yml +32 -15
  5. data/Changelog.md +294 -154
  6. data/Gemfile +15 -10
  7. data/README.md +13 -11
  8. data/benchmark/enabled_ips.rb +10 -0
  9. data/benchmark/enabled_multiple_actors_ips.rb +20 -0
  10. data/benchmark/enabled_profile.rb +20 -0
  11. data/benchmark/instrumentation_ips.rb +21 -0
  12. data/benchmark/typecast_ips.rb +27 -0
  13. data/docs/images/flipper_cloud.png +0 -0
  14. data/examples/api/basic.ru +3 -4
  15. data/examples/api/custom_memoized.ru +3 -4
  16. data/examples/api/memoized.ru +3 -4
  17. data/examples/cloud/app.ru +12 -0
  18. data/examples/cloud/backoff_policy.rb +13 -0
  19. data/examples/cloud/basic.rb +22 -0
  20. data/examples/cloud/cloud_setup.rb +20 -0
  21. data/examples/cloud/forked.rb +36 -0
  22. data/examples/cloud/import.rb +17 -0
  23. data/examples/cloud/threaded.rb +33 -0
  24. data/examples/dsl.rb +1 -15
  25. data/examples/enabled_for_actor.rb +4 -2
  26. data/examples/expressions.rb +213 -0
  27. data/examples/mirroring.rb +59 -0
  28. data/examples/strict.rb +18 -0
  29. data/flipper-cloud.gemspec +19 -0
  30. data/flipper.gemspec +3 -5
  31. data/lib/flipper/actor.rb +6 -3
  32. data/lib/flipper/adapter.rb +33 -7
  33. data/lib/flipper/adapter_builder.rb +44 -0
  34. data/lib/flipper/adapters/dual_write.rb +1 -3
  35. data/lib/flipper/adapters/failover.rb +0 -4
  36. data/lib/flipper/adapters/failsafe.rb +0 -4
  37. data/lib/flipper/adapters/http/client.rb +26 -7
  38. data/lib/flipper/adapters/http/error.rb +1 -1
  39. data/lib/flipper/adapters/http.rb +29 -16
  40. data/lib/flipper/adapters/instrumented.rb +25 -6
  41. data/lib/flipper/adapters/memoizable.rb +33 -21
  42. data/lib/flipper/adapters/memory.rb +81 -46
  43. data/lib/flipper/adapters/operation_logger.rb +16 -7
  44. data/lib/flipper/adapters/poll/poller.rb +2 -125
  45. data/lib/flipper/adapters/poll.rb +5 -3
  46. data/lib/flipper/adapters/pstore.rb +17 -11
  47. data/lib/flipper/adapters/read_only.rb +4 -4
  48. data/lib/flipper/adapters/strict.rb +47 -0
  49. data/lib/flipper/adapters/sync/feature_synchronizer.rb +10 -1
  50. data/lib/flipper/adapters/sync.rb +0 -4
  51. data/lib/flipper/cloud/configuration.rb +258 -0
  52. data/lib/flipper/cloud/dsl.rb +27 -0
  53. data/lib/flipper/cloud/message_verifier.rb +95 -0
  54. data/lib/flipper/cloud/middleware.rb +63 -0
  55. data/lib/flipper/cloud/routes.rb +14 -0
  56. data/lib/flipper/cloud/telemetry/backoff_policy.rb +93 -0
  57. data/lib/flipper/cloud/telemetry/instrumenter.rb +26 -0
  58. data/lib/flipper/cloud/telemetry/metric.rb +39 -0
  59. data/lib/flipper/cloud/telemetry/metric_storage.rb +30 -0
  60. data/lib/flipper/cloud/telemetry/submitter.rb +98 -0
  61. data/lib/flipper/cloud/telemetry.rb +183 -0
  62. data/lib/flipper/cloud.rb +53 -0
  63. data/lib/flipper/configuration.rb +25 -4
  64. data/lib/flipper/dsl.rb +46 -45
  65. data/lib/flipper/engine.rb +88 -0
  66. data/lib/flipper/errors.rb +3 -3
  67. data/lib/flipper/export.rb +26 -0
  68. data/lib/flipper/exporter.rb +17 -0
  69. data/lib/flipper/exporters/json/export.rb +32 -0
  70. data/lib/flipper/exporters/json/v1.rb +33 -0
  71. data/lib/flipper/expression/builder.rb +73 -0
  72. data/lib/flipper/expression/constant.rb +25 -0
  73. data/lib/flipper/expression.rb +71 -0
  74. data/lib/flipper/expressions/all.rb +11 -0
  75. data/lib/flipper/expressions/any.rb +9 -0
  76. data/lib/flipper/expressions/boolean.rb +9 -0
  77. data/lib/flipper/expressions/comparable.rb +13 -0
  78. data/lib/flipper/expressions/duration.rb +28 -0
  79. data/lib/flipper/expressions/equal.rb +9 -0
  80. data/lib/flipper/expressions/greater_than.rb +9 -0
  81. data/lib/flipper/expressions/greater_than_or_equal_to.rb +9 -0
  82. data/lib/flipper/expressions/less_than.rb +9 -0
  83. data/lib/flipper/expressions/less_than_or_equal_to.rb +9 -0
  84. data/lib/flipper/expressions/not_equal.rb +9 -0
  85. data/lib/flipper/expressions/now.rb +9 -0
  86. data/lib/flipper/expressions/number.rb +9 -0
  87. data/lib/flipper/expressions/percentage.rb +9 -0
  88. data/lib/flipper/expressions/percentage_of_actors.rb +12 -0
  89. data/lib/flipper/expressions/property.rb +9 -0
  90. data/lib/flipper/expressions/random.rb +9 -0
  91. data/lib/flipper/expressions/string.rb +9 -0
  92. data/lib/flipper/expressions/time.rb +9 -0
  93. data/lib/flipper/feature.rb +87 -26
  94. data/lib/flipper/feature_check_context.rb +10 -6
  95. data/lib/flipper/gate.rb +13 -11
  96. data/lib/flipper/gate_values.rb +5 -18
  97. data/lib/flipper/gates/actor.rb +10 -17
  98. data/lib/flipper/gates/boolean.rb +1 -1
  99. data/lib/flipper/gates/expression.rb +75 -0
  100. data/lib/flipper/gates/group.rb +5 -7
  101. data/lib/flipper/gates/percentage_of_actors.rb +10 -13
  102. data/lib/flipper/gates/percentage_of_time.rb +1 -2
  103. data/lib/flipper/identifier.rb +2 -2
  104. data/lib/flipper/instrumentation/log_subscriber.rb +24 -5
  105. data/lib/flipper/instrumentation/statsd_subscriber.rb +2 -4
  106. data/lib/flipper/instrumentation/subscriber.rb +8 -1
  107. data/lib/flipper/metadata.rb +5 -1
  108. data/lib/flipper/middleware/memoizer.rb +30 -14
  109. data/lib/flipper/poller.rb +117 -0
  110. data/lib/flipper/serializers/gzip.rb +24 -0
  111. data/lib/flipper/serializers/json.rb +19 -0
  112. data/lib/flipper/spec/shared_adapter_specs.rb +95 -54
  113. data/lib/flipper/test/shared_adapter_test.rb +91 -48
  114. data/lib/flipper/typecast.rb +56 -15
  115. data/lib/flipper/types/actor.rb +13 -13
  116. data/lib/flipper/types/group.rb +4 -4
  117. data/lib/flipper/types/percentage.rb +1 -1
  118. data/lib/flipper/version.rb +1 -1
  119. data/lib/flipper.rb +47 -10
  120. data/spec/fixtures/flipper_pstore_1679087600.json +46 -0
  121. data/spec/flipper/adapter_builder_spec.rb +73 -0
  122. data/spec/flipper/adapter_spec.rb +30 -2
  123. data/spec/flipper/adapters/dual_write_spec.rb +2 -2
  124. data/spec/flipper/adapters/http_spec.rb +64 -8
  125. data/spec/flipper/adapters/instrumented_spec.rb +29 -11
  126. data/spec/flipper/adapters/memoizable_spec.rb +51 -31
  127. data/spec/flipper/adapters/memory_spec.rb +14 -3
  128. data/spec/flipper/adapters/operation_logger_spec.rb +31 -12
  129. data/spec/flipper/adapters/read_only_spec.rb +32 -17
  130. data/spec/flipper/adapters/strict_spec.rb +62 -0
  131. data/spec/flipper/adapters/sync/feature_synchronizer_spec.rb +27 -0
  132. data/spec/flipper/cloud/configuration_spec.rb +252 -0
  133. data/spec/flipper/cloud/dsl_spec.rb +82 -0
  134. data/spec/flipper/cloud/message_verifier_spec.rb +104 -0
  135. data/spec/flipper/cloud/middleware_spec.rb +289 -0
  136. data/spec/flipper/cloud/telemetry/backoff_policy_spec.rb +108 -0
  137. data/spec/flipper/cloud/telemetry/metric_spec.rb +87 -0
  138. data/spec/flipper/cloud/telemetry/metric_storage_spec.rb +58 -0
  139. data/spec/flipper/cloud/telemetry/submitter_spec.rb +145 -0
  140. data/spec/flipper/cloud/telemetry_spec.rb +156 -0
  141. data/spec/flipper/cloud_spec.rb +180 -0
  142. data/spec/flipper/configuration_spec.rb +17 -0
  143. data/spec/flipper/dsl_spec.rb +54 -73
  144. data/spec/flipper/engine_spec.rb +291 -0
  145. data/spec/flipper/export_spec.rb +13 -0
  146. data/spec/flipper/exporter_spec.rb +16 -0
  147. data/spec/flipper/exporters/json/export_spec.rb +60 -0
  148. data/spec/flipper/exporters/json/v1_spec.rb +33 -0
  149. data/spec/flipper/expression/builder_spec.rb +248 -0
  150. data/spec/flipper/expression_spec.rb +188 -0
  151. data/spec/flipper/expressions/all_spec.rb +15 -0
  152. data/spec/flipper/expressions/any_spec.rb +15 -0
  153. data/spec/flipper/expressions/boolean_spec.rb +15 -0
  154. data/spec/flipper/expressions/duration_spec.rb +43 -0
  155. data/spec/flipper/expressions/equal_spec.rb +24 -0
  156. data/spec/flipper/expressions/greater_than_or_equal_to_spec.rb +28 -0
  157. data/spec/flipper/expressions/greater_than_spec.rb +28 -0
  158. data/spec/flipper/expressions/less_than_or_equal_to_spec.rb +28 -0
  159. data/spec/flipper/expressions/less_than_spec.rb +32 -0
  160. data/spec/flipper/expressions/not_equal_spec.rb +15 -0
  161. data/spec/flipper/expressions/now_spec.rb +11 -0
  162. data/spec/flipper/expressions/number_spec.rb +21 -0
  163. data/spec/flipper/expressions/percentage_of_actors_spec.rb +20 -0
  164. data/spec/flipper/expressions/percentage_spec.rb +15 -0
  165. data/spec/flipper/expressions/property_spec.rb +13 -0
  166. data/spec/flipper/expressions/random_spec.rb +9 -0
  167. data/spec/flipper/expressions/string_spec.rb +11 -0
  168. data/spec/flipper/expressions/time_spec.rb +13 -0
  169. data/spec/flipper/feature_check_context_spec.rb +17 -17
  170. data/spec/flipper/feature_spec.rb +436 -33
  171. data/spec/flipper/gate_values_spec.rb +2 -33
  172. data/spec/flipper/gates/boolean_spec.rb +1 -1
  173. data/spec/flipper/gates/expression_spec.rb +108 -0
  174. data/spec/flipper/gates/group_spec.rb +2 -3
  175. data/spec/flipper/gates/percentage_of_actors_spec.rb +61 -5
  176. data/spec/flipper/gates/percentage_of_time_spec.rb +2 -2
  177. data/spec/flipper/identifier_spec.rb +4 -5
  178. data/spec/flipper/instrumentation/log_subscriber_spec.rb +15 -5
  179. data/spec/flipper/instrumentation/statsd_subscriber_spec.rb +25 -1
  180. data/spec/flipper/middleware/memoizer_spec.rb +67 -0
  181. data/spec/flipper/poller_spec.rb +47 -0
  182. data/spec/flipper/serializers/gzip_spec.rb +13 -0
  183. data/spec/flipper/serializers/json_spec.rb +13 -0
  184. data/spec/flipper/typecast_spec.rb +121 -6
  185. data/spec/flipper/types/actor_spec.rb +63 -46
  186. data/spec/flipper/types/group_spec.rb +2 -2
  187. data/spec/flipper_integration_spec.rb +168 -58
  188. data/spec/flipper_spec.rb +92 -28
  189. data/spec/spec_helper.rb +6 -13
  190. data/spec/support/actor_names.yml +1 -0
  191. data/spec/support/climate_control.rb +7 -0
  192. data/spec/support/fake_backoff_policy.rb +15 -0
  193. data/spec/support/skippable.rb +18 -0
  194. data/spec/support/spec_helpers.rb +11 -3
  195. metadata +166 -13
  196. data/.github/workflows/release.yml +0 -44
  197. data/.tool-versions +0 -1
  198. data/lib/flipper/railtie.rb +0 -47
  199. data/spec/flipper/railtie_spec.rb +0 -109
data/Changelog.md CHANGED
@@ -2,127 +2,267 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## Unreleased
6
+
7
+ ### Additions/Changes
8
+
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)
53
+ ```diff
54
+ # Gemfile
55
+ gem 'flipper'
56
+ - gem 'flipper-cloud'
57
+ ```
58
+
59
+ ### Breaking Changes
60
+
61
+ * Removed `bool`, `actors`, `time`, `actor`, `percentage_of_actors`, and `percentage_of_time` methods on `Flipper` and `Flipper::DSL`. They are rarely if ever used and conflict with some upcoming features. If you are using them, you can migrate via a search and replace like so:
62
+ * Change `Flipper.bool` => `Flipper::Types::Boolean.new`
63
+ * Change `Flipper.boolean` => `Flipper::Types::Boolean.new`
64
+ * Change `Flipper.actor` => `Flipper::Types::Actor.new`
65
+ * Change `Flipper.percentage_of_actors` => `Flipper::Types::PercentageOfActors.new`
66
+ * Change `Flipper.actors` => `Flipper::Types::PercentageOfActors.new`
67
+ * Change `Flipper.percentage_of_time` => `Flipper::Types::PercentageOfTime.new`
68
+ * Change `Flipper.time` => `Flipper::Types::PercentageOfTime.new`
69
+
70
+ ## 0.28.3
71
+
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)
73
+
74
+ ## 0.28.2
75
+
76
+ ### Additions/Changes
77
+
78
+ * UI: fix path to bundled assets when mounted in another Rack app (https://github.com/flippercloud/flipper/pull/742)
79
+
80
+ ## 0.28.1
81
+
82
+ ### Additions/Changes
83
+
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)
86
+
87
+ ## 0.28.0
88
+
89
+ ### Additions/Changes
90
+
91
+ * Allow multiple actors for Flipper.enabled?. Improves performance of feature flags for multiple actors and simplifies code for users of flipper. This likely breaks things for anyone using Flipper internal classes related to actors, but that isn't likely you so you should be fine.
92
+ ```diff
93
+ - [user, user.team, user.org].any? { |actor| Flipper.enabled?(:my_feature, actor) }
94
+ + Flipper.enabled?(:my_feature, user, user.team, user.org)
95
+ ```
96
+ * If you currently use `actor.thing` in a group, you'll need to change it to `actor.actor`.
97
+ ```diff
98
+ - Flipper.register(:our_group) do |actor|
99
+ - actor.thing.is_a?(OurClassName)
100
+ - end
101
+ + Flipper.register(:our_group) do |actor|
102
+ + actor.actor.is_a?(OurClassName)
103
+ + end
104
+ ```
105
+ * If you currently use `context.thing` in a group or elsewhere, you'll need to change it to `context.actors`.
106
+ ```diff
107
+ - Flipper.register(:our_group) do |actor, context|
108
+ - context.thing.is_a?(OurClassName)
109
+ - end
110
+ + Flipper.register(:our_group) do |actor, context|
111
+ + context.actors.any? { |actor| actor.is_a?(OurClassName) }
112
+ + end
113
+ ```
114
+
115
+ ### Deprecations
116
+
117
+ * `:thing` in `enabled?` instrumentation payload. Use `:actors` instead.
118
+ ```diff
119
+ ActiveSupport::Notifications.subscribe('enabled?.feature_operation.flipper') do |name, start, finish, id, payload|
120
+ - payload[:thing]
121
+ + payload[:actors]
122
+ end
123
+ ```
124
+
125
+ ## 0.27.1
126
+
127
+ * Quick fix for missing require of "flipper/version" that was causing issues with some flipper-ui people.
128
+
129
+ ## 0.27.0
130
+
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.
132
+
133
+ ## 0.26.2
134
+
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).
136
+
137
+ ## 0.26.1
138
+
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)
144
+
5
145
  ## 0.26.0
6
146
 
7
- * Cloud Background Polling (https://github.com/jnunemaker/flipper/pull/682)
147
+ * Cloud Background Polling (https://github.com/flippercloud/flipper/pull/682)
8
148
  * Changed default branch from master to main
9
- * Allow configuring railtie via ENV vars (https://github.com/jnunemaker/flipper/pull/681)
10
- * 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)
11
151
 
12
152
  ## 0.25.4
13
153
 
14
- * 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)
15
155
 
16
156
  ## 0.25.3
17
157
 
18
- * Added configurable confirm warning for fully enabling a feature (https://github.com/jnunemaker/flipper/pull/665)
19
- * Update rack protection to < 4 (https://github.com/jnunemaker/flipper/pull/675)
20
- * 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)
21
161
 
22
162
  ## 0.25.2
23
163
 
24
- * 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)
25
165
 
26
166
  ## 0.25.1
27
167
 
28
168
  ### Additions/Changes
29
169
 
30
- * ActiveRecord: use provided `gate_class` option when calling `#get_all` (https://github.com/jnunemaker/flipper/pull/647)
31
- * Relaxed the rack-protection version to support latest (https://github.com/jnunemaker/flipper/commit/f4a41c541ccf14c535a61c6bc6fe7eeabbfc7e71).
32
- * 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)
33
173
 
34
174
  ## 0.25.0
35
175
 
36
176
  ### Additions/Changes
37
177
 
38
- * Added a prompt in Flipper UI for the 'Delete' button to prevent accidental delete of features (https://github.com/jnunemaker/flipper/pull/625)
39
- * Added failsafe adapter (https://github.com/jnunemaker/flipper/pull/626)
40
- * 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)
41
- * ActiveRecord: base class for internal models (https://github.com/jnunemaker/flipper/pull/629)
42
- * 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)
43
183
 
44
184
  ## 0.24.1
45
185
 
46
186
  ### Additions/Changes
47
187
 
48
- * flipper-api: `exclude_gates` parameter to exclude gate data in GETs (https://github.com/jnunemaker/flipper/pull/572).
49
- * Make it possible to disable internal memoization (https://github.com/jnunemaker/flipper/pull/612).
50
- * Add Flipper::Actor#hash so actors can be hash keys (https://github.com/jnunemaker/flipper/pull/616).
51
- * Pretty Up `rails routes` again and make rack-protection dependency less strict (https://github.com/jnunemaker/flipper/pull/619).
52
- * Add kwargs for method_missing using ruby 3.0 (https://github.com/jnunemaker/flipper/pull/620).
53
- * 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).
54
194
 
55
195
  ## 0.24.0
56
196
 
57
197
  ### Additions/Changes
58
198
 
59
- * 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)
60
200
  * Removed support for Ruby 2.5 (which was end of line 9 months ago)
61
- * Add (alpha) client side instrumentation of events to cloud (https://github.com/jnunemaker/flipper/pull/602)
62
- * Fix deprecated uses of Redis#pipelined (https://github.com/jnunemaker/flipper/pull/603). redis-rb >= 3 now required.
63
- * 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).
64
204
 
65
205
  ## 0.23.1
66
206
 
67
207
  ### Additions/Changes
68
208
 
69
- * Relax dalli version constraint (https://github.com/jnunemaker/flipper/pull/596)
209
+ * Relax dalli version constraint (https://github.com/flippercloud/flipper/pull/596)
70
210
 
71
211
  ### Bug Fixes
72
212
 
73
- * 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)
74
214
 
75
215
  ## 0.23.0
76
216
 
77
217
  ### Additions/Changes
78
218
 
79
- * Allow some HTML in banner and descriptions (https://github.com/jnunemaker/flipper/pull/570).
80
- * Moved some cloud headers to http client (https://github.com/jnunemaker/flipper/pull/567).
81
- * Update flipper-ui jquery and bootstrap versions (https://github.com/jnunemaker/flipper/issues/565 and https://github.com/jnunemaker/flipper/pull/566).
82
- * Moved docs to www.flippercloud.io/docs (https://github.com/jnunemaker/flipper/pull/574).
83
- * PStore adapter now defaults to thread safe and no longer supports `.thread_safe` (https://github.com/jnunemaker/flipper/commit/4048704fefe41b716015294a19a0b94546637630).
84
- * Add failover adapter (https://github.com/jnunemaker/flipper/pull/584).
85
- * Improve http adapter error message (https://github.com/jnunemaker/flipper/pull/587).
86
- * 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).
87
227
 
88
228
  ## 0.22.2
89
229
 
90
230
  ### Additions/Changes
91
231
 
92
- * 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)
93
233
 
94
234
  ### Bug Fixes
95
235
 
96
- * 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)
97
237
 
98
238
  ## 0.22.1
99
239
 
100
240
  ### Additions/Changes
101
241
 
102
- * Remove Octicons and replace with a pure CSS status circle (https://github.com/jnunemaker/flipper/pull/547)
103
- * Rescue unique errors in AR and Sequel when setting value (https://github.com/jnunemaker/flipper/commit/87f5a98bce7baad7a27b75b5bce3256967769f27)
104
- * Add a Content-Security-Policy to flipper-ui (https://github.com/jnunemaker/flipper/pull/552)
105
- * 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)
106
246
 
107
247
  ## 0.22.0
108
248
 
109
249
  ### Additions/Changes
110
250
 
111
- * Enable log subscriber by default in Rails (https://github.com/jnunemaker/flipper/pull/525)
112
- * 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.
113
- * Fix SQL reserved word use in get_all for ActiveRecord and Sequel (https://github.com/jnunemaker/flipper/pull/536).
114
- * 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).
115
255
 
116
256
  ## 0.21.0
117
257
 
118
258
  ### Additions/Changes
119
259
 
120
- * Default to using memory adapter (https://github.com/jnunemaker/flipper/pull/501)
121
- * Adapters now configured on require when possible (https://github.com/jnunemaker/flipper/pull/502)
122
- * 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)
123
- * Added default `flipper_id` implementation via `Flipper::Identifier` and automatically included it in ActiveRecord and Sequel models (https://github.com/jnunemaker/flipper/pull/505)
124
- * Deprecate superflous sync_method setting (https://github.com/jnunemaker/flipper/pull/511)
125
- * 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)
126
266
 
127
267
  ### Upgrading
128
268
 
@@ -165,9 +305,9 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
165
305
 
166
306
  ### Additions/Changes
167
307
 
168
- * 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)
169
309
  * Change Flipper::Cloud::Middleware to receive webhooks at / in addition to /webhooks.
170
- * 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)
171
311
 
172
312
  ## 0.20.3
173
313
 
@@ -192,29 +332,29 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
192
332
 
193
333
  ### Additions/Changes
194
334
 
195
- * 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).
196
336
 
197
337
  ## 0.19.1
198
338
 
199
339
  ### Additions/Changes
200
340
 
201
- * Bump rack-protection version to < 2.2 (https://github.com/jnunemaker/flipper/pull/487)
202
- * 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)
203
343
 
204
344
  ## 0.19.0
205
345
 
206
346
  ### Additions/Changes
207
347
 
208
- * 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.
209
349
  * Several doc updates.
210
350
 
211
351
  ## 0.18.0
212
352
 
213
353
  ### Additions/Changes
214
354
 
215
- * Add support for feature descriptions to flipper-ui (https://github.com/jnunemaker/flipper/pull/461).
216
- * Remove rubocop (https://github.com/jnunemaker/flipper/pull/469).
217
- * 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).
218
358
  * Removed support for ruby 2.4.
219
359
  * Added support for ruby 2.7.
220
360
  * Removed support for Rails 4.x.x.
@@ -224,69 +364,69 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
224
364
 
225
365
  ### Additions/Changes
226
366
 
227
- * 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)
228
- * ::ActiveRecord::RecordNotUnique > ActiveRecord::RecordNotUnique (https://github.com/jnunemaker/flipper/pull/444)
229
- * Clear gate values on enable (https://github.com/jnunemaker/flipper/pull/454)
230
- * 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)
231
371
 
232
372
  ## 0.17.1
233
373
 
234
- * 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)
235
375
 
236
376
  ## 0.17.0
237
377
 
238
378
  ### Additions/Changes
239
379
 
240
- * Allow shorthand block notation on group types (https://github.com/jnunemaker/flipper/pull/406)
241
- * Relax active record/support constraints to support Rails 6 (https://github.com/jnunemaker/flipper/pull/409)
242
- * Allow disabling fun (https://github.com/jnunemaker/flipper/pull/413)
243
- * Include thing_value in payload of Instrumented#enable and #disable (https://github.com/jnunemaker/flipper/pull/417)
244
- * Replace Erubis with Erubi (https://github.com/jnunemaker/flipper/pull/407)
245
- * Allow customizing Rack::Protection middleware list (https://github.com/jnunemaker/flipper/pull/385)
246
- * Allow setting write_timeout for ruby 2.6+ (https://github.com/jnunemaker/flipper/pull/433)
247
- * Drop support for Ruby 2.1, 2.2, and 2.3 (https://github.com/jnunemaker/flipper/commit/cf58982e70de5e6963b018ceced4f36a275f5b5d)
248
- * Add support for Ruby 2.6 (https://github.com/jnunemaker/flipper/commit/57888311449ec81184d3d47ba9ae5cb1ad4a2f45)
249
- * Remove support for Rails 3.2 (https://github.com/jnunemaker/flipper/commit/177c48c4edf51d4e411e7c673e30e06d1c66fb40)
250
- * Add write_timeout for flipper http adapter for ruby 2.6+ (https://github.com/jnunemaker/flipper/pull/433)
251
- * Relax moneta version to allow for < 1.2 (https://github.com/jnunemaker/flipper/pull/434).
252
- * Improve active record idempotency (https://github.com/jnunemaker/flipper/pull/436).
253
- * 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)
254
394
 
255
395
  ## 0.16.2
256
396
 
257
397
  ### Additions/Changes
258
398
 
259
- * Bump rollout redis dependency to < 5 (https://github.com/jnunemaker/flipper/pull/403)
260
- * Bump redis dependency to < 5 (https://github.com/jnunemaker/flipper/pull/401)
261
- * 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)
262
402
 
263
403
  ## 0.16.1
264
404
 
265
405
  ### Additions/Changes
266
406
 
267
- * Add actors API endpoint (https://github.com/jnunemaker/flipper/pull/372).
268
- * Fix rack body proxy require for those using flipper without rack (https://github.com/jnunemaker/flipper/pull/376).
269
- * Unescapes feature_name in FeatureNameFromRoute (https://github.com/jnunemaker/flipper/pull/377).
270
- * Replace delete_all with destroy_all in ActiveRecord adapter (https://github.com/jnunemaker/flipper/pull/395)
271
- * 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)
272
412
 
273
413
  ## 0.16.0
274
414
 
275
415
  ### Bug Fixes
276
416
 
277
- * 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).
278
418
 
279
419
  ### Additions/Changes
280
420
 
281
- * Re-order gates for improved performance in some cases (https://github.com/jnunemaker/flipper/pull/370).
282
- * 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).
283
423
 
284
424
  ## 0.15.0
285
425
 
286
- * Move Flipper::UI configuration options to Flipper::UI::Configuration (https://github.com/jnunemaker/flipper/pull/345).
287
- * Bug fix in adapter synchronizing and switched DSL#import to use Synchronizer (https://github.com/jnunemaker/flipper/pull/347).
288
- * Fix AR adapter table name prefix/suffix bug (https://github.com/jnunemaker/flipper/pull/350).
289
- * 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).
290
430
 
291
431
  ## 0.14.0
292
432
 
@@ -296,79 +436,79 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
296
436
 
297
437
  ### Additions/Changes
298
438
 
299
- * Update PStore adapter to allow setting thread_safe option (https://github.com/jnunemaker/flipper/pull/334).
300
- * Update Flipper::UI to Bootstrap 4 (https://github.com/jnunemaker/flipper/pull/336).
301
- * Add Flipper::UI configuration to add a banner with customizeable text and background color (https://github.com/jnunemaker/flipper/pull/337).
302
- * Add sync adapter (https://github.com/jnunemaker/flipper/pull/341).
303
- * 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.
304
444
 
305
445
  ## 0.12.2
306
446
 
307
447
  ### Additions/Changes
308
448
 
309
- * 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).
310
450
 
311
451
  ## 0.12.1
312
452
 
313
453
  ### Additions/Changes
314
454
 
315
- * Added rollout adapter documentation (https://github.com/jnunemaker/flipper/pull/328).
455
+ * Added rollout adapter documentation (https://github.com/flippercloud/flipper/pull/328).
316
456
 
317
457
  ### Bug Fixes
318
458
 
319
- * 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).
320
460
 
321
461
  ## 0.12
322
462
 
323
463
  ### Additions/Changes
324
464
 
325
- * Added Flipper.instance= writer method for explicitly setting the default instance (https://github.com/jnunemaker/flipper/pull/309).
326
- * Added Flipper::UI configuration instance for changing text and things (https://github.com/jnunemaker/flipper/pull/306).
327
- * Delegate memoize= and memoizing? for Flipper and Flipper::DSL (https://github.com/jnunemaker/flipper/pull/310).
328
- * Fixed error when enabling the same group or actor more than once (https://github.com/jnunemaker/flipper/pull/313).
329
- * Fixed redis cache adapter key (and thus cache misses) (https://github.com/jnunemaker/flipper/pull/325).
330
- * Added Rollout adapter to make it easy to import rollout data into Flipper (https://github.com/jnunemaker/flipper/pull/319).
331
- * Relaxed redis gem dependency constraint to allow redis-rb 4 (https://github.com/jnunemaker/flipper/pull/317).
332
- * 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).
333
473
 
334
474
  ## 0.11
335
475
 
336
476
  ### Backwards Compatibility Breaks
337
477
 
338
- * 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.
339
- * Drop support for Ruby 2.0 as it is end of lined (https://github.com/jnunemaker/flipper/commit/c2c81ed89938155ce91acb5173ac38580f630e3d).
340
- * 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.
341
- * 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).
342
482
 
343
483
  ### Additions/Changes
344
484
 
345
- * 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.
346
- * 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).
347
487
  * Finish API and HTTP adapter that speaks to API.
348
- * Add flipper cloud adapter (https://github.com/jnunemaker/flipper/pull/249). Nothing to see here yet, but good stuff soon. ;)
349
- * Add importing (https://github.com/jnunemaker/flipper/pull/251).
350
- * 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).
351
491
  * Added :unless option to Flipper::Middleware::Memoizer to allow skipping memoization and preloading for certain requests.
352
- * Made it possible to instrument Flipper::Cloud (https://github.com/jnunemaker/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
353
- * Made it possible to wrap Http adapter when using Flipper::Cloud (https://github.com/jnunemaker/flipper/commit/4b10e4d807772202f63881f5e2c00d11ac58481f).
354
- * Instrument get_multi in instrumented adapter (https://github.com/jnunemaker/flipper/commit/951d25c5ce07d3b56b0b2337adf5f6bcbe4050e7).
355
- * Allow instrumenting Flipper::Cloud http adapter (https://github.com/jnunemaker/flipper/pull/253).
356
- * 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).
357
- * Allow setting debug output of http adapter (https://github.com/jnunemaker/flipper/pull/256 and https://github.com/jnunemaker/flipper/pull/258).
358
- * Allow setting env key for middleware (https://github.com/jnunemaker/flipper/pull/259).
359
- * 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).
360
- * Added support for up to 3 decimal places in percentage based rollouts (https://github.com/jnunemaker/flipper/pull/274).
361
- * Removed Flipper::GroupNotRegistered error as it is now unused (https://github.com/jnunemaker/flipper/pull/270).
362
- * Added get_all to all adapters (https://github.com/jnunemaker/flipper/pull/298).
363
- * Added support for Rails 5.1 (https://github.com/jnunemaker/flipper/pull/299).
364
- * 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).
365
505
 
366
506
  ## 0.10.2
367
507
 
368
- * Add Adapter#get_multi to allow for efficient loading of more than one feature at a time (https://github.com/jnunemaker/flipper/pull/198)
369
- * Add DSL#preload for efficiently loading several features at once using get_mutli (https://github.com/jnunemaker/flipper/pull/198)
370
- * 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)
371
- * 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)
372
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)
373
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.
374
514
 
@@ -380,15 +520,15 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
380
520
 
381
521
  ## 0.10.0
382
522
 
383
- * Added feature check context (https://github.com/jnunemaker/flipper/pull/158)
384
- * 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)
385
525
  * Several documentation improvements
386
- * Make Flipper::UI.app.inspect return a String (https://github.com/jnunemaker/flipper/pull/176)
387
- * changes boolean gate route to api/v1/features/boolean (https://github.com/jnunemaker/flipper/pull/175)
388
- * add api v1 percentage_of_actors endpoint (https://github.com/jnunemaker/flipper/pull/179)
389
- * add api v1 percentage_of_time endpoint (https://github.com/jnunemaker/flipper/pull/180)
390
- * add api v1 actors gate endpoint (https://github.com/jnunemaker/flipper/pull/181)
391
- * 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)
392
532
 
393
533
  ## 0.9.2
394
534
 
@@ -406,19 +546,19 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
406
546
  * Moves SharedAdapterTests module to Flipper::Test::SharedAdapterTests to avoid clobbering anything top level in apps that use Flipper
407
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.
408
548
  * Instrumenting adapters is now off by default. Use Flipper::Adapters::Instrumented.new(adapter) to instrument adapters and maintain the old functionality.
409
- * Added dalli cache adapter (https://github.com/jnunemaker/flipper/pull/132)
549
+ * Added dalli cache adapter (https://github.com/flippercloud/flipper/pull/132)
410
550
 
411
551
  ## 0.8
412
552
 
413
553
  * removed Flipper::Decorator and Flipper::Adapters::Decorator in favor of just calling methods on wrapped adapter
414
- * 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
415
- * 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)
416
- * added readonly adapter (https://github.com/jnunemaker/flipper/pull/111)
417
- * flipper groups now match for truthy values rather than explicitly only true (https://github.com/jnunemaker/flipper/issues/110)
418
- * 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
419
559
  * initial implementation of flipper api - very limited functionality right now (get/delete feature, boolean gate for feature) but more is on the way
420
- * made it easy to remove a feature (https://github.com/jnunemaker/flipper/pull/126)
421
- * 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)
422
562
 
423
563
  ## 0.7.5
424
564
 
@@ -440,7 +580,7 @@ You should be able to upgrade to 0.21 without any breaking changes. However, if
440
580
 
441
581
  ## 0.7.1
442
582
 
443
- * 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)
444
584
 
445
585
  ## 0.7
446
586