Changelog

All notable changes to Borgitory are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Comprehensive documentation on Read the Docs

  • Enhanced cloud provider system with registry pattern

  • Multi-provider cloud sync support

  • Advanced archive browsing with FUSE mounting

  • Real-time job monitoring with Server-Sent Events

Changed

  • Improved user interface with HTMX and Alpine.js

  • Enhanced security with encrypted credential storage

  • Better error handling and validation throughout

  • Optimized Docker container with proper FUSE support

[1.0.0] - 2024-XX-XX

Added

  • Initial stable release

  • Web-based management interface for BorgBackup

  • Repository management with multiple repository support

  • Manual and scheduled backup operations

  • Real-time progress monitoring

  • Archive browser with file download capability

  • Cloud synchronization with S3-compatible providers

  • Push notifications via Pushover

  • User authentication and session management

  • RESTful API with OpenAPI documentation

  • Docker deployment support

  • PyPI package distribution

Features

  • Repository Management

    • Add, configure, and manage multiple Borg repositories

    • Secure passphrase storage with encryption

    • Repository validation and connection testing

  • Backup Operations

    • Manual backups with configurable compression

    • Real-time progress tracking

    • Archive naming with timestamp templates

    • Exclude patterns and file filtering

  • Scheduling System

    • Cron-based backup scheduling

    • Human-readable cron descriptions

    • Schedule enable/disable functionality

    • Integration with pruning and notifications

  • Archive Management

    • Interactive archive browser with FUSE mounting

    • Direct file downloads from archives

    • Archive pruning with retention policies

    • Simple and advanced pruning strategies

  • Cloud Integration

    • Multi-provider cloud sync support

    • Amazon S3 and S3-compatible services

    • Automatic sync after backups

    • Real-time sync progress monitoring

  • Notifications

    • Pushover integration for mobile alerts

    • Success and failure notifications

    • Per-schedule notification configuration

  • User Interface

    • Modern responsive web interface

    • HTMX for dynamic updates

    • Alpine.js for interactivity

    • Tailwind CSS for styling

    • Mobile-friendly design

  • API & Integration

    • Comprehensive REST API

    • OpenAPI/Swagger documentation

    • Real-time updates via Server-Sent Events

    • Session-based authentication

  • Deployment

    • Docker containerization

    • PyPI package distribution

    • Docker Compose configurations

    • Volume mounting strategies

Technical Details

  • Backend: FastAPI, SQLAlchemy, APScheduler

  • Frontend: HTMX, Alpine.js, Tailwind CSS, Jinja2

  • Database: SQLite with Alembic migrations

  • Security: BCrypt password hashing, Fernet encryption

  • Dependencies: BorgBackup, Rclone, FUSE3

Security

  • Encrypted storage of repository passphrases

  • Secure session management with cookies

  • CSRF protection on all forms

  • Input validation and sanitization

  • SQL injection prevention via ORM

Performance

  • Async/await throughout the application

  • Background job processing

  • Streaming file downloads

  • Efficient FUSE-based archive mounting

  • Connection pooling for database access

Known Issues

  • Archive browsing requires FUSE support (disabled without it)

  • Single-user authentication (multi-user planned)

  • Session-only API authentication (API keys planned)

Migration Notes

This is the initial stable release. Future versions will include migration guides for any breaking changes.

Development

  • Python 3.11+ requirement

  • Modern packaging with pyproject.toml

  • Comprehensive test suite with pytest

  • Code quality tools (Ruff, MyPy)

  • GitHub Actions CI/CD pipeline

  • Docker multi-stage builds

Documentation

  • Complete user documentation

  • API reference with examples

  • Installation and deployment guides

  • Troubleshooting and how-to guides

  • Architecture and contributing documentation

For detailed information about features and usage, see the full documentation.

For the latest changes and development updates, visit the GitHub repository.