Changelog
All notable changes to Melodee will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Types of Changes
- Added — New features, endpoints, UI pages, or configuration options.
- Changed — Modifications to existing functionality or behavior.
- Deprecated — Features that will be removed in a future release.
- Removed — Features removed in this release.
- Fixed — Bug fixes and error corrections.
- Security — Vulnerability patches and security hardening.
[Unreleased]
[2.0.1] - 2026-05-01
Added
- Dashboard now loads progressively with skeleton placeholders; each data section renders independently as its query completes instead of blocking the entire page.
- Inline setting editor on the Onboarding verification step — failed configuration checks (e.g.,
system.baseUrl) now show a text input and Save button so admins can fix settings without navigating away. - Inline setting editor on the Onboarding blocking page — same inline fix capability when redirected for missing configuration.
Disabledparameter on theThemeSelectorcomponent for use in read‑only profile forms.- Theme-aware skeleton loading placeholders — dark gray on dark themes, light gray on light themes.
- Serilog timing instrumentation on
DoctorService.NeedsAttentionAsyncfor diagnosing slow health checks.
Changed
DoctorService.NeedsAttentionAsyncfast path now uses lightweight file-existence checks for MusicBrainz and ArtistSearch databases instead of full DB probes, reducing dashboard first-render time by ~5 seconds.- Dashboard header spinner (
MainLayoutProxyService.ShowSpinner) now reflects the actual loading state of all dashboard sections.
Fixed
- Dashboard
OnInitializedAsyncno longer runs twice during prerender/interactive transition, eliminating duplicate database queries on page load. - Profile page crash caused by missing
Disabledparameter onThemeSelector. - Light theme (
theme-default) sidebar and panel menu now use a white background instead of falling back to dark styles. - Onboarding blocking page now allows admins to enter and save missing setting values inline.
[2.0.0] - 2026-05-01
v2.0.0 marks the current major release line of Melodee, built on .NET 10 with Blazor Server UI, OpenSubsonic-compatible API, and a native Melodee REST API.
Added
- Blazor Server administrative UI with Radzen component library.
- OpenSubsonic-compatible API for third-party client support.
- Native Melodee REST API with versioned endpoints (
/api/v1/). - Party Mode for collaborative queue management.
- Jukebox playback mode for server-side audio playback.
- Podcast discovery, subscription, and playback.
- Event scripting engine for custom automation.
- MQL (Melodee Query Language) for advanced search and filtering.
- Scrobbling support (Last.fm and compatible services).
- User sharing and playlist management.
- Custom theming with Radzen theme support and custom CSS overrides.
- Multi-library support (Inbound, Staging, Storage).
- Background job scheduling with Quartz.NET.
- Doctor diagnostics for server health checks.
- Onboarding wizard for first-time setup.
- Request system for user-submitted metadata corrections.
- Radio station management.
- Chart generation and display.
- User device profiles.
- Multi-language localization (en-US, de-DE, es-ES, fr-FR, it-IT, ja-JP, pt-BR, ru-RU, zh-CN, ar-SA).
- Docker multi-arch images (linux/amd64, linux/arm64) via GitHub Container Registry.
- Scalar OpenAPI documentation UI.
- Rate limiting for API and authentication endpoints.
- JWT and cookie-based authentication.
- CORS policy configuration.
- ETag and response compression support.
- Custom block system for page customization via Markdown/HTML.
Changed
- Migrated to .NET 10 runtime.
- Migrated from SQLite to DecentDB
- Centralized configuration via
IMelodeeConfigurationFactorywith environment variable overrides.
Fixed
- Various stability and performance improvements across scan pipeline and API endpoints.
Security
- SSRF validation for podcast and external URL fetching.
- Secret redaction in configuration exports and logs.
- CSRF protection via antiforgery tokens.
- HSTS and security headers middleware.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.