What's New
Features
- SSH tunnel support for database connections (#67) - Connect to databases through SSH tunnels for secure remote access
- Failure notifications for backup and restore jobs (#63) - Get notified when jobs fail
- Encrypted backups using AES-256 with 7-Zip compression (#55) - Secure your backups with strong encryption
- Flexible volume management for diverse storage types (#61) - Improved storage configuration
- GFS (Grandfather-Father-Son) retention policy (#36) - Enterprise-grade backup retention strategies
- Backup path configuration and toggle for scheduled backups (#35)
- API Tokens management enhancements (#45)
- Explicit AWS credentials support in S3 configuration
- S3 presigned URL handling with public endpoint support
Improvements
- Refactored restore flow with enhanced snapshot selection and validation (#60)
- Refactored backup and restore tasks with improved notification handling (#66)
- Database type handling refactored with
DatabaseTypeenum (#58) - Validation approach refactored in Livewire components (#47)
- Database connection testing with timeout and error handling improvements (#38)
- Database server form layout and connection test UX improvements (#37)
- Replaced drawers with responsive filters (#43)
- Server-specific querying for filtering logic (#42)
- Per-database GFS retention logic (#41)
- Tests now run in parallel by default for faster feedback (#44)
Bug Fixes
- Fixed GFS retention test to be date-agnostic
- Fixed
sqlite_pathvalidation for SQLite databases - Fixed recursive ownership for
/datadirectory in Docker
Documentation
- Added SSH tunnel configuration section
- Restructured self-hosting documentation into modular pages (#64)
- Added PostgreSQL support, troubleshooting, and S3 storage tips (#49)
- Added Quick Start guide with Docker commands
- Clarified S3 public endpoint usage and troubleshooting resources
- Updated database troubleshooting guide
Infrastructure
- Added comprehensive Docker test script for permission handling and health checks
- Added retry mechanism to ensure FrankenPHP startup in Docker
Full Changelog: https://github.com/davidpeach/databasement/compare/databasement-0.1.20...databasement-0.1.21