-
Media Server v0.1.0
Stablereleased this
2026-03-25 23:20:00 +03:00 | 93 commits to master since this releasev0.1.0 (2026-03-25)
Initial public release of Media Server — a standalone REST API server (FastAPI) for controlling system-wide media playback on Windows, Linux, macOS, and Android.
Features
- Remote media control: play, pause, stop, next, previous, volume, seek (83acf5f)
- Built-in Web UI for media control and monitoring (a0d138b)
- Media browser with grid/compact/list views and single-click playback (e16674c)
- Low-latency volume control via WebSocket (32b058c)
- Audio visualizer with spectrogram, beat-reactive art, and device selection (0691e3d)
- Dynamic WebGL background with audio reactivity (be48318)
- Runtime script management with Home Assistant integration (d7c5994)
- Typed script parameters with validation and icon-grid selector (1410a8d)
- Callback management API/UI and theme support (a0af855)
- Multi-token authentication with client labels (71a0a6e)
- Optional authentication — no tokens = no auth (4d1bb78)
- Internationalization (i18n) with English and Russian locales (9bbb8e1)
- PWA support: installable standalone app with safe area handling (a20812e)
- System tray icon with Show UI, Restart, and Shutdown actions (6500d6f, 3f14512)
- Display brightness and power control (a568608)
- Custom accent color picker and primary display indicator (397d38a)
- 3D album art rotation and vinyl desaturation effect (4112367)
- Friendly media source names with brand icons (73a6f38)
- Browser search/filter for media items (5f474d6)
- Header quick links with CRUD management (99dbbb1)
- Swagger API docs button in header toolbar (2b1e09d)
- Update-available notification system (795a15c)
- Persist audio capture device selection to config (fb56e6c)
- UI animations: dialogs, tabs, settings, browser stagger, banner pulse (3cfc437)
- Tabbed UI with browse caching and bottom mini player (98a33bc)
- Slider tracks tinted with accent color (1c0a011)
Bug Fixes
- Tray restart uses
python -mfor reliable process respawn (415231f) - Tray main-thread message loop, numpy <2.0 pin, installer config copy (4021837)
- Loopback device status showing 'Unavailable' after change (0eca829)
- Error handling for unavailable network shares (d1ec27c)
- HTTPException handling in folder endpoints (c5f8c7a)
- FOUC (Flash of Untranslated Content) issues (4f8f59d)
- Windows Task Scheduler auto-start (8077181)
- Vinyl angle persistence on toggle (00d313d)
Development / Internal
CI/Build
- CI/CD pipelines with Gitea Actions, NSIS installer, ES module bundling, ruff linting (5439af1)
- Linux build in release workflow (ddd8788)
- NSIS installer with custom icon, launch-after-install, running-instance detection (26b5f74)
- CI/build improvements and version detection (4ef11c8)
- Warning annotation for existing release fallback (d0830cb)
Refactoring
- Modular frontend: refactor monolithic app.js into 8 modules (92d6709)
- Codebase audit: stability, performance, accessibility fixes (9404b37)
All Commits (82)
Hash Message Author d0830cb ci: use warning annotation for existing release fallback alexei.dolgolyov 4ef11c8 chore: CI/build improvements and version detection alexei.dolgolyov fb56e6c feat: persist audio capture device selection to config.yaml alexei.dolgolyov ff67126 chore: bump version to 1.0.1 alexei.dolgolyov 795a15c feat: add update-available notification system alexei.dolgolyov 1410a8d feat: typed script parameters with validation and icon-grid selector alexei.dolgolyov 1c0a011 feat: tint slider tracks with 15% accent color alexei.dolgolyov 2b1e09d feat: add Swagger API docs button to header toolbar alexei.dolgolyov 415231f fix: tray restart uses python -m for reliable process respawn alexei.dolgolyov 32e2ff5 fix: add --only-binary to pip download fallback (CI compatibility) alexei.dolgolyov 309f547 feat: add default MDI icons to example config scripts alexei.dolgolyov 4021837 fix: tray main-thread message loop, numpy <2.0 pin, installer config copy alexei.dolgolyov d7e10b1 fix: interpolate tag in release body template (f-string) alexei.dolgolyov 3f14512 feat: add Restart and Shutdown tray actions with confirmation dialogs alexei.dolgolyov 26b5f74 feat: improve installer with custom icon, launch-after-install, and running-instance detection alexei.dolgolyov 1f6e4f6 feat: add Launch option to installer finish page alexei.dolgolyov 6500d6f feat: add system tray icon with Show UI and Exit actions alexei.dolgolyov 4d1bb78 feat: make authentication optional — no tokens = no auth alexei.dolgolyov f80f6e9 fix: correct ._pth path in Windows build script alexei.dolgolyov 0216851 docs: comprehensive README update with all API endpoints and features alexei.dolgolyov c76ffb9 fix: handle existing release in create-release job alexei.dolgolyov ddd8788 Add Linux build to release workflow, fix pytest exit code 5 alexei.dolgolyov 5439af1 Add CI/CD pipelines, NSIS installer, ES module bundling, and ruff linting alexei.dolgolyov be48318 Add dynamic WebGL background with audio reactivity alexei.dolgolyov 0eca829 Fix loopback device status showing 'Unavailable' after change alexei.dolgolyov 3cfc437 Add UI animations: dialogs, tabs, settings, browser stagger, banner pulse alexei.dolgolyov a20812e Add PWA support: installable standalone app with safe area handling alexei.dolgolyov 652f10f Reduce visualizer latency, tighten UI paddings, fix mobile browser toolbar alexei.dolgolyov 3846610 On-demand audio visualizer capture + UI fixes alexei.dolgolyov 92d6709 Refactor monolithic app.js into 8 modular files alexei.dolgolyov 9404b37 Codebase audit fixes: stability, performance, accessibility alexei.dolgolyov 73a6f38 Add friendly media source names with brand icons alexei.dolgolyov b11edc2 Redesign header as pill-shaped toolbar group alexei.dolgolyov 3d01d98 Style audio device select, hide mini player volume on tablet alexei.dolgolyov 4112367 Add 3D album art rotation and vinyl desaturation effect alexei.dolgolyov 00d313d Fix vinyl angle persistence on toggle, group player toggle buttons alexei.dolgolyov 0691e3d Add audio visualizer with spectrogram, beat-reactive art, and device selection alexei.dolgolyov 8a8f00f Persist vinyl rotation angle across page reloads alexei.dolgolyov 397d38a Add primary display indicator, custom accent color picker, restart script alexei.dolgolyov adf2d93 Consolidate tabs, Quick Access links, mini player nav, link descriptions alexei.dolgolyov 99dbbb1 Add header quick links with CRUD management and icon enhancements alexei.dolgolyov 6f6a4e4 Improve slider track visibility in both themes alexei.dolgolyov a568608 Add display brightness and power control alexei.dolgolyov 03a1b30 Comprehensive WebUI improvements: security, UX, accessibility, performance alexei.dolgolyov ef1935c Update README with current features alexei.dolgolyov 7ee0a60 Update media browser screenshot alexei.dolgolyov 7f28145 Update documentation screenshots alexei.dolgolyov 80d4dbc Fix browser grid card sizing alexei.dolgolyov caf24db Compact browser grid cards alexei.dolgolyov babdb61 Update media-server: Vinyl record mode and accent color picker alexei.dolgolyov 65b513c Update media-server: UI polish and bug fixes alexei.dolgolyov 84b985e Backend optimizations, frontend optimizations, and UI design improvements alexei.dolgolyov d1ec27c Improve error handling for unavailable network shares alexei.dolgolyov 13df69a Show media title (Artist – Title) instead of filename when available alexei.dolgolyov 4c13322 Show bitrate in browser, remove type labels and Play All text alexei.dolgolyov 5f474d6 Add browser search/filter for media items alexei.dolgolyov 98a33bc Tabbed UI, browse caching, and bottom mini player alexei.dolgolyov 8db40d3 UI polish: refresh button, negative thumbnail cache, and style fixes alexei.dolgolyov f275240 Add Play All, home navigation, and UI improvements alexei.dolgolyov e16674c Add media browser with grid/compact/list views and single-click playback alexei.dolgolyov 32b058c Add low-latency volume control via WebSocket alexei.dolgolyov c5f8c7a Fix HTTPException handling in folder endpoints and install script path alexei.dolgolyov 8d15a2a Update Web UI: Header redesign, thumbnail fix, and title fallback alexei.dolgolyov 1cb83ea Add screenshots to README alexei.dolgolyov 62c42f7 Move install_task_windows.ps1 to scripts folder alexei.dolgolyov eb2aed4 Update media browser UI with fade-in animations and improvements alexei.dolgolyov 7c631d0 Add media browser feature with UI improvements alexei.dolgolyov d5ec5c6 Update Web UI: Improve volume slider responsiveness alexei.dolgolyov 29e0618 Update Web UI: Add server management scripts and improve UX alexei.dolgolyov 4f8f59d Update media-server: Fix FOUC (Flash of Untranslated Content) issues alexei.dolgolyov 40c2c11 Update media-server: Improve script/callback table layout and command editor UX alexei.dolgolyov 4635cac Update media-server: Add execution timing and improve script/callback execution UI alexei.dolgolyov 957a177 Update media-server: Add backdrop click-to-close for dialogs alexei.dolgolyov 8077181 Fix Windows Task Scheduler auto-start alexei.dolgolyov 9bbb8e1 Add internationalization (i18n) support with English and Russian locales alexei.dolgolyov a0af855 Add callback management API/UI and theme support alexei.dolgolyov d7c5994 Add runtime script management with Home Assistant integration alexei.dolgolyov 71a0a6e Add multi-token authentication with client labels alexei.dolgolyov 5342cff Add script execution to Web UI alexei.dolgolyov a0d138b Add built-in Web UI for media control and monitoring alexei.dolgolyov 1a1cfba Add callbacks support for all media actions alexei.dolgolyov 83acf5f Initial commit: Media Server for remote media control alexei.dolgolyov Downloads
Platform File Windows (installer) MediaServer-v0.1.0-setup.exeWindows (portable) MediaServer-v0.1.0-win-x64.zipLinux MediaServer-v0.1.0-linux-x64.tar.gzDownloads