Skip to content

Release v1.1.1-1

Choose a tag to compare

@github-actions github-actions released this 07 May 02:28
· 132 commits to main since this release

Album Notes & Documentation

  • Added album notes feature for saving personal reviews, thoughts, and observations
  • Implemented notes display and editing on album details page
  • Added copy functionality for easy sharing of album notes
  • Positioned notes section below tracklist for better user experience
  • Added tooltip support for notes with copy functionality
  • Implemented consistent note display across saved albums and details pages
  • Added delete functionality for album notes with confirmation dialog

Album Date Management System

  • Added comprehensive date fixing utility in settings with UI for batch fixing missing dates
  • Fixed Deezer album date handling to prevent null dates and avoid placeholder fallbacks
  • Enhanced date extraction and persistence across all supported music platforms
  • Implemented unified album data format for consistent storage and retrieval
  • Added direct API integration with improved error recovery for accurate release date retrieval
  • Enhanced tooltip support throughout the app for better accessibility
  • Fixed BuildContext handling across async gaps for improved app stability
  • Fixed placeholder dates being displayed instead of "Unknown Date" when date information is missing
  • Implemented proper detection of placeholder dates (Jan 1, 2000) to display as "Unknown Date"
  • Added multi-level date extraction system that checks multiple sources for maximum reliability
  • Implemented comprehensive logging for date parsing to improve troubleshooting
  • Added better error recovery for various date formats across different music platforms
  • Comprehensive Bandcamp date parsing for non-standard formats including "11 Oct 2024 00:00:00 GMT"
  • Fixed runtime exceptions when parsing non-standard date formats
  • Fixed year-only date handling for Discogs releases
  • Fixed timezone issues in date parsing for consistent display across devices
  • Enhanced date validation with appropriate fallbacks for missing or corrupted dates
  • Fixed future release date handling with metadata preservation
  • Fixed search results date sorting for Deezer albums with missing dates

Custom List & UI Improvements

  • Custom list order persistence across app restarts
  • Improved list management with drag-to-reorder functionality
  • Reduced verbose logging in dialog list rendering for better performance
  • Changed custom list dialog to use ordered lists instead of alphabetical sorting
  • Custom list ordering now properly saves and loads from database
  • Lists now maintain the user-defined order consistently throughout the app
  • Fixed list reordering persistence issue in custom album lists
  • Implemented proper album order synchronization with database
  • Fixed custom lists appearing in wrong order in "Save Album" dialogs
  • Ensured consistent ordering across all list selection interfaces
  • Custom lists reordering with drag handles at consistent leftmost position
  • Common layout for album cards across the app for better visual consistency
  • Fixed drag and drop functionality in custom lists and saved albums
  • Removed duplicate drag handles to avoid UI clutter and overlap with icons
  • Corrected drag handle positioning in list and album views
  • Consistent 85% width design pattern across all UI components
  • Consistent notification styling with 85% width to match app theme

Album Data & Metadata Management

  • Standardized album data format between different music platforms
  • Enhanced album model to user data conversion for reliable storage
  • Fixed album details page to properly save and retrieve complete album metadata
  • Improved error recovery when processing album data with missing fields
  • Enhanced metadata extraction with redundant storage for maximum reliability
  • Multi-level metadata extraction from various album data sources for maximum reliability
  • Fixed critical issue with album release dates not being preserved in database storage
  • Improved Deezer album data handling with consistent fields
  • Standardized artwork field naming for consistent display
  • Fixed inconsistent release date display with proper formatting
  • Fixed Bandcamp album metadata storage with proper track information preservation
  • Fixed track persistence for albums from all supported platforms
  • Improved track metadata persistence with consistent field naming
  • Enhanced album artwork URL extraction with comprehensive logging

Database & Data Persistence

  • Fixed Linux window title bar not displaying on GTK-based systems
  • Optimized database queries with better error handling
  • Complete migration from SharedPreferences to SQLite database for all settings and user data
  • New database architecture providing better performance, reliability and data integrity
  • Backward compatibility with previous versions through guided migration process
  • Extensive logging and error handling for diagnosing database issues
  • Implementation of transaction support for data consistency
  • Database maintenance tools including vacuum, integrity checks, and emergency reset
  • Cross-platform data migration with progress tracking
  • Recovery mechanisms for database connection issues
  • New database helper methods for settings management
  • Centralized version tracking with version_info.dart
  • Automatic migration of remaining SharedPreferences data
  • Final cleanup utility for SharedPreferences
  • Database integrity verification and repair tools
  • Enhanced album ID handling for cross-platform compatibility
  • Improved error recovery for database operations
  • Support for backup and restore of all settings
  • Database migration utility with progress tracking
  • Database integrity checking and vacuum optimization
  • More reliable track ID handling with position-based fallbacks

Platform Integration & Middleware

  • Optimized platform match widget with progressive loading for immediate UI feedback
  • Implemented memory caching system with 30-day TTL for faster repeat album views
  • Added waterfall loading strategy (memory cache → database → API) for optimal performance
  • Parallelized platform API requests for significantly faster matching
  • Improved platform matching with immediate visual feedback using skeleton loading
  • Added focused logging for platform match operations with key performance metrics
  • Reduced redundant verification of previously validated platform matches
  • Fixed platform match widget lifecycle issues to prevent setState after dispose
  • Added proper component disposal handling to platform match queries
  • Improved error resilience in platform match component with mounted state checks
  • Fixed control flow issues in async operations for better stability
  • Implemented middleware architecture for Deezer albums to efficiently fetch accurate release dates and track information
  • New DeezerMiddleware class matching the pattern used for Discogs to enhance album data
  • Fixed Deezer album date loading with efficient on-demand fetching strategy
  • Improved Deezer search performance by fetching dates only when needed
  • Fixed Deezer album integration with dedicated middleware for better performance and accuracy
  • Solved performance issues in Deezer album date loading by using on-demand middleware approach
  • Added 'useDeezerMiddleware' flag for identifying albums requiring date enhancement
  • Improved Deezer date loading with proper error recovery mechanisms
  • New platform match cleaner utility for fixing incorrect platform associations
  • Improved URL matching between streaming platforms with unified matching algorithms
  • Standardized matching thresholds across all music platforms (Spotify, Apple Music, Deezer, Discogs)
  • Fixed platform match widget with improved stability and reliability
  • Fixed unstable URL pasting, particularly for Discogs and Bandcamp URLs
  • Normalized similarity thresholds across all platform services for consistent matching quality
  • Enhanced platform-specific URL handling for Bandcamp and Discogs URLs
  • Middleware architecture for platform-specific album enhancement
  • Implemented consistent platform matching mechanisms across all music services
  • Created dedicated platform_match_cleaner component for user-initiated match fixing

Discogs Integration

  • Comprehensive Discogs integration with middleware for advanced album processing
  • Improved handling for both Discogs master and release album types
  • Consistent metadata extraction across all Discogs API interactions
  • Reliable credential management system for Discogs API with database storage
  • Fixed Discogs track duration fetching with intelligent version selection
  • Improved Discogs date parsing with background prefetching for search results
  • Robust date parsing for Discogs releases with intelligent fallbacks
  • Complete overhaul of Discogs integration with proper error handling
  • Fixed Discogs URL detection for both master and release album types
  • Fixed inconsistent metadata extraction between search and direct URL flows
  • Improved credential management for Discogs API with database-first approach
  • Fixed Discogs album URL detection and metadata extraction
  • Improved Discogs version selection logic to find best release dates
  • Fixed master/release relationship handling for Discogs albums
  • Enhanced release date processing with multi-attempt parsing strategies
  • Comprehensive track duration detection for Discogs albums across all available versions
  • Smart version selection for Discogs albums based on format, country, and data quality
  • Discogs integration with complete search and album details support
  • Added consistent credential retrieval system with primary and fallback sources
  • Implemented intelligent Discogs version scoring system based on release formats and countries
  • Created multi-pass approach to finding accurate Discogs dates from related releases

Theme & UI Improvements

  • Complete overhaul of app theming with new ThemeService architecture
  • Centralized theme management with reactive updates across the app
  • Support for dynamic theme and color changes without app restart
  • Fixed critical color corruption issues with proper color value handling
  • Fixed hex color representation issues ensuring consistent RGB to hex conversion
  • Fixed color picker issues with direct integer-based RGB handling
  • Support for dark mode, light mode and system default with seamless transitions
  • Fixed black color issue on Android devices with proper "safe black" implementation
  • Eliminated flashing of default purple color during app startup with theme preloading
  • Proper color persistence across app restarts
  • Custom hex color input field in color picker for precise color selection
  • Interactive color preview in settings for immediate feedback
  • Critical issue with color picker not displaying correct hex values for selected colors
  • Fixed RGB to hex conversion ensuring exact values are preserved across the application
  • Fixed variable usage in color handling to prevent duplicate definitions
  • Critical color handling issues with reliable RGB value storage and retrieval
  • Theme consistency issues with proper state management and persistence
  • Settings page color picker corruption with proper color value normalization
  • Race condition in ThemeService preventing proper theme application
  • Fixed notification issues with standardized 85% width for consistent UI
  • Eliminated corrupted colors (particularly black and near-black colors) through proper value handling
  • Fixed color selection in settings page to always use correct color channels
  • SVG-based platform icons with proper theme support

API & Search Features

  • Secure user-provided API key support for Spotify and Discogs services
  • Dedicated API key management section in the Settings page
  • Automatic API key validation for Spotify credentials
  • Detailed API setup instructions with step-by-step guidance
  • Clear status indicators showing connected API services
  • Helpful context for why certain services require API keys
  • Direct links to developer portals for obtaining API credentials
  • Fixed Spotify and Discogs search results showing only when API keys are provided
  • Enhanced API key persistence using secure database storage
  • Fixed platform-specific search behavior when API keys are missing
  • Improved error handling for failed API authentication attempts
  • Fixed user-facing API documentation links
  • Implemented API key validation system with proper error handling
  • Added conditional search behavior based on available credentials
  • Implemented platform-specific configuration UI components
  • Enhanced service factory to handle authentication failures gracefully

Album Features & Cross-platform Compatibility

  • Universal EP/Single handling across all platforms (iTunes/Apple Music, Spotify, Deezer, Discogs)
  • Standardized album suffix normalization system for cross-platform compatibility
  • Smart detection and cleanup of album name variations (EP, Single, etc.)
  • Share functionality for album links on mobile platforms
  • Clipboard integration for desktop platforms when sharing
  • Enhanced album matching between platforms with improved similarity algorithms
  • Special platform-specific matching for album variations
  • Context menu for streaming buttons with copy, open, and share options
  • Cross-platform streaming integration with buttons for Spotify, Apple Music and Deezer
  • Integration with existing Bandcamp links to provide unified streaming experience
  • Default search platform selection in settings
  • Default search platform persistence across app restarts
  • Multi-platform search capability (iTunes, Spotify, Deezer)
  • Enhanced clipboard detection for URLs from all supported platforms
  • Improved clipboard URL detection and handling across all supported platforms
  • Better platform detection from pasted URLs with more accurate source identification
  • Enhanced album metadata extraction from Bandcamp URLs
  • Platform icons in search results for better visual identification
  • Platform-specific search capabilities for more accurate results
  • Global notifications system for real-time app state updates

Brand & Application Assets

  • Designed and implemented a new modern logo for better brand identity
  • Created optimized logo assets for all supported platforms (Android, iOS, Windows, macOS, Linux)
  • Implemented adaptive icon support for Android with proper foreground/background layers
  • Added high-resolution icons for desktop platforms with proper scaling
  • Updated app icon in package manifests for all platforms
  • Ensured proper icon display in OS task managers and app launchers
  • Optimized SVG source files for better scaling and rendering
  • Created platform-specific variants to match OS design guidelines
  • Improved support option in About dialog
  • Enhanced footer with version information and sponsor links
  • Refined database maintenance tools with appropriate icons
  • Emergency reset option for critical database issues

Performance & Logging Improvements

  • Fixed overly verbose logging with cleaner, more organized log output
  • Removed unnecessary background processing in middleware for improved performance
  • Improved log management with reduced verbosity and better organization
  • Fixed redundant artwork URL logging during album display
  • Optimized logging for better debug experience and reduced noise
  • Eliminated duplicate artwork URL lookups and logs
  • Fixed performance issues related to excessive logging
  • Streamlined logging for album loading to prevent redundant messages
  • Fixed album conversion using appropriate JsonFixer implementation
  • Fixed duplicate functionality for Bandcamp album updating and album format conversion
  • Platform-specific path issues for data storage
  • Proper disposal of resources to prevent memory leaks
  • Improved state handling for asynchronous operations
  • Added artwork URL caching during album processing for better performance
  • Implemented efficient artwork URL extraction across multiple data source formats
  • Added data summary logging for better troubleshooting
  • Improved logging consistency with single-responsibility pattern
  • Enhanced saved albums display with optimized artwork detection and handling
  • Reduced debug log noise by eliminating redundant messages
  • Added log summaries for batch operations to improve monitoring
  • Implemented pre-processed data storage to avoid redundant lookups
  • Added consistent notification formatting for better UX
  • Improved SnackBar appearance with standardized width
  • Enhanced sponsor integration for better project support options

Code Quality & Architecture

  • Enhanced logging organization with consistent message formats
  • Reduced log verbosity by eliminating redundant messages
  • Added log filtering to focus on important diagnostic information
  • Standardized platform URL detection patterns for better URL handling
  • Added requiresMiddlewareProcessing flag for advanced metadata extraction
  • Created specialized date parsers for each music platform's unique format
  • Enhanced date fallback mechanism with consistent default values
  • Created utility functions for date normalization and standardization
  • Enhanced DateFormat usage with explicit locale support
  • Improved RegExp patterns for date extraction from complex strings
  • Added manual date component parsing for maximum flexibility
  • Added extensive validation and error recovery for date parsing operations
  • Enhanced clipboard integration with improved URL format detection
  • Improved album metadata extraction pipeline with better error handling
  • Added comprehensive date format conversion utilities
  • Implemented special case handling for problematic date formats
  • Enhanced logging for date parsing to aid in debugging
  • Implemented secure API key storage in SQLite database
  • Created centralized ApiKeys and ApiKeyManager classes for better credential management
  • Centralized album name normalization with regex-based suffix detection
  • Standardized string comparison utilities for better text matching
  • Platform-agnostic album title cleanup system
  • Improved platform service factory with better error handling
  • Improved BuildContext management with GlobalKey approach
  • Added StreamController-based global notification system
  • Enhanced error logging for platform-specific issues
  • Better album matching algorithms for cross-platform compatibility
  • Optimized search queries with improved platform handling
  • Connected track ratings with SQLite database storage for persistent ratings
  • Added position-based track ID matching for ratings when direct ID match fails
  • Fixed recursive method calls causing stack overflow errors in rating display
  • Implemented robust track metadata saving with ratings in database
  • Added reliable fallback mechanisms when track data is incomplete
  • Added extensive debug logging for rating matching and persistence