- Changed deprecated tzsetwall() to tzset() (only used by FreeBSD), patch by @spmzt.
- Now builds on macOS even without if_utun.h (pre 10.6).
- Nameservers from /etc/resolve.conf and similar can now be up to 256 characters long, up from 16. From @nneonneo
- Answer NXDOMAIN for _.xxx.yyy.top.domain, which is sent by recursive nameservers trying to do QNAME minimization. This keeps the servers from waiting before sending the next query. Patch by @luizluca
- Various security and robustness fixes (cryptographic random, pidfile writing, parsing fixes) contributed by @auto-charlie
- Build system changed to meson. https://mesonbuild.com/
- Administrator mode check and pid file writing added for Windows
- BSD server bugfix for EINVAL after sendto(), from @zhmylove.
- Updated network interface initialization for Unix to not need to call
ifconfigorroutebinaries. - Merged support for more detailed user capability checking on Linux with libcap-ng, by @pfactum. Fixes bug #80.
- Windows tun driver changed to wintun. https://www.wintun.net/
- Raw mode for macOS/BSD clients (bug #79) fixed, patch by @Mrc527
- Fixed bounds checks in dns_decode for MX/SRV types, from @akoul