fastd v20
*********


New features
============

* The OpenWrt init script has been migrated to *USE_PROCD*. This
  allows automatic restarts of fastd in the case of crashes.

  * The UCI options "up" and "down" have been removed, as their
    implementation was incompatible with procd-managed services. Use
    the options "on_up" and "on_down" instead.

* Stale status sockets are deleted automatically now, so a restart
  after a crash does not fail. To avoid deleting active status
  sockets, a lock file is created next to the socket file.


Bugfixes
========

* The *forward* feature was implemented incorrectly for configurations
  that use different encryption methods for different peers. As
  *forward* is generally disabled when running mesh routing protocols
  over fastd, affected configurations are very uncommon.

  * Packets forwarded from peers using the *null* method were not
    aligned correctly, which could lead to inferior performance or
    crashes on non-x86 platforms.

  * Certain combinations of encryption methods led to crashes due to
    insuffucient buffer space, triggering an assertion failure.


Other changes
=============

* The CMake-based build system of fastd has been replaced with the
  more modern Meson. Updated build instructions can be found in the
  Building fastd section.

* Memory management of fastd's packet buffers has been optimized,
  increasing throughput by 5~10% for many encryption methods,
  especially on low-end hardware.

* The fastd build requires at least Bison 2.6 now.
