This repository was archived by the owner on Sep 21, 2025. It is now read-only.
Releases: StarFleetCPTN/GoMFT
Releases · StarFleetCPTN/GoMFT
Release v0.2.11
GoMFT Release Notes
Release Notes - v0.2.11
✨ New Features
- Documentation Website: Added new comprehensive documentation:
- GitHub Pages hosted documentation using Docusaurus
- Detailed installation and configuration guides
- Feature explanations and usage instructions
- Badge link in README for quick access
- Organized by sections for easier navigation
🔧 Technical Improvements
- **Multi-Arch Docker Support **:
- Docker images will not be available for linux/amd64, linux/arm64,l inux/arm/v7
🔄 Upgrade Notes
- No breaking database changes in this release
- Recommended for all users to upgrade
- Documentation website now available at https://starfleetcptn.github.io/GoMFT/
- After upgrading, check out the new documentation for improved usage instructions
Release v0.2.10
GoMFT Release Notes
Release Notes - v0.2.10
✨ New Features
-
Visual Schedule Builder: Completely redesigned job scheduling interface:
- Intuitive visual interface for creating schedules
- Natural language descriptions of scheduling patterns
- Interactive calendar preview of upcoming job runs
- Common schedule presets (hourly, daily, weekly, monthly)
- Advanced mode for direct cron expression input
- Time zone support for accurate scheduling
- One-click enable/disable functionality
- Real-time schedule validation
-
Discord Community Integration: Added official Discord community support:
- In-app Discord links in both layout and dashboard
- Community support channel for users
- Direct developer access for feedback
- Real-time announcements and updates
- Knowledge sharing between users
-
Enhanced Mobile Experience: Significant improvements to mobile usability:
- Fully responsive schedule builder
- Better touch interactions for all UI components
- Improved navigation on smaller screens
- Optimized mobile form layouts
- Better visibility of job statuses on mobile devices
🔧 Technical Improvements
-
Frontend Performance: Optimized frontend rendering and interactions:
- Notification now show count in the nav bar
-
Documentation Updates: Comprehensive documentation improvements:
- Updated README with new scheduling UI details
🐛 Bug Fixes
-
UI/UX Fixes:
- Fixed dark mode inconsistencies in form elements
- Resolved layout issues in notification settings
- Fixed accessibility problems with form inputs
- Improved form validation feedback
- Corrected color contrast issues in some UI elements
-
General Fixes:
- Fixed issues with notification delivery for some providers
🔄 Upgrade Notes
- No breaking database changes in this release
- Recommended for all users to upgrade
- Discord community is available for support with any upgrade issues
- After upgrading, existing job schedules will automatically use the new scheduling interface
Release v0.2.9
GoMFT Release Notes
Release Notes - v0.2.9
❗ Breaking Changes
- Database Migration Changes: Due to significant database schema improvements, users upgrading from previous versions will need to:
- Back up your database before upgrading to prevent data loss
- Allow the migration process to complete fully without interruption
- If you encounter database errors with messages about missing tables, restore from backup and restart the migration
- For large databases, expect longer upgrade times while migrations are applied
✨ Features
- Real-Time Log Viewer: Added comprehensive real-time logging system:
- Live-updating log viewer in the web interface
- Filterable logs by severity, component, and time range
- Searchable log content with highlighted results
- Exportable logs (CSV)
🔧 Technical Changes
- Dependency Updates: Updated all major dependencies to latest stable versions
- WebSockets Integration: Added new websockets dependency to support real-time log viewer functionality
- Enables live data streaming from server to client
- Provides efficient bi-directional communication channel
- Reduces server load compared to traditional polling methods
🐛 Bug Fixes
- Database Migration Handling: Improved the database migration process:
- Added database connection reset after migrations are completed
- More robust error handling during migration failures
- Better recovery mechanisms for interrupted migrations
- Detailed logging of migration steps for troubleshooting
- WebDAV Testing: Fixed WebDAV configuration testing:
- Implemented proper connection verification for WebDAV endpoints
- Improved error reporting for failed WebDAV connections
- Mobile UI Improvements:
- Fixed settings dropdown menu not working on mobile devices
- Resolved duplicate ID issues in navigation components
- Improved responsive behavior of mobile interface
- Build System Fixes:
- Fixed templ template syntax issues causing CI build failures
Release v0.2.7
GoMFT Release Notes
Release Notes - v0.2.7
❗ Breaking Changes
- Database Structure Changes: Due to recent database schema modifications, users upgrading from previous versions will need to either:
- Create a new database (recommended for fresh installations)
- Restore from a backup and run migrations to update the existing database structure
- If you encounter database errors with messages like
main._table_name_old not found, this indicates a migration issue. In this case, you should restore from a backup and let the migration process complete properly. - Always back up your database before upgrading to prevent data loss
✨ Features
- New Storage Providers: Added support for additional storage providers:
- Hetzner Storage Box: Full integration with connection testing and proper port configuration (default port 23).
- Backblaze B2: Enhanced UI components and connection testing for this provider.
- Wasabi: Improved documentation and UI integration for Wasabi cloud storage.
- Provider Documentation: Updated documentation in README.md to reflect all supported storage providers, ensuring users are aware of all available options.
- Connection Testing: Extended the connection testing functionality to work with new providers, ensuring reliable connectivity before saving configurations.
🚀 Improvements
- UI Enhancements: Added dedicated form components for new providers, with appropriate fields for authentication and connection details.
- Default Port Handling: Implemented automatic port selection based on provider type (port 23 for Hetzner, 22 for SFTP, 21 for FTP).
- Provider Selection: Updated source and destination selection dropdowns to include all supported providers with descriptive labels.
🔧 Technical Changes
- Form Components: Added new template files for provider-specific forms (B2, Wasabi, Hetzner) with appropriate fields and validation.
- Configuration UI: Updated the configuration form to dynamically display appropriate provider-specific forms based on selection.
🐛 Bug Fixes
- Docker Container Permissions: Fixed Docker container user and group setup to ensure proper permissions when accessing mounted volumes. Improved handling of PUID/PGID environment variables to prevent permission issues with file operations.
- Port Selection: Fixed issues with default port selection when switching between different provider types.
- Documentation Completeness: Addressed gaps in provider documentation by ensuring all supported providers are properly listed.
Release v0.2.6
GoMFT Release Notes
Release Notes - v0.2.6
🐛 Bug Fixes
Release v0.2.5
GoMFT Release Notes
Release Notes - v0.2.5
🐛 Bug Fixes
Release v0.2.4
GoMFT Release Notes
Release Notes - v0.2.4
✨ Features
- Rclone Connection Testing: Added functionality to test the connection for Source and Destination providers directly from the configuration UI (
/configs/test-connection). Includes UI buttons and toast notifications for feedback. (Commit68dd9fc) - Rclone Command Configuration UI: Enhanced the Transfer Configuration form to pre-render selected Rclone command flags during editing. Added support for specifying the region for Minio providers. (Commit
f957207) - File Metadata Sorting: Implemented sorting capabilities for the File Metadata list based on various columns (e.g., FileName, ProcessedTime, Size). (Commit
28fa65d) - Scheduler Integration: Introduced a cron-based job scheduler for automated transfer execution. (Commits
b35174f,ae18cd1) - Enhanced Notification Components: Added and improved components for managing Notification Services, including dialogs, forms (with specific fields per type like Gotify, Ntfy, Pushover, etc.), and list views. (Commit
28fa65d) - Shared Toast Component: Implemented a reusable toast notification component for displaying success/error messages. (Commit
28fa65d) - Rclone Log Parsing: Rclone operations now log to temporary files, and basic parsing is performed on transfer logs to extract hashes and count copied files for metadata records. (Commit
391cfbc)
🚀 Improvements
- Notification Form Handling: Fixed the handling of the 'Is Enabled' checkbox in the Notification Service form. (Commit
391cfbc) - SSL Verification Control: Added
SKIP_SSL_VERIFYenvironment variable to allow disabling SSL verification for outgoing notifications (e.g., webhooks). (Commit391cfbc) - Configuration Model: Refactored boolean fields (like
IsEnabled,ReadOnly) in configuration models (Notifications, Auth Providers, Transfer Configs) to use pointers for more accurate state representation. (Commit608da9c)
🔧 Technical Changes
- Scheduler Refactoring: Major refactoring of job scheduling and execution logic into distinct components (
JobExecutor,Logger,MetadataHandler,Notifier,TransferExecutor,Scheduler,Utils). (Commitsb35174f,ae18cd1) - Database Layer Refactoring: Reorganized database access logic by splitting the monolithic
db.gointo entity-specific store files (e.g.,job_store.go,user_store.go,transfer_config_store.go, etc.). (Commitd4c07fd) - Testing Enhancements: Added comprehensive unit tests for scheduler components (Job Executor, Logger, Metadata, Notification, Scheduler, Transfer Executor, Utils) and improved Rclone service tests. (Commits
b35174f,608da9c)
🔄 Migration
- A database migration (
012_alter_boolean_defaults.go) was added to update default values and potentially nullability for boolean fields in various tables (e.g.,notification_services,auth_providers) to align with the model changes (using boolean pointers). Ensure this migration is applied when updating. (Commit608da9c)
📦 Dependencies
- Added
github.com/stretchr/testify v1.9.0for improved testing assertions. (Commit608da9c)
🐛 Bug Fixes
- Config form not displaying destination correctly based on rclone command selection.
- Dark mode not working correctly when button is pressed.
- Notificaiton service being added as enabled when enabled check is disabled
Release v0.2.3
GoMFT Release Notes
Release Notes - v0.2.3
🚀 Improvements
- Enhanced Static File Handling: Improved how static files are served with proper content types and caching headers
- Fixed UI Issues: Resolved issues with CSS and JavaScript loading in Docker containers
- Build System Improvements: Enhanced build process for both local and Docker builds
🔧 Technical Changes
Static File Handling
- Added proper content type detection for different file types (JS, CSS, images, fonts)
- Implemented caching headers for static assets
- Separated static file handling from general file serving
- Fixed issues with embedded files in Docker builds
Build System
- Updated Dockerfile to properly handle frontend asset building
- Added Node.js build steps to GitHub Actions workflows
- Improved asset embedding in Go binary
- Ensured consistent build process across all environments
CI/CD Improvements
- Added Node.js setup and build steps to DockerHub workflow
- Added Node.js setup and build steps to GitHub Container Registry workflow
- Added verification steps for built assets
- Improved build caching for faster deployments
🔍 Technical Details
Static File Changes
// Added proper content type handling
func setContentType(c *gin.Context, path string) {
switch {
case strings.HasSuffix(path, ".js"):
c.Header("Content-Type", "application/javascript")
case strings.HasSuffix(path, ".css"):
c.Header("Content-Type", "text/css")
// ... other types ...
}
}
// Added caching headers
func setCacheHeaders(c *gin.Context, path string) {
if strings.HasSuffix(path, ".js") || strings.HasSuffix(path, ".css") {
c.Header("Cache-Control", "public, max-age=31536000")
}
// ... other rules ...
}📝 Notes
- Local builds continue to work as before, just run
node build.jsbeforego build - Docker builds now handle asset building automatically
- CI/CD pipelines automatically build and verify frontend assets
🔄 Migration
No migration steps required. The changes are backward compatible and will take effect automatically after updating.
🐛 Bug Fixes
- Fixed FTP issue where port was not being added to config
- Fixed FTP/SFTP issue where default ports were not working correctly
- Fixed Webdav config error caused by form fields
- Fixed UI styling issues in Docker containers
- Fixed content type issues with static files
- Fixed caching headers for static assets
- Fixed asset embedding in Docker builds
📦 Dependencies
- Node.js v20
- Go 1.24
- Alpine 3.19 (Docker base image)
Release v0.2.1
GoMFT Release Notes
Release Notes - v0.2.1
New Features
- Complete app redesign for improved user experience and navigation.
New Look
- Refreshed UI with a modern design.
Quality of Life Improvements
- Ability to duplicate Configs and Jobs.
- Configs can now use multiple rclone commands: copy, sync, and bisync, selectable from the config screen.
Notification System
- Now supports the following notification providers:
- Webhooks
- Gotify
- Ntfy
- Pushover
- Pushbullet
Authentication Provider Integration
- Added support for multiple authentication providers:
- Authentik integration for enterprise SSO.
- OpenID Connect (OIDC) support.
- OAuth2 provider integration (Google, GitHub, etc.).
- Multiple provider support with fallback options.
Security Enhancements
- New role management system for fine-grained access control.
- Enhanced audit logs for improved security tracking.
Migration Notes
- Backup your database before upgrading.
- Database migrations will run automatically when the application starts.
Release v0.2.0
GoMFT Release Notes
Release Notes - v0.2.0
New Features
- Complete app redesign for improved user experience and navigation.
New Look
- Refreshed UI with a modern design.
Quality of Life Improvements
- Ability to duplicate Configs and Jobs.
- Configs can now use multiple rclone commands: copy, sync, and bisync, selectable from the config screen.
Notification System
- Now supports the following notification providers:
- Webhooks
- Gotify
- Ntfy
- Pushover
- Pushbullet
Authentication Provider Integration
- Added support for multiple authentication providers:
- Authentik integration for enterprise SSO.
- OpenID Connect (OIDC) support.
- OAuth2 provider integration (Google, GitHub, etc.).
- Multiple provider support with fallback options.
Security Enhancements
- New role management system for fine-grained access control.
- Enhanced audit logs for improved security tracking.
Migration Notes
- Backup your database before upgrading.
- Database migrations will run automatically when the application starts.