github StarFleetCPTN/GoMFT v0.2.4
Release v0.2.4

2 days ago

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. (Commit 68dd9fc)
  • 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_VERIFY environment variable to allow disabling SSL verification for outgoing notifications (e.g., webhooks). (Commit 391cfbc)
  • Configuration Model: Refactored boolean fields (like IsEnabled, ReadOnly) in configuration models (Notifications, Auth Providers, Transfer Configs) to use pointers for more accurate state representation. (Commit 608da9c)

🔧 Technical Changes

  • Scheduler Refactoring: Major refactoring of job scheduling and execution logic into distinct components (JobExecutor, Logger, MetadataHandler, Notifier, TransferExecutor, Scheduler, Utils). (Commits b35174f, ae18cd1)
  • Database Layer Refactoring: Reorganized database access logic by splitting the monolithic db.go into entity-specific store files (e.g., job_store.go, user_store.go, transfer_config_store.go, etc.). (Commit d4c07fd)
  • 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. (Commit 608da9c)

📦 Dependencies

  • Added github.com/stretchr/testify v1.9.0 for improved testing assertions. (Commit 608da9c)

🐛 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

Don't miss a new GoMFT release

NewReleases is sending notifications on new releases.