GitBack v0.5.0
This release (v0.4.7 + v0.5.0) is a major step toward making GitBack a production-ready GitHub backup solution. While there are no new end-user features, a significant amount of work has gone into improving reliability, consistency, maintainability, and the project's internal architecture.
✨ Highlights
⚙️ Configuration Overhaul
- Migrated configuration from YAML to TOML.
- Removed internal runtime paths from the configuration file.
- Simplified configuration validation to focus only on user-configurable settings.
🔒 Atomic File Operations
- Introduced atomic writes for state and configuration files.
- Prevents partial writes and reduces the risk of data corruption during crashes or unexpected shutdowns.
📝 Improved Logging
- Expanded structured logging throughout the application.
- Improved log consistency and event categorization.
📦 Snapshot Improvements
- Removed assumptions about filesystem layout.
- Improved snapshot creation for configurable storage locations.
🧹 Internal Improvements
- Simplified runtime path management with centralized helper functions.
- Removed duplicated filesystem path logic across packages.
- Cleaned up and simplified several internal APIs.
- Improved separation of concerns between configuration, runtime state, and diagnostics.
- General refactoring and consistency improvements across the codebase.
💥 Breaking Changes
- Configuration files must be migrated from YAML to TOML.
- Runtime path configuration options have been removed.
- Existing installations will require a new configuration file before upgrading.
🚀 What's Next
The next development cycle will focus on improving backup resilience through mirror self-healing, allowing GitBack to automatically detect and recover from corrupted Git mirrors while preserving data integrity.