Flipper 1.4.1 and 1.4.2
· John Nunemaker · 2 min read
Hello feature flagger,
Two small releases for you today. Well, one is today. I shipped 1.4.1 back on March 25th and completely forgot to write it up. Oops. So you get both in one go. Neither is flashy, but both have a few useful fixes and a couple of new UI config options. Let's run through them.
1.4.1
Released March 25, 2026.
Disable the Fully Enable button
Some teams want full rollouts to go through a deploy pipeline instead of someone clicking a button. You can now turn that button off in the UI:
Flipper::UI.configure do |config|
# Disable with the default message
config.disable_fully_enable = true
# Or tell people why
config.disable_fully_enable = "Use the deploy pipeline instead."
end
The button renders disabled with your message as a tooltip. It's enforced server side too, so curl and devtools get a 403. Heads up: this only covers the UI. If you mount flipper-api, full enable still works there.
Strict adapter plays nice with sync
The Strict adapter now blocks add for unknown features too, not just reads. To keep that from breaking Cloud, sync runs inside Strict.with_sync_mode, the same trick ActorLimit uses. Cloud can add features during sync and Strict stays out of the way.
Webhook syncs get fresh data
This one was sneaky. Webhook syncs pass a cache buster to skip the CDN, but they were also sending the ETag header. That let the server answer 304 Not Modified, so your local adapter didn't update even though a webhook told it to. Cache-busted syncs now skip the ETag so you always get fresh data.
1.4.2
Skip the version check
The UI loads a small version.js from flippercloud.io to tell you when a new Flipper is out. If you run a strict Content Security Policy, that shows up as console errors and CSP reports. Thanks to @pkrisko (first contribution! 🎉), you can turn it off:
Flipper::UI.configure do |config|
config.version_check_enabled = false
end
Read-only means read-only
Import was the one mutating UI action that ignored read-only mode. Not anymore. It's blocked server side, and the import card is hidden in settings when the UI is read-only.
Webhooks stop polling
In 1.4.0 I added a polling fallback for webhook-configured Cloud setups. In 1.4.2 I took it back out. If your sync_method is :webhook, reads come from your local adapter and Flipper doesn't poll at all. Polling mode still defaults to a 10 second sync_interval.
Upgrade
bundle update flipper
Full notes for 1.4.1 and 1.4.2 are on GitHub. Let me know if you hit any bumps.
Happy flipping,
Nunes
Get audit history, rollbacks, advanced permissions, analytics, and all of your projects in one place.
You can choose from several tiers to sponsor Flipper on GitHub and get some great benefits!