Changelog History
Page 1
-
v0.25.0 Changes
โ Additions/Changes
- โ Added a prompt in Flipper UI for the 'Delete' button to prevent accidental delete of features (https://github.com/jnunemaker/flipper/pull/625)
- โ Added failsafe adapter (https://github.com/jnunemaker/flipper/pull/626)
- โ 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) - ActiveRecord: base class for internal models (https://github.com/jnunemaker/flipper/pull/629)
- โ Remove use of
Rack::BodyProxy
in the memoizer middleware (https://github.com/jnunemaker/flipper/pull/631)
-
v0.24.1 Changes
โ Additions/Changes
- flipper-api:
exclude_gates
parameter to exclude gate data in GETs (https://github.com/jnunemaker/flipper/pull/572). - ๐ Make it possible to disable internal memoization (https://github.com/jnunemaker/flipper/pull/612).
- โ Add Flipper::Actor#hash so actors can be hash keys (https://github.com/jnunemaker/flipper/pull/616).
- ๐
Pretty Up
rails routes
again and make rack-protection dependency less strict (https://github.com/jnunemaker/flipper/pull/619). - โ Add kwargs for method_missing using ruby 3.0 (https://github.com/jnunemaker/flipper/pull/620).
- ๐ Relax the rack-protection dependency (https://github.com/jnunemaker/flipper/commit/c1cb9cd78140c2b09123687642558101e6e5d37d).
- flipper-api:
-
v0.24.0 Changes
โ Additions/Changes
- โ 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)
- โ Removed support for Ruby 2.5 (which was end of line 9 months ago)
- โ Add (alpha) client side instrumentation of events to cloud (https://github.com/jnunemaker/flipper/pull/602)
- ๐ Fix deprecated uses of Redis#pipelined (https://github.com/jnunemaker/flipper/pull/603). redis-rb >= 3 now required.
- ๐ Fix Flipper UI Rack application when
Rack::Session::Pool
is used to build it (https://github.com/jnunemaker/flipper/pull/606).
-
v0.23.1 Changes
โ Additions/Changes
- ๐ Relax dalli version constraint (https://github.com/jnunemaker/flipper/pull/596)
๐ Bug Fixes
- ๐ Fix railtie initialization to mount middleware after config/intializers/* (https://github.com/jnunemaker/flipper/pull/586)
-
v0.23.0 Changes
โ Additions/Changes
- ๐ Allow some HTML in banner and descriptions (https://github.com/jnunemaker/flipper/pull/570).
- ๐ Moved some cloud headers to http client (https://github.com/jnunemaker/flipper/pull/567).
- โก๏ธ Update flipper-ui jquery and bootstrap versions (https://github.com/jnunemaker/flipper/issues/565 and https://github.com/jnunemaker/flipper/pull/566).
- ๐ Moved docs to www.flippercloud.io/docs (https://github.com/jnunemaker/flipper/pull/574).
- 0๏ธโฃ PStore adapter now defaults to thread safe and no longer supports
.thread_safe
(https://github.com/jnunemaker/flipper/commit/4048704fefe41b716015294a19a0b94546637630). - โ Add failover adapter (https://github.com/jnunemaker/flipper/pull/584).
- ๐ Improve http adapter error message (https://github.com/jnunemaker/flipper/pull/587).
- ๐ Rails 7 support (mostly in https://github.com/jnunemaker/flipper/pull/592).
-
v0.22.2 Changes
โ Additions/Changes
- ๐ 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)
๐ Bug Fixes
- ๐ Fix railtie initialization to avoid altering middleware order (https://github.com/jnunemaker/flipper/pull/563)
- ๐ Allow adding multiple actors at once in flipper-ui via comma separation (configurable via
-
v0.22.1 Changes
โ Additions/Changes
- โ Remove Octicons and replace with a pure CSS status circle (https://github.com/jnunemaker/flipper/pull/547)
- Rescue unique errors in AR and Sequel when setting value (https://github.com/jnunemaker/flipper/commit/87f5a98bce7baad7a27b75b5bce3256967769f27)
- โ Add a Content-Security-Policy to flipper-ui (https://github.com/jnunemaker/flipper/pull/552)
- ๐ Fix Synchronizer issue that occurs for ActiveRecord adapter (https://github.com/jnunemaker/flipper/pull/554)
-
v0.22.0 Changes
โ Additions/Changes
- 0๏ธโฃ Enable log subscriber by default in Rails (https://github.com/jnunemaker/flipper/pull/525)
- โ 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.
- ๐ Fix SQL reserved word use in get_all for ActiveRecord and Sequel (https://github.com/jnunemaker/flipper/pull/536).
- ๐ป Handle spaces in names gracefully in UI (https://github.com/jnunemaker/flipper/pull/541).
-
v0.21.0 Changes
โ Additions/Changes
- 0๏ธโฃ Default to using memory adapter (https://github.com/jnunemaker/flipper/pull/501)
- ๐ง Adapters now configured on require when possible (https://github.com/jnunemaker/flipper/pull/502)
- โ 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) - โ Added default
flipper_id
implementation viaFlipper::Identifier
and automatically included it in ActiveRecord and Sequel models (https://github.com/jnunemaker/flipper/pull/505) - ๐ Deprecate superflous sync_method setting (https://github.com/jnunemaker/flipper/pull/511)
- ๐ง Flipper is now pre-configured when used with Rails. By default, it will memoize and preload all features for each request. (https://github.com/jnunemaker/flipper/pull/506)
โฌ๏ธ Upgrading
โฌ๏ธ You should be able to upgrade to 0.21 without any breaking changes. However, if you want to simplify your setup, you can remove some configuration that is now handled automatically:
๐ง 1. Adapters are configured when on require, so unless you are using caching or other customizations, you can remove adapter configuration.
```diff # config/initializers/flipper.rb - Flipper.configure do |config| - config.default { Flipper.new(Flipper::Adapters::ActiveRecord.new) } - end ```
Flipper::Middleware::Memoizer
will be enabled by default -- including preloading. Note: You may want to disable preloading (see below) if you have > 100 features.# config/initializers/flipper.rb - Rails.configuration.middleware.use Flipper::Middleware::Memoizer, - preload: [:stats, :search, :some_feature] + Rails.application.configure do + # Uncomment to configure which features to preload on all requests + # config.flipper.preload = [:stats, :search, :some_feature] + # + # Or, you may want to disable preloading entirely: + # config.flipper.preload = false + end
๐ 3.
#flipper_id
, which is used to enable features for specific actors, is now defined by [Flipper::Identifier](lib/flipper/identifier.rb) on all ActiveRecord and Sequel models. You can remove your implementation if it is in the form ofModelName;id
.0๏ธโฃ 4. When using
flipper-cloud
, TheFlipper::Cloud.app
webhook receiver is now mounted at/_flipper
by default.```diff # config/routes.rb - mount Flipper::Cloud.app, at: "/_flipper" ```
-
v0.20.4 Changes
โ Additions/Changes
- ๐ Allow actors and time gates to deal with decimal percentages (https://github.com/jnunemaker/flipper/pull/492)
- ๐ Change Flipper::Cloud::Middleware to receive webhooks at / in addition to /webhooks.
- โ Add
write_through
option to ActiveSupportCacheStore adapter to support write-through caching (https://github.com/jnunemaker/flipper/pull/512)