Instant Rollback
When things go wrong, revert to a previous working state in seconds.
How Version History Works
Every config change creates an immutable snapshot. You can view the complete history and revert to any previous version.
Viewing History
In the Replane UI:
- Navigate to your config
- Click "Version History"
- See all changes with timestamps and authors
Each version shows:
- Timestamp - When the change was made
- Author - Who made the change
- Changes - What was modified
- Version Number - Sequential version ID
Rolling Back
Via UI
- Open Version History
- Find the working version
- Click "Rollback to this version"
- Confirm the rollback
Changes propagate to all connected applications in seconds.
Via API
curl -X POST https://your-replane-url/api/configs/{config_id}/versions/{version_id}/rollback \
-H "Authorization: Bearer YOUR_API_KEY"
Common Rollback Scenarios
Bad Configuration Value
Problem: Changed rate limit from 100 to 1000, now API is overloaded
Solution:
- Open
rate-limitsconfig - View history to find previous version with
100 - Click rollback
- API returns to normal immediately
Incomplete Feature Flag
Problem: Enabled feature flag but new feature has a critical bug
Solution:
// Current (broken)
{ "new-checkout": true }
// Rollback to previous
{ "new-checkout": false }
Users immediately stop seeing the broken feature.
Wrong Experiment Split
Problem: Accidentally set A/B test to 100/0 instead of 50/50
Solution: Rollback to correct distribution without any users getting inconsistent experience.
Rollback Best Practices
Test Before Full Rollout
Start with small percentages:
- Version 1: Feature at 0%
- Version 2: Feature at 5%
- Version 3: Feature at 25%
- Issue found → Rollback to Version 1
Document Why
Add comments when making risky changes:
{
"rate-limit": 500,
"_comment": "Increased from 100 to handle Black Friday traffic"
}
Monitor After Changes
Watch metrics for 5-10 minutes after config changes:
- Error rates
- Response times
- User complaints
- Business metrics
If something looks wrong, rollback immediately.
Use Watchers for Realtime Updates
Ensure your app uses watchers so rollbacks propagate instantly:
const config = await client.watchConfigValue('rate-limits');
// Value updates automatically when you rollback
const currentLimit = config.get()['api-requests-per-minute'];
Version History Retention
Replane keeps all versions indefinitely. Storage is minimal since only diffs are stored.
Combining with Feature Flags
Use feature flags as circuit breakers:
{
"new-feature-enabled": true,
"new-feature-circuit-breaker": false
}
If issues occur:
- Flip
circuit-breakertotrueimmediately (kills feature) - Investigate the issue
- Fix and deploy
- Flip back to
false - Or rollback entire config if needed
Avoiding Rollback Needs
Use JSON Schema Validation
Prevent invalid configs from being saved:
{
"type": "object",
"properties": {
"rate-limit": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": ["rate-limit"]
}
Gradual Rollouts
Instead of 0% → 100%, use gradual increases:
- 0% → 1% → 5% → 10% → 25% → 50% → 100%
Catch issues when only 1% of users are affected.
Staging Environment
Test config changes in staging before production:
- Deploy to staging
- Test thoroughly
- Apply same config to production
- Monitor closely
Emergency Procedures
Production is Down
- Open Replane UI
- Navigate to recently changed config
- Click "Version History"
- Identify the last working version (usually one before current)
- Click "Rollback"
- Confirm immediately
Apps reconnect and receive rollback in 1-5 seconds.
Can't Access UI
Use API directly:
# List versions
curl https://your-replane-url/api/configs/{config_id}/versions \
-H "Authorization: Bearer YOUR_API_KEY"
# Rollback to specific version
curl -X POST https://your-replane-url/api/configs/{config_id}/versions/{version_id}/rollback \
-H "Authorization: Bearer YOUR_API_KEY"
Audit Trail
Version history provides complete audit trail:
- Who changed what
- When it changed
- What the values were before and after
Essential for:
- Post-mortems
- Compliance
- Security investigations
- Understanding system behavior
Next Steps
- Feature Flags - Learn about feature flag basics
- Gradual Rollouts - Roll out changes safely
- Operational Tuning - Adjust behavior without downtime