docs updated to v0.4.0
This commit is contained in:
63
CHANGELOG.md
63
CHANGELOG.md
@@ -5,6 +5,68 @@ All notable changes to Seismo Fleet Manager will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.4.0] - 2025-12-16
|
||||
|
||||
### Added
|
||||
- **Database Management System**: Comprehensive backup and restore capabilities
|
||||
- **Manual Snapshots**: Create on-demand backups of the entire database with optional descriptions
|
||||
- **Restore from Snapshot**: Restore database from any snapshot with automatic safety backup
|
||||
- **Upload/Download Snapshots**: Transfer database snapshots to/from the server
|
||||
- **Database Tab**: New dedicated tab in Settings for all database management operations
|
||||
- **Database Statistics**: View database size, row counts by table, and last modified time
|
||||
- **Snapshot Metadata**: Each snapshot includes creation time, description, size, and type (manual/automatic)
|
||||
- **Safety Backups**: Automatic backup created before any restore operation
|
||||
- **Remote Database Cloning**: Dev tools for cloning production database to remote development servers
|
||||
- **Clone Script**: `scripts/clone_db_to_dev.py` for copying database over WAN
|
||||
- **Network Upload**: Upload snapshots via HTTP to remote servers
|
||||
- **Auto-restore**: Automatically restore uploaded database on target server
|
||||
- **Authentication Support**: Optional token-based authentication for secure transfers
|
||||
- **Automatic Backup Scheduler**: Background service for automated database backups
|
||||
- **Configurable Intervals**: Set backup frequency (default: 24 hours)
|
||||
- **Retention Management**: Automatically delete old backups (configurable keep count)
|
||||
- **Manual Trigger**: Force immediate backup via API
|
||||
- **Status Monitoring**: Check scheduler status and next scheduled run time
|
||||
- **Background Thread**: Non-blocking operation using Python threading
|
||||
- **Settings Reorganization**: Improved tab structure for better organization
|
||||
- Renamed "Data Management" tab to "Roster Management"
|
||||
- Moved CSV Replace Mode from Advanced tab to Roster Management tab
|
||||
- Created dedicated Database tab for all backup/restore operations
|
||||
- **Comprehensive Documentation**: New `docs/DATABASE_MANAGEMENT.md` guide covering:
|
||||
- Manual snapshot creation and restoration workflows
|
||||
- Download/upload procedures for off-site backups
|
||||
- Remote database cloning setup and usage
|
||||
- Automatic backup configuration and integration
|
||||
- API reference for all database endpoints
|
||||
- Best practices and troubleshooting guide
|
||||
|
||||
### Changed
|
||||
- **Settings Tab Organization**: Restructured for better logical grouping
|
||||
- **General**: Display preferences (timezone, theme, auto-refresh)
|
||||
- **Roster Management**: CSV operations and roster table (now includes Replace Mode)
|
||||
- **Database**: All backup/restore operations (NEW)
|
||||
- **Advanced**: Power user settings (calibration, thresholds)
|
||||
- **Danger Zone**: Destructive operations
|
||||
- CSV Replace Mode warnings enhanced and moved to Roster Management context
|
||||
|
||||
### Technical Details
|
||||
- **SQLite Backup API**: Uses native SQLite backup API for concurrent-safe snapshots
|
||||
- **Metadata Tracking**: JSON sidecar files store snapshot metadata alongside database files
|
||||
- **Atomic Operations**: Database restoration is atomic with automatic rollback on failure
|
||||
- **File Structure**: Snapshots stored in `./data/backups/` with timestamped filenames
|
||||
- **API Endpoints**: 7 new endpoints for database management operations
|
||||
- **Backup Service**: `backend/services/database_backup.py` - Core backup/restore logic
|
||||
- **Scheduler Service**: `backend/services/backup_scheduler.py` - Automatic backup automation
|
||||
- **Clone Utility**: `scripts/clone_db_to_dev.py` - Remote database synchronization tool
|
||||
|
||||
### Security Considerations
|
||||
- Snapshots contain full database data and should be secured appropriately
|
||||
- Remote cloning supports optional authentication tokens
|
||||
- Restore operations require safety backup creation by default
|
||||
- All destructive operations remain in Danger Zone with warnings
|
||||
|
||||
### Migration Notes
|
||||
No database migration required for v0.4.0. All new features use existing database structure and add new backup management capabilities without modifying the core schema.
|
||||
|
||||
## [0.3.3] - 2025-12-12
|
||||
|
||||
### Changed
|
||||
@@ -231,6 +293,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Photo management per unit
|
||||
- Automated status categorization (OK/Pending/Missing)
|
||||
|
||||
[0.4.0]: https://github.com/serversdwn/seismo-fleet-manager/compare/v0.3.3...v0.4.0
|
||||
[0.3.3]: https://github.com/serversdwn/seismo-fleet-manager/compare/v0.3.2...v0.3.3
|
||||
[0.3.2]: https://github.com/serversdwn/seismo-fleet-manager/compare/v0.3.1...v0.3.2
|
||||
[0.3.1]: https://github.com/serversdwn/seismo-fleet-manager/compare/v0.3.0...v0.3.1
|
||||
|
||||
Reference in New Issue
Block a user