Skip to content

Fluxtuner 1.0.6

Choose a tag to compare

@github-actions github-actions released this 12 Jul 18:14
2ed213c

Highlights

FluxTuner 1.0.6 completes the post-1.0 architecture and Web player hardening cycle.

This release focuses on clearer ownership boundaries, deterministic browser playback behavior and stronger executable contracts before future Web metadata work begins.

Changed

  • Completed the post-1.0 Web architecture refactor while keeping fluxtuner/web/app.py and fluxtuner/web/static/app.js as focused composition roots.
  • Split shared SQLite persistence into focused domain modules for users, profiles, stations, favorites, history, playlists, password changes and public statistics.
  • Retained compatibility wrappers and centralized schema/bootstrap ownership in db.py.
  • Split the Web stylesheet into focused shell, public, authentication, forms, dialogs, dashboard, stations, player and admin stylesheets.
  • Added an explicit Web player model with validated idle, loading, playing, paused and error transitions.
  • Made playback replacement, pause, stop and lifecycle recovery deterministic.
  • Added conservative offline/online recovery that preserves the selected station and requires explicit resume.
  • Clarified FluxTuner's terminal, desktop and self-hosted Web positioning.
  • Clarified private non-commercial self-hosting, commercial licensing and external catalog/stream dependencies.

Fixed

  • Prevented stale asynchronous playback attempts from updating the current player state.
  • Prevented late playing, pause and waiting events from overwriting newer state.
  • Fixed lifecycle reconciliation across connectivity, visibility, pagehide and pageshow events.
  • Fixed responsive Web layout ownership and regressions discovered while extracting feature-local CSS.

Documentation

  • Added and completed the architecture refactor roadmap for the Web JavaScript and player state-model phases.
  • Added a transparent engineering-process document describing AI-assisted development under human direction.
  • Expanded README guidance for Docker Compose, self-hosting, licensing and privacy boundaries.

Internal

  • Added executable Node-based contracts for browser modules, bootstrap ordering, player runtime delegation, playback replacement and lifecycle reconciliation.
  • Added focused persistence tests for the extracted storage domains.
  • Added source-boundary and CSS ownership tests to protect the completed architecture.

Scope

Web Now Playing metadata is not included in this release.

Backend metadata caching, workers, polling and SSRF-safe stream inspection remain planned for a future update.

Validation

  • Full release gate passed.
  • Python wheel and source archive built successfully.
  • AppStream metadata validated.
  • Installed package reported version 1.0.6.
  • Release tag points to the current main release commit.