Flipper 1.2.0

Hey there fellow feature flipper, we hope you had a happy holidays! Our team had some downtime, some time with friends and family, some time on the slopes, and even some time to hack on some fun projects. What more could we ask for? I guess we could have gone without a few rounds of sickness, but then would it really be the holidays?

We are excited about where Flipper is going in 2024, and we're starting the year off with a fresh gem release that brings you a Flipper CLI and some testing improvements, among a handful of small improvements.

Flip features from your terminal

Flipper 1.2 is sporting a snazzy new command line interface (CLI) that allows you to inspect and flip features for your current environment from your terminal.

 $ flipper list showing features in my personal development environment on Flipper Cloud

You can now enable or disable specific features:

$ flipper disable can disable a feature

Ask any command for help, and it'll guide you through getting the options right:

Use $ flipper help or --help to get more info

For example, we can enable a feature for the a group, % of actors, and a specific actor:

Use $ flipper enable to toggle a feature on

And of course you can call $ flipper enable multiple times to update the feature.

Testing Improvements

We have integrated the recommended testing setup, so now Flipper will default to using the Memory adapter when running your Rails test or RSpec suite (#808), and should JustWork™ with system tests.

You can always reconfigure Flipper to your liking in your test or spec helper if you need something custom:

# test/test_helper.rb or spec/rails_helper.rb
Flipper.configure do |config|
  # config.adapter { YourTestAdapter.new }
end

If you need to disable loading Flipper's default test helpers, you can also do that:

Rails.application.configure do
  config.flipper.test_help = false
end

Deprecated Ruby and Rails versions

Ruby 2.6/2.7 and Rails 5.2/6.0 are all EOL and no longer receive security updates. We know some of you are still working on upgrading off these beloved versions, but we wanted to give you a heads up that we will be dropping support for them in Flipper 2.0.

Flipper UI and Flipper Cloud will now show warnings if your version of Ruby or Rails are going to be deprecated in an upcoming release, and it will also give you a heads up if a new Flipper version is available (#791).

Miscellany

As with most Flipper releases, there are also a handful of small improvements that fly under the radar:

  • Add compression to API by @jnunemaker in #794
  • Standardize Headers by @jnunemaker in #796
  • A handful of tweaks to configuration for the new strict adapter, including fixes in #793 and  #797, and disabling it by default in tests for now in #814
  • Use Sanitize on actor_names by @bryszard in #810
  • Add rails generate flipper:setup to configure Flipper and Cloud by @bkeepers in #804
  • Ruby 3.3 is officially supported by @bkeepers in #799
  • Clean up som documentation misnomers by @dpep in #812
  • Add confirmation dialog before disabling a flipper by @jmikhail in #813

Full Changelogv1.1.2...v1.2.0


Special thanks to @bedgerotto, @bryszard, and @jmikhail, who made their first contributions to Flipper in #793#810, and #813 respectively.

Happy Feature Flipping!