Version Migration Guide
Learn how to upgrade to new versions of KFtray and KFtui.
Version Upgrades
Upgrading KFtray
- Backup Current State
# Backup database cp ~/.kftray/kftray.db backup/
- Stop Running Processes
# Close KFtray # Note: KFtui can continue running
- Install New Version
# macOS brew upgrade --cask kftray # Linux brew upgrade kftray-linux
- Verify Installation
kftray --version
Upgrading KFtui
- Stop Running Processes
# Close KFtui # Note: KFtray can continue running
- Install New Version
# Using installer script bash <(curl -s https://raw.githubusercontent.com/hcavarsan/kftray/main/hacks/kftui_installer.sh)
- Verify Installation
kftui --version
Process Management
Important notes about upgrading:
- Port forwards must be stopped before upgrading the interface that started them
- Other interface can continue running during upgrade
- Database is compatible between interfaces
- Configuration remains consistent across upgrades
Version Compatibility
Supported Versions
- KFtray: v0.10.0 and later
- KFtui: v0.15.2 and later
- Database: SQLite 3.x
Feature Support
Feature | Minimum Version |
---|---|
HTTP Logging | v0.11.7 |
GitHub Sync | v0.10.0 |
Multi-config | v0.9.0 |
UDP Support | v0.8.0 |
Best Practices
Before Upgrade
- Backup database
- Stop relevant processes
- Document running forwards
- Plan upgrade timing
During Upgrade
- Follow version-specific notes
- Verify each step
- Keep backup accessible
- Monitor processes
After Upgrade
- Verify version number
- Check running forwards
- Test new features
- Update documentation
Troubleshooting
Common Issues
- Version Mismatch
- Verify all components upgraded
- Check compatibility
- Review release notes
- Process Issues
- Stop affected processes
- Verify process ownership
- Restart if necessary
Recovery Steps
- Process Recovery
- Identify stuck processes
- Stop from correct interface
- Restart application
- Database Recovery
- Stop all interfaces
- Restore backup
- Restart applications
Feature Updates
Keep track of new features and changes in the release notes.
Remember: Both interfaces share the same database but manage processes independently. Always stop port forwards from the interface that started them before upgrading.