All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Default sync interval changed from 10 seconds to 30 seconds
- Initial release
- Native Flagstack API:
Flagstack.enabled?,Flagstack.disabled?,Flagstack.enable,Flagstack.disable - Actor targeting:
Flagstack.enable_actor,Flagstack.disable_actor - Group targeting:
Flagstack.enable_group,Flagstack.disable_group,Flagstack.register - Percentage rollouts:
Flagstack.enable_percentage_of_actors,Flagstack.enable_percentage_of_time - Feature access:
Flagstack[:feature],Flagstack.features - Health check method (
Flagstack.health_check) to verify connectivity to Flagstack server - Graceful shutdown hooks for Rails applications via
at_exit - Feature flag synchronization from Flagstack to local Flipper adapter
- Background polling for automatic sync (configurable interval)
- Telemetry support for feature flag evaluation metrics
- Support for all Flipper gate types:
- Boolean (enabled/disabled)
- Actors (specific users/entities)
- Groups (named groups)
- Percentage of actors
- Percentage of time
- Rails integration via Railtie
- Auto-configuration when
FLAGSTACK_TOKENenvironment variable is set - Install generator (
rails generate flagstack:install) - Fork detection for multi-process servers (Puma, Unicorn)
- ETag-based caching for efficient sync
- Offline resilience (reads continue from local adapter if Flagstack is unavailable)
token- API token (required)url- Flagstack server URL (default: https://flagstack.io)sync_interval- Polling interval in seconds (default: 30)sync_method-:pollor:manual(default: :poll)telemetry_enabled- Enable/disable telemetry (default: true)telemetry_interval- Telemetry submission interval (default: 60)local_adapter- Custom Flipper adapter (auto-detected)logger- Custom logger (default: Rails.logger or stdlib Logger)read_timeout,open_timeout,write_timeout- HTTP timeouts