Version History
Release notes, breaking changes, and upgrade instructions.
Current Version
Version: 0.1.0 (Development)
Changelog Format
Each release includes:
- New Features: New functionality
- Improvements: Enhancements to existing features
- Bug Fixes: Resolved issues
- Breaking Changes: Changes requiring user action
- Known Issues: Outstanding problems
Version 0.1.0 (Planned)
Initial public release.
New Features
- Core application framework
- Lich proxy connection mode
- Direct eAccess authentication
- Widget system with 15+ widget types
- TOML-based configuration
- Keybind and macro system
- Trigger automation
- Text highlighting
- Color themes
- TTS support
Widget Types
text- Scrollable text windowstabbed_text- Tabbed text windowsprogress- Vital barscountdown- Roundtime/casttimecompass- Navigation compassindicator- Status indicatorsroom- Room informationcommand_input- Command entryinjury_doll- Injury displayactive_effects- Active spells/effectsinventory- Inventory viewspells- Known spellshand- Hand contentsdashboard- Composite statusperformance- Performance metrics
Supported Platforms
- Windows 10/11
- macOS 12+
- Linux (glibc 2.31+)
Known Issues
- Direct mode certificate handling edge cases
- Some Unicode rendering issues on older terminals
Upgrading
General Upgrade Process
-
Backup configuration:
cp -r ~/.two-face ~/.two-face.backup -
Download new version
-
Replace binary
-
Review release notes for breaking changes
-
Update configuration if needed
-
Test before deleting backup
Checking Version
two-face --version
Configuration Compatibility
Configuration files are versioned. When format changes:
- Two-Face will warn about outdated config
- Auto-migration may be attempted
- Manual migration instructions provided if needed
Breaking Changes Guide
Configuration Format Changes
If a configuration key is renamed or restructured:
Before:
[old_section]
old_key = "value"
After:
[new_section]
new_key = "value"
Migration: Update your config files manually or run:
two-face --migrate-config
Keybind Changes
If keybind syntax changes:
Before:
[keybinds.F1]
command = "look"
After:
[keybinds."f1"]
macro = "look"
Widget Changes
If widget types or properties change:
Before:
[[widgets]]
type = "old_type"
old_property = "value"
After:
[[widgets]]
type = "new_type"
new_property = "value"
Deprecation Policy
Deprecation Timeline
- Announcement: Feature marked deprecated in release notes
- Warning Period: Deprecated features log warnings
- Removal: Feature removed in future major version
Deprecation Notices
Deprecated features are logged:
[WARN] 'old_feature' is deprecated, use 'new_feature' instead
Development Versions
Pre-release Tags
alpha- Early testing, unstablebeta- Feature complete, testingrc- Release candidate, final testing
Example: 0.2.0-beta.1
Building from Source
For development versions:
git clone https://github.com/two-face/two-face
cd two-face
git checkout develop
cargo build --release
Reporting Issues
When Upgrading
If you encounter issues after upgrading:
- Check release notes for breaking changes
- Verify configuration is valid
- Try with default configuration
- Check Troubleshooting
- Report on GitHub if unresolved
Issue Template
**Version**: [e.g., 0.1.0]
**Previous Version**: [if upgrade issue]
**Platform**: [Windows/macOS/Linux]
**Description**:
[What happened]
**Expected**:
[What should happen]
**Steps**:
1. [Step 1]
2. [Step 2]
**Configuration** (if relevant):
```toml
[relevant config]
---
## Future Roadmap
### Planned Features
- Advanced scripting integration
- Plugin system
- More widget types
- Enhanced accessibility
- Performance improvements
### Community Requests
Track feature requests on GitHub Issues.
---
## Version Support
### Support Matrix
| Version | Status | Support |
|---------|--------|---------|
| 0.1.x | Current | Full support |
| Pre-release | Development | Limited |
### End of Life
When a version reaches EOL:
- Security patches may cease
- No new features
- Upgrade recommended
---
## See Also
- [Installation](../getting-started/installation.md)
- [Configuration](../configuration/README.md)
- [Troubleshooting](../troubleshooting/README.md)