lightsd uses semantic versionning, here is the summary:

Given a version number MAJOR.MINOR.PATCH:

  • MAJOR version gets incremented when you may need to modify your lightsd configuration to keep your setup running;
  • MINOR version gets incremented when functionality or substantial improvements are added in a backwards-compatible manner;
  • PATCH version gets incremented for backwards-compatible bug fixes.

1.2.1 (2017-02-12)

This release was mostly done to iron out issues in the release script and the documentation:

  • update the path to in the post-installation instructions for Arch Linux and Debian;
  • Fix Debian installation/build instructions;
  • Fix generated Homebrew formulae;
  • Update to the LIFX product list (closes GH-23).

1.2.0 (2017-02-04)

This release doesn’t have any new user-facing feature for lightsd but packs a bunch of fixes and improvements, both in the code but also the documentation and examples.

However, this release sees the start of a Python client library for lightsd which you’ll find in the clients directory of the lightsd repository. This library is currently used to build another child project of lightsd: monolight, an user-interface for the Monome grid. Both project should end up on PyPi soon.

Also worth noting, is the full continuous integration pipeline that has been setup behind the scenes. Most of the work for this release went into it. It will hopefully make it a lot easier to work on lightsd.


  • Discovery now works properly on computers with multiple network interfaces (closes GH-2);
  • Correctly support optional arguments in the JSON-RPC API;
  • A couple of crash/security fixes, one being in the jsmn JSON parser which has been upgraded to its latest version;
  • FreeBSD build (more BSD fixes to come though, see GH-16);
  • get_light_state now returns a valid target for the bulb’s label (the bulb id) when it doesn’t have a label set.


Thanks to:

1.1.2 (2015-11-30)

  • Fix LIFX LAN protocol V2 handling (properly set RES_REQUIRED and properly listen on each gateway’s socket);
  • The bulb timeout has been increased from 3 to 20s;
  • Improved LIFX traffic logging.

1.1.1 (2015-11-17)


This release broke the compatibility with the LIFX LAN protocol “v2”, please upgrade to 1.1.2.

  • Greatly improve responsiveness by setting the LIFX source identifier [1].
  • Fix parallel builds in the Debian package & fix the homebrew formulae for OS X 10.11 (El Capitan).

1.1.0 (2015-11-07)


The -f (--foreground) option is being deprecated with this release and isn’t documented anymore, lightsd starts in the foreground by default and this option is not necessary, please stop using it.

New features

  • Add syslog support via the --syslog and --syslog-facility options (closes GH-1);
  • Debian & OpenWRT packaging and installation instructions.


  • support OSes with openssl but without a base64 utility (closes GH-3);
  • unix url support fixes and bump the receive buffer size to accommodate people with many bulbs;
  • Add missing product ids/models.

1.0.1 (2015-09-18)

  • Fix set_waveform on big endian architectures;
  • Fix build under Debian oldstable;
  • Fix build under OpenBSD [2];
  • Fix process title even when no bulbs are discovered;
  • Add product id for the 230V version of the LIFX White 800.
[2]Using GCC 4.2, so you just need to do pkg_add cmake libevent to build a release.

1.0.0 (2015-09-17)

  • First announced release.