Version history
===============

0.1: 23/12/2013
- First release, interactive (command line) mode only

0.2: 18/01/2014
- Added integrated web server which provides a Web GUI in daemon mode

0.3: 22/01/2014
- Added HTTP API which can be used by external clients (e.g. Android app)

0.4: 20/02/2014
- Changed code structure to allow easy inclusion of new relay card support

0.5: 26/02/2014
- Added support for relays connected via GPIO pins

0.6: 27/01/2015
- Added support for Sainsmart USB 4-channel relay card

0.7: 10/01/2015
- Added support for HID API compatible relay cards
- Added "make" parameters to exclude specific relay card drivers and their
  dependencies from the build
- Added copyright note and license text to source files
- Added sample driver source files

0.7.1: 22/04/2015
- Added init script for autostarting crelay in daemon mode
- Modified GPIO driver to adapt to new Kernel behaviour

0.8: 14/08/2015
- New implementation for the Conrad card driver, now uses libusb and
  therefore completely removes the need for the patched cp210x kernel driver
  
0.9: 20/08/2015
- Added parameter handling in daemon mode via configuration files
- Added new parameters for daemon listen interface and port
- Added new parameters for GPIO pin definitions
- Added new parameter for number of relays on Sainsmart card (4/8)
- Added detection for number of relays on HID API compatible relay card
- Added logging daemon messages to syslog

0.10: 11/04/2016
- Added support for SainSmart 16 Channel controller USB HID Programmable Control Relay Module
- Cleanup patches

0.10.1: 30/08/2016 (Bugfix release)
- Fixed compatibility issue with PiRelay app
- Added "-D" option for daemon mode ("-D" sends crelay to backgound, "-d" leaves crelay in foregraound)
- Modified file stream handling as temporary workaround for web server connection issue on some systems (OpenWRT)
- Added LDFLAGS parameter to linger command in Makefile (needed by OpenWRT)

0.11: 30/12/2016
- Added multiple cards support for command line ("-s" option to specify cards serial number)
- Created C library version of crelay for inclusion in third party applications

0.12: 03/11/2017
- Handle GPIO relays with inverse logic (active low)

0.13: 20/08/2018
- Added error handling for web socket operations
- Added monit script for crelay process supervision in daemon mode
- Added build dependencies for OpenSUSE to readme 
- Added support for multiple SainSmart 16-channel HID relay cards

0.14: 13/01/2019
- Added multiple cards support to HTTP API (new "serial" parameter)
- Reworked WebGUI (replaced submit buttons with Javascript toggle switches)

0.14.1: 13/12/2021
- Fixed segfault caused by Sainsmart driver
- Add systemd service file
