Releases
v1.6.0
Compare
Sorry, something went wrong.
No results found
Features
Audio: Retry dropped internet streams with exponential backoff (02f5310 )
Bug Fixes
audio: Enumerate source sequences once (b3d957b )
audio: Set Device.IsDefault from constructor and promote rule to error (a87a4d1 )
AudioTrackParser: Match audio file extensions case-insensitively (fd58ae0 )
AudioTrackParser: Return each track once from recursive scans (66621c5 )
AudioTrackParser: Skip unreadable audio files in folder scans (145c978 )
Extensions: Support nullable enums in EnumerationExtension (c9a88b6 )
FileExtensions: Detect encoding for short files and UTF-32 (4bde539 )
globalization: Format temperature file names invariantly (158c6e7 )
globalization: Parse PercentageConverter operands invariantly (49faddf )
lifetime: Make Clock disposable and dispose it on close (f688394 )
logging: Replace console error with a real log entry (4cf050f )
nullable: Drop unscoped nullable annotations in MainWindowViewModel (e0ec5a3 )
Track: Assign Id in the stream track constructor (bca3841 )
Track: Handle empty lists in tag and genre formatting (a495e7b )
Performance
analyzers: Hoist constant arrays and cache JsonSerializerOptions (da9b197 )
Continuous Integration
build: Run unit tests before versioning (d2483d8 )
workflows: Build the app project instead of the installer on PRs (25a95dc )
workflows: Validate build and tests on pull requests (63ef332 )
Documentation
CLAUDE: Document test project and conventions (c4ea68b )
CLAUDE: Update known defect testing guidance (dac7220 )
readme: Point to wiki for full documentation (d141780 )
You can’t perform that action at this time.