Knot Resolver 6.5.0 released

Bugfixes

  • views: fix "unused tags" error when repeating a tag in views (!1883)
  • watchdog: detect file-changes done via rename*() syscall (!1895) This is relevant for RPZ files and TLS certs+keys.
  • DoH fixes for sharing connections among different users (!1844)
  • TCP-based connections used Nagle's algorithm since 6.2.0 (!1903) This mistake significantly increased latencies of such transports.
  • local-data: process upper-case names correctly (!1915)

Packaging

  • deb: migrate to sysusers and update packaging (!1857)
  • rpm: fix source build against libknot >= 3.6 (!1907)
  • python: 3.9+ (!1886), migrated to setuptools (!1889), removed typing-extensions (!1910)
  • Debian 11 is no longer supported
  • Debian,Ubuntu: i386 and armhf architectures no longer supported

Improvements

  • decrease RAM usage by a lot (!1901)
  • local-data: increase capacity to 63 GiB (logged MDB_MAP_FULL, !1885)
  • systemd: use unit's {Runtime,State,Cache}Directory directives instead of tmpfiles.d (!1853)
  • controller: reimplement the notify socket in Python (!1875)
  • python: improve Knot Resolver startup procedure (!1893) Some startup actions previously handled by the manager have been moved to a separate startup program.
  • python: refactoring: utils (!1894), client (!1908)
  • allow running under an unknown user, e.g. in containers (!1914)

Incompatible changes

  • remove legacy systemd unit files (kresd@.service, kres-cache-gc.service) (!1853)
  • remove $KRES_LOGGING_TARGET environment variable (!1893) You can override the default by passing --logtarget to knot-resolver command. (!1912)
  • docker: remove cross-platform build for linux/arm/v7 (!1904)