diff --git a/NEWS b/NEWS
index fcf81824233b841e5ad124361dcbb3df71ab9748..a52168792c7ae93a2f3203dd4b7e10ebfe465816 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,13 @@
-Knot Resolver 5.x.y (2021-0m-dd)
+Knot Resolver 5.4.0 (2021-07-29)
 ================================
 
 Improvements
 ------------
+- fine grained logging and syslog support (!1181)
+- expose HTTP headers for processing DoH requests (!1165)
+- improve assertion mechanism for debugging (!1146)
 - support apkg tool for packaging workflow (!1178)
-- fine grained logging (!1181)
+- support Knot DNS 3.1 (!1192, !1194)
 
 Bugfixes
 --------
@@ -15,9 +18,10 @@ Bugfixes
 
 Incompatible changes
 --------------------
+- see upgrading guide:
+  https://knot-resolver.readthedocs.io/en/stable/upgrading.html#to-5-4
 - legacy DoH implementation configuration in net.listen() was renamed from
   kind="doh" to kind="doh_legacy" (!1180)
-- verbose() is deprecated (!1181)
 
 
 Knot Resolver 5.3.2 (2021-05-05)
diff --git a/distro/tests/ansible-roles/knot_resolver/tasks/test_dnssec.yaml b/distro/tests/ansible-roles/knot_resolver/tasks/test_dnssec.yaml
index 52bbbb2f8e07cad72c472a6a04c2e66b533a6362..1cc6ea39b10cfcf5346fd5c61088834e5fa1337f 100644
--- a/distro/tests/ansible-roles/knot_resolver/tasks/test_dnssec.yaml
+++ b/distro/tests/ansible-roles/knot_resolver/tasks/test_dnssec.yaml
@@ -1,15 +1,15 @@
 ---
 # SPDX-License-Identifier: GPL-3.0-or-later
-- name: dnssec_test bogussig.bad-dnssec.wb.sidnlabs.nl. +cd returns NOERROR
+- name: dnssec_test rhybar.cz. +cd returns NOERROR
   tags:
     - test
-  shell: kdig +cd @127.0.0.1 bogussig.bad-dnssec.wb.sidnlabs.nl.
+  shell: kdig +cd @127.0.0.1 rhybar.cz.
   register: res
   failed_when: '"status: NOERROR" not in res.stdout'
 
-- name: dnssec_test bogussig.bad-dnssec.wb.sidnlabs.nl. returns SERVFAIL
+- name: dnssec_test rhybar.cz. returns SERVFAIL
   tags:
     - test
-  shell: kdig @127.0.0.1 bogussig.bad-dnssec.wb.sidnlabs.nl.
+  shell: kdig +timeout=16 @127.0.0.1 rhybar.cz.
   register: res
   failed_when: '"status: SERVFAIL" not in res.stdout'
diff --git a/doc/upgrading.rst b/doc/upgrading.rst
index c89063e536808d0185c8dc81dda1c4cbf36511f9..7ec15757a4513aa94a28b3e4655174c821624e86 100644
--- a/doc/upgrading.rst
+++ b/doc/upgrading.rst
@@ -35,7 +35,7 @@ Configuration file
 ------------------
 
 * ``kind='doh'`` in :func:`net.listen` was renamed to ``kind='doh_legacy'``. It is recommended to switch to the new DoH implementation with ``kind='doh2'``.
-* :func:`verbose` is deprecated. In case you want to change logging level,
+* :func:`verbose` has been deprecated. In case you want to change logging level,
   there is new function :func:`log_level`.
 
 Packagers & Developers
diff --git a/meson.build b/meson.build
index 9f7849f287771909e2e84677f20f74f689cf7d7e..a1df77b4517415eb844df01a07eee78f39cd5a5b 100644
--- a/meson.build
+++ b/meson.build
@@ -4,7 +4,7 @@ project(
   'knot-resolver',
   ['c', 'cpp'],
   license: 'GPLv3+',
-  version: '5.3.2',
+  version: '5.4.0',
   default_options: ['c_std=gnu11', 'b_ndebug=true'],
   meson_version: '>=0.49',
 )