CHANGELOG¶
v6.5.1 (2026-08-18)¶
Bug Fixes¶
- themes: Extract the data contract and resync the catalogue
(
291e7e6)
v6.5.0 (2026-08-16)¶
Features¶
- theme: Validate hardware fidelity
(
3d3e9f3)
v6.4.0 (2026-08-15)¶
Bug Fixes¶
- theme: Retire legacy category names and record alias renames
(
0890917)
Documentation¶
-
Cross-AI review for phase 7 (
7aecfa1) -
Cross-AI review round 2 for phase 7 (
9e2ad7b) -
07: Add code review report (
9d72c48) -
07: Add security threat verification - 10 threats, 0 open (
3e517aa) -
07: Capture phase context (
70430a9) -
07: Close residual git-diff idempotence check and fix SPEC citation (
a93820e) -
07: Close round-2 review defects R2-01..R2-05 in phase plans (
7a985fb) -
07: Correct evening's category in the themes API example (
b3d0c86) -
07: Correct the taxonomy version label to 6.4.0 (
17021eb) -
07: Create phase plans for taxonomy and legacy dispositions (
92d3740) -
07: Extract phase 7 learnings (
a724ed7) -
07: Incorporate cross-AI review feedback into phase plans (
fb49fb0) -
07: Mark phase 7 complete and transition to phase 8 (
2034d10) -
07: Reconcile SPEC acceptance bullet 11 with R5 hashability contract (
e3a0fa1) -
07: Record phase planned and add pattern map (
0e09546) -
07: Record post-verification addendum in 07-VERIFICATION.md (
60311bb) -
07: Record replanned phase state (
9cd8fd0) -
07: Record the post-ship amendment in .planning (
244e2b1) -
07: Refresh phase state after round-2 revision (
b8fe011) -
07: Replace internal v1.2 milestone label with release 6.3.0 (
1290799) -
07: Ship phase 07 — PR #202 [ci skip] (
cd78121) -
07-01: Complete disposition schema plan (
4d85cf9) -
07-02: Complete taxonomy rewrite plan (
6202205) -
07-03: Add theme taxonomy v1.2 migration page (
ef2c23f) -
07-03: Complete taxonomy migration docs plan (
bc79061) -
07-03: Correct the two stale theme doc sites (
6fb986e) -
planning: Record Phase 6 merged (
c460e6b) -
state: Correct stale D-21 coverage record (
ed0980c) -
state: Record phase 7 context session (
7224309)
Features¶
-
07-01: Surface disposition and replaced_by on the public Theme (
8f30fce) -
07-01: Wire disposition schema from JSONL through generator into THEMES (
c479b80) -
07-02: Rewrite category navigation over the app's 9-category taxonomy (
e80edc5)
v6.3.0 (2026-08-15)¶
Bug Fixes¶
-
06: Resolve code review warnings WR-01 and WR-03 (
5334155) -
effects: Choose three distinct rule-trio primaries (
1529446) -
theme: Copy the caller's palette into every Theme (
ef858bb) -
theme: Harden the generator's validation and atomic write (
5f836f2) -
theme: Keep Theme hashable, compare palettes explicitly (
947ee9b)
Documentation¶
-
Create milestone v1.2 roadmap (4 phases) (
83fe3c8) -
Cross-AI review for phase 6 (
8506d7e) -
Cross-AI review round 2 for phase 6 (
3a40a41) -
Cross-AI review round 3 for phase 6 (
851b83f) -
Define milestone v1.2 requirements (
9c95d67) -
Start milestone v1.2 Theme Library Update (
2674466) -
06: Add code review report (
ac4f350) -
06: Add pattern map and disable nyquist for phase 6 (
8498f65) -
06: Capture phase context (
9656270) -
06: Create phase plan (
313dcfa) -
06: Create phase plan (
225f717) -
06: Extract phase learnings (
28b7ad5) -
06: Fix META-02/D-10 truth in 06-02 plan — 28 orphans, not 30 (
a3afd1a) -
06: Incorporate round-2 review feedback into phase plans (
a51c2c9) -
06: Revise phase plans with cross-AI review feedback (
00a6a14) -
06-01: Complete generated theme library tracer plan (
b777767) -
06-02: Complete full theme import and cutover plan (
4ab48f6) -
phase-06: Add security threat verification (
e0e5344) -
phase-06: Complete phase execution (
57d547c) -
phase-06: Evolve PROJECT.md after phase completion (
c2d0554) -
planning: Correct the PR #196 review tally in STATE.md (
cee51bf) -
planning: Resync theme equality and generator decisions (
1fc942f) -
state: Record phase 6 context session (
4ebb8aa) -
theme: Correct theme counts and retire the hand-listed inventory (
47e2864)
Features¶
-
06-01: Generate theme data module from committed JSONL seed (
bf1008c) -
06-01: Implement palette-only multiset Theme equality (
5ba5d4f) -
06-02: Build the full committed theme data file (
60e7f20) -
06-02: Cut ThemeLibrary over to the generated theme data (
36c77f7)
v6.2.0 (2026-08-09)¶
Features¶
- protocol: Expose the COLOR_SWEEP matrix effect
(
856a1fe)
v6.1.4 (2026-08-03)¶
Bug Fixes¶
-
devices: Harden ceiling state file and power-off (
f8ecc28) -
devices: Power ceiling off when last component turns off (
df6cef6)
v6.1.3 (2026-08-01)¶
Bug Fixes¶
- themes: Use real tile geometry when rendering themes and canvases
(
f25ef11)
v6.1.2 (2026-08-01)¶
Bug Fixes¶
-
network: Keep response correlation intact while learning a serial (
28cad4a) -
network: Log the peer as discrete fields that stay current (
1ab4c5a) -
network: Name the device in transport error warnings (
e85653d)
v6.1.1 (2026-07-31)¶
Bug Fixes¶
-
color: Accept device-reported kelvin 0 on inbound reads (
7e33543) -
network: Recover from UDP endpoint death instead of hanging forever (
0251e08)
Documentation¶
- Add project URLs and correct stale feature claims
(
8d9a666)
v6.1.0 (2026-07-31)¶
Bug Fixes¶
- devices: Harden state fetches and correct set_group target
(
118b633)
Documentation¶
-
Correct refresh_state and ambient light sensor descriptions (
d61f6e3) -
Explain opt-in state fields on discovered devices (
a7425b1) -
devices: Correct refresh_state docstrings (
2df05cb)
Features¶
-
Export symbols used by the Home Assistant integration (
b85ab4a) -
devices: Add ambient light to state and make fetch flags properties (
23e27f7) -
devices: Add wifi_info to DeviceState (
3ddf7f0) -
devices: Allow refresh_state to override fetch_wifi_info (
aab64f7)
v6.0.1 (2026-07-29)¶
Bug Fixes¶
-
Switch all examples to use Device.connect() instead of from_ip() (
6377cc2) -
api: Apply themes once per device (
2ee2f4c) -
examples: Add a theme painting example (
f4cf623) -
matrix: Gate the SKY effect on capability and firmware (
be28976) -
products: Add the Ceiling 13" component layout (
04405be)
v6.0.0 (2026-07-28)¶
Bug Fixes¶
-
color: Report at least brightness 1 for a lit light (
f712d68) -
devices: Build light state dicts from DeviceState.as_dict (
71d47e1) -
devices: Expand HSBK colors in every state's as_dict (
b491339) -
effects: Restore zones via set_all_color_zones (
4f561e2) -
examples: Call HSBK.as_dict as a property (
c006899) -
multizone: Make apply_theme work on legacy and long strips (
8101d99) -
multizone: Reject APPLY_ONLY in set_all_color_zones (
632bb82)
Documentation¶
- devices: Show set_all_color_zones in the multizone example
(
d73a530)
Features¶
-
color: Add scaled HSBK accessors and replace() (
815f037) -
multizone: Add set_all_color_zones (
9cc7258)
Refactoring¶
- color: Make HSBK.as_dict a property
(
626f688)
Breaking Changes¶
- color: HSBK.as_dict is now a property. Callers using
color.as_dict()must drop the parentheses; calling it raisesTypeError: 'dict' object is not callable.
v5.6.4 (2026-07-26)¶
Bug Fixes¶
-
Address Home Assistant migration issues (
5507c41) -
devices: Address multizone review feedback (
55de0d2)
v5.6.3 (2026-07-26)¶
Bug Fixes¶
- discovery: Correct the idle-window docs and harden its tests
(
9afe8df)
Documentation¶
-
Curate the v1.1 milestone entry (
fe8effc) -
phase-04: Reconcile validation strategy and add the v1.1 milestone audit (
f9929c3) -
planning: Refresh the discovery idle-window commit refs (
83f3d25) -
quick-260726-824: Record the discovery idle-window fix and close two audit items (
7337d0a)
v5.6.2 (2026-07-25)¶
Bug Fixes¶
- discovery: Stop consumer time from expiring the discovery idle window
(
dca9e39)
v5.6.1 (2026-07-25)¶
Bug Fixes¶
- devices: Narrow the MAC offset to firmware 3.70+ and add the audit script
(
bdb84f7)
Documentation¶
- quick-260726-42c: Ship quick task — PR #175 [ci skip]
(
786ad34)
v5.6.0 (2026-07-18)¶
Features¶
- Wire reliability improvements (v1.1)
(
d99a501)
v5.5.1 (2026-06-14)¶
Bug Fixes¶
-
ceiling: Compare stored state at uint16 wire granularity (
08b7e8d) -
color: Expose raw HSBK values instead of rounded ones (
80b0b2f) -
color: Stop rounding computed lerp/average outputs (
515dd91)
v5.5.0 (2026-06-13)¶
Bug Fixes¶
-
01: CR-01 drop size-invalid datagrams instead of aborting discovery (
b33fde1) -
01: Finish review-fix pass — WR-03/WR-04/WR-05 (
21c2b35) -
01: IN-01 remove no-cover pragma from exit-save except clause (
282900c) -
01: IN-02 run exit-save via asyncio.to_thread (D-01 revised) (
0e46531) -
01: IN-03 preserve port, timeout and max_retries in from_ip (
fa5da87) -
01: Tolerate unknown DeviceService values from real hardware (
0cb5dc6) -
01: WR-01 merge on-disk device entry instead of replacing on save (
a176243) -
01: WR-01 reject all-zeros broadcast target in serial guard (
76b00ef) -
01: WR-02 align mDNS idle-reset semantics with D-04 (
74928f8) -
01: WR-02 assert state payload content in save-on-exit test (
3c1c646) -
01: WR-03 write state file atomically via temp file and os.replace (
fde7b20) -
devices: Guarantee ceiling connection cleanup if save is cancelled (
6c5933d) -
discovery: Reject non-zero target padding in the serial guard (
415006a)
Documentation¶
-
Add Phase 1 — unify duplicated discovery loops (
426f018) -
Create roadmap (1 phase) (
c79fa7c) -
Define v1 requirements (
496ee75) -
Initialize project (
31ec39f) -
Map existing codebase (
ee7b4e0) -
01: Add code review fix report (
03aa5b6) -
01: Add code review fix report (
a876703) -
01: Add code review report (
b9d7b8f) -
01: Add code review report (
48bfa88) -
01: Capture phase context (
d856de1) -
01: Capture phase context (
20e0252) -
01: Create phase plan (
052253b) -
01: Create phase plan (
1b14726) -
01: Finalise phase plan artifacts (
8fbb139) -
01: Mark Unify-discovery-loops phase complete & verified (
0109677) -
01: Record D-01 revision and final code review fix report (
086339f) -
01: Research ceiling save-on-exit phase (
7456f22) -
01-01: Complete ceiling-save-on-exit plan (
488dff5) -
01-01: Complete IdleDeadline plan (
5748c49) -
01-02: Complete thin-discover-devices-wrapper plan (
690fd20) -
01-03: Complete mDNS IdleDeadline adoption plan (
74aa472) -
01-04: Complete deprecate-receive-many plan (
4345760) -
01-05: Complete discovery error test gap plan (
e23cec0) -
phase-1: Add security threat verification (
dbff129) -
phase-1: Add security threat verification (
608929d) -
phase-1: Add validation strategy (
f310ebf) -
phase-1: Add validation strategy (
b85ea2a) -
phase-1: Complete phase execution (
b941e14) -
phase-1: Create phase plans for discovery loop unification (
be081e5) -
phase-1: Evolve PROJECT.md after phase completion (
376bf9f) -
phase-1: Research unify-duplicated-discovery-loops (
e67c946) -
state: Record phase 1 context session (
262f8d3) -
state: Record phase 1 context session (
1aa4b2f) -
v1.0: Add milestone audit (passed 7/7) and close out validation map (
c99e9ad)
Features¶
-
01-01: Add IdleDeadline unit tests in test_network/test_utils.py (
40f9578) -
01-01: Implement CeilingLight.aexit to save state on exit (GREEN) (
272d79b) -
01-01: Implement IdleDeadline in network/utils.py (
28bb3d6) -
01-04: Deprecate UdpTransport.receive_many with DeprecationWarning (
bc6c95d)
v5.4.9 (2026-05-21)¶
Bug Fixes¶
- Add new products to the LIFX product list
(
f0e31c9)
v5.4.8 (2026-04-17)¶
Bug Fixes¶
- Raise OSError in create_mdns_socket and handle exit in main()
(
5d036be)
Documentation¶
- planning: Address code review nitpicks in codebase docs
(
5609034)
v5.4.7 (2026-04-17)¶
Bug Fixes¶
- Ensure CeilingLightState exists before caliing set_power
(
48cef24)
v5.4.6 (2026-03-22)¶
Bug Fixes¶
- Add MIT license header to effects ported from pkivolowitz/lifx
(
5830c98)
v5.4.5 (2026-03-22)¶
Bug Fixes¶
-
Device.connect() now returns Light for CCT and brightness-only products (
df6d787) -
Patch correct target for is_ceiling_product in tests (
666a406)
v5.4.4 (2026-03-21)¶
Bug Fixes¶
- Set a default value for duration_seconds for set_hev_cycle
(
f7fc708)
Documentation¶
- Update docstring to provide more detail on hev config
(
02de0f0)
v5.4.3 (2026-03-21)¶
Bug Fixes¶
-
Defer is_on flag updates and add power-aware factory initialisation (
3db28a3) -
Defer is_on flags until after power-on and sync public fields on power-off (
b412e40) -
Defer stored state updates until after I/O succeeds in turn-off methods (
01588ec) -
Harden CeilingLightState against aliased mutations and stale snapshots (
73a7275) -
Move ceiling component state to CeilingLightState dataclass (
06372b9) -
Resolve remaining CodeRabbit review comments (
cd450a8) -
Return defensive copy of stored downlight colours (
2575889) -
Sync ceiling component is_on state in getter methods (
8b83f35) -
Sync public CeilingLightState fields in all mutators and getters (
1eac576)
v5.4.2 (2026-03-21)¶
Bug Fixes¶
- Guard against ValueError if signal is negative or 0
(
a1085c6)
v5.4.1 (2026-03-19)¶
Bug Fixes¶
-
Asyncio and import pattern cleanup (review-critical_20260318) (
07fed68) -
Protocol correctness and code quality fixes (review-critical_20260318) (
e3276bf) -
animation: Validate HSBK input length in update_colors() (
94b232f) -
codecov: Allow coverage uploads from failing CI runs (
1843d19) -
color: Preserve full precision in with_* helpers (
35f6229) -
effects: Clear _last_generated_hsbk unconditionally after iteration (
b6bf2bb) -
test: Make source ID rejection test deterministic (
3d93826) -
test: Move noqa ARG001 to the actually unused config parameter (
2c068bc) -
transport: Rate-limit QueueFull warning to prevent log flooding (
82378af)
Documentation¶
-
Fix remaining int RGB references and clean up long float literals (
5880ad2) -
Streamline CLAUDE.md from 907 to 381 lines (
59769e8) -
animator: Fix stale comment about source ID allocation (
6336427) -
effects: Consolidate effects content into user-guide (Phase 1) (
71a5684) -
effects: Document _last_frames limitation for protocol-direct path (
257febf) -
effects: Update FrameEffect docstrings for generate_protocol_frame (
8e52cee) -
mkdocs: Fix all documentation correctness issues (
7a061e4) -
nav: Update navigation and add progressive disclosure links (Phase 4) (
42caf99) -
plan: Fix task list checkbox spacing at line 25-26 (
2f9e5e9) -
plan: Fix task list checkbox spacing at line 39-40 (
cb09448) -
plan: Fix task list checkbox spacing at line 54-55 (
5b3dd32) -
plan: Fix task list checkbox spacing at line 70-71 (
c0990aa) -
plan: Fix task list checkbox spacing at line 75-79 (
70440a2) -
source: Fix misleading docstrings in base.py, api.py, exceptions.py (
901d4aa) -
structure: Relocate misplaced content and fix orphaned links (Phase 3) (
25f2186) -
tests: Fix misleading comment in idle timeout test (
b76a418) -
themes,animation: Deduplicate themes and animation content (Phase 2) (
c489bc7)
Performance Improvements¶
-
animation: Avoid slice allocation in update_colors() hot loop (
b3152e1) -
animation: Use pre-compiled struct.Struct for HSBK writes (
1b54956) -
aurora: Add direct generate_protocol_frame() override (review-perf_20260318) (
a01f289) -
effects: Add generate_protocol_frame() to FrameEffect (review-perf_20260318) (
24bb03c) -
framebuffer: Pre-compute canvas-to-device LUT at init time (review-perf_20260318) (
3b28194) -
packets: Replace flat list building with direct struct.pack_into (review-perf_20260318) (
ced40eb) -
protocol: Guard asdict() in Packet.unpack() behind debug check (review-perf_20260318) (
44617c1)
v5.4.0 (2026-03-18)¶
Documentation¶
-
effects: Add animated GIFs and effects gallery page (
fbcaadc) -
effects: Add documentation for 18 effects adapted from pkivolowitz/lifx (
a4f47be)
Features¶
- examples: Add effects demo script with device-type-aware selection
(
be36b95)
v5.3.0 (2026-03-18)¶
Bug Fixes¶
-
color: Clamp blend parameter in lerp methods (
4c41ca4) -
effects: Fix zones_per_bulb normalization, embers single-zone, CA restart, and test assertions (
f049252) -
effects: Polish ported effects and fix API surface issues (
ee01ec9) -
effects: Resolve Pyright possibly-unbound variable in Sine effect (
b6629ad) -
security: Skip bandit B311 globally and remove nosec comments (
90e713b) -
tests: Update registry test to use superset check (
a9c3063) -
tests: Update theme count from 42 to 57 after palette additions (
e416341)
Documentation¶
-
Add design spec for porting pkivolowitz/lifx effects (
2d17778) -
Add implementation plan for effects port (
70bfe89) -
Address spec review findings (
9a3ca10)
Features¶
-
color: Add lerp_oklab and lerp_hsb methods to HSBK (
71a794a) -
effects: Add Cylon (Larson scanner) effect (
26e75d5) -
effects: Add Double Slit (wave interference) effect (
7617cca) -
effects: Add Embers (fire simulation) effect (
3a9ab6c) -
effects: Add Fireworks effect (
d509f4b) -
effects: Add Jacob's Ladder (electric arcs) effect (
c447011) -
effects: Add Newton's Cradle effect (
a414b37) -
effects: Add Pendulum Wave effect (
9315730) -
effects: Add Plasma (electric tendrils) effect (
6fed46d) -
effects: Add Plasma2D effect for matrix devices (
2a94fd7) -
effects: Add Ripple (water drops) effect (
d3a4a33) -
effects: Add Rule 30 (cellular automaton) effect (
13b9f07) -
effects: Add Rule Trio (three CAs blended) effect (
45346d4) -
effects: Add Sine (traveling ease wave) effect (
24a2ec9) -
effects: Add Sonar (radar pulses) effect (
575fed4) -
effects: Add Spectrum Sweep effect (
9aad95b) -
effects: Add Spin (color migration) effect (
9b91fc9) -
effects: Add Twinkle (sparkle) effect (
2660f19) -
effects: Add Wave (standing wave) effect (
63cdf9b) -
effects: Register and export all 18 ported effects (
c5caa0d) -
theme: Add palette themes from pkivolowitz/lifx (
4126ccf)
v5.2.1 (2026-03-18)¶
Bug Fixes¶
-
tests: Add pytest-timeout, retry flaky Windows emulator tests (
4b6b3a9) -
tests: Extend timeout to 120s for emulator tests (
016e1aa)
Documentation¶
- Add security policy
(
4e6c152)
v5.2.0 (2026-02-07)¶
Bug Fixes¶
- Address CodeRabbit review feedback
(
487f4ab)
Documentation¶
- Fix duration_ms formula (1000 -> 1500/fps) in effects API docs
(
487f4ab)
Features¶
- Add new effects, effect registry, and rename examples
(
2f8192d)
v5.1.1 (2026-02-06)¶
Performance Improvements¶
-
Optimize device initialization and packet sending (
865c4e3) -
Pure-Python optimizations for protocol, network, and animation layers (
a9a4bd4)
v5.1.0 (2026-01-24)¶
Bug Fixes¶
- animation: Load capabilities before checking has_chain
(
69e50b3)
Documentation¶
Features¶
- animation: Add high-performance animation module
(
afc8063)
v5.0.1 (2026-01-14)¶
Bug Fixes¶
- Handle asyncio.TimeoutError on Python 3.10
(
4438bc4)
v5.0.0 (2026-01-12)¶
Features¶
- Add Python 3.10 support
(
7c39131)
Breaking Changes¶
- Batch operations now raise first exception immediately (asyncio.gather behavior) instead of collecting all exceptions into an ExceptionGroup (TaskGroup behavior).
v4.9.0 (2025-12-30)¶
Features¶
- api: Add HTML named colors and kelvin temperature presets
(
b631d43)
v4.8.1 (2025-12-24)¶
Bug Fixes¶
- Tighten up the URL parsing to be even more specific
(
0222362)
v4.8.0 (2025-12-20)¶
Features¶
- network: Add mDNS/DNS-SD discovery for LIFX devices
(
f25987d)
v4.7.5 (2025-12-16)¶
Bug Fixes¶
- devices: Override set_color in CeilingLight to track component state
(
0d20563)
v4.7.4 (2025-12-16)¶
Performance Improvements¶
- devices: Reduce get_all_tile_colors calls in CeilingLight
(
3936158)
v4.7.3 (2025-12-16)¶
Bug Fixes¶
- devices: Capture component colors before set_power turns off light
(
a99abee)
v4.7.2 (2025-12-16)¶
Bug Fixes¶
- api: Close device connections in DeviceGroup context manager
(
054bfee)
Documentation¶
- api: Add dataclass documentation and improve navigation
(
c859c87)
v4.7.1 (2025-12-13)¶
Bug Fixes¶
- devices: Add length parameter to copy_frame_buffer()
(
6a74690)
v4.7.0 (2025-12-13)¶
Features¶
- devices: Add fast parameter to set_extended_color_zones()
(
0276fca)
v4.6.1 (2025-12-12)¶
Bug Fixes¶
- devices: Check for power and brightness for Ceiling components
(
bd1b92f)
v4.6.0 (2025-12-11)¶
Features¶
- devices: Add CeilingLightState dataclass for ceiling component state
(
607f15c)
v4.5.1 (2025-12-11)¶
Bug Fixes¶
- devices: Export CeilingLight add add user guide and API documentation
(
10e0089)
v4.5.0 (2025-12-08)¶
Features¶
- devices: Add CeilingLight with independent uplight/downlight component control
(
95fc5a6)
v4.4.1 (2025-12-03)¶
Bug Fixes¶
- theme: Prevent color displacement in multi-tile matrix theme application
(
ca936ec)
v4.4.0 (2025-11-29)¶
Features¶
- devices: Add factory pattern with automatic type detection and state management
(
4374248)
v4.3.9 (2025-11-27)¶
Bug Fixes¶
- network: Propagate timeout from request() to internal methods
(
b35ebea)
v4.3.8 (2025-11-25)¶
Bug Fixes¶
- network: Raise exception on StateUnhandled instead of returning False
(
5ca3e8a)
v4.3.7 (2025-11-25)¶
Bug Fixes¶
- devices: Raise LifxUnsupportedCommandError on StateUnhandled responses
(
ec142cf)
v4.3.6 (2025-11-25)¶
Bug Fixes¶
- network: Return StateUnhandled packets instead of raising exception
(
f27e848)
v4.3.5 (2025-11-22)¶
Bug Fixes¶
- devices: Allow MatrixEffect without palette
(
fb31df5)
v4.3.4 (2025-11-22)¶
Bug Fixes¶
- network: Exclude retry sleep time from timeout budget
(
312d7a7)
v4.3.3 (2025-11-22)¶
Bug Fixes¶
-
Give MatrixLight.get64() some default parameters (
a69a49c) -
themes: Apply theme colors to all zones via proper canvas interpolation (
f1628c4)
v4.3.2 (2025-11-22)¶
Bug Fixes¶
- effects: Add name property to LIFXEffect and subclasses
(
deb8a54)
v4.3.1 (2025-11-22)¶
Bug Fixes¶
- Actually rename the matrix methods
(
061aaa7)
v4.3.0 (2025-11-22)¶
Features¶
- effects: Unify effect enums and simplify API
(
df1c3c8)
v4.2.1 (2025-11-21)¶
Bug Fixes¶
- Get_wifi_info now returns signal and rssi correctly
(
6db03b3)
v4.2.0 (2025-11-21)¶
Documentation¶
- api: Remove obsolete reference to MessageBuilder
(
9847948)
Features¶
- devices: Add ambient light sensor support
(
75f0673)
v4.1.0 (2025-11-20)¶
Features¶
- network: Replace polling architecture with event-driven background receiver
(
9862eac)
v4.0.2 (2025-11-19)¶
Bug Fixes¶
- Product registry generation
(
2742a18)
v4.0.1 (2025-11-18)¶
Bug Fixes¶
- devices: Prevent connection leaks in temporary device queries
(
0ee8d0c)
v4.0.0 (2025-11-18)¶
Features¶
- devices: Replace TileDevice with MatrixLight implementation
(
1b8bc39)
Breaking Changes¶
- devices: TileDevice class has been removed and replaced with MatrixLight
v3.1.0 (2025-11-17)¶
Features¶
- Remove connection pool in favor of lazy device-owned connections
(
11b3cb2)
v3.0.1 (2025-11-17)¶
Bug Fixes¶
- Get_power() now returns an integer value not a boolean
(
3644bb9)
v3.0.0 (2025-11-16)¶
Features¶
-
Convert discovery methods to async generators (
0d41880) -
Replace event-based request/response with async generators (
fa50734)
Breaking Changes¶
- Internal connection architecture completely refactored
v2.2.2 (2025-11-14)¶
Bug Fixes¶
- devices: Replace hardcoded timeout and retry values with constants
(
989afe2)
v2.2.1 (2025-11-14)¶
Bug Fixes¶
- network: Resolve race condition in concurrent request handling
(
8bb7bc6)
v2.2.0 (2025-11-14)¶
Features¶
- network: Add jitter to backoff and consolidate retry logic
(
0dfb1a2)
v2.1.0 (2025-11-14)¶
Features¶
- Add mac_address property to Device class
(
bd101a0)
v2.0.0 (2025-11-14)¶
Refactoring¶
- Simplify state caching and remove TTL system
(
fd15587)
v1.3.1 (2025-11-12)¶
Bug Fixes¶
- Add Theme, ThemeLibrary, get_theme to main lifx package exports
(
6b41bb8)
Documentation¶
-
Add mkdocs-llmstxt to create llms.txt and llms-full.txt (
4dd378c) -
Remove effects release notes (
2fdabc0)
v1.3.0 (2025-11-10)¶
Features¶
- Add software effects
(
be768fb)
v1.2.1 (2025-11-08)¶
Bug Fixes¶
- Implement tile effect parameters as local quirk
(
f4ada9b)
v1.2.0 (2025-11-07)¶
Features¶
- Add theme support
(
82477cd)
v1.1.3 (2025-11-06)¶
Performance Improvements¶
- Reduce network traffic when updating individual color values
(
679b717)
v1.1.2 (2025-11-05)¶
Bug Fixes¶
- Dummy fix to trigger semantic release
(
86ad8b4)
v1.1.1 (2025-11-05)¶
Bug Fixes¶
- Dummy fix to trigger semantic release
(
12786b5)
v1.1.0 (2025-11-05)¶
Features¶
- Replace cache TTL system with timestamped state attributes
(
5ae147a)
v1.0.0 (2025-11-04)¶
- Initial Release