Skip to content

GitBack v0.5.0

Choose a tag to compare

@FlareXes FlareXes released this 18 Jul 16:06
· 48 commits to main since this release

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.