Version 20211215
================

**Fixed:**

- Set module ``VERSION_PATCH`` to 0 in ``CMakeLists.txt`` to avoid littering
  the install directory with ``libgnuradio-satlab.so.<version>-<gitrev>``
  files. See upstream commit https://github.com/gnuradio/gnuradio/commit/896b7138bc0
  for more information.

**Changed:**

- The key for the encryption/decryption blocks must now be passed as a 32-byte
  byte sequence instead of a list of integers.

**Added:**

- Add support for running ``sl-radio`` without the ncurses terminal UI. Start
  the application with ``--no-tui`` to disable the TUI.
- Add websocket sink. This block is automatically built if WebSocket++ is
  installed on the system. Enable or disable with ``ENABLE_WEBSOCKET=ON/OFF``
  switch to CMake.


Version 20210730
================

**Fixed:**

- Remove the fixed 1-byte postamble that was inserted after frames when a
  preamble was enabled.

**Changed:**

- Move everything under the "gnuradio" namespace to avoid the toplevel "satlab"
  headers and python module. Users using GRC should not notice any changes, and
  pure python users should only need to change their import to:
  `from gnuradio import satlab`.
- Tested with GNU Radio 3.9.2.0 and UHD 4.1.0.1.
- Switched to date based version numbering.

**Added:**

- Rework idle frame generator to keep track of in-flight frames. This can then
  be used to avoid overflowing the internal GNU Radio block message queues, in
  case the input rate is higher than the output rate. Overflowing is best
  avoided since the console is filled with warning messages in this case. The
  queue size is system-wide and can only be adjusted through GNU Radio
  configuration files. The idleframe count and queue sizes can be adjusted in
  the python objects and sl-radio.
