• v0.1.0 81d5b0a402

    Media Server v0.1.0
    Release / create-release (push) Successful in 3s
    Lint & Test / test (push) Successful in 10s
    Release / build-linux (push) Successful in 30s
    Release / build-windows (push) Successful in 1m8s
    Stable

    alexei.dolgolyov released this 2026-03-25 23:20:00 +03:00 | 93 commits to master since this release

    v0.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 -m for 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.exe
    Windows (portable) MediaServer-v0.1.0-win-x64.zip
    Linux MediaServer-v0.1.0-linux-x64.tar.gz
    Downloads