github YeonV/LedFx-Builds v2.1.10-b8
Release v2.1.10-b8

pre-release43 minutes ago

🎉 New LedFx Binaries Available!

Variant Description Best For
Core Browser-based server Headless setups, remote access, Raspberry Pi
CC Desktop app (Core + UI) Desktop users, integrated experience
Client Frontend only (needs Core) deprecated - use CC instead

⭐ CC Features (Core + Client + extra love):

Expand

🖥️ Integrated Experience

  • Everything in one window - no browser juggling, just open the app and go

⚙️ System Integration

  • System tray - minimize to tray, quick access menu with shortcuts
  • Multi-instance - manage multiple LedFx servers from one interface

🎵 macOS Audio Helpers

  • Custom BlackHole installer - one-click audio driver setup, no Terminal needed
  • Device toggle - enable/disable audio devices without Audio MIDI Setup
  • Volume control - adjust output volume directly in LedFx settings
  • Auto-configuration - handles audio routing automatically

🔒 Local SSL Made Easy

  • One-click HTTPS - self-signed cert generation and installation
  • ledfx.local domain - auto-edits hosts file for clean URLs
  • Secure local networking - HTTPS for accessing from other devices
  • Cross-platform - works on Windows, macOS, and Linux

🎼 Song Detector Integration

Automatic track info from Spotify, YouTube Music, etc:

Song Detector (basic):

  • Artist & title → LED matrix text display
  • Album artwork → LED matrix image visualization
  • Color extraction → auto-generate gradients for your virtuals (effect keeps running)

Song Detector Plus (advanced):

  • Everything above, plus:
  • Real-time playback position & duration
  • Built-in player controls
  • Song Triggers - auto-apply specific scenes when certain songs play

All managed from CC settings - download, install, auto-start configuration built-in.

info: on mac we are using a custom Adapter of media-control


Frontend-Changes:

Expand
  • Release 2.1.10-b8 by

Backend Changes

Expand
  • chore(deps): update getsentry/action-release action to v3.7.2 (#2119) by
  • chore(deps): update ledfx/.github digest to 3eb9a4a (#2118) by
  • chore(deps): update oasdiff/oasdiff-action action to v0.1.19 (#2116) by
  • chore(deps): update getsentry/action-release action to v3.7.1 (#2115) by
  • chore(deps): update dependency certifi to v2026.10.18 [security] (#2114) by
  • chore(deps): update actions/upload-artifact action to v7.0.2 (#2111) by
  • chore(deps): update actions/download-artifact action to v8.0.2 (#2110) by
  • chore(deps): update dependency pyrefly to v1.3.2 (#2098) by
  • ci(lint-notify): treat a run without a lint job as not failed (#2101) by
  • chore(deps): update @scalar/api-reference to v1.72.4 (#2097) by
  • feat(hue): stream through native ledfx-senders and drop python-mbedtls (#2077) by
  • feat(websocket): acknowledge event subscription installation (#2079) by
  • chore(deps): update dependency aiohttp to v3.14.4 [security] (#2099) by
  • fix(lifx): log offline-device timeouts without a traceback (#2096) by
  • feat: add silence scene functionality (#2088) by
  • fix: lifx matrix test port pr2086 (#2095) by
  • test(lifx): bind the LIFX emulator to an OS-assigned port (#2086) by
  • fix(sendspin): schedule audio in the client's clock domain (#2093) by
  • chore(deps): lock file maintenance (#2092) by
  • chore(deps): update astral-sh/setup-uv action to v10.2.0 (#2091) by
  • chore(deps): update dependency ruff to v0.16.9 (#2090) by
  • chore(deps): update dependency actionlint-py to v1.7.12.25 (#2089) by
  • fix(lifx): run the Mirror's back ring in the same direction as the front (#2085) by
  • fix: Make User audio selection sticky in fallback scenarios (#2087) by
  • fix(devices): give new matrix devices a 2D virtual (#2084) by
  • chore(deps): update ledfx/release-ci action to v0.4.2 (#2083) by
  • chore(deps): update dependency multidict to v6.9.1 [security] (#2082) by
  • chore(deps): update ledfx/.github digest to 0e36d94 (#2081) by
  • refactor(devices): remove obsolete packet wrappers and UDP base (#2078) by
  • test(lifx): cover LIFX Mirror detection, ring virtuals and scatter (#2076) by
  • fix(virtuals): clear a removed virtual before destroying it (#2075) by
  • feat(lifx): add support for LIFX Mirror (#1854) by
  • fix: isolate PyPI upload sidecars from verified distributions (#2074) by
  • feat: integrate native LED senders and simplify render pipelines (#2071) by
  • ci: consume shared release-ci 0.3.0 from pyproject (#2073) by
  • chore(deps): lock file maintenance (#2072) by
  • ci: verify and attest releases with recoverable Discord notifications (#2070) by
  • fix(websocket): release listeners when subscription IDs are reused (#2065) by
  • fix(effects): close Clone screen captures on teardown (#2064) by
  • fix(devices): release configuration locks before virtual callbacks (#2066) by
  • docs: document and support maintenance patch releases (#2069) by
  • fix: aoisendspin to unpaired mode (#2063) by
  • fix(api): route scenes, presets and Home Assistant through the virtuals manager (#2055) by
  • refactor(virtuals): make the virtuals manager strict and keep v1's leniency in v1 (#2048) by
  • feat(api-v2): serve virtuals through a shared manager (#2042) by
  • test(api-v2): hold every v2 route to its contract (#2038) by
  • test: make the live LedFx tests reliable and twice as fast (#2029) by
  • fix(installer): close a running LedFx before upgrading and harden the installer (#2020) by
  • feat(api-v2): serve an offline API reference at /api/v2/docs (#2027) by
  • feat(api-v2): generate, serve and check an OpenAPI 3.1 spec (#2024) by
  • feat(api-v2): serve typed /api/v2 routes with Problem errors (#2023) by
  • feat(api): lay the API v2 foundations (#2022) by
  • fix(e131): let each sACN sender use its own source port (#2015) by
  • fix(virtuals): clear an effect that is no longer registered (#2018) by
  • fix: keep devices and transitions working after a pixel count change (#2017) by
  • fix(mdns): close the zeroconf instance after each device scan (#2016) by
  • fix(websocket): accept the frontend's Web Audio sample list (#2014) by
  • fix(mqtt_hass): publish the colour of the effect that changed (#2013) by
  • fix(qlc): reconnect reliably and close the websocket session (#2010) by
  • fix(websocket): block virtual_update subscriptions (#2012) by
  • fix: stop expected conditions reaching Sentry as errors (#2011) by
  • fix: follow-ups from the stack #1974 review (#2007) by
  • ci: run only the jobs a pull request's changes need (#2008) by
  • chore(deps): update pre-commit hook facebook/pyrefly-pre-commit to v1.3.1 (#2009) by
  • chore(deps): update dependency pyrefly to v1.3.1 (#2006) by
  • fix(api)!: remove two broken v1 routes; correct the v1 docs (#1998) by
  • fix(api): Spotify trigger edit, integration names, active state on update (#1997) by
  • fix(api): keep blocking network calls off the event loop (#1996) by
  • fix(api): schedule power stops and delayed scene activations, with caps (#1995) by
  • fix(api): virtual tools run only what they implement, with validated input (#1994) by
  • fix(api): built-in presets and colors are read-only; no false success (#1993) by
  • fix(api): small v1 fixes: device not-found message, one PlaylistManager (#1992) by
  • refactor(config): read audio and melbank config as typed, frozen models (#1990) by
  • refactor(schema): serve pydantic's static JSON Schema; instance choices by marker (#1988) by
  • fix(api): answer bad input with a validation error or a clear reason (#1986) by
  • refactor(config): remove voluptuous and transitional config shims (#1984) by
  • refactor(config): typed Config for effects m-z (#1983) by
  • refactor(config): typed Config for effect bases and effects a-l (#1982) by
  • refactor(config): typed Config for devices and integrations (#1981) by
  • feat(config): validate plugin configs with pydantic models (#1980) by
  • feat(config): typed core config with lenient loading (#1979) by
  • feat(config): typed field types and JSON Schema export (#1978) by
  • feat(config): add a versioned, crash-safe ConfigStore (#1977) by
  • fix: harden device lifecycle and render loop; remove no-op dev auto-reload (#1973) by
  • fix: resolve fourteen more runtime bugs exposed by strict typing (#1972) by
  • fix: resolve ten runtime bugs exposed by strict typing (#1971) by
  • fix: resolve Sendspin typing and client API errors (#1970) by
  • chore: add strict Pyrefly checking with a baseline ratchet (#1969) by
  • chore(deps): update docker/setup-buildx-action action to v4.4.1 (#2004) by
  • ci: re-check the PR title on every edit so the required check cannot be skipped (#2002) by

Don't miss a new LedFx-Builds release

NewReleases is sending notifications on new releases.