Tags give the ability to mark specific points in history as being important
-
-
v0.6.10
536a1fee · ·Release v0.6.10 Security and Code Quality Improvements Security Fixes: - Upgrade TLS to 1.3 with fallback support - Replace sprintf with snprintf to prevent buffer overflow - Remove system() calls and format string vulnerabilities - Add fork security check to GitHub Actions Code Quality: - Reduce code duplication from 23.2% to <3% - Reduce complexity across all modules (Phase 1-6 complete) - Eliminate 225+ lines of duplicated code in translators - Refactor to struct-based parameters Refactoring: - Extract common HTTP request logic - Implement generic JSON path parser - Consolidate retry and prompt logic - Introduce render_base helper system SonarCloud Issues Resolved: - All BLOCKER/CRITICAL issues fixed - 57 HIGH severity issues documented for Phase 8 No new features - focused on security hardening and maintainability.
-
v0.6.9
8d2f7cb6 · ·Release v0.6.9 Features: - Translation time feasibility check with cache threshold - Config hot reload for translation settings - Enhanced translation progress display with percentage and icons - Configurable cache policy (comfort/balanced/aggressive) - Config validation for unknown fields and sections Bug Fixes: - Enforce TLS 1.2+ for all HTTPS connections - Remove TOCTOU race conditions in file operations - Prevent null pointer dereference in LRCX parser - Fix duplicate translation display when skipping same language - Add explicit bounds checking to prevent buffer overflow
-
-
-
-
v0.6.5
1f5a634c · ·Release v0.6.5 Translation system refactoring with shared helpers and improvements: - Common translation helper library for all translators - Partial cache resume with configurable re-validation - 75% partial caching threshold - Ruby notation stripping to reduce token usage - LRC-only translation (exclude LRCX/SRT/VTT) - Improved language detection (strip punctuation) - Enhanced translation progress display - Configurable revalidate_count (1-10, default: 2)
-
-
v0.6.3
d7b1fa27 · ·Release v0.6.3 Multi-Provider Translation Support Features: - Add Google Gemini API support (gemini-2.5-flash, gemini-2.5-pro) - Add Anthropic Claude API support (claude-sonnet-4-5, claude-opus-4-5, claude-haiku-4-5) - Migrate config from [deepl] to [translation] section with unified provider field - Add intuitive rate limit format: 50m (RPM), 5s (RPS), or raw milliseconds - Implement automatic retry logic with exponential backoff for rate limit errors (HTTP 429/503) - Add configurable max_retries setting (default: 3) - Support inline comments in config file (api_key = value # comment) - Standardize logging with INF/WRN/ERR/SUC tags across all translators Breaking Changes: - Config section renamed from [deepl] to [translation] - New provider field required (deepl, gemini-2.5-flash, claude-sonnet-4-5, etc.) - Old [deepl] section still works with deprecation warning Bug Fixes: - Fix CI build warning for system() return value check
-
v0.6.2
0d600e9d · ·Release v0.6.2 - Fix: Exclude album from search API fallback to handle incorrect album metadata (#5)
-
-
v0.6.0
4a3977b9 · ·Release 0.6.0: DeepL Translation Support Major new features: - DeepL API translation integration for LRC lyrics - Configurable translation display and opacity - Smart caching system for translations - Auto-detection of Free vs Pro API endpoints Full changelog available in commit history.
-
v0.5.9
104fb103 · ·Release v0.5.9 New Features: - Add 'anchor' configuration option for positioning lyrics overlay (top/bottom/left/right) - Replace 'margin_bottom' with global 'margin' setting that works with all anchor positions - Add 'preferred_players' configuration to prioritize specific music players Improvements: - Command-line flags (-a, -m) still override configuration file values - Better MPRIS player filtering to avoid browser interference Configuration Changes: - settings.ini: 'margin_bottom' renamed to 'margin' - settings.ini: new 'anchor' option (default: bottom) - settings.ini: new 'preferred_players' option (default: empty = all players) This release addresses feedback from issue #2 about missing configuration options.
-
v0.5.8
369e49c2 · ·Release v0.5.8 - Fix track change detection to use URL instead of title - Improve robustness against MPRIS metadata issues - Add validation for empty metadata strings (v0.5.7) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
-
v0.5.7
e89a3900 · ·Release v0.5.7 - Fix validation for empty metadata strings in providers - Add custom notification command support (v0.5.6) - Prevent invalid API requests with empty title/artist/album - Improve code clarity with explicit validation
-
v0.5.6
cf630397 · ·Release v0.5.6 - Add configurable notification timeout setting - Add config validation against settings.ini.example - Warn users about missing config keys after updates
-
v0.5.5
19133b93 · ·Release v0.5.5 - Add desktop notifications for track changes with album art - Use ephemeral notifications to avoid notification center - Prioritize cache for album art loading - Remove tooltip support (notifications only) - Refactor code with clean_track_title() helper function
-
-
v0.5.3
210dfb8a · ·Release v0.5.3 Add systemd user service integration for better system integration and log management. Features: - systemd user service file for service management - Auto-start on login support (systemctl --user enable) - Automatic restart on failure - Journal logging with proper timestamps and priority levels - Service file automatically installed to /usr/lib/systemd/user Documentation: - Updated README.md with systemd service usage examples - Updated docs/README.ko.md with Korean documentation - Added journalctl command examples for log viewing CI/CD Improvements: - Added installation file verification in CI workflow - Added service file syntax validation - Added meson install configuration testing - Updated release workflow to use Arch Linux container
-