1.20.0 - 2024-04-12
===================

**Fixed:**

- Update ``slash`` library. This fixes output buffering when ``satctl`` output
  is piped to another application for filtering or logging.

**Changed:**

- Remove support for passing a ``commandfile`` with commands as an argument to
  the application. Instead, a new ``exec`` command has been added that can be
  used to run commands from a file. Instead of ``satctl commands.txt``, use
  ``satctl exec commands.txt``.

**Added:**

- Add cleanups and improvements to Python bindings. Add support for installing
  in a Python Virtual Environment. See ``README.rst`` for instructions and the
  ``examples`` directory for example scripts.
- Add support for setting the CSP routing table using the ``-r, --routes``
  argument. 
- Add support for printing the version number using the ``-V, --version``
  argument.


1.19.0 - 2022-09-13
===================

**Fixed:**

- Add libsocketcan to link targets if found.

**Changed:**

- Add support for multiple interfaces. The interface enable command-line flags
  (``-c/m/u/s/e/z``) now expect a device or host argument, with an optional
  rate specifier for the CAN and KISS interfaces. The ``-d`` and ``-r``
  arguments for setting device and rates have thus been removed. A new ``-r``
  argument has been added to specify the routing table. The ``-g`` argument for
  specifying a via address has also been removed, and via addresses must now be
  set through the routing table. If only one interface is enabled, the default
  route is automatically set to use this interface.
- Add long command-line options. Run ``satctl --help`` to list all options.
- Add ``--pingalive=NODE`` (``-p``) argument to ping a node every second in a
  background task. This is useful to keep e.g. a radio link active that
  requires periodic data.
- Add ``--can-promisc`` argument for enabling CAN promiscuous mode.

1.18.0 - 2022-07-18
===================

**Fixed:**

- Fix build when parent directories contain spaces.

**Added:**

- Add basic man-page.
- Update client modules to most recent versions.

1.17.0 - 2022-06-01
===================

**Added:**

- Add CSP ``ZMQHUB`` support, using ``-z`` flag. An internal ``ZMQPROXY``
  server can be started using the ``-Z`` flag.

1.16.0 - 2021-08-04
===================

**Changed:**

- Updated CSP to satlab master branch that closer tracks upstream master. The
  ``slgnd`` and ``sludp`` interfaces are now located in ``lib/csp``.
- Updated SRS-3 and SRS-4 client modules.

1.15.0 - 2021-03-25
===================

**Added:**

- Add ``csp ifstats`` command to read CSP interface statistics via CSP.
- Update client modules to most recent versions.

1.14.0 - 2020-10-14
===================

**Fixed:**

- Fixed string truncation warnings when building with a recent GCC version.

**Added:**

- Added support for specifying slgnd host port in device argument.
- Update srs3-client to v2.2.0

1.13.0 - 2020-09-08
===================

**Changed:**

- Increased number of CSP buffers to 512.
- Updated CSP UART driver to use termios2 interface for arbitrary serial rates.

**Added:**

- Added support for Satlab SRS-4 radio.
- Added ``csp perf`` command for CSP performance testing.

1.12.0 - 2020-05-29
===================

**Changed:**

- Increased number of CSP buffer elements to 128.

**Added:**

- Support CSP packets up to 1024 bytes payload.

1.11.0 - 2019-12-19
===================

**Added:**

- Update srs3-client to v2.0.0
- Add support for specifying CSP ping priority using ``-p`` flag 

1.10.0 - 2019-11-27
===================

**Fixed:**

- Fix potential unaligned access in CSP/CMP clock handler.
- Fix binary property support in prop-client.

**Added:**

- Optimize CSP ping command for better RTT measurement.
- Update srs3 and polaris clients.

1.9.0 - 2019-07-02
==================

**Added:**

- Added updated UDP interface for direct CSP-over-UDP communication. Renamed
  old UDP interface used for ground station connection to SLGND.

1.8.0 - 2019-06-17
==================

**Added:**

- Add polaris-adsb-client for Polaris ADS-B receiver
- Update polaris-client for v1.3.0

1.7.0 - 2019-05-24
==================

**Fixed:**

- Fix potential RX buffer overflow in prop-client

**Added:**

- Update srs3-client for version 1.4.0

1.6.0 - 2018-10-29
==================

**Fixed:**

- Fix linking when libsocketcan is available

**Added:**

- Updated prop-client to support progen with python<3.6

1.5.0 - 2018-10-22
==================

**Fixed:**

- Fixed off-by-one error in remote property string settings

**Added:**

- Updated srs3-client to v1.2.0

1.4.0 - 2018-09-10
==================

**Fixed:**:

- Update waf to 2.0.10 to fix compatibility with Python 3.7.0

**Changed:**:

- Change csp_if_udp to be compatible with gr-satlab v1.1.0

**Added:**:

- Update srs3-client to v1.1.0
- Update util to get updated csp ping slash command
- Update prop-client

1.3.0 - 2018-07-06
==================

**Added:**

- Updated castor-client and prop-client

1.2.0 - 2018-06-26
==================

**Added:**

- Added castor-client for S-band support
- Added CSP/UDP interface for gr-satlab GNU Radio module
- Added support for executing commands from a script file
- Added support for setting prompt name using -i switch
- Updated polaris-client, ais-client, prop-client, and btp-client

1.1.0 - 2018-01-31
==================

**Added:**

- Added README.rst file with build instructions
- Added ais-client for QubeAIS instead of libsatlab
- Added btp-client for BTP
- Updated polaris-client and prop-client

1.0.0 - 2017-11-16
==================

**Added:**

- First released version.
