-
0.2.0 Stable
released this
2025-10-06 11:26:39 +03:30 | 14 commits to master since this releaseSyncFM v0.2.0 Release Notes
Release Date: October 6, 2025
Overview
We're excited to announce the release of SyncFM v0.2.0, a major update that brings significant architectural improvements, enhanced user experience, and expanded functionality. This release focuses on improving the reliability and maintainability of the application while adding valuable new features for users.
🚀 New Features
Enhanced GUI Experience
- Improved Status Updates: Real-time status updates in the GUI now show track-by-track scrobbling progress with detailed information
- Color-coded Track Status: Visual indicators help users quickly identify the status of each track
- Better Cancellation Handling: Users can now cancel ongoing fetch operations with proper cleanup
- Dynamic UI Updates: The main window now dynamically updates table rows as tracks are processed
Improved CLI Functionality
- Enhanced Debugging: Added debug log when launching GUI for easier troubleshooting
- Better CLI Architecture: Refactored CLI architecture for improved functionality and user experience
🔧 Improvements
Architecture Refinements
- Service Architecture Overhaul: Complete refactoring of service architecture with enhanced GUI workers for better performance
- Lazy Loading: Implemented lazy loading for network instances and comparison databases, improving startup time and memory usage
- Dependency Injection: Improved dependency injection patterns throughout the application
- Better Error Handling: Enhanced error handling and logging throughout the application
Network Implementation Updates
- Official pylast Migration: Migrated from a custom pylast fork to the official pylast 6.0.0, ensuring better compatibility and maintenance
- Simplified Network Factory: Replaced custom NetworkFactory with a simplified NetworkType enum for cleaner code
- Network Configuration: Updated network configuration to use hostname instead of server for better flexibility
- Lazy-loaded Network Instances: Network instances are now loaded on-demand for improved performance
Database & Sync Enhancements
- Improved Synchronization: Enhanced track synchronization logic with better progress tracking
- Timestamp Handling: Fixed timestamp handling to ensure integer values for compatibility
- Comparison Logic: Improved comparison logic for identifying track differences between services
🐛 Bug Fixes
- Fixed album null value handling in scrobbling process
- Resolved timestamp conversion issues
- Fixed encoding conversion problems
- Corrected UI update race conditions in GUI workers
- Fixed configuration structure issues
- Addressed various pylint warnings for better code quality
- Resolved memory management issues for large track collections
📦 Dependency Updates
- Updated to official pylast 6.0.0
- Updated anyio from 4.10.0 to 4.11.0
- Added dateparser dependency for flexible date handling
🏗️ Architectural Changes
- Refactored networking and service modules for better maintainability
- Introduced lazy initialization for database and comparer components
- Improved track status handling with more granular states
- Enhanced worker cleanup after completion for better resource management
📈 Performance Improvements
- Better memory management during sync operations
- Optimized database queries and sync operations
- Reduced startup time through lazy loading
- More efficient progress tracking during scrobbling
Migration Notes
Users upgrading from v0.1.0 should experience a seamless transition. The application will continue to use existing configuration files but with improved compatibility due to the migration to the official pylast library.
Contributors
Thank you to all contributors who helped make this release possible through code contributions, bug reports, and feature suggestions.
Try It Out
To upgrade to SyncFM v0.2.0:
# If using the development version: git pull origin master # Or install via package manager when availableWe encourage users to upgrade and experience the improved stability and new features of v0.2.0. As always, we welcome feedback and bug reports through our issue tracker.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download