Skip to content

Releases: LedFx/LedFx

LedFx 2.2.1

Choose a tag to compare

@ledfx-automation ledfx-automation released this 04 Oct 12:23
e25a9b5

2.2.1 (2026-10-04)

Bug Fixes

  • Sendspin: restore compatibility with the aiosendspin 9.1.1 client API and enable unpaired access before connecting to Music Assistant (#1970, #2063). Retain a stable identity, clean up playback buffers, and fix signed 24-bit PCM decoding.
  • Windows installer: close running LedFx processes before upgrading or uninstalling, replace old bundled dependencies safely, preserve startup settings, and correct shortcuts and uninstall registration (#2020).
  • Devices: keep output working after config and pixel-count changes; fix WLED sender changes, serial connection state, Hue handshakes, Launchpad handling, and socket cleanup (#1971, #1972, #1973, #2017).
  • E1.31: avoid source-port collisions between senders and correct universe-boundary calculations (#2015, #2017).
  • Effects: prevent render-thread failures from freezing output, correct config coercion and transitions, discard stale registry entries safely, and reset GIF frames when rebuilding (#1972, #1973, #2018).
  • Web Audio: accept the frontend's sample lists and validate malformed input; reject unsupported raw virtual-update subscriptions (#1971, #2012, #2014).
  • Integrations and discovery: close QLC websocket sessions, reconnect reliably, publish the color of the effect that triggered a Home Assistant event, and close zeroconf resources on repeated WLED scans (#2010, #2013, #2016).

This maintenance release preserves the 2.2.0 configuration format and v1 API. The configuration migration, API v2, and v1 route removals on main are excluded.

What's Changed

  • fix: backport 2.2.1 maintenance fixes by @shauneccles in #2067
  • chore(release/2.2): release 2.2.1 by @ledfx-automation[bot] in #2068

Full Changelog: v2.2.0...v2.2.1

LedFx 2.2.0

Choose a tag to compare

@ledfx-automation ledfx-automation released this 01 Oct 02:30
47c3b63

2.2.0 (2026-10-01)

Features

Bug Fixes

  • audio: preserve audio selection and reconnect Sendspin after Music Assistant restarts (#1833) (284ec23)
  • audio: preserve selected device on partial config updates (#1831) (375209d)
  • Clean up Sendspin eager start and handle pause (#1837) (091b723)
  • default gradient to off in now playing service config (#1832) (1f7ed3a)
  • deps: keep cryptography 48 on Intel macOS (#1920) (b18344f)
  • deps: update dependency aiosendspin to v9 (#1913) (5bd35d7)
  • deps: update dependency mss to ~=10.2.0 (#1899) (0ef565a)
  • deps: update dependency pybase64 to ~=1.5.0 (#1900) (f8a9108)
  • gap- device trap corner cases (#1822) (e92bbac)
  • MacOS tray icon thread requirements (#1860) (4c3858d)
  • melt_and_sparkle suddenly changing. (#1847) (d2d3c57)
  • moved launchpad pro mk3 before pad pro #1824 (#1829) (cb9fc7c)
  • nanoleaf: support Nanoleaf Essentials devices that report a length instead of a panel layout (#1853) (a7e44a5)
  • query the autofix workflow by filename, not name (#1959) (7b5ea30)
  • security: cap the frame count and total pixels of animated images so oversized GIFs cannot exhaust memory and CPU (GHSA-cjr3-wgv6-rq28) (a7e44a5)
  • security: check the request Origin and Host and build CORS headers from one policy; clients that reach LedFx by a non-local DNS name need it in allowed_hosts (GHSA-q86q-8gw9-jjgq) (a7e44a5)
  • security: close SSRF guard bypasses via IPv6 transition addresses, redirects and DNS rebinding (GHSA-pc6c-8c73-p6p2) (a7e44a5)
  • security: validate the Nanoleaf pairing address so requests cannot target arbitrary hosts and paths (GHSA-cc93-3vjc-976h) (a7e44a5)

Documentation

  • explicitly define supported Python range (3.10–3.13) across install/build guides (#1827) (6ceecbb)
  • MusicBrainz Album Art and general dev notes shuffle (#1818) (eecc25e)
  • prek commands that work on a fresh checkout; defer the blame entry (53998aa)
  • sendspin: document which Sendspin and Music Assistant versions work together (#1848) (a7e44a5)

What's Changed

  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1811
  • dev: trim copilot-instructions.md to reduce token count by @bigredfrog in #1816
  • Feat: now_playing by @bigredfrog in #1805
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1817
  • Docs: MusicBrainz Album Art and general dev notes shuffle by @bigredfrog in #1818
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1821
  • Fix: gap- device trap corner cases by @bigredfrog in #1822
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1823
  • Docs: explicitly define supported Python range (3.10–3.13) across install/build guides by @bigredfrog with @Copilot in #1827
  • doc: loopback on raspberry by @Polarfuchs in #1830
  • Fix: moved launchpad pro mk3 before pad pro #1824 by @PastaLaPate in #1829
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1828
  • fix(audio): preserve selected device on partial config updates by @adamoberley in #1831
  • Fix: default gradient to off in now playing service config by @bigredfrog in #1832
  • fix(audio): preserve audio selection and reconnect Sendspin after Music Assistant restarts by @bigredfrog in #1833
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1834
  • Feat: Add filtered boolean to equalizer2d effect by @bigredfrog in #1836
  • Feat: Add linux now-playing support by @bigredfrog in #1835
  • Fix: Clean up Sendspin eager start and handle pause by @bigredfrog in #1837
  • chore: bump frontend submodule to 2.1.6-b41 by @YeonV in #1846
  • Fix: Bump aoisendspin and add warnings by @bigredfrog in #1848
  • Fix issue with melt_and_sparkle suddenly changing. by @ywwg in #1847
  • chore: bump lifx-async and lifx-emulator-core by @Djelibeybi in #1849
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1841
  • Feat: Add melbank flag by @bigredfrog in #1851
  • Fix: Support Nanoleaf devices that return length, not layout by @JeroenvanA in #1853
  • Configure Renovate from the LedFx preset, require CI before merge; drop Dependabot version updates by @shauneccles in #1863
  • chore(deps): update dependency pytest to v9.0.3 [security] by @renovate[bot] in #1864
  • chore(deps): update dependency aiohttp to v3.14.3 [security] by @renovate[bot] in #1865
  • chore(deps): update dependency zeroconf to v0.149.16 [security] by @renovate[bot] in #1867
  • chore(deps): update dependency black to v26 [security] by @renovate[bot] in #1868
  • chore(deps): update dependency pillow to v12.3.0 [security] by @renovate[bot] in #1866
  • chore(deps): update dependency black to >=26.5.1,<26.6.0 by @renovate[bot] in #1890
  • chore(deps): update dependency ruff to >=0.16.7,<0.17.0 by @renovate[bot] in #1895
  • chore(deps): update dependency pre-commit to >=4.6.2,<4.7.0 by @renovate[bot] in #1891
  • chore(deps): update dependency pytest-asyncio to >=1.4.0,<1.5.0 by @renovate[bot] in #1892
  • chore(deps): update actions/setup-python action to v7 by @renovate[bot] in #1902
  • chore(renovate): don't pin the docker-compose example by @shauneccl...
Read more

LedFx 2.1.9

Choose a tag to compare

@github-actions github-actions released this 18 May 23:33
7c8b2c6

What's Changed

New Contributors

Full Changelog: v2.1.8...v2.1.9

LedFx 2.1.8

Choose a tag to compare

@github-actions github-actions released this 21 Apr 20:08
a95139a

What's Changed

Full Changelog: v2.1.7...v2.1.8

LedFx 2.1.7

Choose a tag to compare

@github-actions github-actions released this 07 Apr 15:44
aba48b5

What's Changed

Full Changelog: v2.1.6...v2.1.7

LedFx 2.1.6

Choose a tag to compare

@github-actions github-actions released this 05 Apr 18:24
9d94e77

What's Changed

New Contributors

Full Changelog: v2.1.5...v2.1.6

LedFx 2.1.5

Choose a tag to compare

@github-actions github-actions released this 07 Feb 16:49
4fa8a4d

What's Changed

Full Changelog: v2.1.4...v2.1.5

LedFx 2.1.4

Choose a tag to compare

@github-actions github-actions released this 03 Feb 04:40
264df62

What's Changed

Full Changelog: v2.1.3...v2.1.4

LedFx 2.1.3

Choose a tag to compare

@github-actions github-actions released this 02 Feb 04:14
a01ebfa

What's Changed

New Contributors

Full Changelog: v2.1.2...v2.1.3

What's Changed

  • Fix: div zero protection in waterfull2d with 1d Strip and fade non zero by @bigredfrog in #1583
  • Feat: add DELETE api/playlists/{id} by @bigredfrog in #1584
  • Feat: add preset active flag to virtual presets api by @bigredfrog in #1587
  • Dev: add twinkly appeal to docs by @bigredfrog in #1588
  • Feat: enhance TypeScript interfaces for Scene and Preset with active state and update API response types by @YeonV in #1589
  • Feat: Ignore advanced and diag keys on virtual presets active comparison by @bigredfrog in #1590
  • Feat: add GET /api/scenes/{id} by @bigredfrog in #1591
  • Update samplerate dependency to samplerate-ledfx version 0.2.3 by @shauneccles in #1594
  • Feat: add image cache and security by @bigredfrog in #1598
  • Feat: scenes api update docs and implementation by @bigredfrog in #1596
  • Build(deps): Bump actions/checkout from 5 to 6 in the github-actions group by @dependabot[bot] in #1599
  • Build(deps): Bump the minor-and-patch group across 1 directory with 5 updates by @dependabot[bot] in #1597
  • Dev: clean up example config by @bigredfrog in #1600
  • Build(deps): Bump the minor-and-patch group with 3 updates by @dependabot[bot] in #1602
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1603
  • Add EffectUpdatedEvent and update other events to include relevent state by @mill1000 in #1507
  • Feat: Add front end logging API by @bigredfrog in #1604
  • Docs: Clean up for aubio-ledfx by @bigredfrog in #1608
  • Build(deps): Bump the minor-and-patch group across 1 directory with 6 updates by @dependabot[bot] in #1607
  • Feat: Asset manager and api by @bigredfrog in #1611
  • Dev: update ...
Read more

LedFx 2.1.2

Choose a tag to compare

@github-actions github-actions released this 14 Nov 00:27
2af9e2f

What's Changed

Full Changelog: v2.1.1...v2.1.2